summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* am e732bb04: am 1c7705b6: Merge change I96996494 into eclair-mr2Elliott Hughes2009-11-242-35/+15
|\ | | | | | | | | | | | | Merge commit 'e732bb040be84bd2ac652ca53330b80367a65725' * commit 'e732bb040be84bd2ac652ca53330b80367a65725': Fix browser crashes if server certificates have > 32 subjectAltNames.
| * am 1c7705b6: Merge change I96996494 into eclair-mr2Elliott Hughes2009-11-242-35/+15
| |\ | | | | | | | | | | | | | | | | | | Merge commit '1c7705b6066ea57109557fc1cb0609991ac0af24' into eclair-mr2-plus-aosp * commit '1c7705b6066ea57109557fc1cb0609991ac0af24': Fix browser crashes if server certificates have > 32 subjectAltNames.
| | * Merge change I96996494 into eclair-mr2Android (Google) Code Review2009-11-242-35/+15
| | |\ | | | | | | | | | | | | | | | | * changes: Fix browser crashes if server certificates have > 32 subjectAltNames.
| | | * Fix browser crashes if server certificates have > 32 subjectAltNames.Elliott Hughes2009-11-242-35/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Android-only changes added an arbitrary limit that upstream doesn't have. This limit-free implementation is still more efficient than upstream (which always allocates three Vectors). Dr No: danfuzz Bug: 2281869
* | | | A few notes on why we don't cache canonical paths.Jesse Wilson2009-11-241-1/+5
| | | |
* | | | Merge change I518925b0Android (Google) Code Review2009-11-240-0/+0
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | * changes: Fix windows SDK build.
| * | | | Fix windows SDK build.Andy McFadden2009-11-230-0/+0
| | | | | | | | | | | | | | | | | | | | Broken by 96516932f1557d8f48a8b2dbbb885af01a11ef6e.
* | | | | am 683daacf: (-s ours) am d1aead76: Merge change Ie21b2327 into eclair-mr2Jesse Wilson2009-11-240-0/+0
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | Merge commit '683daacf21830a0b0510320c735485c75749c4f1' * commit '683daacf21830a0b0510320c735485c75749c4f1': DO NOT MERGE: Removing the use of FileCanonPathCache.
| * | | | am d1aead76: Merge change Ie21b2327 into eclair-mr2Jesse Wilson2009-11-244-265/+16
| |\ \ \ \ | | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | Merge commit 'd1aead768d5c6e4aa18c4f43e6be97f8a40fbf84' into eclair-mr2-plus-aosp * commit 'd1aead768d5c6e4aa18c4f43e6be97f8a40fbf84': DO NOT MERGE: Removing the use of FileCanonPathCache.
| | * | | Merge change Ie21b2327 into eclair-mr2Android (Google) Code Review2009-11-244-265/+16
| | |\ \ \ | | | |_|/ | | |/| | | | | | | | | | | | * changes: DO NOT MERGE: Removing the use of FileCanonPathCache.
| | | * | DO NOT MERGE: Removing the use of FileCanonPathCache.Jesse Wilson2009-11-234-265/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Aside from being an unjustified optimization, users have reported problems with this in the wild. This cache has already been removed in master.
* | | | | Merge change I9189bd9dAndroid (Google) Code Review2009-11-235-520/+383
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * changes: Fix java.io.File's JNI's fixed-length buffers.
| * | | | | Fix java.io.File's JNI's fixed-length buffers.Elliott Hughes2009-11-235-520/+383
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've also removed most of the duplication, simplified a lot of the implementation, and added loads of TODOs now it's possible to see what's going on under all the obfuscation. (The native code is roughly half its previous size, but more functional.) I want to stop here rather than start fixing any of the TODOs because this change is already large enough and the history will be clearer if unrelated changes are kept separate (easy though many of them are). Strictly speaking, I haven't removed all the fixed-length buffers: the File.list implementation still uses fixed-length buffers, but as the new TODOs point out, I think we want to rewrite that code to better match its callers, and doing so will make the fixed-length buffers go away. There's no point polishing code that's already scheduled for deletion. Add a couple of basic tests, one that assumes that if Path copes with long paths in a couple of File's methods, it works in all of them; another that singles out our readlink(2) wrapper because that's the only place so far where we cope with arbitrary-length paths moving in the opposite direction (from kernel to JNI to Java).
* | | | | | Merge change Iff90b1aaAndroid (Google) Code Review2009-11-231-5/+8
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * changes: Explicitly ignore non-IPv4/IPv6 addresses from IFA_ADDRESS.
| * | | | | | Explicitly ignore non-IPv4/IPv6 addresses from IFA_ADDRESS.Elliott Hughes2009-11-231-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I don't think this can happen (some other calls return hardware addresses too, but I've never seen a hardware address in an IFA_ADDRESS message), but netlink is badly documented, and it's better to be safe than sorry.
* | | | | | | Merge change I72b1f303Android (Google) Code Review2009-11-231-0/+4
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * changes: Add a comment.
| * | | | | | | Add a comment.Elliott Hughes2009-11-231-0/+4
| | | | | | | |
* | | | | | | | Merge change I4bd6f817Android (Google) Code Review2009-11-233-711/+2823
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | * changes: Replaced primitive sorts with Iaroslavski, Bentley, and Bloch's Dual Pivot Quicksort. The originals were based on Bentley and McIlroy's "Engineering a Sort Function." The original floating point sorts suffered from poor performance due to the use of a naive comparison function. In round numbers, the new version is 1.5x as fast as the old one on integers and twice as fast on floating point numbers (on the latest Android build running on Sholes). On some data sets (e.g., nearly sorted data, the new version is substantially faster.
| * | | | | | | Replaced primitive sorts with Iaroslavski, Bentley, and Bloch's Dual Pivot ↵Joshua Bloch2009-11-233-711/+2823
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Quicksort. The originals were based on Bentley and McIlroy's "Engineering a Sort Function." The original floating point sorts suffered from poor performance due to the use of a naive comparison function. In round numbers, the new version is 1.5x as fast as the old one on integers and twice as fast on floating point numbers (on the latest Android build running on Sholes). On some data sets (e.g., nearly sorted data, the new version is substantially faster. Now, with added performance tweaks from Jesse and Bob!! With these tweaks, the sort is 70% faster than the original sort on integers and over twice as fast on doubles. None of the optimizations are Dalvik-specific, and we may be able to make it even faster by adding Dalvik-specific optimizations. Also added beefier tests.
* | | | | | | | Jit: Support for inline-execute/range [issue 2268232]Bill Buzbee2009-11-230-0/+0
| |/ / / / / / |/| | | | | |
* | | | | | | Jit: Misc fixes, move_exception, blocking mode, self-cosimBill Buzbee2009-11-230-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OP_MOVE_EXCEPTION handler was neglecting to reset. Blocking mode was failing to signal empty queue in some cases Self-cosim was including operations in traces that can't be done twice Added OP_MOVE_EXCEPTION to self cosim's no-replay ops (it has side effects) Restored threshold of 1 to self-cosim (now able to boot device with self-cosim) When threshold < 6, disable 2nd-level translation filter
* | | | | | | Restructure the codegen to make architectural depedency explicit.Ben Cheng2009-11-220-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original Codegen.c is broken into three components: - CodegenCommon.c (arch-independend) - CodegenFactory.c (Thumb1/2 dependent) - CodegenDriver.c (Dalvik dependent) For the Thumb/Thumb2 directories, each contain the followin three files: - Factory.c (low-level routines for instruction selections) - Gen.c (invoke the ISA-specific instruction selection routines) - Ralloc.c (arch-dependent register pools) The FP directory contains FP-specific codegen routines depending on Thumb/Thumb2/VFP/PortableFP: - Thumb2VFP.c - ThumbVFP.c - ThumbPortableFP.c Then the hierarchy is formed by stacking these files in the following top-down order: 1 CodegenCommon.c 2 Thumb[2]/Factory.c 3 CodegenFactory.c 4 Thumb[2]/Gen.c 5 FP stuff 6 Thumb[2]/Ralloc.c 7 CodegenDriver.c
* | | | | | | Merge change I9fa3ef2cAndroid (Google) Code Review2009-11-208-196/+412
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | * changes: Rewrite NetworkInterface's JNI for IPv6.
| * | | | | | Rewrite NetworkInterface's JNI for IPv6.Elliott Hughes2009-11-208-196/+412
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old ioctl SIOCGIFCONF implementation of getNetworkInterfaces only returns IPv4 addresses. Now we've switched everything over to IPv6, that's not good enough. This change (a) implements glibc/BSD-like getifaddrs(3)/freeifaddrs(3) for Android, and (b) rewrites our getNetworkInterfaces to use that method. Of particular note is that we now do more of the work in Java. The JNI hands back a Java equivalent of getifaddrs(3)'s linked list of ifaddrs structs. The new package-private java.net.InterfaceAddress class serves as Java's "struct ifaddrs". The old implementation was also broken: SIOCGIFCONF doesn't actually return interface indexes from the kernel as the old code believed, so we were pulling the address family out of the IPv4 address it returned, leading us to assign the index 2 to all network interfaces. This caused all kinds of weird behavior later. I also had to fix GenericIPMreq so that its interface index field is actually set. The native code gets passed one of these objects when setNetworkInterface is called, so it's kind of important that the object identify which interface it's supposed to correspond to. I've also added missing copyright headers. This fixes all of the harmony tests on the simulator and on the device. It fixes several but not all of the jtreg MulticastSocket and IPv6 tests.
* | | | | | | Merge change I2807742eAndroid (Google) Code Review2009-11-202-76/+55
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * changes: Switch java_io_File.c over to C++.
| * | | | | | | Switch java_io_File.c over to C++.Elliott Hughes2009-11-202-76/+55
| | | | | | | |
* | | | | | | | am 070dbac8: am 0dfef7bc: Fix bugs created by caching NumberFormat & ↵Dan Egnor2009-11-202-21/+19
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | / / / / | | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DecimalFormatSymbols objects Merge commit '070dbac882856834111bc0e766224ee53c8d5471' * commit '070dbac882856834111bc0e766224ee53c8d5471': Fix bugs created by caching NumberFormat & DecimalFormatSymbols objects
| * | | | | | am 0dfef7bc: Fix bugs created by caching NumberFormat & DecimalFormatSymbols ↵Dan Egnor2009-11-202-21/+19
| |\ \ \ \ \ \ | | | |_|/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | objects Merge commit '0dfef7bc223f18a1372b4c44c822b9cdc5d5f741' into eclair-mr2-plus-aosp * commit '0dfef7bc223f18a1372b4c44c822b9cdc5d5f741': Fix bugs created by caching NumberFormat & DecimalFormatSymbols objects
| | * | | | | Fix bugs created by caching NumberFormat & DecimalFormatSymbols objectsDan Egnor2009-11-202-21/+19
| | | |_|/ / | | |/| | |
* | | | | | Merge change I952e8040Android (Google) Code Review2009-11-201-0/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * changes: Implement ZoneInfo.toString for debugging convenience.
| * | | | | | Implement ZoneInfo.toString for debugging convenience.Elliott Hughes2009-11-201-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 2276903
* | | | | | | Fix heap profiling doc.Andy McFadden2009-11-200-0/+0
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | The DDMS "get hprof dump" button doesn't show up until 2.0.
* | | | | | Add execute-inline/range instruction.Andy McFadden2009-11-200-0/+0
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Like "execute-inline", this is an instruction generated by dexopt that replaces a method invoke instruction. It's useful for small, frequently called methods in the core libs. As with execute-inline, we allow at most 4 arguments, but with /range we're no longer limited to the low 16 registers. Also: marked execute-inline as being able to throw an exception. Needed: native x86 implementation; support in JIT. For bug 2268232.
* | | | | Jit: fix for string/indexOf handler.Bill Buzbee2009-11-190-0/+0
| |_|/ / |/| | |
* | | | Merge change I8cd9a083Android (Google) Code Review2009-11-185-67/+191
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | * changes: Fix KXmlSerializer so it won't generate invalid XML.
| * | | | Fix KXmlSerializer so it won't generate invalid XML.Elliott Hughes2009-11-185-67/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were allowing arbitrary characters to be output (which, surprisingly, XML does not), and we weren't correctly escaping CDATA sections that contained "]]>". Pull out some of my test helpers from DocumentBuilderTest into Support_Xml, because they're more generally useful when writing tests involving XML. Also correct a bunch of spelling mistakes in XmlSerializer's javadoc, since I happened to be reading through.
* | | | | Don't ignore errors on expected result, compile, or install in jtreg runner.Jesse Wilson2009-11-181-7/+16
| | | | |
* | | | | Merge change Id856eca6Android (Google) Code Review2009-11-171-0/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * changes: protect use of SMALL_BUFFERS and HANDSHAKE_CUTTHROUGH
| * | | | | protect use of SMALL_BUFFERS and HANDSHAKE_CUTTHROUGHJean-Baptiste Queru2009-11-171-0/+5
| |/ / / /
* | | | | am 50f82ad4: am 08e0023c: Merge change I42d17725 into eclair-mr2Dan Egnor2009-11-172-2/+91
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | Merge commit '50f82ad4f2c4047382029560fd09d1907518adc8' * commit '50f82ad4f2c4047382029560fd09d1907518adc8': Cache NumberFormat and DecimalFormatSymbols objects in a ThreadLocal,
| * | | | am 08e0023c: Merge change I42d17725 into eclair-mr2Dan Egnor2009-11-172-2/+91
| |\ \ \ \ | | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | Merge commit '08e0023c59828a443d993c7e6cb43bf9d197506a' into eclair-mr2-plus-aosp * commit '08e0023c59828a443d993c7e6cb43bf9d197506a': Cache NumberFormat and DecimalFormatSymbols objects in a ThreadLocal,
| | * | | Merge change I42d17725 into eclair-mr2Android (Google) Code Review2009-11-172-2/+91
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * changes: Cache NumberFormat and DecimalFormatSymbols objects in a ThreadLocal, so they can be reused between multiple instances of Formatter on the same thread. This speeds up my unscientific benchmark (a number of printouts involved in a debugging diagnostics output) by 3x, and should have a similar impact on anyone who uses String.format(), PrintWriter.format(), and the like.
| | | * | | Cache NumberFormat and DecimalFormatSymbols objects in a ThreadLocal,Dan Egnor2009-11-172-2/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | so they can be reused between multiple instances of Formatter on the same thread. This speeds up my unscientific benchmark (a number of printouts involved in a debugging diagnostics output) by 3x, and should have a similar impact on anyone who uses String.format(), PrintWriter.format(), and the like.
* | | | | | am 239e94f6: am 28ac5b8c: Merge change I77af8135 into eclair-mr2Elliott Hughes2009-11-170-0/+0
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit '239e94f6a7d54bf13c78171d841582557b5fdd38' * commit '239e94f6a7d54bf13c78171d841582557b5fdd38': Fix Formatter.format's handling of Formattable.
| * | | | | am 28ac5b8c: Merge change I77af8135 into eclair-mr2Elliott Hughes2009-11-172-36/+71
| |\ \ \ \ \ | | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit '28ac5b8cfd52d1902a132a5faf8f102a8b33d6c2' into eclair-mr2-plus-aosp * commit '28ac5b8cfd52d1902a132a5faf8f102a8b33d6c2': Fix Formatter.format's handling of Formattable.
| | * | | | Merge change I77af8135 into eclair-mr2Android (Google) Code Review2009-11-172-36/+71
| | |\ \ \ \ | | | |/ / / | | | | | | | | | | | | | | | | | | * changes: Fix Formatter.format's handling of Formattable.
| | | * | | Fix Formatter.format's handling of Formattable.Elliott Hughes2009-11-172-36/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't make much difference to performance, but it is slightly faster and I think it reads better too. Proof of the latter is the fact that the rewritten form accidentally fixed bug 1767: the old code was storing up literal text until after handling the next format specifier, which is wrong if the format specifier has side effects caused by the use of Formattable. (I don't plan on doing any more on the performance bug for now, though I note that %g allocates and manipulates BigDecimal instances, which would be worth looking at when we get round to the bug that causes it to fail a harmony test.) Bug: 1476, 1767
* | | | | | am 52d2e5f4: am 08c24984: Merge change I0ee370b9 into eclair-mr2Elliott Hughes2009-11-170-0/+0
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit '52d2e5f4e7f75e3a2b38b0373158b7dff13e72cf' * commit '52d2e5f4e7f75e3a2b38b0373158b7dff13e72cf': Consistently use Formatter's cached NumberFormat.
| * | | | | am 08c24984: Merge change I0ee370b9 into eclair-mr2Elliott Hughes2009-11-171-1/+1
| |\ \ \ \ \ | | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit '08c24984fd3cb3e927c9a97b8413843b4b215dc5' into eclair-mr2-plus-aosp * commit '08c24984fd3cb3e927c9a97b8413843b4b215dc5': Consistently use Formatter's cached NumberFormat.
| | * | | | Merge change I0ee370b9 into eclair-mr2Android (Google) Code Review2009-11-171-1/+1
| | |\ \ \ \ | | | |/ / / | | | | | | | | | | | | | | | | | | * changes: Consistently use Formatter's cached NumberFormat.