| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
Merge commit 'e732bb040be84bd2ac652ca53330b80367a65725'
* commit 'e732bb040be84bd2ac652ca53330b80367a65725':
Fix browser crashes if server certificates have > 32 subjectAltNames.
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '1c7705b6066ea57109557fc1cb0609991ac0af24' into eclair-mr2-plus-aosp
* commit '1c7705b6066ea57109557fc1cb0609991ac0af24':
Fix browser crashes if server certificates have > 32 subjectAltNames.
|
| | |\
| | | |
| | | |
| | | |
| | | | |
* changes:
Fix browser crashes if server certificates have > 32 subjectAltNames.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
* changes:
Fix windows SDK build.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Broken by 96516932f1557d8f48a8b2dbbb885af01a11ef6e.
|
|\ \ \ \ \
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit '683daacf21830a0b0510320c735485c75749c4f1'
* commit '683daacf21830a0b0510320c735485c75749c4f1':
DO NOT MERGE: Removing the use of FileCanonPathCache.
|
| |\ \ \ \
| | | |/ /
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit 'd1aead768d5c6e4aa18c4f43e6be97f8a40fbf84' into eclair-mr2-plus-aosp
* commit 'd1aead768d5c6e4aa18c4f43e6be97f8a40fbf84':
DO NOT MERGE: Removing the use of FileCanonPathCache.
|
| | |\ \ \
| | | |_|/
| | |/| |
| | | | |
| | | | | |
* changes:
DO NOT MERGE: Removing the use of FileCanonPathCache.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Aside from being an unjustified optimization, users have reported
problems with this in the wild. This cache has already been removed
in master.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* changes:
Fix java.io.File's JNI's fixed-length buffers.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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).
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* changes:
Explicitly ignore non-IPv4/IPv6 addresses from IFA_ADDRESS.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* changes:
Add a comment.
|
| | | | | | | | |
|
|\ \ \ \ \ \ \ \
| |/ / / / / / /
|/| | | | | | |
| | | | | | | |
| | | | | | | | |
* 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.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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.
|
| |/ / / / / /
|/| | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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
|
|\ \ \ \ \ \ \
| |_|/ / / / /
|/| | | | | |
| | | | | | |
| | | | | | | |
* changes:
Rewrite NetworkInterface's JNI for IPv6.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* changes:
Switch java_io_File.c over to C++.
|
| | | | | | | | |
|
|\ \ \ \ \ \ \ \
| |/ / / / / / /
|/| | | / / / /
| | |_|/ / / /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
DecimalFormatSymbols objects
Merge commit '070dbac882856834111bc0e766224ee53c8d5471'
* commit '070dbac882856834111bc0e766224ee53c8d5471':
Fix bugs created by caching NumberFormat & DecimalFormatSymbols objects
|
| |\ \ \ \ \ \
| | | |_|/ / /
| | |/| | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
objects
Merge commit '0dfef7bc223f18a1372b4c44c822b9cdc5d5f741' into eclair-mr2-plus-aosp
* commit '0dfef7bc223f18a1372b4c44c822b9cdc5d5f741':
Fix bugs created by caching NumberFormat & DecimalFormatSymbols objects
|
| | | |_|/ /
| | |/| | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* changes:
Implement ZoneInfo.toString for debugging convenience.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Bug: 2276903
|
| |_|_|_|_|/
|/| | | | |
| | | | | |
| | | | | | |
The DDMS "get hprof dump" button doesn't show up until 2.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.
|
| |_|/ /
|/| | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
* changes:
Fix KXmlSerializer so it won't generate invalid XML.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* changes:
protect use of SMALL_BUFFERS and HANDSHAKE_CUTTHROUGH
|
| |/ / / / |
|
|\ \ \ \ \
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit '50f82ad4f2c4047382029560fd09d1907518adc8'
* commit '50f82ad4f2c4047382029560fd09d1907518adc8':
Cache NumberFormat and DecimalFormatSymbols objects in a ThreadLocal,
|
| |\ \ \ \
| | | |/ /
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | | |
Merge commit '08e0023c59828a443d993c7e6cb43bf9d197506a' into eclair-mr2-plus-aosp
* commit '08e0023c59828a443d993c7e6cb43bf9d197506a':
Cache NumberFormat and DecimalFormatSymbols objects in a ThreadLocal,
|
| | |\ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* 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.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
|\ \ \ \ \ \
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Merge commit '239e94f6a7d54bf13c78171d841582557b5fdd38'
* commit '239e94f6a7d54bf13c78171d841582557b5fdd38':
Fix Formatter.format's handling of Formattable.
|
| |\ \ \ \ \
| | |/ / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Merge commit '28ac5b8cfd52d1902a132a5faf8f102a8b33d6c2' into eclair-mr2-plus-aosp
* commit '28ac5b8cfd52d1902a132a5faf8f102a8b33d6c2':
Fix Formatter.format's handling of Formattable.
|
| | |\ \ \ \
| | | |/ / /
| | | | | |
| | | | | |
| | | | | | |
* changes:
Fix Formatter.format's handling of Formattable.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
|\ \ \ \ \ \
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Merge commit '52d2e5f4e7f75e3a2b38b0373158b7dff13e72cf'
* commit '52d2e5f4e7f75e3a2b38b0373158b7dff13e72cf':
Consistently use Formatter's cached NumberFormat.
|
| |\ \ \ \ \
| | |/ / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Merge commit '08c24984fd3cb3e927c9a97b8413843b4b215dc5' into eclair-mr2-plus-aosp
* commit '08c24984fd3cb3e927c9a97b8413843b4b215dc5':
Consistently use Formatter's cached NumberFormat.
|
| | |\ \ \ \
| | | |/ / /
| | | | | |
| | | | | |
| | | | | | |
* changes:
Consistently use Formatter's cached NumberFormat.
|