History log of /external/javasqlite/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9f4bd3c5c946dcedfad76df812cb24a2829e4193 19-Jun-2014 Brian Carlstrom <bdc@google.com> am b8501bde: Merge "Switch from core to core-libart"

* commit 'b8501bdeb0b7e39a0d82f2a96ad382c05a763b22':
Switch from core to core-libart
b8501bdeb0b7e39a0d82f2a96ad382c05a763b22 19-Jun-2014 Brian Carlstrom <bdc@google.com> Merge "Switch from core to core-libart"
b2c368c82a28686cb0d514fe234abd43a93e4270 19-Jun-2014 Brian Carlstrom <bdc@google.com> Switch from core to core-libart

Bug: 14298175
Change-Id: Ic7310d02aa06529b82a168373e9402d7da46ddb1
ndroid.mk
e0a3dc4ba206102bca7b0298e8de7f6b1640e74b 11-Jun-2014 Ian Rogers <irogers@google.com> am 6984b818: Merge "Remove deprecated WITH_HOST_DALVIK."

* commit '6984b8188bf3ea75d1edd5b6c1153580d8ff0a33':
Remove deprecated WITH_HOST_DALVIK.
6984b8188bf3ea75d1edd5b6c1153580d8ff0a33 10-Jun-2014 Ian Rogers <irogers@google.com> Merge "Remove deprecated WITH_HOST_DALVIK."
015da7956d07565852b05541a66680699dd090e1 09-Jun-2014 Ian Rogers <irogers@google.com> Remove deprecated WITH_HOST_DALVIK.

Bug: 13751317
Change-Id: Ic10a54509331c943fd64f0f8f401488526661575
ndroid.mk
c45943d376cdc6ae9089e65777487df7e1251898 27-Nov-2013 Narayan Kamath <narayan@google.com> am 1bbcd337: Merge "Fix build rule for sqlite-jdbc-host."

* commit '1bbcd337ec8d51bea41e0d44df57a7e93c8af181':
Fix build rule for sqlite-jdbc-host.
1bbcd337ec8d51bea41e0d44df57a7e93c8af181 26-Nov-2013 Narayan Kamath <narayan@google.com> Merge "Fix build rule for sqlite-jdbc-host."
944e43c803aff4def6f4d0ff1545ccd6677fa850 26-Nov-2013 Narayan Kamath <narayan@google.com> Fix build rule for sqlite-jdbc-host.

Two issues:
- It was being used as a static library, so build it so.
- It is meant for use by rules that run on host dalvik, so it
should be compiled against libcore and not the host JRE.

Change-Id: I6f1854fc531474ef2fe62f87f915a819be0ee32b
ndroid.mk
9b7c764fb1a9e8026ca08909676286bc3aae2cd0 08-Aug-2011 Brian Carlstrom <bdc@google.com> Tracking libnativehelper build changes

(cherry picked from commit 62059eddf25ea783d3a6b341b8b300f11fe0c158)

Change-Id: I3014a65bac1fad70a1d75ba7b2415582dc727871
ndroid.mk
3b4db8854c911edfd02f5c6b8ef625084a0f5a93 24-Jul-2013 Colin Cross <ccross@android.com> remove JNIHelp.h from sqlite_jni.c

sqlite_jni.c doesn't need JNIHelp.h to compile, remove it to avoid
having to pull in liblog to satisify the LOG?_EX definitions.

Change-Id: Iadceea110c0c7e273518e140b898ee4f610a6c67
rc/main/native/sqlite_jni.c
9b24776cd07b8b4f3e416de290b4f60b6fb72e89 04-Dec-2012 Elliott Hughes <enh@google.com> Merge "Simplify makefile."
cc191290296b718dfea7aa2550d1a276bc1d5c66 04-Dec-2012 Elliott Hughes <enh@google.com> Simplify makefile.

Change-Id: I7a34acb8228522166602bdc0fe5bbfbbef545e02
ndroid.mk
c508dc69793e188873a46e8dff480264dad7eb83 06-Apr-2012 Elliott Hughes <enh@google.com> Add NOTICE file.

BSD-style license is obtained from
http://www.ch-werner.de/javasqlite/overview-summary.html

Bug: 6299628
Change-Id: I0971bcce516dbad93028b01f136a802910af21a3
OTICE
0f1e79b33591d98a93678a8f8e93ebff20a061c3 20-May-2011 The Android Open Source Project <initial-contribution@android.com> Reconcile with honeycomb-release

Change-Id: I894d810dbc4d37fe09a2f5e1ae8e9dd7dfbba152
1a1028467afdc5c0171bd4d9cade62e579316f72 04-May-2011 Jean-Baptiste Queru <jbq@google.com> no-op - reconcile with gingerbread

Change-Id: I0e34de93fa014863832a4d1e7165a1481109cacf
812e5706801967e262019b44d62b64826014776c 02-Apr-2011 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master
b40324f8fc15bc949c74ff5ffc40272897b78fef 18-Mar-2011 Brian Carlstrom <bdc@google.com> Move sqlite-jdbc to be a static library

Change-Id: I1d0f6457720fc8946a5a5ae577400ab5b1ca29d7
ndroid.mk
0015e527f686499abaff96810163baebb4ece2bf 18-Mar-2011 Brian Carlstrom <bdc@google.com> am 546320f2: Moving sqlite-jdbc target from libcore/JavaLibrary.mk

* commit '546320f2774fe8790871b986cf022fb01dfcb81a':
Moving sqlite-jdbc target from libcore/JavaLibrary.mk
93a155de666c12d2e1ba2ad99ac4d40f436a5d55 18-Mar-2011 Brian Carlstrom <bdc@google.com> Moving sqlite-jdbc target from libcore/JavaLibrary.mk

Change-Id: I44955819eec75328c085b22f8912f7738d827e27
ndroid.mk
546320f2774fe8790871b986cf022fb01dfcb81a 18-Mar-2011 Brian Carlstrom <bdc@google.com> Moving sqlite-jdbc target from libcore/JavaLibrary.mk

Change-Id: I1d8cfaae4900a33f76b698f37028a8eb119b1dc9
ndroid.mk
91eb4c33cf4cd394037e957e877d7df71975b4a3 12-Jan-2011 Dan Bornstein <danfuzz@android.com> am ead520c1: am c3c82545: am fe564e7e: Merge "Add a dex-containing jar file to the luni test resources." into honeycomb

* commit 'ead520c16f641ba11f582f2b71c289a015e9b996':
Add a dex-containing jar file to the luni test resources.
f1ac8ccc92a2a51bb016203b26cb594d90417e37 12-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am a5bbd9d9: am 68095f6a: am 6ead9d74: am 6e35a860: Merge "Fix @see links" into gingerbread

* commit 'a5bbd9d9be7d2f234ab91ee82085a580e7055f5c':
f9dece775809b66f9e04f9acb5ff31d9de3be47d 12-Jan-2011 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into gingerbread-release-to-dalvik-dev
be1a8c75ee52206189f87c3a1a1f9d66a0928ae5 12-Jan-2011 Dan Bornstein <danfuzz@android.com> am c3c82545: am fe564e7e: Merge "Add a dex-containing jar file to the luni test resources." into honeycomb

* commit 'c3c82545d27b71d88d2456a997250b77fc57ac99':
Add a dex-containing jar file to the luni test resources.
2323dd3d89b577c554c5bf474d47b730f72a8dde 12-Jan-2011 Dan Bornstein <danfuzz@android.com> am fe564e7e: Merge "Add a dex-containing jar file to the luni test resources." into honeycomb

* commit 'fe564e7e61c70d784c800a8bb523a31e45a0366f':
Add a dex-containing jar file to the luni test resources.
c686936a970acdb6ed8670e1e96016f43bf4546a 12-Jan-2011 Dan Bornstein <danfuzz@android.com> Merge "Add a dex-containing jar file to the luni test resources." into honeycomb
a019bea8eb4c0bb0494db47e7388c5401e9bc380 12-Jan-2011 The Android Automerger <android-build@android.com> merge in honeycomb-release history after reset to honeycomb
c8a06f3a8f39f34e2d9e883cdbd9e7bfedf55d6e 12-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am 68095f6a: am 6ead9d74: am 6e35a860: Merge "Fix @see links" into gingerbread

* commit '68095f6a01a2e252413aac649d56cf6dc3c62409':
Fix @see links
78c252e34ab28f4e14d04228c70a41d29c45bfe3 12-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am 6ead9d74: am 6e35a860: Merge "Fix @see links" into gingerbread

* commit '6ead9d748abcf4e7a0b3359ffac24bad8168f284':
Fix @see links
5aa98ff031dfab99f7a7ce6d6664f5f4c536c065 12-Jan-2011 Brian Carlstrom <bdc@google.com> Merge commit '6e35a8607a94411fa1b9c92d2b5a5db40a49895b' into gingerbread-release-to-dalvik-dev

Conflicts:
luni/src/main/java/java/lang/Class.java

Change-Id: I0ff29f1697c5ff538f916f79ed65e2d22dde85a8
9876bb8932ce30ab82c6c91c8e9defb2b95b8929 12-Jan-2011 Elliott Hughes <enh@google.com> Merge "Change all "final static"s to "static final"." into dalvik-dev
50d2f2b971c8948cc1cc303b7c6ad9585cc309e8 12-Jan-2011 Jesse Wilson <jessewilson@google.com> am 320c81eb: Merge "Fix typo in testResponseCacheCallbackApis()."

* commit '320c81eb7448a1dc354e7567669060f6f8f077bf':
Fix typo in testResponseCacheCallbackApis().
9ba809d3189a5bf5702604dd1a37a06d887e17cf 12-Jan-2011 Jesse Wilson <jessewilson@google.com> am a6b80b72: am 99d1e354: am 09c46404: Fix Document.getElementsByTagName to return the root node.

* commit 'a6b80b7219c4d556b56e2de3bde28f276a45e6c9':
Fix Document.getElementsByTagName to return the root node.
5c91aa820f83a6e31de135efb394cbc8195bc52e 12-Jan-2011 Jesse Wilson <jessewilson@google.com> Merge "Fix typo in testResponseCacheCallbackApis()."
599d44d3ef08b9a327fcf9e3f40d9d948657a705 12-Jan-2011 Elliott Hughes <enh@google.com> Change all "final static"s to "static final".

Just so we sound like native speakers.

Change-Id: I4d98ec7519af8c1578609945ca9d480484b82874
5eeaf11732765b64b09e6924620c8a6af018a278 12-Jan-2011 Jesse Wilson <jessewilson@google.com> am 99d1e354: am 09c46404: Fix Document.getElementsByTagName to return the root node.

* commit '99d1e354bc4faaeac8a6de338c7e56964af030ea':
Fix Document.getElementsByTagName to return the root node.
b372ea4de1df551a16d330d71100972c27be5267 12-Jan-2011 Jesse Wilson <jessewilson@google.com> am 09c46404: Fix Document.getElementsByTagName to return the root node.

* commit '09c4640423dbe85c606c5b46312cd5c0e5c94eeb':
Fix Document.getElementsByTagName to return the root node.
2e97481d5b0307d9059483badc0204c68a3fa550 12-Jan-2011 Jesse Wilson <jessewilson@google.com> Fix typo in testResponseCacheCallbackApis().

Embarassing. Test passes with the typo fixed!

Change-Id: Ic348f68c0e720163ca77b125415b01e840c7412d
8780c7f72c4b0518a87cc9a08c95c8c997a422d6 12-Jan-2011 Jesse Wilson <jessewilson@google.com> Fix Document.getElementsByTagName to return the root node.

I introduced this regression when changing Element.getElementsByTagName
to not return itself. Note that one of our tests (GetElementsByTagNameNS)
had the wrong expectation here; the new result is consistent with the RI.

Also fix a related problem in InnerNodeImpl which assumes the document
field is always non-null. It can be null for Doctype nodes!

Change-Id: I40b5bb52b8396cd282cd5465029a9f0c4040de0c
f07f1a702d8743e78f26781873da1ae0ee76e1ef 12-Jan-2011 Jesse Wilson <jessewilson@google.com> am b7ccc2d0: Merge "Expand predefined entities by default, even if coalescing is off."

* commit 'b7ccc2d092e8a500f8d646a9ea0c535a1d440956':
Expand predefined entities by default, even if coalescing is off.
2f7f221914777b6a9827bac738456083e364d4f6 12-Jan-2011 Jesse Wilson <jessewilson@google.com> Merge "Expand predefined entities by default, even if coalescing is off."
dee42cb04270fdf5dd63db09c423d4b5adba393b 12-Jan-2011 Dan Bornstein <danfuzz@android.com> Add a dex-containing jar file to the luni test resources.

This is meant to be used in the class loading tests. This change
doesn't include any such tests, but they'll be coming soon!

Change-Id: Ic02a9d0faa572745d1485d6b5c83e70303b31abb
7734f0211324ac5de994299647bfeb3cb4db2a62 11-Jan-2011 Elliott Hughes <enh@google.com> Fix Double.toString.

I accidentally changed unsigned division to signed division here in gingerbread.

Bug: 3238333
Change-Id: I72cb80adbfc12082a222310929c90f8740b568da
e789dbf2f84b11a2f79f600edaf2deef06d62617 11-Jan-2011 Jesse Wilson <jessewilson@google.com> am 18c7f7e1: am e235e372: am a28b4cea: Merge "Fix cloneNode to work when no namespace is set." into honeycomb

* commit '18c7f7e11b45d577785e4fa9730f5c28ccec0f8d':
Fix cloneNode to work when no namespace is set.
e47b6346bced420424496c28997948f5519cab36 11-Jan-2011 Elliott Hughes <enh@google.com> am 5c055cff: am e7c5643e: am a9c6c901: Documentation improvements for socket options.

* commit '5c055cfff341707ea5e5e9064580cfa7a15d480f':
Documentation improvements for socket options.
499102e72c9060debd9c65b8f801fc67b4923be9 11-Jan-2011 Jesse Wilson <jessewilson@google.com> am e235e372: am a28b4cea: Merge "Fix cloneNode to work when no namespace is set." into honeycomb

* commit 'e235e3723884b57d73a8a7279eb21b71ed3bf877':
Fix cloneNode to work when no namespace is set.
73c9efbfe560ea390e1911f37717bfc354a213c1 11-Jan-2011 Elliott Hughes <enh@google.com> am e7c5643e: am a9c6c901: Documentation improvements for socket options.

* commit 'e7c5643e249a2f7513720c391999dac08737c109':
Documentation improvements for socket options.
8d4420fee620ae72e065acccbc3e6e60905374d7 11-Jan-2011 Jesse Wilson <jessewilson@google.com> Expand predefined entities by default, even if coalescing is off.

Change-Id: I43f0a720e96486a83692a9f08368359f13c875fb
http://b/3341115
09366206c100e2fa31b6b4c66e4d93668b08a801 11-Jan-2011 Jesse Wilson <jessewilson@google.com> am a28b4cea: Merge "Fix cloneNode to work when no namespace is set." into honeycomb

* commit 'a28b4cea38c9ea8e710404bb1e7593c8ca7ad5cd':
Fix cloneNode to work when no namespace is set.
a3670fe0d880f0c42b70890e5d7128e24da9d7d7 11-Jan-2011 Elliott Hughes <enh@google.com> am a9c6c901: Documentation improvements for socket options.

* commit 'a9c6c9013b08934867f71b69a90efce0c1b66918':
Documentation improvements for socket options.
56d739e6675474c99030f45a5e0df8eae24a6392 11-Jan-2011 Jesse Wilson <jessewilson@google.com> Merge "Fix cloneNode to work when no namespace is set." into honeycomb
94ab0a494599b84b9bc3fa37be94634903d57ee1 11-Jan-2011 The Android Automerger <android-build@android.com> merge in honeycomb-release history after reset to honeycomb
d4254556a956ca5b067ae73aa9f3d4d15414e993 11-Jan-2011 The Android Automerger <android-build@android.com> merge in honeycomb-release history after reset to honeycomb
2c11eadc7a70125ee8bbda6a0c19678316a9b21f 11-Jan-2011 Jesse Wilson <jessewilson@google.com> Fix cloneNode to work when no namespace is set.

Change-Id: I0bcbc79832f06613c82f93c0f8805a43a1cf2094
http://code.google.com/p/android/issues/detail?id=2735
3d5307c03457eab7a3ccc765c391c8eef88abcdc 11-Jan-2011 Elliott Hughes <enh@google.com> am 66d9e787: am cbe26f42: am c8dde40c: Merge "Get memory for direct byte buffers from the Java heap rather than the native heap." into honeycomb

* commit '66d9e787af999d3c6b26cfd46e10e0750a5f3e6e':
Get memory for direct byte buffers from the Java heap rather than the native heap.
9f7fa9140faa0a5faac2c13571c9934dec069206 11-Jan-2011 Elliott Hughes <enh@google.com> am cbe26f42: am c8dde40c: Merge "Get memory for direct byte buffers from the Java heap rather than the native heap." into honeycomb

* commit 'cbe26f42f5b57db71402fbb1955898d3ab79e350':
Get memory for direct byte buffers from the Java heap rather than the native heap.
d5fdad07360735fe54b24cda3b38b7c97f278748 11-Jan-2011 Jesse Wilson <jessewilson@google.com> am 75582a19: Merge commit \'e80fc1da\' into manualmerge

* commit '75582a192a436f30af115bddf709fa41c544d2e3':
Don't permit DocumentFragments in the node hierarchy.
ff6d3b1d4f5052508d61b1083ea6945b78b33466 11-Jan-2011 Jesse Wilson <jessewilson@google.com> Merge commit 'e80fc1da' into manualmerge

Conflicts:
luni/src/main/java/org/apache/harmony/xml/dom/NodeImpl.java

Change-Id: I0e6af0c9b4d0f322e1f74c639707916daa153e71
de4c2074127026f3cbf3d625b79c6b171c430b0f 11-Jan-2011 Elliott Hughes <enh@google.com> Documentation improvements for socket options.

Bug: http://code.google.com/p/android/issues/detail?id=13898
Change-Id: I202a5404e7e828f074483a3f6365b4e3a941da7d
8f08518cb278396db00f7c1df69dc10c51f5fc5e 11-Jan-2011 Elliott Hughes <enh@google.com> am c8dde40c: Merge "Get memory for direct byte buffers from the Java heap rather than the native heap." into honeycomb

* commit 'c8dde40c3c62ceb79fc0b62f445d9a539fd470d3':
Get memory for direct byte buffers from the Java heap rather than the native heap.
5117d1555cc4ec44fbc6b46778e45c26ef3025c6 11-Jan-2011 Elliott Hughes <enh@google.com> Merge "Get memory for direct byte buffers from the Java heap rather than the native heap." into honeycomb
2d6f19c2517e5901051f6e76e8ee82c4961460f8 11-Jan-2011 Jesse Wilson <jessewilson@google.com> am 5c0408af: Don\'t permit DocumentFragments in the node hierarchy.

* commit '5c0408af32a2b1c78b2d5a93cca60b0fffddd7da':
Don't permit DocumentFragments in the node hierarchy.
76f0e1239dff44d1dfbcc4ec48a091d922416ddb 11-Jan-2011 Jesse Wilson <jessewilson@google.com> Don't permit DocumentFragments in the node hierarchy.

Change-Id: Icae3e3e41b4315f975892d5aafeae62d4799036d
http://code.google.com/p/android/issues/detail?id=2735
5158117b85eee41b683d3c73e99bb3119da53b39 11-Jan-2011 Elliott Hughes <enh@google.com> Get memory for direct byte buffers from the Java heap rather than the native heap.

Since the removal of tracked external allocations, there's been no accounting
of direct byte buffers. This fixes that, and moves us to a much simpler
situation where the GC is responsible for this memory too. It also means that
we don't need finalizers: now only memory-mapped blocks need finalizers (to call
munmap(3)).

Change-Id: I6b43f74074e496eeb2a36b620af19e4926ceb8cf
2e74146aff5029d26b04467fdae058efddc10fd1 11-Jan-2011 Jesse Wilson <jessewilson@google.com> am c99feaab: Merge commit \'763220b4\' into manualmerge

* commit 'c99feaab70680820bdc7e8c36cb1f73402dbd45b':
Fix GetElementsByTagName to not include the element itself.
9d8508d5c4ed5a5464085bdc10bbe32a66889f00 11-Jan-2011 Jesse Wilson <jessewilson@google.com> Merge commit '763220b4' into manualmerge

Conflicts:
luni/src/main/java/org/apache/harmony/xml/dom/NodeImpl.java

Change-Id: I9ecdb5fb1ac11a87a70ed659700dd7386e46652f
a864291b070984618a59151e686f60a0773d506a 10-Jan-2011 Jesse Wilson <jessewilson@google.com> am 6a3dda3c: Fix GetElementsByTagName to not include the element itself.

* commit '6a3dda3cd755cb77c7234f3c7bee782d92ceccf7':
Fix GetElementsByTagName to not include the element itself.
2e7e976855f71469f192349e21547eb1cf465504 10-Jan-2011 Jesse Wilson <jessewilson@google.com> Fix GetElementsByTagName to not include the element itself.

Change-Id: I8ee8222cc36c691917a7d48f748f5aeb153b95af
http://code.google.com/p/android/issues/detail?id=2735#c11
ccf10a461ceeb08037a9b5698d68c28548d3e57d 10-Jan-2011 Jesse Wilson <jessewilson@google.com> am 97bfa99b: Merge "Break dependency from libcore to Apache XML libraries."

* commit '97bfa99b73cba7e1d04eb761167c95140c249010':
Break dependency from libcore to Apache XML libraries.
ead73e8a4a746594624ca744ac943329268bc81d 10-Jan-2011 Jesse Wilson <jessewilson@google.com> Merge "Break dependency from libcore to Apache XML libraries."
71c2d3c39b57436bb1761c326d746aa3b89cd4ac 10-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> am 6e35a860: Merge "Fix @see links" into gingerbread

* commit '6e35a8607a94411fa1b9c92d2b5a5db40a49895b':
Fix @see links
a6b7b6681f940d3fce52a83f30fba476e7ec2b4c 10-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> Merge "Fix @see links" into gingerbread
926ac47e592335b0e572812d3dc0e8f8cd4fc172 10-Jan-2011 The Android Automerger <android-build@android.com> merge in honeycomb-release history after reset to honeycomb
6bf913f020eeec623031f52c177532495887fa6b 10-Jan-2011 Elliott Hughes <enh@google.com> Remove useless no-op tests.

(Or sometimes just useless annotations. Basically, this gets rid of every
reference to dalvik.annotation.TestLevel.NOT_FEASIBLE, except the definition.)

Change-Id: Ie3c1d9240f85a6237311b9282b3bc181f8af8120
a12533a96fe23e9800f88ec1b1b59ac9b0b53db1 10-Jan-2011 Jesse Wilson <jessewilson@google.com> Break dependency from libcore to Apache XML libraries.

Change-Id: I482ba29551423c682696db44f78bc6b74fa04341
http://b/1414929
c5cf329d97870bff44e121a73387a57cff98c85b 09-Jan-2011 Jesse Wilson <jessewilson@google.com> Merge "Remove the ExpatPullParser." into dalvik-dev
ddcafe5c9a4734de2a534d781e777d2b9f5fcf57 09-Jan-2011 Jesse Wilson <jessewilson@google.com> Remove the ExpatPullParser.

Change-Id: Ie10697ed917e3f4b162b668096ced90c90f79c67
http://b/3090550
ba3f4c42c5ea5d4b85ed4bea3b3e927f51dd2f13 09-Jan-2011 Elliott Hughes <enh@google.com> am 2c9f1e5b: am 90a81872: am 3a9a00ad: Fix getifaddrs(3).

* commit '2c9f1e5b63c624793d01038a2b0c72e853c017df':
Fix getifaddrs(3).
d29c7d9e5a4ed0c51083b22243c75c87fed4e6a6 09-Jan-2011 Elliott Hughes <enh@google.com> am 90a81872: am 3a9a00ad: Fix getifaddrs(3).

* commit '90a818723ba7efc7c7d6a35b8c2b1adfb2fdc955':
Fix getifaddrs(3).
b88060e02d306581e0fa275085615629a904ef46 09-Jan-2011 Elliott Hughes <enh@google.com> am 3a9a00ad: Fix getifaddrs(3).

* commit '3a9a00ad1f166a8e5ea810099b057522f9aecb48':
Fix getifaddrs(3).
bf3895a238259fd88920e3bad970cf8625f95eae 08-Jan-2011 Carl Shapiro <cshapiro@google.com> am ab49fe2c: am ffca9265: am 9eb6225b: am cd12eb57: Merge "Export the assignable instance counting." into gingerbread

* commit 'ab49fe2ca911daf8ba43a451e82f7fa0004da11a':
Export the assignable instance counting.
21f2136d359357017b57471860f6f9e677ac7423 08-Jan-2011 Ying Wang <wangying@google.com> am d483cdd4: am 3ae5250e: am 145b6ff0: am 102b7bc9: Merge "TARGET_PRELINK_MODULE should not be modified in module\'s definition" into gingerbread

* commit 'd483cdd4f6f89ce09e0a477bebae1c5143588880':
TARGET_PRELINK_MODULE should not be modified in module's definition
4a8411653dd3ddee617cf1e992a816f59e6aee8b 08-Jan-2011 Elliott Hughes <enh@google.com> am 19779a98: am ce54529e: am 2532ef97: am 1c76910f: Fix libcore javadoc errors.

* commit '19779a982a2da5b928c54785b87815f829312635':
Fix libcore javadoc errors.
e643e6bca7d79b364c1ea267113efd1f3c097118 08-Jan-2011 Carl Shapiro <cshapiro@google.com> am ffca9265: am 9eb6225b: am cd12eb57: Merge "Export the assignable instance counting." into gingerbread

* commit 'ffca9265ffbb6ed4fbcd2dbdb4f3be776fc5072e':
Export the assignable instance counting.
4cc474ec8189399037e075c7e7bb9010e935d5e0 08-Jan-2011 Ying Wang <wangying@google.com> am 3ae5250e: am 145b6ff0: am 102b7bc9: Merge "TARGET_PRELINK_MODULE should not be modified in module\'s definition" into gingerbread

* commit '3ae5250e3bf6755d3fcad90c4f6d3811cca19a96':
TARGET_PRELINK_MODULE should not be modified in module's definition
b42bbfe23cb4a902cbe1baf65c911b8335da6036 08-Jan-2011 Elliott Hughes <enh@google.com> am ce54529e: am 2532ef97: am 1c76910f: Fix libcore javadoc errors.

* commit 'ce54529ec7b3b9bc278e4f97f23723680a220ace':
Fix libcore javadoc errors.
49f748f232ca51b9e8b05765c7bd97f27c69f516 08-Jan-2011 Carl Shapiro <cshapiro@google.com> am 9eb6225b: am cd12eb57: Merge "Export the assignable instance counting." into gingerbread

* commit '9eb6225baa5ec2972289970a254a1af7492f237d':
Export the assignable instance counting.
f1169e92644afebbc0ef4b9d94329704531395de 08-Jan-2011 Ying Wang <wangying@google.com> am 145b6ff0: am 102b7bc9: Merge "TARGET_PRELINK_MODULE should not be modified in module\'s definition" into gingerbread

* commit '145b6ff0caa05216284ad9a39da49dd9af1a42da':
TARGET_PRELINK_MODULE should not be modified in module's definition
f5ef1b67dd5a663aca9452eb8393e73017b7dd35 08-Jan-2011 Elliott Hughes <enh@google.com> am 2532ef97: am 1c76910f: Fix libcore javadoc errors.

* commit '2532ef971058b37372bc388d8d8c8bd5eed7ecf6':
Fix libcore javadoc errors.
55d6f871db7293a2fec6d1b4c0961bb35f28cbce 08-Jan-2011 Carl Shapiro <cshapiro@google.com> am cd12eb57: Merge "Export the assignable instance counting." into gingerbread

* commit 'cd12eb57487d8c02dc7ed85581c6ee5e71acfa2f':
Export the assignable instance counting.
47f931b3cbf60d11ef946a0e6e538a03cec3359a 08-Jan-2011 Carl Shapiro <cshapiro@google.com> Merge "Export the assignable instance counting." into gingerbread
b22e5ae8826bc1a0a6c909ef0b5917d41df448ea 08-Jan-2011 Elliott Hughes <enh@google.com> Fix getifaddrs(3).

Originally, we pulled out the IFA_ADDRESS messages and used them. That didn't
work with sholes' ppp interface, where we'd report the *destination* address
rather than the local address. We switched to the logical-sounding IFA_LOCAL
messages instead: for IPv4 you always get both IFA_ADDRESS and IFA_LOCAL, and
they're either the same, or you want IFA_LOCAL. It turns out that you don't
get IFA_LOCAL addresses for IPv6 unless they differ from the corresponding
IFA_ADDRESS. So what we have to do is use the IFA_ADDRESS but let IFA_LOCAL
override it, if it appears.

This code was getting way too large, so I've ripped the implementation out of
the header file and given it its own file. I've also switched to UniquePtr
now it exists, and removed a few unnecessary #includes of "LocalArray.h".

I've also added a unit test to help guard against breaking this again.

Bug: http://code.google.com/p/android/issues/detail?id=13784
Change-Id: I5a7d29b8e9bf652160eca043802363feb91421a2
7af1dec8adb05094c8ee7b36315998835601acdf 08-Jan-2011 Elliott Hughes <enh@google.com> Merge "Tell editors that these are Makefiles (or fragments thereof)." into dalvik-dev
c8eba0a7a36a6f92432ee6a66d0dce75f7795acd 08-Jan-2011 Elliott Hughes <enh@google.com> Tell editors that these are Makefiles (or fragments thereof).

Change-Id: I0c5e29ac750b9605b1e8f823d6998d31a933b7a4
ndroid.mk
47077729a54337217c9fb9d9c85b81e8a82e35b8 08-Jan-2011 Jesse Wilson <jessewilson@google.com> am 57ca9a4f: Merge "Test that we can format dates thru to 2038."

* commit '57ca9a4f6f8a7d803faf1496571b8bd6b9baf865':
Test that we can format dates thru to 2038.
c5b2907166887a353428d7d62a70412761b926c5 08-Jan-2011 Jesse Wilson <jessewilson@google.com> Merge "Test that we can format dates thru to 2038."
2f86d16f5d6aa3105fb2a4c1842cd5756dd74dcc 07-Jan-2011 Brian Carlstrom <bdc@google.com> am 5ea61fad: am dc891baf: CA certificate update: Adding C=RO, O=certSIGN, OU=certSIGN ROOT CA

* commit '5ea61fadc093f87f13b575cf500e469a64aa5887':
CA certificate update: Adding C=RO, O=certSIGN, OU=certSIGN ROOT CA
027c696177fc1823382fd6a76d746edbb9c80810 07-Jan-2011 Brian Carlstrom <bdc@google.com> am dc891baf: CA certificate update: Adding C=RO, O=certSIGN, OU=certSIGN ROOT CA

* commit 'dc891baf6ea5fbd16f845b2672ce4e422b62a238':
CA certificate update: Adding C=RO, O=certSIGN, OU=certSIGN ROOT CA
ac1b4185894926503369f35db87b57eb5667c6d0 07-Jan-2011 Ying Wang <wangying@google.com> am 102b7bc9: Merge "TARGET_PRELINK_MODULE should not be modified in module\'s definition" into gingerbread

* commit '102b7bc9eba929d763c60c5c7467d2f9a529bf66':
TARGET_PRELINK_MODULE should not be modified in module's definition
17a88dfb581b6e15231377a8a11c8c083082b9c6 07-Jan-2011 Jesse Wilson <jessewilson@google.com> Test that we can format dates thru to 2038.

SimpleDateFormat works, but some of our other date formatting
code (DateUtils) fails and so I'm testing everything!

Change-Id: Ic69810c3e560c3336c82519d7d16361f4d8debe1
http://code.google.com/p/android/issues/detail?id=13050
cecfc321d20368c674994c08998b545ee26cf0eb 07-Jan-2011 Ying Wang <wangying@google.com> Merge "TARGET_PRELINK_MODULE should not be modified in module's definition" into gingerbread
1cf782ed42d160eb8fdb2122d1cfb1b792a8eb93 07-Jan-2011 Brian Carlstrom <bdc@google.com> CA certificate update: Adding C=RO, O=certSIGN, OU=certSIGN ROOT CA

Added SHA1 : FA:B7:EE:36:97:26:62:FB:2D:B0:2A:F6:BF:03:FD:E8:7C:4B:2F:9B
Subject : C=RO, O=certSIGN, OU=certSIGN ROOT CA

Based on:
https://review.source.android.com/20237
submitted by George Gugulea <gugulea@gmail.com>

Change-Id: Ia6aa9a91e6b22617ef0ff3814aa88e6496852d9a
b8e5254b8d604c4ab6241760971682e3667e451b 07-Jan-2011 Elliott Hughes <enh@google.com> Remove redundant "throws SecurityException" clauses.

These were unchecked exceptions anyway, and now they can't even be thrown.

Bug: 2585285
Change-Id: Ifc8048262fe4b1699924241944beaa6a5bf09e0a
b8a3419b07056be909fea00fb41c78d5516adb7f 07-Jan-2011 Elliott Hughes <enh@google.com> Remove @SuppressWarnings("nls") cruft.

Also rewrite a couple of toString methods for clarity.

Change-Id: Ic6e8c474ef87e0c0550eea2daed611ae41118229
97d48b3f7a015bf77f760bae6cc2cecef174d873 07-Jan-2011 Elliott Hughes <enh@google.com> More SecurityManager cleanup.

Bug: 2585285
Change-Id: Ib9c5fdadc1361d67227b6f82a774b76c53840ff0
38214bf945db73be0cbd49d3fefa1082f2bc80d7 07-Jan-2011 Elliott Hughes <enh@google.com> Retire SecurityManager.

This change removes all the code that was calling getSecurityManager, and
removes all use of AccessController.doPrivileged. It also changes the
implementation of AccessController so it doesn't actually do anything; it's
only there for source-level compatibility.

Bug: 2585285
Change-Id: I1f0295a4f12bce0316d8073011d8593fee116f71
f5d113bd49df846f99a488ce681224c57064a90f 07-Jan-2011 Elliott Hughes <enh@google.com> am 1c76910f: Fix libcore javadoc errors.

* commit '1c76910f0a0fb0cb761a4505f3be1204d6be012b':
Fix libcore javadoc errors.
9dd9600080ea7cf5f1829f2b4f2608bea5bb78e6 07-Jan-2011 The Android Automerger <android-build@android.com> merge in honeycomb-release history after reset to honeycomb
2bc7f207d6ba9f858ffc37809b38ada6378dfd6a 07-Jan-2011 Jesse Wilson <jessewilson@google.com> am b9f4eb77: Don\'t short-circuit Inflater.inflate() on zero-length requests.

* commit 'b9f4eb77cf7c5937fcd33d839c749900112874bd':
Don't short-circuit Inflater.inflate() on zero-length requests.
7ac0c5d63d7227aad91c14580110b312e0e2d0f9 07-Jan-2011 Jesse Wilson <jessewilson@google.com> Don't short-circuit Inflater.inflate() on zero-length requests.

Change-Id: I2d207ee16dd432ba4211990da21a345f81375039
http://code.google.com/p/android/issues/detail?id=11755
89fb028ac8ef7e25afcb40e9751ea2eb4383590c 07-Jan-2011 Jesse Wilson <jessewilson@google.com> am 1c1007df: Merge "Return HTTP headers even if there is no HTTP response body."

* commit '1c1007df57b41662e60d650db918f1581b20fc45':
Return HTTP headers even if there is no HTTP response body.
7c3c01367f7e48099ca391b2d02de26dffa48042 06-Jan-2011 Jesse Wilson <jessewilson@google.com> Merge "Return HTTP headers even if there is no HTTP response body."
6bede3fbe736bf23798b4557b3f55684c8249876 06-Jan-2011 Jesse Wilson <jessewilson@google.com> Return HTTP headers even if there is no HTTP response body.

Also add a test to demonstrate that we've bug 7787.
http://code.google.com/p/android/issues/detail?id=7787

Change-Id: I4e320835516c05ec9e305661b5bbb1e59b278183
08a7a46e8e73396bace1e1fc67237b543e49e65a 06-Jan-2011 Jesse Wilson <jessewilson@google.com> Merge "Use a loop for clarity in Turkish i tests." into dalvik-dev
c6cd690aead1021d1bfb2be813b9b3f9d3eabe18 06-Jan-2011 The Android Automerger <android-build@android.com> merge in honeycomb-release history after reset to honeycomb
c648c0a47aa855738bb0b4f172c315a7c7205049 06-Jan-2011 Brian Carlstrom <bdc@google.com> am 2a7373cf: Merge "Add libcore-docs target"

* commit '2a7373cfe63b8b3663bb754d78422970865dd987':
Add libcore-docs target
8c6afab6c3d80d0638b0bcb9191da4a976d63b5b 06-Jan-2011 Brian Carlstrom <bdc@google.com> Merge "Add libcore-docs target"
12791150ac25e535898267b0408b7ecd273a5676 06-Jan-2011 Brian Carlstrom <bdc@google.com> Add libcore-docs target

Add a local droiddoc target that cuts the review time for javadoc
changes from several minutes to less than a minute.

Docs.mk is the list of directories to javadoc within libcore that was
refactored from frameworks/base/Android.mk

Change-Id: I5c12b48e71b849c2883ebaafaddea5f6c6dea857
11a878cd0f92ba05eceaded08e0e4bec4d01eada 06-Jan-2011 Jesse Wilson <jessewilson@google.com> Merge "Test that we don't retain the wrong array in the copy constructor." into dalvik-dev
a65c44350f5612d7b8eb7e302252759b6b9097a1 06-Jan-2011 Elliott Hughes <enh@google.com> Fix libcore javadoc errors.

Random's javadoc was pretty random, and Pattern was missing some escaping
in code samples.

Also work round droiddoc bugs that were messing up Formatter and classes
that inherited documentation from Object.

Bug: http://code.google.com/p/android/issues/detail?id=13264
Bug: 3318601
Change-Id: Iddb0c807398840191ee003bc1644d611aef4d61d
0d284ee2591d4d116f3756d27553a89e12a80922 06-Jan-2011 Elliott Hughes <enh@google.com> am 27c11c7c: Remove the last vestiges of the external allocation cruft.

* commit '27c11c7c7b1fc023cb6464bd551aceef300e39b6':
Remove the last vestiges of the external allocation cruft.
5321c738a585b282c84d2aa664cbdad94d6f3266 06-Jan-2011 Elliott Hughes <enh@google.com> Remove the last vestiges of the external allocation cruft.

"Missed a bit". The underlying code has gone (though the
interface is still there for now, backed by a do-nothing implementation).

Bug: 2604080
Change-Id: Iba64d1c193819560423285334dc08015fbc105b1
f9732cb47d20b435e5257ed98d36cac1196dc340 05-Jan-2011 Jesse Wilson <jessewilson@google.com> Test that we don't retain the wrong array in the copy constructor.

Change-Id: I77a60881711d61bbbec162dd806214e3af9ebcd6
05a349de7f5d32abff815353744f527856e41f32 05-Jan-2011 Brad Fitzpatrick <bradfitz@android.com> Fix @see links

Change-Id: I432c3e402ff6a97651959891a8581be229c4b958
786023185abf7a634d9d3f1cc087eda41825be13 05-Jan-2011 Jesse Wilson <jessewilson@google.com> Use a loop for clarity in Turkish i tests.

Change-Id: I4a3761b059178e15d1e87a50d1241432287c84ff
http://b/3325799
a253bd0e7412a86072741db6bc50260ce7351457 05-Jan-2011 Jesse Wilson <jessewilson@google.com> Merge "Just use String for upper case/lower case operations." into dalvik-dev
798da8d64f55fd070b498240c400eb683b95e389 05-Jan-2011 Jesse Wilson <jessewilson@google.com> Just use String for upper case/lower case operations.

Change-Id: If686975f659412c555684ed0032694e854e3aa8c
http://b/2183747
77190d47324c578f9b957c177910db20ae96d21b 05-Jan-2011 The Android Automerger <android-build@android.com> merge in honeycomb-release history after reset to master
58895f9ab3f0659238a39d069ed5fc64a1a1211a 05-Jan-2011 The Android Automerger <android-build@android.com> merge in honeycomb-release history after reset to master
6c48791098fed9da7a8f69e92f7a4d2e2e832427 04-Nov-2010 Carl Shapiro <cshapiro@google.com> Export the assignable instance counting.
07d5a566043811ef9fdca9574c51bec0af19ac89 05-Jan-2011 Jesse Wilson <jessewilson@google.com> Merge "Fix serialization in CopyOnWriteArrayList."
fdea1d66c8719b26f96f868eabbc4bb8a0de7785 05-Jan-2011 Jesse Wilson <jessewilson@google.com> Fix serialization in CopyOnWriteArrayList.

Previously we were double-serializing the elements field. The behavior was
correct but the serialized data was larger than necessary.

This also addresses martinrb's other comments on the new CopyOnWriteArrayList.

Change-Id: I191e84793301e81b89718330d897bdf990c8daa6
119c8067c922bbf4be7a26f1bf1130409be4bd14 22-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix PropertyChangeSupport problems.

The fire methods weren't delegating as the spec requires them to.

The serialization was absolutely broken. Serialization for this class
is completely wacky.

Handling of PropertyChangeEventProxy instances was also broken. This
fixes that also. The name of an added proxy filters the events that
are received by the listener.

http://b/2224874

Change-Id: I609f7bf65492264849b511e99b98092008c505d8
1f70efc234459dbd6a75cb0e2225fd9403534a91 04-Jan-2011 The Android Automerger <android-build@android.com> merge in honeycomb-release history after reset to master
434b267059e5fdb54c5c67a201d46f73e49adf62 29-Dec-2010 Ying Wang <wangying@google.com> TARGET_PRELINK_MODULE should never be set in a module definition.

TARGET_PRELINK_MODULE is per product, not per module. Using it in
a module will cause the entire system to not be prelinked.

Change-Id: I2e943dfb9e7ee8e8c9f65d7c58ddcae0dbbfcbc3
ndroid.mk
7800421b89ac2d509c554b7c171662fa39f4ec02 28-Dec-2010 Ying Wang <wangying@google.com> TARGET_PRELINK_MODULE should not be modified in module's definition

We should use LOCAL_PRELINK_MODULE instead.

Change-Id: I0a3056e839da5b2373e2fac89d69b1b9e9b0c853
ndroid.mk
06a2883c018344894172792dc06ec24d942c61a3 28-Dec-2010 Jean-Baptiste Queru <jbq@google.com> am e07c26e1: am 27020e11: Merge "sqlite-jdbc should not use TARGET_PRELINK_MODULE"

* commit 'e07c26e11de29a3fd0f4672418a262f4b56967eb':
sqlite-jdbc should not use TARGET_PRELINK_MODULE
692215a5afe2117a03de9a83acfb9dcfebbd15eb 28-Dec-2010 Jean-Baptiste Queru <jbq@google.com> am 27020e11: Merge "sqlite-jdbc should not use TARGET_PRELINK_MODULE"

* commit '27020e1160e6b880d2f3448a4fc11a0527945cf9':
sqlite-jdbc should not use TARGET_PRELINK_MODULE
da32eadbff0f6545999949a0867949334e61cc7d 28-Dec-2010 Jean-Baptiste Queru <jbq@google.com> Merge "sqlite-jdbc should not use TARGET_PRELINK_MODULE"
fd0569baa860febac38d72ee9ac344217a4cb3bc 23-Dec-2010 Brian Carlstrom <bdc@google.com> Fix CloseGuard warning in a test merged in from gingerbread

Change-Id: Idfc64fbf6363335874b8fa11e00b2fe3074e78a1
2534971b113dacfd7f4dbb963d6ffa83eb6045fc 07-Dec-2010 Brian Carlstrom <bdc@google.com> Adding binary hprof support to SamplingProfiler

SamplingProfiler refactored:
- HprofData is now a separate class, the common data structure
- SamplingProfiler uses HprofData as its runtime format
- AsciiHprofWriter refactored from profiler, takes an HprofData
- new BinaryHprofWriter to output HprofData in binary format
- new BinaryHprofReader can recreate HprofData from binary file
- new HprofBinaryToAscii command line tool to convert formats

dalvik/src/main/java/dalvik/system/SamplingProfiler.java

SamplingProfilerTest expanded to cover new HprofData class
directly. Includes testing of conversion from various hand constructed
HprofData to ascii and binary formats as well as from binary back to
HprofData with out loss of data.

dalvik/src/test/java/dalvik/system/SamplingProfilerTest.java

Change-Id: I6fe06f5dbdbf2f0bf2de228d9761f84d75290ba7
a9b73e0ab2cbfea3c7301473aa4c0c5d6a3c952b 22-Dec-2010 Jesse Wilson <jessewilson@google.com> Revert "Remove inline natives for an unused performance test." (libcore)

Change-Id: I7ea69f84c008c5bdbdf8af6134fb81d80f0a958e
74e69cf98471fe1cc140026889f4c447937a4fa1 22-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Remove native targets for unused performance tests."
7bb28e5f4d5e86ee65a57caf5266fde37b95c438 22-Dec-2010 The Android Automerger <android-build@android.com> merge in honeycomb-release history after reset to master
bbe7db8b91218fb3f40004e088f1c7f5bb4d6670 22-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Test that Proxy.newProxyInstance throws if the classloaders are not visible."
eb6877e3d31ed9883f95018cf8a5695c27c6721b 21-Dec-2010 Jesse Wilson <jessewilson@google.com> Test that Proxy.newProxyInstance throws if the classloaders are not visible.

Change-Id: I32f958db123bb9d59033853ef000016e0535e46d
http://b/1608481
5ca96ff7c5122b4301ddc1048bce289c03980700 22-Dec-2010 Jesse Wilson <jessewilson@google.com> Remove native targets for unused performance tests.

Change-Id: Ia61172cd52de031290a811c3ec73edb929f40c10
633d94c98ea0aadfa1a77677d079656817ac4142 22-Dec-2010 Ben Cheng <bccheng@android.com> Revert "Remove native targets for unused performance tests."

This reverts commit 272a383283a974a4c32a94469b8a8b021d93a480.
000b181be0e6199d15b054e7006ef79839e849e9 21-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Remove native targets for unused performance tests."
0289b597fa92c17abfb32d37e66cc226b85835e8 21-Dec-2010 Jesse Wilson <jessewilson@google.com> Remove native targets for unused performance tests.

See also change I5a252e31.

Change-Id: I3880a81f1f7e90247ce12860b5a2f597037123a7
523f99d21f25393f27ef25b50726a521268490a3 21-Dec-2010 The Android Automerger <android-build@android.com> merge in honeycomb-release history after reset to master
bd9aecbd39f16aefb226af00582ed05ba70e4cb0 17-Dec-2010 Jesse Wilson <jessewilson@google.com> Remove java.io tests duplicated with Harmony.

Change-Id: I5bb51064a476628349977049a374b45a91cdeecf
http://b/3246523
72351c7f73db839dd90d5c19320fa88d282cf0d2 21-Dec-2010 John Eckerdal <john.eckerdal@sonyericsson.com> sqlite-jdbc should not use TARGET_PRELINK_MODULE

TARGET_PRELINK_MODULE is per product, not per module. Using it in
a module will cause the entire system to not be prelinked.

Change-Id: I6148c59e24c6c8876b34eb83fbaa312a41ae220a
ndroid.mk
54b4836a39cefb8f05423a3957ea20a0858de485 20-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Capture the DTD body while it is being parsed."
b5ea6e49aefdd5a5a8974fc7690decf436fb2f98 20-Dec-2010 Jesse Wilson <jessewilson@google.com> Capture the DTD body while it is being parsed.

Change-Id: Ibef02ca759eb56a00f0f72f4063d129ef5350d21
http://b/3241492
cc0d7ed9ecc62ad5ebd5b81915758f5a4db75be0 20-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Optimize DefaultHostnameVerifier."
7a0d3e34cbcee5f1c8f9e9081789e8809cef70e5 18-Dec-2010 Jesse Wilson <jessewilson@google.com> Optimize DefaultHostnameVerifier.

The only behavior change should be a bug fix. There was a heck
"cn.lastIndexOf('.') >= 0" that was always true. This has been
fixed to match the comment "require two dots".

Don't call getDNSSubjectAlts unless necessary.

Errors were created and then dropped. Now they're not created.

strictWithSubDomains was supported but unused. Now it isn't supported.

IP address parsing is now left up to the experts (InetAddress).

No more unnecessary conversions to arrays.

Before & After performance saves ~40% for google.com, which was the
only host that took more than 150 microseconds to verify:

host run us linear runtime %
www.amazon.com baseline 92.6 = 4%
www.amazon.com optimized 26.7 1%
www.google.com baseline 2,457.0 ============================== 100%
www.google.com optimized 1,421.2 ================= 58%
www.ubs.com baseline 143.2 = 6%
www.ubs.com optimized 24.4 1%

Change-Id: I42782bec6a86b95e8fa089aa6edeca45110c2fc4
http://b/2811070
db67c4249c0de00afa75fcb9fdab31ffbd6597fd 20-Dec-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release

* master:
Remove the external allocation facility.
Tests to cover Socket's surprising behavior on read after close
We always wantDex at this point.
f10e3609fc8223e598af744fd828a874aff99361 18-Dec-2010 Carl Shapiro <cshapiro@google.com> Merge "Remove the external allocation facility."
4b5107a9269c307c0586890ea7c48ac1f7b781e4 18-Dec-2010 Carl Shapiro <cshapiro@google.com> Remove the external allocation facility.

Change-Id: Ic21a01ff1f82f6b2d22d089711a2843b5a497eda
009d2e8e4944611235acbde75d25137291eb4a81 17-Dec-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release

* master:
Test that HttpURLConnection responds gracefully when the server closes a socket.
Use ftruncate64.
Fix File.length for sparse files.
Fix the XML declaration message to work with JUnit 3.8.1 or JUnit 4.
Don't be specific about exception priority in OldFileChannelTest.
More math tests that fail on the host only.
Don't test for implementation details in OldRandomAccessFileTest.
HttpsURLConnection retry should not invoke X509TrustManager and HostnameVerifier more than once
Don't bother trying to unzip a file named "*.dex".
MappedByteBuffer get(byte[]) and get(byte[], int, int) weren't updating 'position'.
f60f07d66c5b327bf385892b5ab5f80982ef51fe 17-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Tests to cover Socket's surprising behavior on read after close"
46695d901783d8deb176eef16d587af275dc58c1 17-Dec-2010 Jesse Wilson <jessewilson@google.com> Tests to cover Socket's surprising behavior on read after close

Change-Id: I9bd5d3cb718dc10ae0b419cdd46920d79e19419b
http://b/2612240
127a6fca0f7170c44239a6ff6b9642424ebc2cf6 17-Dec-2010 Dan Bornstein <danfuzz@android.com> Merge "We always wantDex at this point."
3c21dedcd0a8152fb0f54dddde265749787ea191 17-Dec-2010 Jesse Wilson <jessewilson@google.com> Test that HttpURLConnection responds gracefully when the server closes a socket.

Change-Id: I5110d58d91e7c6f8f7553ad400f0bd841bcf07b6
http://b/2612240
91c953039502e4a62bbbe6d7907a2d3102a3ab18 17-Dec-2010 Elliott Hughes <enh@google.com> Use ftruncate64.

This fixes the last (known) 32-bit file offset bug in libcore.

Bug: 3107933
Change-Id: Ic13b719092c529a2533268d79ad92e3bb683f4ac
a2e8ac3e932698262b055298c42c580a14237617 17-Dec-2010 Elliott Hughes <enh@google.com> Merge "Fix File.length for sparse files."
f3dc0605d7800f5f325400d3ccea79edb9573f7f 17-Dec-2010 Elliott Hughes <enh@google.com> Fix File.length for sparse files.

Bug: 3219696
Change-Id: I74534471dcbcc216f183e72dff8d3f9dc5c7b546
fbe89b33ce8b66ef1a3e8efb063c8f34b5ec2588 17-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix the XML declaration message to work with JUnit 3.8.1 or JUnit 4."
f610634cea9b711543defc6711c3a5db670cf3f1 17-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Don't be specific about exception priority in OldFileChannelTest."
d0cc31933733e400ec27b4cb8fadcd57b6f1ca3a 17-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix the XML declaration message to work with JUnit 3.8.1 or JUnit 4.

JUnit 3.8.1 (which is what's used on the device) uses a message
like "expected:<...1> but was:<...0>".

Junit 4 (which is included in vogar) uses a message like
"expected:<1.[1]> but was:<1.[0]>"

I'd also like to fix bug 2286423 so we don't inherit the JUnit 3.8.1
from the device's boot classpath.

Change-Id: Iaf89e10a1536bbb9aaadd71f653b70177f898734
74d40a8d43c38ccc21417f8b2f6528309b066b03 17-Dec-2010 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of 5fc737eb to master

Change-Id: Ifc2a4fd44cef525709a3b9dc0a502b1a0690c6fd
6df07442691c754773d757bb072559829b64d287 17-Dec-2010 Jesse Wilson <jessewilson@google.com> Don't be specific about exception priority in OldFileChannelTest.

Change-Id: I147b60df59446fe1edbdc24249f66a2a15e9814e
4c431d302d78885aca80c264d9472a7ed6561856 17-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "More math tests that fail on the host only."
4e90245b40052b992a555ea87d7f3242b64c81a6 17-Dec-2010 Brian Carlstrom <bdc@google.com> am 2915378e: HttpsURLConnection retry should not invoke X509TrustManager and HostnameVerifier more than once

* commit '2915378e253f08e47fe5a9bfd026cd1ca7c6c351':
HttpsURLConnection retry should not invoke X509TrustManager and HostnameVerifier more than once
f207b18488e9cbdac2d6c1739e59ae54661975bb 17-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Don't test for implementation details in OldRandomAccessFileTest."
ba13a1c6a853ad3cb78a0933538b79915b807c89 17-Dec-2010 Jesse Wilson <jessewilson@google.com> More math tests that fail on the host only.

Change-Id: Ic952bdad963f92e97fe74af3ba48b928f3109237
http://b/2931959
018c285386017536f0605c34e5e1f3312044e0b1 17-Dec-2010 Jesse Wilson <jessewilson@google.com> Don't test for implementation details in OldRandomAccessFileTest.

Change-Id: Ibb5dab8c4806aa944d2b0be411fc42ca5bc83f67
77be8fd6b3fa1ecbcb7690da6b7327b58ffafe13 17-Dec-2010 Dan Bornstein <danfuzz@android.com> We always wantDex at this point.

So, there was no longer a need to check for it.

Cleaned up some comments and minor code convention violations while
I was in the territory.

Change-Id: I717fa74bad05cdbf02bd4f6d24108196579c451a
392d920527d7b084ad965766d4b9f5affcc05ebc 16-Dec-2010 Dan Bornstein <danfuzz@android.com> Merge "Don't bother trying to unzip a file named "*.dex"."
2d13768278b660538364998b5f7e2b610cb2c5a2 16-Dec-2010 Brian Carlstrom <bdc@google.com> HttpsURLConnection retry should not invoke X509TrustManager and HostnameVerifier more than once

Summary:

In 2.3, HttpsURLConnection was change to retry TLS connections as SSL
connections w/o compression to deal with servers that are TLS
intolerant. However, if the handshake proceeded to the point of
invoking the X509TrustManager, we should not retry. Similarly, if we
should not invoke the HostnameVerifier repeatedly, and need to wait
until the SSL handshake has completed.

Tested with (includes two new tests for this issue):
libcore/luni/src/test/java/libcore/javax/net/ssl/
libcore/luni/src/test/java/libcore/java/net/URLConnectionTest.java
libcore/luni/src/test/java/org/apache/harmony/luni/tests/internal/net/www/protocol/https/HttpsURLConnectionTest.java

Details:

HttpConnection.setupSecureSocket has been broken into two
pieces. setupSecureSocket now just does the SSL
handshaking. verifySecureSocketHostname now does the
verification. The old HttpConnection code was careful never to
assign its sslSocket field until verification was complete. A new
unverifiedSocket field is added to store the sslSocket before
verification is completed by verifySecureSocketHostname.

luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpConnection.java

HttpsEngine.makeConnection now skips TLS intolerant retry if the
reason for the makeSslConnection failure was a
CertificateException, since that implies that we failed during
certification validation after initial handshaking. We also
prevent retrying hostname verification by moving it out of
makeSslConnection and only doing it on new SSL connections,
tracking the changes to HttpConnection.setupSecureSocket mentioned
above. We also now skip the redundant call to setUpTransportIO in
makeSslConnection on reused SSLSockets.

luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/https/HttpsURLConnectionImpl.java

Instead of throwing away the underlying CertificateExceptions, set
them as the cause of the SSLExceptions. This is what the RI does
in the case of X509TrustManager failures and is now used by
HttpsEngine.makeConnection.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Added new testConnectViaHttpsToUntrustedServer which makes sure
that connections are not retried on certificate verification
failure.

luni/src/test/java/libcore/java/net/URLConnectionTest.java

Added new test_SSLSocket_untrustedServer that verifies that an
SSLHandshakeException is thown containing a CertificateException
is thrown on certificate verification problems.

luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java

Added second test CA and a new TestKeyStore.getClientCA2 test key
store that does not trust the primary test key stores. This is
useful for negative testing and is used in the above two new
tests.

support/src/test/java/libcore/java/security/TestKeyStore.java

Issue: http://code.google.com/p/android/issues/detail?id=13178
Bug: 3292412

Change-Id: I37136bb65f04d2bceaf2f32f542d6432c8b76ad4
409d83f9dada5ddd54201ed6c25af7a8a519f850 16-Dec-2010 Elliott Hughes <enh@google.com> Merge "MappedByteBuffer get(byte[]) and get(byte[], int, int) weren't updating 'position'."
e870b840b1d03a352accf4f98182e1c87289b6df 16-Dec-2010 Dan Bornstein <danfuzz@android.com> Don't bother trying to unzip a file named "*.dex".

This avoids a bit of work that would inevitably fail. I also updated
some comments to better reflect the status quo.

Change-Id: I7435ec0abd4d0a8173d61c1f4b894bfafbc6f609
5fcfe143d2d95f1df809175fbcc098c393f790d9 16-Dec-2010 Elliott Hughes <enh@google.com> MappedByteBuffer get(byte[]) and get(byte[], int, int) weren't updating 'position'.

The majority of this change is work to extend our tests to cover
MappedByteBuffer too, plus new tests to check that 'position' is
always updated correctly by ByteBuffer's relative get/put methods.

Bug: 3291927
Change-Id: I58217de45ba65675730f30771fba592cb2af28ff
62a7f2f0ac2c7d75ec1791b979aa0aeb7a59148d 16-Dec-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release

* master:
More work arounds for the droiddoc bug where @links cannot point to parameterized methods.
Fix a long-standing serialization bug.
Fix a regression I introduced in serialization.
Work around droiddoc bug where @links cannot point to parameterized methods.
Fix java.util.concurrent to not @link to unpublished APIs.
Use iteration rather than recursion in writeHierarchy.
Recover from the 'null' system class loader gracefully.
Plumbing for loading byte[]-based dex files.
Speed up serialization.
Update java.util.concurrent to the latest.
476952033f234f9db72e3019e0ac47565c9dd3e8 16-Dec-2010 Jesse Wilson <jessewilson@google.com> More work arounds for the droiddoc bug where @links cannot point to parameterized methods.

This catches the fixes missing in change 85477.

Change-Id: Ib1a4f851148bd675f68e0d49c23a8e8e24633d89
13320a4adafccb7ff5e077823533caf2374b4a17 16-Dec-2010 Elliott Hughes <enh@google.com> Fix a long-standing serialization bug.

Fixes a harmony test.

This patch touches two very similar-looking methods that are sadly just
different enough that we can't factor the duplication out until we can
rely on inlining.

Change-Id: I9c47f08911fea1472c2cb36b7cf94ab6a4e630aa
e87d11f1616ba3b3ad4870703fbf9b44491c183f 16-Dec-2010 Elliott Hughes <enh@google.com> Fix a regression I introduced in serialization.

Although the serialization specification strongly implies that there
are no gaps in the allocated handles, it's not actually true of the RI
or -- presumably for bug-compatibility reasons -- of us. Serializing
anything with a field of type Class skips a handle; our EnumMapTest
found this.

By way of apology, I've thrown in a one-line fix for a long-standing
bug (no support for void).

Change-Id: I6104f8cb8e5a1476448ad65669e54f191c1a60e3
d2272ce7a656408f9a370c33db086733a43e7041 16-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Work around droiddoc bug where @links cannot point to parameterized methods."
16667c6aea38fc01ed56dd9460233f41df6e9d4b 16-Dec-2010 Jesse Wilson <jessewilson@google.com> Work around droiddoc bug where @links cannot point to parameterized methods.

The work around is simple but unfortunate: omit the parameters. As a
consequence, some of the links will point to the wrong overload.

Change-Id: Ib0bfb82bf8fdef79e3532012b91128f680c01b6c
42837c2a7e5733015db72e206cd155724292e601 16-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix java.util.concurrent to not @link to unpublished APIs.

Change-Id: I14ae9dfcf8073a86165d779fefe245c4f7fcf4e5
58e788dc93f127fa8a99efc38cbff8d89ab67b91 16-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Update java.util.concurrent to the latest."
b0f3f0191c217cbeb2c65a995224c4de36be1c4c 15-Dec-2010 Dan Bornstein <danfuzz@android.com> Merge "Plumbing for loading byte[]-based dex files."
f13d37dbcb23e930fabd5650c194732f855c6e09 15-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Recover from the 'null' system class loader gracefully."
0a2cff0c82240cb2d3f16e03d3049420b5e35ae4 15-Dec-2010 Elliott Hughes <enh@google.com> Use iteration rather than recursion in writeHierarchy.

There's no convincing performance difference either way in my benchmarks, but
we're using iteration in readHierarchy, and both should use the same style
unless there's a convincing reason not to.

Bug: http://code.google.com/p/android/issues/detail?id=13138
Change-Id: I857b1fa47255368ba4c5f9cc556fb9dc7f8fce6a
c7359bc15549b91f70b5b03607ff7db873f70285 15-Dec-2010 Jesse Wilson <jessewilson@google.com> Recover from the 'null' system class loader gracefully.

Change-Id: I879f3b2ace3e22a3add83f3e4ae7749de5394a1e
http://b/3288102
b054944746f0493cd5022b66c818c5d9af08e73b 15-Dec-2010 Dan Bornstein <danfuzz@android.com> Plumbing for loading byte[]-based dex files.

This is not yet complete. See related change I06af6df3 in the dalvik
project.

Change-Id: Iac4739c0e75bf95e1d5f019e946b8ddb256d3a26
f7834d75e652f83ced860dfbd7228c7944b89687 15-Dec-2010 Elliott Hughes <enh@google.com> Speed up serialization.

Rather than pay the boxing costs of using IdentityHashMap<Object, int>,
use our own specialization.

Bug: http://code.google.com/p/android/issues/detail?id=13138
Change-Id: I1f3dcc2f2c1c35fd8d8cd1b0572d809c27824bf0
a86c439cf0c92033faee91a72964fc0737636b31 15-Dec-2010 Jesse Wilson <jessewilson@google.com> Update java.util.concurrent to the latest.

The most recent change to the upstream CVS tree was on Mon Dec 13 05:46:08 2010 UTC.

Change-Id: If863f0d501e5bb66a73e8a9a17b2853f012326e6
http://b/3090858
b37655bca0e3b57a1fb1bc3bb6d314d45b70f581 15-Dec-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
506a9324102c46645046a4f9a096e220ca044e74 15-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Set the expectation for a known regression."
9a0280c53b15d3be17a167b7cfe5037982f82a64 15-Dec-2010 Jesse Wilson <jessewilson@google.com> Set the expectation for a known regression.

Change-Id: Id2bc3d2abc25715b34d00e989d42f55a4f31486e
http://b/3286592
edbd14f8fb870aebe5e8d3530d51f57f91193786 15-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Make GregorianCalendarTest consistent with our locale data."
576eda0041e0b410c0012b9401e38b713f8073ca 15-Dec-2010 Jesse Wilson <jessewilson@google.com> Make GregorianCalendarTest consistent with our locale data.

The result of '4' is consistent with Harmony. The RI returns '1'
for this case. Consider this a non-bug difference.

Change-Id: I0ab8a1820585ba72943547cc9d03f74066970145
4eb1f2badfbc185e55cd7bc2a19e58f4336c07bd 15-Dec-2010 Jesse Wilson <jessewilson@google.com> am b84e9595: am c6dae581: Throw the expected exception after the response failed.

* commit 'b84e9595d2dff0d473be0699f3c8b06be2337712':
Throw the expected exception after the response failed.
a007d3d52dbe430f13920aa321eca1492b674256 15-Dec-2010 Jesse Wilson <jessewilson@google.com> am c6dae581: Throw the expected exception after the response failed.

* commit 'c6dae581716b9362a5c7f166c80a7f2b46ed1124':
Throw the expected exception after the response failed.
971d469fdb776787810904b32f6f4ff1e22f868d 15-Dec-2010 Elliott Hughes <enh@google.com> A last bit of serialization performance on the deserialization side.

There's no point converting a Class<?> to a char and then doing (effectively)
an if-else on the char when we can do it on the Class<?> directly. With this
change, the profile for deserialization is quite reasonable: mostly object
creation and ploughing through the bytes. We'll benefit from future Arrays
work, but that's for another day.

Bug: http://code.google.com/p/android/issues/detail?id=13138
Change-Id: I67aa237c4176e443f7ecdc12f0534cc2f3df5076
0368e5f3ba942f413277f449706d2ee3cedfe333 06-Nov-2010 Jesse Wilson <jessewilson@google.com> Throw the expected exception after the response failed.

Change-Id: I4c2ed726d41d6b55e27a503467a412fa05242383
http://b/3172197
e8fc4ba20b9a0c927f930b0b4575dfc92f20c8fd 15-Dec-2010 Elliott Hughes <enh@google.com> More serialization performance.

Similar to caching the ObjectStreamClass hierarchy, cache the Class<?>
hierarchy.

Bug: http://code.google.com/p/android/issues/detail?id=13138
Change-Id: Idb115f2d80224ee9809461b58d0fef1abfc7ac30
7b302c34760ca862128d44fbf919a814be34bbdc 15-Dec-2010 Elliott Hughes <enh@google.com> Merge "More serialization performance work."
e1639f2c9346049c3dcee3d28c14194297558c39 14-Dec-2010 Elliott Hughes <enh@google.com> More serialization performance work.

Cache the ObjectStreamClass hierarchy. Serialization needs to traverse this
from root to leaf but we don't have links in that direction. This patch
ensures we at least only compute it once.

Bug: http://code.google.com/p/android/issues/detail?id=13138
Change-Id: Ia7e8f5cc431ddba5db72ef3cb2d24bdf8e263de2
eb713c62ab25088ddd092de03c00339f0542db78 15-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Move 41 tests to libcore, closer to the tested code."
991959b87ea1c30ecd63b406fa4712ca7445c8ba 15-Dec-2010 Jesse Wilson <jessewilson@google.com> Move 41 tests to libcore, closer to the tested code.

Change-Id: I0ecaacd0e68b8319806555f71ddf347f01b17be9
http://b/3073226
e83d811efbfea512c88b8464a580460d8fee1a30 14-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Move HashMapTest from frameworks/base to libcore."
173beafc5f7f5f80739d18a3a8721d941534df43 14-Dec-2010 Jesse Wilson <jessewilson@google.com> Move HashMapTest from frameworks/base to libcore.

Change-Id: Ie7cc6e685e6425340fefdf7b44c23d13d6fd6efb
http://b/3073226
48009faf3b4cbfcf181f674d7e492df720b61c82 14-Dec-2010 Elliott Hughes <enh@google.com> Merge "More serialization performance improvements."
5639d7425217fa93d4cc33f9f28d17a24782911e 14-Dec-2010 Elliott Hughes <enh@google.com> More serialization performance improvements.

Cache more work and don't use a Map of Integers for a range of
integers that's defined to be dense, just because they don't start at 0.

Bug: http://code.google.com/p/android/issues/detail?id=13138
Change-Id: Ie73d0bb946892f86165fca78da10bbcf64322570
4e8c530a03f2618a7677c0b9b0f3a875562cbd94 14-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix a couple of failing ResourceBundle tests."
c26f7981e3b33a1072223bbdb7ee7b8a1f309ee6 14-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix a couple of failing ResourceBundle tests.

We weren't clearing the cache when the default locale changed.

We were attempting to re-parse the locale string after we'd
converted it to a file extension like "_en_US". This was failing.
The new code doesn't parse the locale string. It also simplifies
("strips") the locale as a locale and not as a string.

Change-Id: I1512b105f2af1ac66e54edd82ae55630258dae31
7b37a1f1866b47973876702e9b33057d3df7e200 14-Dec-2010 Elliott Hughes <enh@google.com> Building libcore in master is spam city. Fix that.

Actually, this is more of a workaround. The real fix would be:

1. work out why @SuppressWarnings("unchecked") isn't working.
2. move the XML crap (which we're not maintaining, and where we don't fix
warnings) out into external/.
3. uncomment the commented-out line in this patch.

(I've fixed our real non-"unchecked" warnings in earlier patches.)

Change-Id: I5a2dcb071eef5b46c8f166f9492d56cfdb5c6fa5
62d933c51d75c00713a3f4ba889e8f3f8fb5b312 14-Dec-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
9dc4bc1d03a3e6f51a8fb0a74e154f824b215cf6 14-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix two {@link} problems in CopyOnWriteArrayList."
633920dc2b1459eb459f1c12dd82aefe49cb8ff7 14-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix two {@link} problems in CopyOnWriteArrayList.

One @link was supposed to point to lastIndexOf; that was a typo.

DroidDoc is choking on the #indexOf(Object,int) overload; I'll drop
the method list which should make it happy.

Change-Id: I79cc3548d628ad3380b9f3d0d7c03f606a3c8801
043c4553f53eb799d0a71b3c3063594f0de39eda 14-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Remove nio.char tests duplicated from Harmony."
51d01898e3b8703871372949c8d8d0b587576afe 13-Dec-2010 Elliott Hughes <enh@google.com> Make deserialization 30% faster.

Cache the constructor we need, rather than looking it up each time.

Bug: http://code.google.com/p/android/issues/detail?id=13138
Change-Id: I33f34d2e566c8a39296b7e820cab2d2c535d84e8
a2796ff918fe0ae83cb6bc84e0c2ebfb5e3537d3 13-Dec-2010 Jesse Wilson <jessewilson@google.com> Remove nio.char tests duplicated from Harmony.

Change-Id: I333d8b8a5950bdfd4e67eeed84c99f43df62e87d
http://b/3246523
1bd128c7a7a91be99457c8f2bf747e50bf4c3581 11-Dec-2010 Jesse Wilson <jessewilson@google.com> Rewrite CopyOnWriteArrayList from scratch.

The previous implementation has many structural problems motivating
this rewrite. In particular, changes to sublists behaved quite
inconsistently with the RI.

This passes the tests in the Google Collections test suite.

Change-Id: I49c4a50659ef1f35dbff4abdd596d7fda815bcfe
http://b/3270784
88f61c0886999dd551828b5395751013ba3a50db 13-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Update known failure to match test name. http://b/3032697"
8498e2ee027ef72587658ade2c67b32784b54a92 13-Dec-2010 Elliott Hughes <enh@google.com> Merge "Lots more bounds-checking/exception-throwing consistency."
e88c969ac5227da6e2d377dfdb492cbfde1372c4 13-Dec-2010 Jesse Wilson <jessewilson@google.com> Update known failure to match test name.
http://b/3032697

Change-Id: Ibd755c0a350dbd2cbc4ac1f4de216caf826b7d4c
9b0b2703893e67040dbd2ae5c0ae3023994cb27f 13-Dec-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
efcb80532c3a862351c9e25daba7ec1199e6e493 11-Dec-2010 Elliott Hughes <enh@google.com> Lots more bounds-checking/exception-throwing consistency.

Overflow-safe checks all round, plus better detail messages. This isn't
quite everything, but it's a large chunk of the work. Most notably, this
is all of io and nio.

There are numerous changes of exception priority here, and the harmony
tests noticed a subset of them in the nio code. I've modified our checked-out
copy of the tests to accept any of the throwable exceptions.

Change-Id: Id185f1228fb9a1d5fc9494e78375b5623fb0fe14
dd89a478c44913cf54e82f7e3160a7f5a2c61199 11-Dec-2010 Stan Chesnutt <chesnutt@google.com> Export ANY and ALL as constant InetAddress objects for use by framework
classes. ALL is newly-created in this CL.

Change-Id: I7e896a8d0ce7d897643bb2b878981e8c90760419
8dc89ea676f2c1acef80698dd3cc6ed8e8ff0cc3 10-Dec-2010 Elliott Hughes <enh@google.com> Merge "DatagramSocket.setNetworkInterface() allows a socket to be bound to a network interface using the SO_BINDTODEVICE socket option."
89b484dda8bba0fcc8cc48b05f2362c7815290ca 10-Dec-2010 Stan Chesnutt <chesnutt@google.com> DatagramSocket.setNetworkInterface() allows a socket to be bound to a
network interface using the SO_BINDTODEVICE socket option.

Change-Id: I9598981f0d8f633de0b591db858960b1fea2e4e8
3407f6196558dd6f11b6902dabe319e08f57a3fa 10-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> Add BlockGuardPolicyException constructor with a message

Change-Id: Ied7ca5e1a1d7dbcf44d5bcf6834c04076461d605
3b14694abeca6e6cf808d838226e4f00628ad17e 10-Dec-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
181b2904314e6d5df55fda6c6858d753a14a2bf4 10-Dec-2010 Jesse Wilson <jessewilson@google.com> am b51a2385: am fcd6cf98: Fix various issues in CopyOnWriteArrayList discovered by Google Collections\' test suite:

* commit 'b51a23852b6e974fc0029e0fbb7c74e333dcfeaa':
Fix various issues in CopyOnWriteArrayList discovered by Google Collections' test suite:
c8e42be5c7b283cdc545c84638010b2dd60886b0 10-Dec-2010 Jesse Wilson <jessewilson@google.com> am fcd6cf98: Fix various issues in CopyOnWriteArrayList discovered by Google Collections\' test suite:

* commit 'fcd6cf989712aabe2826655df490d73e2240fb21':
Fix various issues in CopyOnWriteArrayList discovered by Google Collections' test suite:
5b1ce18c64820402856db29cffcdbcdac3054fed 10-Dec-2010 Elliott Hughes <enh@google.com> Merge "Adds new RawSocket class (and underlying jni implementation). This is a utility class for an experimental Java implementation of dhcp. The client DHCP implementation needs to construct, send, receive, and parse raw L2 packets before the network interface is configured with an IP address. Current Java networking classes do not work with unconfigured network interfaces."
bffdd0a8cd675c9a6f8e85083e1b5296d5c61a2f 10-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix various issues in CopyOnWriteArrayList discovered by Google Collections' test suite:

Fixed CopyOnWriteArrayList problems:
- addAll() doesn't return true if the collection is empty
- clear() fails on an empty list
- containsAll() doesn't return true if the collection is empty
- subList() fails on an empty range
- subList() doesn't implement equals(), hashCode() or toString()

Fixed CopyOnWriteArraySet problems:
- addAll() adds duplicates if the added collection contains duplicates
- equals() throws NullPointerException if this is empty

The following issues aren't fixed:
- the iterator throws UnsupportedOperationException when it should throw
IllegalStateException
- sublists don't reflect non-structural changes in the underlying list

http://b/3270784
Change-Id: I8c174e4ceda1ff964e2ad8224fa7338dac552288
dc8b6502dab4a3ae3de5f47debb9d8fa63236753 10-Dec-2010 Stan Chesnutt <chesnutt@google.com> Adds new RawSocket class (and underlying jni implementation). This is a
utility class for an experimental Java implementation of dhcp. The client
DHCP implementation needs to construct, send, receive, and parse raw L2
packets before the network interface is configured with an IP address. Current
Java networking classes do not work with unconfigured network interfaces.

Change-Id: I4dd0133868da5b84bd2a471c33173d4c056c34e8
7ea510bb419234d65bee4304838a99d8e78313c1 09-Dec-2010 Elliott Hughes <enh@google.com> Merge remote branch 'goog/dalvik-dev' into mm

Change-Id: I02f06412f7bb97f1270e88014a5dd2526328c00a
8995f35ded72cf5ce9f2fc8f309c7664ba96adce 09-Dec-2010 Elliott Hughes <enh@google.com> am b46dab34: Rewrite all backwards comparisons.

* commit 'b46dab348e2007bc08abaf7ecae34d89a2474e50':
Rewrite all backwards comparisons.
7a726e9d342857a70e1ccd4d4597cf45378242b5 09-Dec-2010 Elliott Hughes <enh@google.com> Rewrite all backwards comparisons.

Strictly, all the ones I could find. This is everything with 0 or null on the
left-hand side.

Note that this touches several incorrect bounds checks, which I haven't fixed:
I'm going to come back and finish that independent cleanup separately.

Change-Id: Ibdb054b53df9aace47c7d2a00ff19122190053e8
007d645564a36507ad414877ab474a41be76eff0 09-Dec-2010 Elliott Hughes <enh@google.com> am ccedfac1: Merge "Fix a bunch of javac -Xlint warnings in our code."

* commit 'ccedfac1d04b7f9c4df4a144f80283f7af69a9d6':
Fix a bunch of javac -Xlint warnings in our code.
944a553e9237fd97785cf3e6de64ece4ab9a65a9 09-Dec-2010 Elliott Hughes <enh@google.com> Merge "Fix a bunch of javac -Xlint warnings in our code."
483a1e6048e7c684ce391fc9ce5fae19a0e1559a 09-Dec-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
259dfa7b6cad977c2f1eabba2c4a816e12b937b3 09-Dec-2010 Jesse Wilson <jessewilson@google.com> am 23bccc74: Merge "Update expectations for XML test failures."

* commit '23bccc74b67a6e8d94988edfe214e5798551713b':
Update expectations for XML test failures.
3d16e4b347404f171c32ff575ac3f366cd567803 09-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Update expectations for XML test failures."
3213082d23c35469861179c512110c254cfd4f67 09-Dec-2010 Jesse Wilson <jessewilson@google.com> Update expectations for XML test failures.

Change-Id: Ied6b7fcc61103acbcf0465628ff01077e5dd9527
http://b/3268630
2f3ac9b5345b363a1f1a88ce68a7b725cbe705e2 09-Dec-2010 Elliott Hughes <enh@google.com> Fix a bunch of javac -Xlint warnings in our code.

I think "fallthrough" uncovered a couple of real bugs in the kxml code, but
other than that there's nothing very exciting here. This addresses all but
one of the non-xml warnings. I'm assuming that we'll move the xml cruft out
into external at some point (since we're deliberately not maintaining it).

Change-Id: Ice81253b019df7b19d6557e719663b7bdc11fb22
7629092e1f6c9c040722a2573e0746b643b236a1 09-Dec-2010 Jesse Wilson <jessewilson@google.com> am c8104b03: Merge "Change TextAttribute constants to be consistent with the test and RI."

* commit 'c8104b0342382481704c6662af33968595ad6ab6':
Change TextAttribute constants to be consistent with the test and RI.
6c10d6e2b7d70ac9a5bce00afe9111007f14fddd 09-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Change TextAttribute constants to be consistent with the test and RI."
9625526baa72b3a976ab4b0eeef3c89733a91d70 09-Dec-2010 Jesse Wilson <jessewilson@google.com> am b3fb3ca0: Fix test to not assume the default time zone.

* commit 'b3fb3ca042e0ce959bb72fa7b4e01a943e2a2307':
Fix test to not assume the default time zone.
c8c552c428447df20f531e1c6e8ca9e13bd29d1a 09-Dec-2010 Jesse Wilson <jessewilson@google.com> Change TextAttribute constants to be consistent with the test and RI.

Change-Id: I0550bb7ef4701685ef9bf87874789c3d441fc701
ee982eae3a57d5e5edb1aab0b52ae31e15d5a9f9 09-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix test to not assume the default time zone.

Change-Id: I3dbd526e61611328a140ecd939f1d30bc97f33b2
b8e0cc2a0b595fecea6b903c6058e6c385d4c4ab 09-Dec-2010 Jesse Wilson <jessewilson@google.com> am b44b8285: Merge "Remove sql tests duplicated with Harmony."

* commit 'b44b8285b474bad2e65f93a69ec57bf693b5cee9':
Remove sql tests duplicated with Harmony.
5898b19de889debd835c0bc28d480029f72bc5e5 09-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Remove sql tests duplicated with Harmony."
8a82dc4e0dea816e835d823c4080bd8cedee0fd2 09-Dec-2010 Elliott Hughes <enh@google.com> am f21135bc: Go with Class<?> for Object.getClass after all...

* commit 'f21135bc13bc7db3a291ffa5a98255963873324a':
Go with Class<?> for Object.getClass after all...
4c40f0eddc834c983f5eafcbf5bc4ef3e5cb643f 09-Dec-2010 Jesse Wilson <jessewilson@google.com> Remove sql tests duplicated with Harmony.

Change-Id: Idf3c18247bdd8069c4ce7f822dd87150e3df2966
http://b/3246523
a8674e9e555fad1213fa56095cb00d82844c5719 09-Dec-2010 Elliott Hughes <enh@google.com> Go with Class<?> for Object.getClass after all...

We'll update-api to track this non-change.

Change-Id: Ia6a0ef29d80b8dafd08fe7b29cdd69a7341d7f17
e0548d6097c6a4e7007dd947c1c5af819b550b26 09-Dec-2010 Elliott Hughes <enh@google.com> am 69257cc2: Work around droiddoc lossage.

* commit '69257cc25dfdb409d311c18a130c1992eb2ce421':
Work around droiddoc lossage.
fd3cb937665101ec44fa28c33178028f81ec4136 09-Dec-2010 Elliott Hughes <enh@google.com> Work around droiddoc lossage.

Change-Id: I571f94c9d78f6dd069290a14559391a82a38c690
9885085e0f19d27c51f36c4f70899fb01f0fabba 09-Dec-2010 Jesse Wilson <jessewilson@google.com> am 1dafb03d: Merge "Remove prefs tests duplicated with Harmony."

* commit '1dafb03d890e2e78b090a60cfae7b43e758feb61':
Remove prefs tests duplicated with Harmony.
d19d605aef4d6e0fcb76a040a9338bba9e21246b 09-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Remove prefs tests duplicated with Harmony."
6ada1110ffb30b4717da6e458808fabaabf6a0f6 09-Dec-2010 Jesse Wilson <jessewilson@google.com> am ce2da1ca: Merge "Fix an IndexOutOfBounds error found by OldBigDecimalScaleOperationsTest."

* commit 'ce2da1ca8ec9081cfc685f53f708ab1f62e79a4c':
Fix an IndexOutOfBounds error found by OldBigDecimalScaleOperationsTest.
38eeba38d88090f44437df4c3187bdf9e227244c 09-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix an IndexOutOfBounds error found by OldBigDecimalScaleOperationsTest."
f69e171a9111970671b07c194fe5ed9a7aa9d6b5 09-Dec-2010 Elliott Hughes <enh@google.com> am 2fc5dcd5: Apply various Intellij quick fixes to java.lang.

* commit '2fc5dcd5614f910f25d794d272834752a72e63b1':
Apply various Intellij quick fixes to java.lang.
5d77d74b8ff9c4d41c20976ce289793beefb04e4 09-Dec-2010 Elliott Hughes <enh@google.com> Apply various Intellij quick fixes to java.lang.

There's one real bug here: our Integer.toString was supposed to have a cache
for small negative values, but an accidentally-introduced temporary meant we
were never using the cached values. Other than that, this is just cleanup.

Change-Id: I457f9bd166c9a029ba8b439f3bbfa926f9b84cc9
ea56e75f4428e7bec8ba04a86f1f9e1bdf0351b8 09-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix an IndexOutOfBounds error found by OldBigDecimalScaleOperationsTest.

Change-Id: I60476fd07e1a985af2d9238d4f425fab84bd59b5
0aa96e1d8238d0b9de4014174afbd9298b5d132a 09-Dec-2010 Elliott Hughes <enh@google.com> am 44a9f03a: Improve StringIndexOutOfBoundsException throwing.

* commit '44a9f03a2d602c7179112284d878b0db9284eb30':
Improve StringIndexOutOfBoundsException throwing.
9853092f080540638620f4172bffeaf73fe59f39 09-Dec-2010 Jesse Wilson <jessewilson@google.com> Remove prefs tests duplicated with Harmony.

We have at least one expectation set (on PreferencesTest.testImportPreferences)
where the expectation is different on Harmony than on our revised copy.

Change-Id: I9c983755a91728d2f6bdee7ec59439c10e327cda
http://b/3246523
7af3a2ea1fa2727c304a24dc12b9e0609f92a68b 08-Dec-2010 Elliott Hughes <enh@google.com> Improve StringIndexOutOfBoundsException throwing.

Better, more-consistent detail messages, more regular naming, plus use of
the one true bounds-checking idiom (including reversal of sense to reduce
unnecessary indentation).

(The lack of an inlining JIT means that I couldn't factor the bounds checking
out, but at least we're working towards full duplicates rather than
near-duplicates!)

Change-Id: I59ded68169067305e747d30801c79a4c13f521b2
5d6a9177ca04aeb3cd02cede207c36b64418ab36 08-Dec-2010 Elliott Hughes <enh@google.com> am 0515ea0a: Fix a flipped detail message thrown by Collections.copy.

* commit '0515ea0a581f329bce4f8174e098b653fb04979e':
Fix a flipped detail message thrown by Collections.copy.
6dcbee1b4f63179e42871db726b8af46c54d8bf0 08-Dec-2010 Elliott Hughes <enh@google.com> Fix a flipped detail message thrown by Collections.copy.

Change-Id: I2e57959e7267607d484cfe177e5619de960ba0fb
563076bdfcc72987d3028ec370e91fe95638c071 08-Dec-2010 Elliott Hughes <enh@google.com> am fa5cdaa7: Make Deflater.cpp more like Inflater.cpp.

* commit 'fa5cdaa79ff491dd5c05d72baad27f931cf2d08e':
Make Deflater.cpp more like Inflater.cpp.
4da4d10259df046cc42646ecd71868cbcb8b14a1 08-Dec-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
890edae3f46525dea75c7d9e61810ab0012318ac 08-Dec-2010 Elliott Hughes <enh@google.com> Make Deflater.cpp more like Inflater.cpp.

I didn't have a bug as motivation for this (Z_NEED_DICT isn't relevant
for deflation), but I want the deflation code to look at least as sane
as the inflation code. This still passes our tests, boots, and seems
to work okay. I think the "!= Z_FINISH" test was just a premature
optimization rather than anything meaningful.

Change-Id: I8db567605712a079aaf9e18cf8836c8d5673edb1
a4af181090f7ec57c62ac3030ab8e7afa300c181 08-Dec-2010 Elliott Hughes <enh@google.com> Merge "Fix build (javadoc)." into dalvik-dev
0b375ec0898c19abc0973687b1a921c99f11de8b 08-Dec-2010 Elliott Hughes <enh@google.com> Fix build (javadoc).

Change-Id: Iaa633e677035a527228d1de6f24e30fceb08965b
9b5988161e1c1d7e4d2cbb13c7f111713c552a9f 08-Dec-2010 Elliott Hughes <enh@google.com> am b7f0ced4: Remove an unnecessary check and clarify some weird code in Deflater.cpp.

* commit 'b7f0ced490fa5c5ad389c58b8584def84391f591':
Remove an unnecessary check and clarify some weird code in Deflater.cpp.
e7ad1244fa2b2595bcbaa8e3d02cd439f2be3ad4 08-Dec-2010 Elliott Hughes <enh@google.com> Remove an unnecessary check and clarify some weird code in Deflater.cpp.

More java.util.zip cleanup. We throw the IllegalStateException in Java.
Strictly, that's racy, and we might want to move all this checking into
toNativeZipStream, but we haven't made such arrangements in general,
and I'll do that as a follow-up if desired; this patch just ensures that
we're consistent.

Change-Id: I86e47461117b3747e6fad9fe344cd68029bb78b1
51cc27c4bfe31f0e8f89e2771225781ac19650b1 08-Dec-2010 Elliott Hughes <enh@google.com> Slightly improved javadoc for FilterInputStream.skip.

Change-Id: I673088ef13e082657ba27dd9f1c44574ba0e4bdf
ca5efcadd334901d02028cb3f35e035c43ec2bd7 08-Dec-2010 Elliott Hughes <enh@google.com> Merge "Fix InflaterInputStream and ZipInputStream's skip methods' behavior with negative counts." into dalvik-dev
72db5f4baadfab906b27a5026b31436cb358073f 08-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix CookieTest to handle the HTTP request line ("GET / HTTP/1.1") map entry."
18396632bb4e891d152b265e5bb4942bee663cfb 08-Dec-2010 Elliott Hughes <enh@google.com> Fix InflaterInputStream and ZipInputStream's skip methods' behavior with negative counts.

This fixes a couple of harmony tests. I've also cleaned up all the names to be
of the form <x>Count. I haven't made much of an effort to improve the
documentation because these methods aren't all identical and I don't have a
good tool for doing large-scale javadoc consolidation.

Change-Id: Ia11f78cbe7c17959d50709af03042aa7541733a0
1674c7aa44ec9830f4ba9d789f984d909237d10f 08-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix CookieTest to handle the HTTP request line ("GET / HTTP/1.1") map entry.

This map entry has a null key; the test wasn't expecting that.

Change-Id: I9029008a9a7b0e02f3995a7003b8e0c348d80581
31a7fe58d5b733e5c5fc565a527b9a29b1409497 08-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Support the host build in DalvikExecTest."
d008d81f5992c65c748917a1118904218e61ad0a 08-Dec-2010 Jesse Wilson <jessewilson@google.com> Support the host build in DalvikExecTest.

Change-Id: Ia8efeff79f2c5ea038f49d5ba1a934972aaba9d8
5278618e63d68263ad620bb67963caee4536c712 08-Dec-2010 Brian Carlstrom <bdc@google.com> Merge "KeyManager.choose* methods should tolerate null key types"
c41823dffaf05b006e4b8eb0011a920403c86205 08-Dec-2010 Brian Carlstrom <bdc@google.com> KeyManager.choose* methods should tolerate null key types

This regression was found by X509KeyManagerTest and now
KeyManagerFactoryTest covers it as well. The underlying problem was
introduced recently when KeyManagerImpl was updated to support key
types with specific signature algorithms like EC_RSA and EC_EC.

Change-Id: Ic99ab10e5ba07e990dc0e8a2d257c2167f2d33bb
d757ba2d6dbbfebd0beb8d418fd97cc22b11dad1 08-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix ServiceLoaderTest, which was broken when I renamed it."
9fe4a36e7fb6d2e8b476eba6650da7a411b688f9 08-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix ServiceLoaderTest, which was broken when I renamed it.

Adding the 'libcore' prefix broke the test's ability to find
its list of implementations.

Change-Id: I91c6cbf2cebcfe8deb34e755ef5f8f9b5eff8ddb
dee41e770cce495c8a604af1a53e1c388218a60e 08-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Don't assume Montreal and New York have the same time zone rules, they don't"
76a110a081605dcc19a5cbad2849588919114dd3 08-Dec-2010 Jesse Wilson <jessewilson@google.com> Don't assume Montreal and New York have the same time zone rules, they don't

Change-Id: Ifdbd74d6bb5b1010b9d7b0710eb8029354a0c2b9
b31874fd90aa9ef469353bb7bc01db048d58653e 08-Dec-2010 Elliott Hughes <enh@google.com> Improve a comment.

Including the identifier that must not be renamed in the comment
explaining that it must not be renamed is my standard trick for
increasing the chances that the comment will actually be read
when someone does a global find/replace. I should have done that
here.

Change-Id: I39f9bab628beea7e5b32a71e23d348a3c75f5a6a
35c475aea1b6e3faf36d4055c0019222c15758f6 08-Dec-2010 Elliott Hughes <enh@google.com> Rename a java.util.zip.Deflater field for RI compatibility.

This caused trouble for GSF.

Change-Id: Icbc041664ae7e365e4bdf658b33b26ee2aeb2048
76113ef8199647293d738f98cfe803044a0e1312 08-Dec-2010 Elliott Hughes <enh@google.com> Minor cleanup of java.lang.Character.

Change-Id: Ib010ae1e125583738ac4985c94f65d4e223db41b
087d04dde0d8bb9e59eacf16c436330052a4681f 08-Dec-2010 Elliott Hughes <enh@google.com> Merge "Extra tests of our Method.invoke detail messages."
d069425d6d1e4eabb8146daddc5397bc916ccbf0 08-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix OldThreadTest, which was failing on the host."
4a5574caf6a739099fd5f7f1eb544ddd1cfab8d1 08-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix ObjectStreamClassTest classloader and serial version failures."
b5559e329904fba6e55b218a8e665a1bd58d7ed8 07-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix ObjectStreamClassTest classloader and serial version failures.

The included .jar file is from Harmony, run through dx to convert
the inner .class files into an inner .dex file. The source for that
file is also in the .jar.

Change-Id: Ib3d4893b0ddc18398c5a7a9b040a68603d9143df
9682d568e7288e744b0a93d1f4ac7c65fdc1225a 08-Dec-2010 Elliott Hughes <enh@google.com> Extra tests of our Method.invoke detail messages.

Change-Id: I8c055d5e09c49bf40033de9280f0264ef3b7e875
c5398e1a5d72b2dbefce8f8326d1474b9be8753e 08-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix OldThreadTest, which was failing on the host.

The test was expecting that Semaphore.hasQueuedThreads() required
that those threads would be waiting, but they may not be waiting yet.

Change-Id: Iebbb308cc781d329ffe9cb5c1b5b2ce10e7fb801
23c564a3b4f912f34662bf55ca9fc82efb62a3e4 07-Dec-2010 Elliott Hughes <enh@google.com> Merge "Throw better exceptions if an Inflater or Deflater is used after calling end."
336f4364e1fe50fa520f6bd097722bbaa3bbe986 07-Dec-2010 Elliott Hughes <enh@google.com> Throw better exceptions if an Inflater or Deflater is used after calling end.

Bug: 3217912
Change-Id: I480c92d2f97b530f17b9b8daf2549d2f06384219
2bbef3dea4ffbb5d139d7affc9bc4c6dd2721eec 07-Dec-2010 Glenn Kasten <gkasten@google.com> Merge "Fix documentation error"
ba593531cc302d36d7e0e87099c924fa9dabf3b9 07-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Relax assumptions made in OldFileChannelTest about the maximum supported offsets."
31a635790ceb1a6d5ab9c7d4ca44f8ee53706799 07-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix InetAddress tests that fail on the host."
4e1c93c57250c1054367b02557b3b35a57eb3b74 07-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix InetAddress tests that fail on the host.

Most of the fixes are to the tests. The InetAddress.getByAddress()
method has been changed to keep the user-reported host name.

Change-Id: I204caa5b975693144096e4ae1960682018c254d8
http://b/3238788
b2a521e24a888d6b06e8405904d1481dae51b9bf 15-Nov-2010 Glenn Kasten <gkasten@google.com> Fix documentation error

Change-Id: I1026a2ad0ff91823835b139e999fa5f21299a5a4
daf54eff638504279cbdf4483381434186d93895 07-Dec-2010 Jesse Wilson <jessewilson@google.com> Relax assumptions made in OldFileChannelTest about the maximum supported offsets.

This test was failing on the host where larger offsets can be locked.

Change-Id: I1c1946fab32a88f4ca13234eb2c74b22a3e45b1e
49bea13a3efb003bb3c7c573666f50bf3ecd099b 07-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix OldResponseCacheTest. Null headers were causing our HttpClient to reject the cache entry."
da6f0ace745f922ba18c106f3fe87d36bf8eb8dd 07-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix OldResponseCacheTest. Null headers were causing our HttpClient to reject the cache entry.

Change-Id: I49df200c069649a7c01ac0770426136fb07fe3a6
ead71d160e1cfdf1e7b1f27545e802d2f7b651d1 07-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Support IPv6 addresses in OldURLStreamHandlerTest."
ef8e36a8bb3f3450661661c6192ad63a50818a5f 07-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Change the expectations for a test failure in TreeMap.remove(noncomparable)"
7783ec103ba006fb66421840bdce1daed4a6236a 07-Dec-2010 Jesse Wilson <jessewilson@google.com> Support IPv6 addresses in OldURLStreamHandlerTest.

Change-Id: Iafecaa7b71818747d6692dea166440d42963c4b5
87720b20dd291c5a8b6786c1b55f6d01fc8ba08d 07-Dec-2010 Jesse Wilson <jessewilson@google.com> Change the expectations for a test failure in TreeMap.remove(noncomparable)

The 'Old' prefix in the test name indicates that this work may be duplicated
from Harmony; I suspect our copy was changed and we kept it.

Change-Id: Ia0df8b0a99e61cdd51d115254ab758aec692e12f
f3358838e2802f7ce9ea18598fdef94126e61a71 07-Dec-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
51cd9a6cd1102b0554259c8aca7e7f5c999768a6 07-Dec-2010 Elliott Hughes <enh@google.com> am 0e379e48: (-s ours) am 2ff37ac3: Targeted backport of a java.util.Inflater fix.

* commit '0e379e48ea491aab84b28717bed924bd80b73d6e':
Targeted backport of a java.util.Inflater fix.
4f5d4cef50a7e37efa341642ee512524f1c699f8 07-Dec-2010 Elliott Hughes <enh@google.com> am 2ff37ac3: Targeted backport of a java.util.Inflater fix.

* commit '2ff37ac3a15fde7d47cd8cf3b8ee6946dd24eeb3':
Targeted backport of a java.util.Inflater fix.
02713c6911adcff5794b4d751a878f1e10f8f190 06-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix some of the most obvious bugs in URLStreamHandler's URL parsing.

Change-Id: I73ce6ccc169405e993d572ac3bf3af9ba39699c9
http://b/2753295
http://code.google.com/p/android/issues/detail?id=12724
4b526f2713bfe0ad38c95dd03881b494175eb621 07-Dec-2010 Elliott Hughes <enh@google.com> Targeted backport of a java.util.Inflater fix.

This has been causing trouble for Gmail. The original fix cleaned up large
parts of the java.util.zip code; this just contains the active ingredient.

(I've excluded the error-handling change to this same function because
that hasn't been tested in the real world yet.)

Bug: 3220923
Change-Id: Ib4bc585a45061ef55c29f09f2bd650c772aab64d
c85a257548bb94bacf7f6c3e8831cc0a71e6d375 06-Dec-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master
80fdbb1b41754f98986a4efae6c9f7ea0ae92e53 04-Dec-2010 Elliott Hughes <enh@google.com> Check that the VM gives useful detail messages for Method.invoke failures.

(It doesn't, yet, but there's a companion dalvik change to implement this.)

Change-Id: I8a5fb3e37c7c4c5dc0561c2783f98c3c6c588189
309a1b27693f631273a598f2e36a19154e3a1daf 04-Dec-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
4bdb65aa2421785f7e066ff49970e6fdc86fcf6d 04-Dec-2010 Elliott Hughes <enh@google.com> A unit test for the String.charAt inline native's exception message.

Note that until we fix the JIT, this unit test won't actually test the
inline native: http://b/3003994. I tested by rewriting this as a stand-alone
program.

Change-Id: Iecd6233b8967e2fe5c614137cecf8fb251f1476c
caeb8ad066cf68b62e8cfdbc291bc50d33493d29 04-Dec-2010 Elliott Hughes <enh@google.com> Use our canonical Arrays range-checking methods.

There are a handful of manual range-checkers left, thanks to specified
API that throws IllegalArgumentException instead, and a few other weird
cases.

Change-Id: I80914c2257288fc184100545aff4fd6f57bf32c9
1a7ebc5548aa4a4183cbc81b16c7b6490b8897df 03-Dec-2010 Dan Bornstein <danfuzz@android.com> Update and clarify opcode values.

They're now represented as four hex digits, making it clear that
they are raw opcode values (and not the packed representation).

I also took this as the time to add the new opcodes and update
Opcode.MAXIMUM_VALUE.

Change-Id: If9e123b5d361ec6eed08c19886bdf2e20e12ab94
98611816e13283d5ede9f481e64126b9dd46be36 03-Dec-2010 Brian Carlstrom <bdc@google.com> Fix javadoc typo

Change-Id: I3091e65c04c582e633bddbe0674f5e26814a7057
e390dc778b1814b63f1749c56b3d32ca1dc38f8a 03-Dec-2010 Elliott Hughes <enh@google.com> Comments/javadoc should be in en_US, not en_CA.

Change-Id: Ie9dde4971e0a6a8dadd14af43d631158fc488cd8
c6743e2d7289c08ec3f140f85ea03d28b0f8fcbb 03-Dec-2010 Elliott Hughes <enh@google.com> Merge "Slight cleanup of java.util.zip code, plus a bug fix." into dalvik-dev
8c94682d0d94502329aeb6861e0d0980b16ffb9e 23-Nov-2010 Elliott Hughes <enh@google.com> Slight cleanup of java.util.zip code, plus a bug fix.

The key fix is switching to zstream's next_in and next_out fields (the
pointers into the input and output buffers) rather than relying on the
integer "accounting" fields. If turns out in the Z_NEED_DICT case that
the accounting goes slightly awry. (We shouldn't have been using the
accounting anyway, because we were silently coercing longs to ints.)
The new code is simpler, clearer, and doesn't need a special case for
Z_NEED_DICT at all.

I've also removed yet another hand-written UTF-8 encoder, made Inflater
throw ArrayIndexOutOfBoundsExceptions with useful detail messages (factored
out into Arrays so we can make this change more widely), and
rewritten the Inflater and Deflater documentation.

The unit test reproduces the problem (and tests as many other cases as
it can too). Critical for testing this bug is that we needed to limit
the size of the input buffer so that zlib has to ask us for more input.

Bug: 3220923
Change-Id: I39e5456620eaa7f75d12d885db279f009ee3e8ef
727415d59324ff29e0161049a9f6df33374f397a 03-Dec-2010 Dan Bornstein <danfuzz@android.com> Merge "Expose the "packed opcode" concept, just a bit." into dalvik-dev
d3e05713b154de50fc89a467f17d6db6e83cbf79 03-Dec-2010 Dan Bornstein <danfuzz@android.com> Expose the "packed opcode" concept, just a bit.

Change-Id: I8427290bd5179c6cd184227083bebe7dc0f33b44
79b7068e513beb232567aafc119a6a16341f3a94 03-Dec-2010 Jesse Wilson <jessewilson@google.com> am 35eef71e: Fix two bugs with HTTPS + file uploads.

* commit '35eef71e8ce721c4199c525890ecc1a263054596':
Fix two bugs with HTTPS + file uploads.
a1d79d1ef64133c9503fc03f6fbe8fbbf8c12c6a 02-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix two bugs with HTTPS + file uploads.

Firstly, we weren't echoing calls to setFixedLengthStreamingMode
and setChunkedStreamingMode from the HTTPS adapter down to the
real HTTP client.

Secondly, we were calling setTransportIO twice, and the second
call destroyed the buffer of our request body stream. That buffer
has only existed since change Id22a8449118a4b8dd13e71915700ac78803d2d9f,
(November 2, 2010) so the impact of that problem is limited.

Change-Id: Icb0eb2e0ca4e201a629bd74c3b98e852f6cc0fd3
http://code.google.com/p/android/issues/detail?id=12860
625b343e5c145f05736115d11d9509a9f0e1696c 02-Dec-2010 Jesse Wilson <jessewilson@google.com> am 0df432dd: Merge "Deduplicate java.lang tests from Harmony."

* commit '0df432dd5a1fedca44fba67c363b982b69b54899':
Deduplicate java.lang tests from Harmony.
bc9f10b3788bf9d47cea521f06f5313d0a92e9b8 02-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Deduplicate java.lang tests from Harmony."
28757bd965ffbe06b42ea7d2c5823b27ca4d6f5e 02-Dec-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
27e578860b88d5df17797cb35f24bdb7c739d77e 02-Dec-2010 Jesse Wilson <jessewilson@google.com> am 7d826bb9: Merge "Fix enum serialization."

* commit '7d826bb98cf559cf1b41bcb29c0efddd95637d60':
Fix enum serialization.
9149993a302e40419faff87b345ec42f7823b9d6 02-Dec-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix enum serialization."
cdfadba134affef7d87ceadf303c54a0b6e49ea6 02-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix enum serialization.

We were looking up the declared field, which didn't look at the supertype recursively.

Change-Id: I65b13d08de021fedbe95e5b1cd8be15c8873483a
http://b/3246570
049928842b117cdd9e19fd659b1ace37062a8e74 02-Dec-2010 Jesse Wilson <jessewilson@google.com> am 72f1475a: Fix how OldDatagramSocketTest looks up \'localhost\'.

* commit '72f1475a10d1f479cc8ce149fcc1783bc80ee4a7':
Fix how OldDatagramSocketTest looks up 'localhost'.
f15e674e6b0eb13ab830518d58dd67d0f7f06cd0 02-Dec-2010 Jesse Wilson <jessewilson@google.com> Fix how OldDatagramSocketTest looks up 'localhost'.

Change-Id: If2a3a1e7d9f3ca386392357847ac1d655029f303
http://b/3246543
f2ba0a4e7a2ae84e7a09414e447023b53ad081ee 02-Dec-2010 Jesse Wilson <jessewilson@google.com> Deduplicate java.lang tests from Harmony.

This removes all tests duplicated in Harmony's test suite, and
moves the rest into the libcore.java.lang package.

Change-Id: Ic2fe12cc1e10513abb721d98e7b9b3a2e00192f5
http://b/3246523
4fb04f7e08fd8bdcbc215a57edbfb352ec57d8bd 02-Dec-2010 Brian Carlstrom <bdc@google.com> am 5aad086b: Merge "Fix SamplingProfiler to handle null group on thread termination"

* commit '5aad086b3800a9b328f9a4b6119f7d7532c752f7':
Fix SamplingProfiler to handle null group on thread termination
348980e4cc146129adc3bb2c775a3479cd98c3c9 02-Dec-2010 Brian Carlstrom <bdc@google.com> Merge "Fix SamplingProfiler to handle null group on thread termination"
4cc7e1607c71c166306db326883f16f72da10bef 02-Dec-2010 Brian Carlstrom <bdc@google.com> Fix SamplingProfiler to handle null group on thread termination

Change-Id: I7f888175fbe412b581d649c2e244ef26252a4482
7aac1325b42664d5921ef2e87ab8a06ee8799789 02-Dec-2010 Elliott Hughes <enh@google.com> am 025bf770: Fix IoUtils.close in cases where close(2) fails.

* commit '025bf7708b496b09f330e794536589c06e35c09c':
Fix IoUtils.close in cases where close(2) fails.
a90fa7a9bb2cca4a4e5376d2c77d95b12f26296f 01-Dec-2010 Elliott Hughes <enh@google.com> Fix IoUtils.close in cases where close(2) fails.

You can't call JNI functions with an exception pending.

Bug: 3222087
Change-Id: If949d3a9b2335928d8d30f4d0e78b74067cddaba
52f827b1da7ef51b1b169556d058cca27b479c6f 01-Dec-2010 Jesse Wilson <jessewilson@google.com> Update expectations to match renamed test.

Change-Id: I7a4e38caba2bed0d44782da0e1499d6848a695fb
http://b/2702411
bd01d931f3006d13e86c1c4ef57d3b535e0765c4 01-Dec-2010 Brian Carlstrom <bdc@google.com> am ffeba5dd: Add support for TLS_EMPTY_RENEGOTIATION_INFO_SCSV cipher suite

* commit 'ffeba5dd766602f6e2be9caa9081744348a53c04':
Add support for TLS_EMPTY_RENEGOTIATION_INFO_SCSV cipher suite
9d33f23a82cbac6deb0f7c2e54ad54e7fe6ac281 01-Dec-2010 Brian Carlstrom <bdc@google.com> am 4ae3fd78: Elliptic Crypto support for OpenSSLSocketImpl

* commit '4ae3fd787741bfe1b808f447dcb0785250024119':
Elliptic Crypto support for OpenSSLSocketImpl
35927bf640c8f71d4f81b4ab7267b1dfd5447644 01-Dec-2010 Brian Carlstrom <bdc@google.com> Add support for TLS_EMPTY_RENEGOTIATION_INFO_SCSV cipher suite

"TLS_EMPTY_RENEGOTIATION_INFO_SCSV" is RFC 5746's renegotiation
indication signaling cipher suite value. It is not a real cipher
suite. It is just an indication in the default and supported cipher
suite lists indicates that the implementation supports secure
renegotiation.

In the RI, its presence means that the SCSV is sent in the cipher
suite list to indicate secure renegotiation support and its absence
means to send an empty TLS renegotiation info extension instead.

However, OpenSSL doesn't provide an API to give this level of control,
instead always sending the SCSV and always including the empty
renegotiation info if TLS is used (as opposed to SSL). So we simply
allow TLS_EMPTY_RENEGOTIATION_INFO_SCSV to be passed for compatibility
as to provide the hint that we support secure renegotiation.

Change-Id: I0850bea47568edcfb1f7df99d4e8a747f938406d
d5ecc2ef9dfbdaeb64e946c053a7a1fb6c55a352 19-Nov-2010 Brian Carlstrom <bdc@google.com> Elliptic Crypto support for OpenSSLSocketImpl

Summary:
- Enable Elliptic Crypto support for OpenSSL based SSLSocket instances
- More RI compliant usage of key types, client auth types, and server auth types
- Steps toward TLS_EMPTY_RENEGOTIATION_INFO_SCSV support, currently test updates

Details:

Elliptic Curve changes

CipherSuite updates for EC
- Adding KEY_EXCHANGE_EC* and corresponding CipherSuites Updated
isAnonymous, getKeyType (now renamed getServerKeyType) to handle
new EC cases. Added new getAuthType for use by
checkServerTrusted callers.
- Restructured code to handle two SUITES_BY_CODE_* arrays
- Remove KEY_EXCHANGE_DH_* definitions which unused because the
corresponding CipherSuites were previously disabled.
- Changed AES CipherSuites definitions to use "_CBC" to match other definitions.
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java

openssl EC
- NativeCrypto now registers TLS_EC_* cipher suites and has update default list
- Improved auth type arguments to checkClientTrusted/checkServerTrusted
- NativeCrypto support for emphemeral EC keys
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
luni/src/main/native/NativeCrypto.cpp

non-openssl SSL/TLS cleanups

- cleanup around code trying to cope with DiffieHellman vs DH since either should work.
- changed client to use new CipherSuite.getAuthType shared with NativeCrypto implementation
- changed server to use CipherSuite.getKeyType
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHandshakeImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/HandshakeProtocol.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/KeyManagerImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHandshakeImpl.java

Consolidate CertificateRequestType code into CipherSuite so that its
shared between java and openssl implementations. This includes the
KEY_TYPE_ string constants, TLS_CT_* byte constants and the 'String
keyType(byte)' (now renamed getClientKeyType) code that depends on them.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CertificateRequest.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHandshakeImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHandshakeImpl.java

Tests

Differentiate between supported list of cipher suites openssl-based
SSLSocket and SSLEngine based, since the SSLEngine code does not support EC.

luni/src/test/java/libcore/javax/net/ssl/SSLEngineTest.java
luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java

Added testing for expected default cipher suites. Before we just ensured the values were valid.
luni/src/test/java/libcore/javax/net/ssl/SSLSocketFactoryTest.java
support/src/test/java/libcore/java/security/StandardNames.java

Updated to handle new EC cipher suites codes. Added test for new getClientKeyType.
luni/src/test/java/org/apache/harmony/xnet/provider/jsse/CipherSuiteTest.java

Better use of "standard names" particularly to correctly deal with
the subtle differences between key types, client auth types, and
server auth types. TestKeyManager and TestTrustManager now verify
the values they are passed are acceptable.

support/src/test/java/libcore/java/security/StandardNames.java
support/src/test/java/libcore/javax/net/ssl/TestKeyManager.java
support/src/test/java/libcore/javax/net/ssl/TestTrustManager.java

Changed to timeout after 30 seconds and to log to reveal both client and server issues.
support/src/test/java/libcore/javax/net/ssl/TestSSLSocketPair.java

Bug: 3058375
Change-Id: I14d1d0285d591c99cc211324f3595a5be682cab1
77e69c0c458ed79ac2970ff188063f66129a8bd4 01-Dec-2010 Brian Carlstrom <bdc@google.com> am 189ccda1: Merge "SecureRandom should be thread safe"

* commit '189ccda1ae22509c5bf75561328a7d4be775e39d':
SecureRandom should be thread safe
805935ca1da1c2542d60e72e766f5dac71e5c941 01-Dec-2010 Brian Carlstrom <bdc@google.com> Merge "SecureRandom should be thread safe"
b9683fe4fa872bd1d84c0f1d05e7ad1e52b2c6a5 01-Dec-2010 Brian Carlstrom <bdc@google.com> SecureRandom should be thread safe

Random is documented to be thread safe and our implementation appears
to be. However, the SecureRandom subclass implementation was not. This
was quite reproducible with the javax.net.ssl unit tests when run on a
multicore device, but not seen on a uniprocessor.

Details:

Actual bug fix by adding synchronized to engine* methods

luni/src/main/java/org/apache/harmony/security/provider/crypto/SHA1PRNG_SecureRandomImpl.java

New testSecureRandomThreadSafety based on generateSeed errors in javax.net.ssl tests.

luni/src/test/java/tests/security/SecureRandomTest.java

Removing dalvik.annotation.* from assorted SecureRandom tests.

luni/src/test/java/org/apache/harmony/security/tests/java/security/SecureRandom2Test.java
luni/src/test/java/org/apache/harmony/security/tests/java/security/SecureRandomSpiTest.java
luni/src/test/java/tests/java/security/SecureRandomTest.java
luni/src/test/java/tests/security/SecureRandomTest.java

Change-Id: I5e8ece4c0836b02277d7cac1b9b2f60b3c4a7755
f53f3b0ef5d0bc83a79137af622140dc5346a576 01-Dec-2010 Jesse Wilson <jessewilson@google.com> am c03e553e: (-s ours) am 25e3ee7d: (-s ours) am 253851cd: Do not merge: Fix a bug where we weren\'t pooling connections due to mismatched URLs.

* commit 'c03e553e5dcc9f9b5cf2c250b2b35d8a8f341431':
Do not merge: Fix a bug where we weren't pooling connections due to mismatched URLs.
6dc8ce76d2f70d2cc5e1e78f9080189b8b10b850 01-Dec-2010 Jesse Wilson <jessewilson@google.com> am 25e3ee7d: (-s ours) am 253851cd: Do not merge: Fix a bug where we weren\'t pooling connections due to mismatched URLs.

* commit '25e3ee7dcdde082876e87eebb4c03f50157c0ea7':
Do not merge: Fix a bug where we weren't pooling connections due to mismatched URLs.
d9707031c2ddccdca4442e4d3bf63bdb42fc917c 01-Dec-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
4e28196ad2c119e149b32284328089aada8ad4d1 01-Dec-2010 Jesse Wilson <jessewilson@google.com> am 253851cd: Do not merge: Fix a bug where we weren\'t pooling connections due to mismatched URLs.

* commit '253851cdb2904082c205949da273c455d197c083':
Do not merge: Fix a bug where we weren't pooling connections due to mismatched URLs.
ceb4539caad80bc9c32a88499435c41ea7825104 01-Dec-2010 Dan Bornstein <danfuzz@android.com> Merge "Match comment to the new reality." into dalvik-dev
a2e530f9c1ff3bde92e58c7f929d45ffd72030a8 01-Dec-2010 Dan Bornstein <danfuzz@android.com> Match comment to the new reality.

...which is the same as the slightly older reality, as it happens.

Change-Id: If9f5a33a2a97471b25141cc1e7f496cdef5a77c4
6fc996f8bb1be3dd3f445b562317f8176cf60655 01-Dec-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master
c214dc043cbefe8bc47952b3ac6ddacdd06ec210 01-Dec-2010 Jesse Wilson <jessewilson@google.com> Do not merge: Fix a bug where we weren't pooling connections due to mismatched URLs.

Already committed to master as change 78504.

Change-Id: Ib883e92bb03b142f34449ef1314c57878dcc00f0

http://b/3169861
704c0c0ae8b1992b625a99a8908a1a66a707b28d 01-Dec-2010 Brian Carlstrom <bdc@google.com> am d57c5b79: am f55b6794: (-s ours) am dbc42ad9: HttpsURLConnection fixes to pass URLConnectionTest and HttpsURLConnectionTest

* commit 'd57c5b796b43f14437701833795a2ad5ed275d1b':
HttpsURLConnection fixes to pass URLConnectionTest and HttpsURLConnectionTest
679d14e765027f16d83efd215059b201cb62f3ba 30-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "The last of the Kxml correctness fixes for Expat compatibility." into dalvik-dev
1223c5b82fb092b166f30502b4d5c5f2c3d31a39 30-Nov-2010 Jesse Wilson <jessewilson@google.com> The last of the Kxml correctness fixes for Expat compatibility.

With this change we should be able to drop the Expat pull parser
and use Kxml exclusively. I'm deferring that change until after
the current release.

Change-Id: I7c6d6dfe6c1e9ae9417c48603068ddd4ade78b76
http://b/3090550
24292ca1c72a814ee9e23db34ce34f1e723ea0a2 30-Nov-2010 Dan Bornstein <danfuzz@android.com> Merge "Add a wee bit of libdex access." into dalvik-dev
e2624ff009d42db7b802d3adf1c1ed38a19b360d 30-Nov-2010 Andy McFadden <fadden@android.com> Merge "Zero the cookie after close." into dalvik-dev
5394421e7dd25569722fbb6b0cfebc800e088e2f 30-Nov-2010 Brian Carlstrom <bdc@google.com> am f55b6794: (-s ours) am dbc42ad9: HttpsURLConnection fixes to pass URLConnectionTest and HttpsURLConnectionTest

* commit 'f55b6794d21c359b7df7a501a42c12fa41e69f64':
HttpsURLConnection fixes to pass URLConnectionTest and HttpsURLConnectionTest
90b537685f2c38c72082dd76b55cc0647457997f 30-Nov-2010 Dan Bornstein <danfuzz@android.com> Add a wee bit of libdex access.

This is going to be used in support of making the framework Debug class
not have to include vm-specific constants.

Change-Id: Ia017bbbb947d8e04192d462bb244cd085096e88d
24b49790c8d91fbc429d4b28ab7035ad2f8c8f14 30-Nov-2010 Andy McFadden <fadden@android.com> Zero the cookie after close.

The cookie values can be re-used by the VM, so zero it out after closing
the DexFile to ensure we don't try to close again in the finalizer.

Bug 3238298

Change-Id: I2cc6a0d90ae9fbdff9c6a0f34a8031f36aa78e70
4c024383749e05097ce48b4e7ddae2014cd33df4 30-Nov-2010 Brian Carlstrom <bdc@google.com> am dbc42ad9: HttpsURLConnection fixes to pass URLConnectionTest and HttpsURLConnectionTest

* commit 'dbc42ad94ce37b3178e14b50496914c267d6cea6':
HttpsURLConnection fixes to pass URLConnectionTest and HttpsURLConnectionTest
6a98ee85261aa9810042ea709a0dfc9b6059067b 30-Nov-2010 Dan Bornstein <danfuzz@android.com> Merge "Generate most libcore opcode-related stuff." into dalvik-dev
f848e5d3a15ddfea99ea662eb66a2e9c5bab7e44 30-Nov-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
93591c9a34ea4be34cdd9b8535915422717c81cf 30-Nov-2010 Elliott Hughes <enh@google.com> Regression test for URL(String) constructor bug.

Bug: http://code.google.com/p/android/issues/detail?id=12724
Change-Id: I354a7eda929d615fd81c100950505d726a4345ac
39a5133bb8a761df5ec0840b1f1d8a74ea95bfb1 30-Nov-2010 Dan Bornstein <danfuzz@android.com> Generate most libcore opcode-related stuff.

This brings libcore's Dalvik opcode definitions into the opcode-gen fold,
but there is still a bit more to clean up after this.

Change-Id: I199d6484f2d23f24a86ffe668739be99685a43e8
98a6859c960f2bcd653d26e2b848e7cb6d15d3f5 30-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix XML DOM test failures and close guard warnings." into dalvik-dev
49a438c814dfb9c44bed63cbcb0f4608b6406784 30-Nov-2010 Jesse Wilson <jessewilson@google.com> Fix XML DOM test failures and close guard warnings.

Fix KxmlParser to capture the DTD's root element name, system ID and
public ID. This is more robust than capturing the same in the pull-to-DOM
adapter.

Fix close guard warnings in XML tests. Close input streams of resource
files. Don't catch exceptions only to call fail().

http://b/3090550
Change-Id: I7cfafde58cc28af79c48386a4d124803c8791328
2886238e22d7dfa446473b3dce747d1ee0c2a35d 29-Nov-2010 Dan Bornstein <danfuzz@android.com> Merge "A little opcode cleanup in dalvik.system." into dalvik-dev
04170be7f2cd3443af280fbb68e23e80d38d0318 20-Nov-2010 Dan Bornstein <danfuzz@android.com> A little opcode cleanup in dalvik.system.

OpcodeInfo is a sparse class right now, but I expect it will eventually
start to look a bit like InstrInfo.[ch] in libdex.

Change-Id: Ia446c95829515ee5f718ed80217d80a74738a09d
1d1692c5df34625725b10fd6094e008d32e51577 29-Nov-2010 Brian Carlstrom <bdc@google.com> am 6c78b7b9: Toward EC TLS support

* commit '6c78b7b94c232063ec559436b48b33751373ecf1':
Toward EC TLS support
430d93011c17bf41523c870104641ec49f2134c5 19-Nov-2010 Brian Carlstrom <bdc@google.com> Toward EC TLS support

Summary:
- javax.net.ssl tests are now working on the RI
- KeyManager can now handle EC_EC and EC_RSA
- OpenSSLSocketImpl.startHandshake now works if KeyManager contains EC certificates

Details:

Add CipherSuite.getKeyType to provide X509KeyManager key type strings,
refactored from OpenSSLServerSocketImpl.checkEnabledCipherSuites.
getKeyType is now also used in OpenSSLSocketImpl.startHandshake to
avoid calling setCertificate for unnecessary key types.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

New CipherSuiteTest to cover new getKeyType as well as existing functionality

luni/src/test/java/org/apache/harmony/xnet/provider/jsse/CipherSuiteTest.java

Add support to KeyManager implementation for key types of the form
EC_EC and EC_RSA. The first part implies the KeyPair algorithm (EC in
these new key types) with a potentially different signature algorithm
(EC vs RSA in these)

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/KeyManagerImpl.java

Update NativeCrypto.keyType to support EC_EC and EC_RSA in addition to
EC which was added earlier. Change from array of KEY_TYPES to named
KEY_TYPE_* constants.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java

Overhauled KeyManagerFactoryTest to cover EC, EC_EC, EC_RSA cases

luni/src/test/java/libcore/javax/net/ssl/KeyManagerFactoryTest.java
support/src/test/java/libcore/java/security/StandardNames.java

Changed TestKeyStore.createKeyStore from always using BKS to now use
JKS on the RI between BC EC Keys and RI X509 certificates. Because JKS
requires a password, we now default "password" on the RI.

support/src/test/java/libcore/java/security/TestKeyStore.java
luni/src/test/java/libcore/javax/net/ssl/SSLContextTest.java
support/src/test/java/libcore/java/security/StandardNames.java

TestKeyStore.create now accepts key types like EC_RSA. Changed
TestKeyStore.createKeys to allow a PrivateKeyEntry to be specified for
signing to enable creation of EC_RSA test certificate. Added
getRootCertificate/rootCertificate to allow lookup of PrivateKeyEntry
for signing. Changed TestKeyStore.getPrivateKey to take explicit
signature algorithm to retrieve EC_EC vs EC_RSA entries.

support/src/test/java/libcore/java/security/TestKeyStore.java
luni/src/test/java/libcore/java/security/KeyStoreTest.java
luni/src/test/java/libcore/javax/net/ssl/KeyManagerFactoryTest.java
luni/src/test/java/libcore/java/security/cert/PKIXParametersTest.java
luni/src/test/java/libcore/javax/net/ssl/TrustManagerFactoryTest.java
luni/src/test/java/org/apache/harmony/xnet/provider/jsse/NativeCryptoTest.java
support/src/test/java/libcore/java/security/StandardNames.java

Added support for EC cipher suites on the RI. Also test with and
without new TLS_EMPTY_RENEGOTIATION_INFO_SCSV cipher suite which is
used to specify the new TLS secure renegotiation.

luni/src/test/java/libcore/javax/net/ssl/SSLEngineTest.java
luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java
support/src/test/java/libcore/java/security/StandardNames.java

New TestKeyManager and additional logging in TestTrustManager. Logging
in both is disabled by default using DevNullPrintStream.

support/src/test/java/libcore/javax/net/ssl/TestKeyManager.java
support/src/test/java/libcore/javax/net/ssl/TestTrustManager.java
support/src/test/java/libcore/java/io/DevNullPrintStream.java

Bug: 3058375
Change-Id: Ia5e2a00a025858e10d1076b900886994b481e05a
2217499245f297102e58efe13992ab753ae7f3b8 29-Nov-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
40f15a10bc8d4ce9c9b2d1b76090de226e925552 25-Nov-2010 Jesse Wilson <jessewilson@google.com> Resolve entity values recursively and support default attributes.

Change-Id: Ib32040e0ebe8ef52e8d382fb65ab4d08779901b7
http://b/3090550
9c73257f5d972f689f902ae4efbce488997eeca2 24-Nov-2010 Jesse Wilson <jessewilson@google.com> Implement DTD parsing in KxmlParser.

This change still has some problems:
- default attribute values are not honored.
- the doctype token text is lost
- entity values are not reparsed
- use of parameter entities is ignored but should cause a failure

Change-Id: Idd543846840aea481730e690e63212164555cdf1
http://b/3090550
6ed84ad0811ea749c12a0af07c193860c26ba1ba 23-Nov-2010 Jesse Wilson <jessewilson@google.com> am f87e23ab: End the deflater when closing a ZipOutputStream.

* commit 'f87e23abe42f2914755225133bd7cedce8a6fedb':
End the deflater when closing a ZipOutputStream.
505f32d01bb946749f6d4ed18ae834e839cffeb4 12-Nov-2010 Jesse Wilson <jessewilson@google.com> End the deflater when closing a ZipOutputStream.

I'm not particularly happy with ZipOutputStream.close() because it
doesn't call super.close(). Fixing it to call super.close() has two
problems: finish() will be called conditionally (we want it always)
and it won't null out 'out', which is observable to subclasses.

git cherry-pick -e 1d5c4e84a256e76de529b27e7e28ed48f126fe7b
http://b/3187485

Bug: 3223687
4cc7c1c027f620e97c94883c579779a6091d6a15 23-Nov-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
44f5f77ff23622003dec893425717971477a0943 23-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "Test the behavior of pull parser DTD parsing / handling." into dalvik-dev
db2b0b1d23f6bce8d4906fa83cdea3e53f8b0da1 23-Nov-2010 Jesse Wilson <jessewilson@google.com> Test the behavior of pull parser DTD parsing / handling.

Change-Id: Ic8560bf066de05c314801a403966be945974957d
http://b/3090550
4eda880040dd8cff15690cad9e1b0bcbeaceb5be 23-Nov-2010 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of bb253213 to dalvik-dev

Change-Id: I12581fd722a67fd43c5d366327af2bb0ce0dd8e0
ff8ae8b1ff92ff7d915adabe5252f051ee0457d1 23-Nov-2010 Marco Nelissen <marcone@google.com> Fix the libcore part of the simulator build.

Change-Id: Id7af848e09c27006a566e6600793f45364e943d3
592c407ad5c494c7fda5d8465e3cca5d29c668c6 22-Nov-2010 Elliott Hughes <enh@google.com> Merge "Update ArrayStoreExceptionTest now the VM produces more readable output." into dalvik-dev
9e5a09f3022b374454ecb70bab8eb22eb6de74e9 22-Nov-2010 Jesse Wilson <jessewilson@google.com> Move XML parser tests out of apache/harmony/xml.

These tests weren't written by Harmony; we were using
that name because we didn't have a better one. Today we
do: "libcore".

Change-Id: I0e250874b2d66d7e6d4e40df877475a0d52c7fe1
7d3b0027f8503c06874cb18a0b71ae214a4aca96 22-Nov-2010 Elliott Hughes <enh@google.com> Update ArrayStoreExceptionTest now the VM produces more readable output.

Bug: 3216276
Change-Id: I7bad1c05c439b93302ef8a5a1e2612525e807e0c
560dc485711c8a56d2eab1d8d72005f752cf29a8 22-Nov-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
0e20df9560b7f44b284dd8998e91e76ac2b086e7 20-Nov-2010 Jesse Wilson <jessewilson@google.com> Change KxmlParser.next() to use one while loop instead of two.

This cleans up some of the structural problems with the KxmlParser code.
It was unclear how different text tokens (text, CDATA and entity tokens)
were concatenated in next() but not nextToken(). This moves the token loop
from the next() method into the nextImpl() method, saving redundant calls
to peekNext().

The code also had an instance field 'token' that was only well-defined
during calls to next() and nextToken(). I've removed this field and passed
parameters instead.

This fixes some implementation bugs:
- empty CDATA blocks aren't reported
- empty entities aren't reported
- double dash in comments are forbidden in strict mode <!-- -- -->

Change-Id: I8c17b61d63e84622556f3751dbf8af282c601d09
http://b/3090550
2dd50d0178d14435cb3834acdab4c3f38ddb72a4 20-Nov-2010 Elliott Hughes <enh@google.com> Test for ArrayStoreException detail messages.

This doesn't cover System.arraycopy. I'll come back to that.

Bug: 3216051
Change-Id: I988bbdb872f84fc434e05d6a2f1137a5709dca51
c4fa2325898454bc9f025c46f166202b2d8d46c7 20-Nov-2010 Elliott Hughes <enh@google.com> Merge "Remove a broken test." into dalvik-dev
9e43defd2558c457d4fdddcb29ecfaf3fbdd9b91 20-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix problems with entity references and relaxed namespaces." into dalvik-dev
ab2596a78b6ece5d9617d3c9bdbd3ab24828232a 20-Nov-2010 Elliott Hughes <enh@google.com> Remove a broken test.

We agree with ICU but disagree with the RI. Harmony removed this test (if they
ever had it), and I trust ICU way more than I trust the RI, so I'm calling this
a broken test (and removing it).

Bug: 1613709
Change-Id: I4c7b8e46bdc107ddebfc49979d70f0b0bae76103
36d536d2bed5ed2b4aea7abd8e133eb18253d387 19-Nov-2010 Jesse Wilson <jessewilson@google.com> Fix problems with entity references and relaxed namespaces.

Change-Id: I5c19ad97c98e6276129ed7228cc38d414b9517db
http://b/3090550
419fff2c3c90982deb09d27922f72ff267dcc100 19-Nov-2010 Elliott Hughes <enh@google.com> Include zdump(1)-like output in ZoneInfo.toString.

Bug: 3172097
Change-Id: Ifb6d6703421e30ce6b7e5dddd1ac583f590cd2b7
0e4e0d06e10c189fec8b65b45d0efa7f232f134d 19-Nov-2010 Brian Carlstrom <bdc@google.com> am 4d7f6230: Merge "minor CloseGuard javadoc corrections"

* commit '4d7f623096baf10fce592995cd959f28e56f4593':
minor CloseGuard javadoc corrections
f00d165a920f96183a83255a8d7acec654162965 19-Nov-2010 Brian Carlstrom <bdc@google.com> Merge "minor CloseGuard javadoc corrections"
b904ce74ad3bb83d9847cec2b4fd89a73290c906 19-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "More tests for XML pull parsing." into dalvik-dev
55c6bf115a64cc1400ae8286706a9164acb64d8b 19-Nov-2010 Brian Carlstrom <bdc@google.com> minor CloseGuard javadoc corrections

Change-Id: I6892d1f03821032d40b2ea678b9406f464878755
56c833952620239be70551a0643225cca853fcfa 19-Nov-2010 Jesse Wilson <jessewilson@google.com> More tests for XML pull parsing.

I've confirmed the expectations with the RI's SAX parser.

Change-Id: I445798244de051a766231e93eaec16cb9e84c1a9
http://b/3090550
819205d8e60acf17e254e98e1212d9c276c6518b 19-Nov-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
595058423f8441c09fa2ab384ce523e21aec7a01 19-Nov-2010 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of 18fb450a to dalvik-dev

Change-Id: I5f7884af56908adbdb9b9ab5799b5b7d0f7f51cc
51aac56f382ad911d9c6bc7401f089652c68c99d 19-Nov-2010 Kristian Monsen <kristianm@google.com> Fix for simulator build, no stlport in simulator

Change-Id: I2c2e8f443ddad6b65a29b2fd6ba1ff1d6e76fafc
39fdecd29f398d3d3b9298edb05e4d0dcdb1160e 19-Nov-2010 Elliott Hughes <enh@google.com> Merge "Throw ClassCastExceptions with good detail messages from the library." into dalvik-dev
a267e464b5dfbca1392bfc4f7cbe400495da60e0 18-Nov-2010 Elliott Hughes <enh@google.com> Throw ClassCastExceptions with good detail messages from the library.

Fix Class' methods to produce the same detail messages as the VM, remove
cruft from Arrays (so we throw the exceptions direct from the VM, like the RI
does), and fix a handful of classes that need to simulate casting because
of erasure.

Bug: 3210374
Change-Id: Ie8d1b48e069174bac60899a0530dbc8cf55fd023
f44e30883515c41bacfeb59d8155e2ceb45865ca 18-Nov-2010 Olivier Bailly <olivier@google.com> am 26e0cc02: Fix pointer vs integer mismatch in several return statements.

* commit '26e0cc02e3ddd5e77e5c99984e7b50de6f5a4aad':
Fix pointer vs integer mismatch in several return statements.
8be45bbcc6be164a31087e9cea29f7256bcf5c25 18-Nov-2010 Elliott Hughes <enh@google.com> Add a basic test for ClassCastException detail messages.

Bug: 3210374
Change-Id: Ifff09b36a5b3aeb118dd02caac781139bb840e6d
4c1b1cad90546bf31f70b5692cf16e9c5bfbde28 17-Nov-2010 Olivier Bailly <olivier@google.com> Fix pointer vs integer mismatch in several return statements.

Change-Id: Id2a754cf0a58d55e38c72e998920f219c5342d3d
bcc146891d0740d2c5c935f1728395dc3b9d4439 18-Nov-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
c83aefcff55bd368c543a93200c5f882d110de39 18-Nov-2010 Elliott Hughes <enh@google.com> Merge "Reflection documentation improvements." into dalvik-dev
d6838651c86fcbf12f84b1423f0d5876bc5a86a4 18-Nov-2010 Elliott Hughes <enh@google.com> Reflection documentation improvements.

Don't say "wrap" when we mean "box", and explicitly mention (Object[]) null in
the Method.invoke documentation.

Change-Id: I984c92f3310a08da05645a3a73b9912d08eea986
bf968bd3b66d0904232542e717d4e44c4b73bfa0 18-Nov-2010 Brian Carlstrom <bdc@google.com> am 57f2cc03: Test updates for Elliptic Curve

* commit '57f2cc03ff2cf5d2f6413c5410680b4908d7301d':
Test updates for Elliptic Curve
df2d74cbcb3e6a8c9bd62351a34144d844670b6c 05-Nov-2010 Brian Carlstrom <bdc@google.com> Test updates for Elliptic Curve

Updated with Elliptic Curve (EC) (and SunPKCS11-NSS) names for use by ProviderTest

support/src/test/java/libcore/java/security/StandardNames.java

Enhance test_KeyStore_cacerts_bks to verify PublicKey can be
retreived. Before this the test would pass even though an
ECPublicKey could not be accessed. With EC support in
external/bouncycastle, this test now passes.

luni/src/test/java/libcore/java/security/KeyStoreTest.java

New SignatureTest to cover ECDSA, replaces the old one that
required a subclass per tested algorithm.

luni/src/test/java/libcore/java/security/SignatureTest.java
support/src/test/java/tests/security/SignatureTest.java
luni/src/test/java/tests/targets/security/SignatureTestMD5withRSA.java
luni/src/test/java/tests/targets/security/SignatureTestNONEwithDSA.java
luni/src/test/java/tests/targets/security/SignatureTestSHA1withDSA.java
luni/src/test/java/tests/targets/security/SignatureTestSHA1withRSA.java
luni/src/test/java/tests/targets/security/SignatureTestSHA256withRSA.java
luni/src/test/java/tests/targets/security/SignatureTestSHA384withRSA.java
luni/src/test/java/tests/targets/security/SignatureTestSHA512withRSA.java
luni/src/test/java/tests/targets/security/AllTests.java

Improve ProviderTest logging while debugging SunPKCS11-NSS
provider issues. Added some exceptions for RI missing classes.

luni/src/test/java/libcore/java/security/ProviderTest.java

Changed style slightly to match KeyPairGeneratorTest, where +N is
used to indicated when multiples of a increments of a certain
amount are required for valid key sizes.

luni/src/test/java/libcore/javax/crypto/KeyGeneratorTest.java

Fix test CloseGuard issues

luni/src/test/java/libcore/java/security/KeyStoreTest.java

Fix readability

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHandshakeImpl.java

Bug: 3058375
Change-Id: I99cd93ad66372e8512d993168550cc1d471d3248
3b96daa43d879e5c815c17a6abfaf188b26a6f7e 18-Nov-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
deb4e939358d0585c4763d2d511b3a77af105b9c 17-Nov-2010 Kenny Root <kroot@google.com> am 910544a7: Fix some doc links in Arrays

* commit '910544a773fa8be76ae1fd7d27c15ad6e775082c':
Fix some doc links in Arrays
b0a69706180d6e087a9ea9e7f376033ec00a9752 17-Nov-2010 Kenny Root <kroot@google.com> Fix some doc links in Arrays

Some doc links had duplicated brackets that show up in the final parsed
result. Remove them so they don't look out-of-place.

Change-Id: Ie998e02246cef8bebaad3c5981abb2706bcbe394
c1aa951b92d0d6287c796dde6f63c86127c69a26 17-Nov-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
025dc9637c850cc5417d3071861c849849708b49 17-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix a typo in the XmlPullParser example." into dalvik-dev
5ed009db35968b802cfdafb16fcf49f382c12011 17-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "Use JSR 166's AbstractQueue, ArrayDeque, Deque, Queue and Navigable classes." into dalvik-dev
a42e8192cdaf7634d2e1585c20968e0b66d5a11b 16-Nov-2010 Brian Carlstrom <bdc@google.com> HttpsURLConnection fixes to pass URLConnectionTest and HttpsURLConnectionTest

Add public getSecureSocket so that HttpsURLConnection can reset its sslSocket field on reused connections.

luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpConnection.java

discardIntermediateResponse now maintain old values for
intermediateReponse, which is necessary when retrying the CONNECT
method with proxy authorization.

luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpURLConnectionImpl.java

Clear sslSocket before retrying makeSslConnection to ensure we reconnect.
makeSslConnection now resets sslSocket on resumed connection.
makeSslConnection now exits early on existing connection.

luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/https/HttpsURLConnectionImpl.java

git cherry-pick -e 4df5be29bdffc09e7368c03423a0bef85fa26ac5
Bug: 3184701
Change-Id: Ida3c027f79e5e29968263ac761d4f4f79d063a27
a18bd0b625eca8e1845139a6cbcf63a7ce622837 17-Nov-2010 Brian Carlstrom <bdc@google.com> am 2c43b3d0: am cf457919: (-s ours) am 5bcbe1c8: HttpsURLConnectionTest rewrite and URLConnectionTest updates

* commit '2c43b3d099e90792073ad046705585774d498ccd':
HttpsURLConnectionTest rewrite and URLConnectionTest updates
290b46e647afc7293ba3f83801af82bf62272b64 17-Nov-2010 Brian Carlstrom <bdc@google.com> am cf457919: (-s ours) am 5bcbe1c8: HttpsURLConnectionTest rewrite and URLConnectionTest updates

* commit 'cf4579196274274ce441b33628d6607ec3198d1f':
HttpsURLConnectionTest rewrite and URLConnectionTest updates
6acd70571069bb8353dfdad0ee5ca3e9cd432e18 17-Nov-2010 Brian Carlstrom <bdc@google.com> am 5bcbe1c8: HttpsURLConnectionTest rewrite and URLConnectionTest updates

* commit '5bcbe1c84468a25fec1e5b4e1dd636f917c73422':
HttpsURLConnectionTest rewrite and URLConnectionTest updates
5c5537fbfc29218959cd12bc575bbe8ed878f3f3 16-Nov-2010 Brian Carlstrom <bdc@google.com> HttpsURLConnectionTest rewrite and URLConnectionTest updates

Rewrote HttpsURLConnectionTest to work with current SSLSocket
implementation which more strictly follows RI behavior.

Also made upates to URLConnectionTest related to HttpsURLConnection
- changed assertContent call connect() explictly to illustrate problem
with https proxy case also seen by HttpsURLConnectionTest
- Rewrote testConnectTimeouts to work reliably. Before if often
worked on WiFi but not on mobile networks where a "HTTP/1.1 501 Bad
Gateway" would be seen causing a FileNotFoundException.
- Changed testConnectViaHttpProxyToHttpsUsingHttpProxySystemProperty
to match expectation that https does not use the http.proxyHost
values. Added new testConnectViaHttpProxyToHttpsUsingProxyArgWithNoProxy
which should have the same behavior as the fixed
testConnectViaHttpProxyToHttpsUsingHttpProxySystemProperty

git cherry-pick -e f02c695ed03e708623d9365dec26d533356ef2d0

Bug: 3184701
Change-Id: Id25f619d2437db607deaf35aeb1d5e817514b92f
a7002bacc0c598ff36448d636e985d2eca53acdd 17-Nov-2010 Brian Carlstrom <bdc@google.com> am 017d4f58: am eaaab464: (-s ours) am 3825a7f6: Propagate pending exception from cert_client_cb

* commit '017d4f5830cb34b51afe4269720be7be1ec6f584':
Propagate pending exception from cert_client_cb
81fb6c315df0a262ae51007c2de4dfe15ac7c1e3 17-Nov-2010 Brian Carlstrom <bdc@google.com> am eaaab464: (-s ours) am 3825a7f6: Propagate pending exception from cert_client_cb

* commit 'eaaab4641447041ca20f431c07c7a74d264877d0':
Propagate pending exception from cert_client_cb
91c51f92ec7939891391a2faa7f3b31896ad319f 17-Nov-2010 Brian Carlstrom <bdc@google.com> am 3825a7f6: Propagate pending exception from cert_client_cb

* commit '3825a7f63f6bf49d55e742f19f9b76cc9adc5e6f':
Propagate pending exception from cert_client_cb
6526d675f24f7f34cf81028cebed44a1a3cfd3f3 17-Nov-2010 Elliott Hughes <enh@google.com> Merge "Add a test for excessive JNI global reference usage in expat." into dalvik-dev
152e47ace7aa7472279634996f2af1a94cbdf30f 17-Nov-2010 Elliott Hughes <enh@google.com> Add a test for excessive JNI global reference usage in expat.

Bug: http://code.google.com/p/android/issues/detail?id=12595
Change-Id: I021c78dd8412da4e4d10da1127607f6d0a9ca1fa
5f66d0bdffea111e71447917d948df480a4a5d29 05-Nov-2010 Brian Carlstrom <bdc@google.com> Propagate pending exception from cert_client_cb

There can be a pending exception in the cert_client_cb if the server
certificate failed verification and the server requested a client
certificate. Since the handshake is going to be terminated, just
return from client_cert_cb immediately indicating no client cert will be
provided, allowing the existing exception to propagate.

Bug: 3149826
git cherry-pick 30a77f316c03906ca59d6ebe5b6c7f0ff734aadb

Bug: 3184701
Change-Id: I58b038267f66d6b5f80e9f3d81ff1c0f8052ef27
66a937f09b2ecd5a2003f11c62373d5d3cf4f8d3 16-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "Add interning to KxmlPullParser." into dalvik-dev
8bf16a7b819766acf95703253289f0cc8d0fd96c 14-Nov-2010 Jesse Wilson <jessewilson@google.com> Add interning to KxmlPullParser.

Adding just a small interning pool improves performance even further.
Combined with the first round of optimizations, total improvement for
three large files is 51% 56% and 42%. Performance on a small file
improved 3%. When interning is checked in, Kxml will be significantly
faster than Expat's pull parser for everything but very small files.

/sdcard/xml/com.amazon.mp3.meta /sdcard/xml/com.cooliris.picasa /sdcard/xml/com.rhapsody.Deauth /sdcard/xml/com.snoggdoggler.r
benchmark run us linear runtime % us linear runtime % us linear runtime % us linear runtime %
Dom baseline / master 210,256 ============================== 184% 53,227 ============================== 171% 2,183 ============================== 151% 164,708 ============================= 200%
Dom first optimizations 174,580 ======================== 153% 40,964 ======================= 132% 1,968 =========================== 136% 130,814 ======================= 159%
Dom new interning 163,366 ======================= 143% 35,736 ==================== 115% 2,116 ============================= 147% 121,870 ====================== 148%
ExpatPull baseline / master 130,078 ================== 114% 21,700 ============ 70% 759 ========== 53% 85,578 =============== 104%
ExpatPull first optimizations 129,776 ================== 114% 21,621 ============ 70% 734 ========== 51% 86,799 =============== 105%
ExpatPull new interning 130,971 ================== 115% 21,627 ============ 70% 723 ========= 50% 86,555 =============== 105%
KxmlPull baseline / master 114,317 ================ 100% 31,040 ================= 100% 1,443 =================== 100% 82,478 =============== 100%
KxmlPull first optimizations 88,716 ============ 78% 20,578 =========== 66% 1,560 ===================== 108% 58,567 ========== 71%
KxmlPull new interning 55,773 ======= 49% 13,692 ======= 44% 1,394 =================== 97% 48,068 ======== 58%

http://b/3090550
Change-Id: I4515546abbbcf940de7be22f26925c4334e59146
8d8285f794b5e7629f4d19f13b4f347e6bc0def3 16-Nov-2010 Elliott Hughes <enh@google.com> Merge "Improve ConcurrentCloseTest." into dalvik-dev
c5cdc0c7130e10aebb38b1fa6411db590f0786be 16-Nov-2010 Elliott Hughes <enh@google.com> Improve ConcurrentCloseTest.

No more flaky use of 10.* addresses.

Bug: 3044772
Change-Id: I5ca8dc431b50950efdc818efe73eb9aba76ea67f
7fa7e93cbe4a35b0da6cae362bd67d5a554e4a88 16-Nov-2010 Brian Carlstrom <bdc@google.com> am b0dd31bf: Adding KeyPairGenerator test

* commit 'b0dd31bfeb64ffcef336b461e6c70f479f9b7ce4':
Adding KeyPairGenerator test
0840f3f33ed344b3b4f6d90bb5ebdb94ea4f3961 16-Nov-2010 Brian Carlstrom <bdc@google.com> Adding KeyPairGenerator test

Similar to the recently added KeyGeneratorTest

Change-Id: If5c84569aeb253979e84b3a94ac1205e17536044
f8fd16f775054d5aa8f1066d9e08e205a60b53d3 16-Nov-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
c83d18f7b702927b6a782165643261f95a0b5bcb 16-Nov-2010 Brian Carlstrom <bdc@google.com> am 4df5be29: HttpsURLConnection fixes to pass URLConnectionTest and HttpsURLConnectionTest

* commit '4df5be29bdffc09e7368c03423a0bef85fa26ac5':
HttpsURLConnection fixes to pass URLConnectionTest and HttpsURLConnectionTest
7564c4b3ce4a2940cec875b91e0e2afb80951696 16-Nov-2010 Brian Carlstrom <bdc@google.com> HttpsURLConnection fixes to pass URLConnectionTest and HttpsURLConnectionTest

Add public getSecureSocket so that HttpsURLConnection can reset its sslSocket field on reused connections.

luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpConnection.java

discardIntermediateResponse now maintain old values for
intermediateReponse, which is necessary when retrying the CONNECT
method with proxy authorization.

luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpURLConnectionImpl.java

Clear sslSocket before retrying makeSslConnection to ensure we reconnect.
makeSslConnection now resets sslSocket on resumed connection.
makeSslConnection now exits early on existing connection.

luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/https/HttpsURLConnectionImpl.java

Change-Id: I6862a092e2584398f7aa1d2a8b66ad074775b6b3
4f978810898dfe1a0328d28e813df3c325a8c84d 16-Nov-2010 Brian Carlstrom <bdc@google.com> am f02c695e: HttpsURLConnectionTest rewrite and URLConnectionTest updates

* commit 'f02c695ed03e708623d9365dec26d533356ef2d0':
HttpsURLConnectionTest rewrite and URLConnectionTest updates
1077656611283b1de2847a99d8dcfd2d487f21a9 16-Nov-2010 Brian Carlstrom <bdc@google.com> HttpsURLConnectionTest rewrite and URLConnectionTest updates

Rewrote HttpsURLConnectionTest to work with current SSLSocket
implementation which more strictly follows RI behavior.

Also made upates to URLConnectionTest related to HttpsURLConnection
- changed assertContent call connect() explictly to illustrate problem
with https proxy case also seen by HttpsURLConnectionTest
- Rewrote testConnectTimeouts to work reliably. Before if often
worked on WiFi but not on mobile networks where a "HTTP/1.1 501 Bad
Gateway" would be seen causing a FileNotFoundException.
- Changed testConnectViaHttpProxyToHttpsUsingHttpProxySystemProperty
to match expectation that https does not use the http.proxyHost
values. Added new testConnectViaHttpProxyToHttpsUsingProxyArgWithNoProxy
which should have the same behavior as the fixed
testConnectViaHttpProxyToHttpsUsingHttpProxySystemProperty

Change-Id: I397f55905524e2bbb587533f258ef0418ca8af80
5ce9e1102dafea8706eb4e65c7fe26bd80d8e8cf 16-Nov-2010 Elliott Hughes <enh@google.com> Merge "Switch ObjectInputStream over to reflection." into dalvik-dev
a11812d0eef74a3cc55d5d941df539c36e785a28 16-Nov-2010 Brian Carlstrom <bdc@google.com> am 8a720cce: TrustManager should include PrivateKeyEntry CAs, OpenSSLSocketImpl close fix, and debugging improvements

* commit '8a720cceee7ce319d647738dfeda3f302879f370':
TrustManager should include PrivateKeyEntry CAs, OpenSSLSocketImpl close fix, and debugging improvements
2c7c2beaace0e99844c4ae7b9cb4bb74bec4e3dc 16-Nov-2010 Brian Carlstrom <bdc@google.com> TrustManager should include PrivateKeyEntry CAs, OpenSSLSocketImpl close fix, and debugging improvements

Revert to older behavior of creating TrustAnchors from both
PrivateKeyEntry and TrustedCertificateEntry values from the
KeyStore. Added tests to better ensure this slighlt different
behavior from PKIXParameters. Also create the acceptedIssuers
proactively since the real memory cost is the X509Certificates
which are already found in the params.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/TrustManagerImpl.java
luni/src/test/java/libcore/javax/net/ssl/TrustManagerFactoryTest.java
luni/src/test/java/libcore/java/security/cert/PKIXParametersTest.java

Don't just free native state on issue with startHandshake, close
the SSLSocket. While the former addressed a CloseGuard issue, the
latter make sure that checkOpen throws SocketExceptions and we don't
leak a NullPointerException from NativeCrypto.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Debugging improvements including minor refinements to recently
added NativeCrypto logging, more verbose TestKeyStore.dump output,
and a new TestTrustManager proxy class for logging X509TrustManager
behavior.

luni/src/main/native/NativeCrypto.cpp
support/src/test/java/libcore/java/security/TestKeyStore.java
support/src/test/java/libcore/javax/net/ssl/TestTrustManager.java

Change-Id: I317e1ca34d8e20c77e5cb9c5a5a58cb4ae98d829
efa3150daca5a5c5049b41ff7130f07749f19702 16-Nov-2010 Elliott Hughes <enh@google.com> Switch ObjectInputStream over to reflection.

Reduces the amount of (native) code, and improves perfromance.

We can't entirely remove the native code this time because we
rely on the ability to create an instance of one class while
calling a constructor from another, which we can't do via
reflection.

Bug: 3158451
Change-Id: I896e23a6ffd7b7f1a016ff9d30cea0b2b9df7574
7621ec0b3588586237a77418cd145e1bec45fd3a 15-Nov-2010 Elliott Hughes <enh@google.com> Merge "Switch ObjectOutputStream over to reflection." into dalvik-dev
d5a0ca4496ba5ab47e2f5a30a42afa9d40acb9cb 13-Nov-2010 Elliott Hughes <enh@google.com> Switch ObjectOutputStream over to reflection.

Reduces the amount of (native) code, and improves performance. I've also
improved some of the detail messages from the reflection code (to help in
my own debugging).

I'll do ObjectInputStream next...

Bug: 3158451
Change-Id: Icf06a17507f9d011d120f2d704e084a103a400c7
25521875893c15ee75160005a81c8be85d15a3f4 15-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> am 4bfc26e9: CloseGuard: make members volatile, update comment

* commit '4bfc26e99c8044a1d690003d4bb3d75348124f57':
CloseGuard: make members volatile, update comment
ec294e6f30ab8958893bc9f02c2ec08617abd279 14-Nov-2010 Brad Fitzpatrick <bradfitz@android.com> CloseGuard: make members volatile, update comment

Change-Id: Id348a2d523fb92631a07684050b03311a6ea2eef
88bfdc792e9daff16ab6f2e18c030a716a6466cc 14-Nov-2010 Jesse Wilson <jessewilson@google.com> Fix a typo in the XmlPullParser example.

Originally reported here:
http://groups.google.com/group/android-platform/browse_thread/thread/6020aee5f01f21df/afac4ce1a0184788?show_docid=afac4ce1a0184788

Change-Id: I378a441117fdf41e74d91ba8fef8ac9abf5a5275
898ac72acf658f05a2431c82f6bbd1f516555a17 13-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "Optimize KxmlParser." into dalvik-dev
cc232e87f20bfc2ea95c4abd27fec0a0fc5fcc70 05-Nov-2010 Jesse Wilson <jessewilson@google.com> Optimize KxmlParser.

I benchmarked this on four files:

size file
268 rhapsody authorization
29489 picasa sync (for gallery)
101129 amazon mp3 search results
103855 RSS feed

The performance regressed for the 268-byte file from 1.44ms to 1.56ms.
Small files are important and I intend to follow-up to bring this back
into line.

For the other files, the improvements for pull parsing were 22%, 34% and 29%.
Improvements for DOM parsing were 17%, 23% and 21%.

All but the 268-byte document now parse faster with Kxml than with Expat.

101129 byte amazon mp3 search results 29489 byte picasa sync dat 268 byte rhapsody authentication 103855 byte RSS feed
benchmark run us linear runtime us linear runtime us linear runtime us linear runtime
Dom ready to commit 174,580 ======================== 40,964 ======================= 1,968 =========================== 130,814 =======================
Dom baseline 210,256 ============================== 53,227 ============================== 2,183 ============================== 164,708 =============================
ExpatPull ready to commit 129,776 ================== 21,621 ============ 734 ========== 86,799 ===============
ExpatPull baseline 130,078 ================== 21,700 ============ 759 ========== 85,578 ===============
KxmlPull ready to commit 88,716 ============ 20,578 =========== 1,560 ===================== 58,567 ==========
KxmlPull baseline 114,317 ================ 31,040 ================= 1,443 =================== 82,478 ===============

Change-Id: I98b7f979c2f926e25c72541bf9f5036f097e8d91
http://b/3090550
39a196e112a24596c32d19bc700569741a484c58 12-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "End the deflater when closing a ZipOutputStream." into dalvik-dev
9920cd85e10bd0eb4712cfb636cbd7ad76145f26 12-Nov-2010 Jesse Wilson <jessewilson@google.com> End the deflater when closing a ZipOutputStream.

I'm not particularly happy with ZipOutputStream.close() because it
doesn't call super.close(). Fixing it to call super.close() has two
problems: finish() will be called conditionally (we want it always)
and it won't null out 'out', which is observable to subclasses.

Change-Id: If565b2a94e4dff8cbc4815e971ab8b42b3663a84
http://b/3187485
82187141f51a0646c055f12688b7d411d208c150 12-Nov-2010 Elliott Hughes <enh@google.com> Merge "More java.util.zip documentation improvements." into dalvik-dev
edcfde9759232fc26c3c3a1d202cc8873c406ec2 11-Nov-2010 Jesse Wilson <jessewilson@google.com> Fix an Expat comment to make it clear that the specified encoding is used.

Change-Id: Ia8662bad784784c8ddd2c5c9d904f9e050a5fded
http://b/2719016
3f4a43f2788f0365b319a8df2578acb052b15840 12-Nov-2010 Elliott Hughes <enh@google.com> More java.util.zip documentation improvements.

Follow-on to https://android-git.corp.google.com/g/79392.

Change-Id: I7ebdb5f0824d30e0b86d4e1ac236377bbda1cd08
8517a5812807b92eebfbf54e52a3ffea8e0e4c77 12-Nov-2010 Elliott Hughes <enh@google.com> Tidy up some jar-related code.

...and kill InputStreamHelper by inlining all that's left into the sole caller.

Change-Id: Iadddba9f067a1af2a2a66803aa9ef26ea6dc3396
2a08283eac54ab1f53fe28ff31b8199d69e1343d 12-Nov-2010 Elliott Hughes <enh@google.com> Slightly better Checksum documentation.

Change-Id: Ic4c3b94d435522f8b14698d228d9e61c06ce96ae
f5bd231d0dc65a60e274ebeecc098bdef8db1fce 12-Nov-2010 Elliott Hughes <enh@google.com> A specific test for http://b/3181430.

Bug: 3181430
Change-Id: If1e02a888863143f4c56d1ef57e265d7c7bffcc4
56544bd1677cf74352df3f006d6f0124e8fae866 11-Nov-2010 Elliott Hughes <enh@google.com> Better documentation for GZIPInputStream/GZIPOutputStream/ZipInputStream/ZipOutputStream.

I didn't know how to use ZipInputStream/ZipOutputStream off the top of my
head; that's a sign we need an example in the documentation.

Change-Id: I0410927a4a784991ff183c30c4cf59752b7ed8e8
3e049fe7ed3ad3e67314dafbf206749ae1cb9045 11-Nov-2010 Elliott Hughes <enh@google.com> Tests that would have caught my recent ZipInputStream/ZipOutputStream regressions.

Not the best tests in the world, but they would have been sufficient.

Bug: 3181430
Change-Id: Id68f5bb6a2c66f9f5c8c061b34dfeb5d3d63e63e
5da8eff74692e338f41354f3f77f593bfd96cd0a 11-Nov-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
8e7f733d2e077c0a961387b40ba533fcb90c3478 11-Nov-2010 Jesse Wilson <jessewilson@google.com> Use JSR 166's AbstractQueue, ArrayDeque, Deque, Queue and Navigable classes.

These are better documented, better exercised and more consistent with other
platforms.

Change-Id: Ic17f1b492f637263b19281f99cd2c163e6586c8a
http://b/3131028
53442756429e8a7b9e8956055e3c8e063aacfa16 10-Nov-2010 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of eb21e9c0 to dalvik-dev

Change-Id: Ibee64a66bc9a8064114544e52a09aaa661a589ad
c44d7423b516f8973700d0b58b40edc4875e7cd6 10-Nov-2010 Brian Carlstrom <bdc@google.com> Merge "Move from MAX/MIN to std::max/std::min"
ab77c0cce544440b3dee38eaf69e9acb3cebaf69 10-Nov-2010 Elliott Hughes <enh@google.com> am e0201e2c: Merge "Fix a bug I introduced, and do more zip cleanup."

* commit 'e0201e2c65d67b516d45076da0879330d3b0e31a':
Fix a bug I introduced, and do more zip cleanup.
e718d538a93daa480a9ac1cca4f5a15917a240d0 10-Nov-2010 Elliott Hughes <enh@google.com> Merge "Fix a bug I introduced, and do more zip cleanup."
456342659c81e314947d54b7f51737a875bc6202 10-Nov-2010 Brian Carlstrom <bdc@google.com> Move from MAX/MIN to std::max/std::min

Change-Id: I2296a39ab1fb9c02575702476170a2f68d7de02f
561f87694cce92326c9abc5644985e0f1e20636d 10-Nov-2010 Elliott Hughes <enh@google.com> Fix a bug I introduced, and do more zip cleanup.

This code's quite hairy in its use of int/long. I can't just change the fields
to int because they seem to use -1L to mean "unset" while still allowing the
whole int range of values (including -1). We'll have to look at the zip
specification to see whether that's right, but for now, let's just avoid sign
extension.

I've also cleaned up some of the other code, most notably throwing more
detailed exception messages where it's easy, and removing hand-made readFully
implementations.

Bug: 3181430
Change-Id: I382568a8975c9b8b2ee5b344817134472369d308
b81e9275fd8a97f2dc3c226dbbb6999746628a1d 10-Nov-2010 Brian Carlstrom <bdc@google.com> am a667cc22: Merge "Add WITH_JNI_TRACE_DATA to allow tracing of SSLSocket data"

* commit 'a667cc22e79a25d0aebdfe28b30ee9e81289c85a':
Add WITH_JNI_TRACE_DATA to allow tracing of SSLSocket data
79659bed3348d58c24f210f91bf2f3b73feb020f 10-Nov-2010 Brian Carlstrom <bdc@google.com> Merge "Add WITH_JNI_TRACE_DATA to allow tracing of SSLSocket data"
c70d8bac030f30398d7e68a28f0933ff263ab74f 10-Nov-2010 Brian Carlstrom <bdc@google.com> Add WITH_JNI_TRACE_DATA to allow tracing of SSLSocket data

Bug: 3167208
Change-Id: I99f110d5418901ac02589dfa629cd26605da7990
b69c82dabd8fc8514a8985701e0c8da4ef7a052d 10-Nov-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
3823792366ee48209a90d5874a03d1a84c2ef02b 10-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "New test cases for our XML pull parsers." into dalvik-dev
8adfa22656dd6c27d7b8aaecc0e96ad8bcad2c58 08-Nov-2010 Jesse Wilson <jessewilson@google.com> New test cases for our XML pull parsers.

Change-Id: Ifc4b5734a8eeb0e9caa81ddea5a575b738c25433
http://b/3090550
4ab273ab443326e87a736aa5aecb95750749813b 10-Nov-2010 Elliott Hughes <enh@google.com> Stop allocating empty arrays.

Bug: 3166662
Change-Id: I151de373b2bf53786d19824336fa434c02b0b0e8
f24eafd7f79c4a8665970de8de660fc82291acc0 09-Nov-2010 Jesse Wilson <jessewilson@google.com> am 62895931: am 1cbb25b8: am 2e9a4db4: Merge "Don\'t kill the instrumentation test runner with an uncaught exception." into gingerbread

* commit '62895931a344e88fb0393243e376c5fb57c46a0c':
Don't kill the instrumentation test runner with an uncaught exception.
6fd3bdc22617030da4b9b76878a395372e7ea0c3 09-Nov-2010 Jesse Wilson <jessewilson@google.com> am 1cbb25b8: am 2e9a4db4: Merge "Don\'t kill the instrumentation test runner with an uncaught exception." into gingerbread

* commit '1cbb25b8b24922ebe1e777307bd11ad41869aab9':
Don't kill the instrumentation test runner with an uncaught exception.
60227ba10e99f53925661e34f630afdd067f2de6 09-Nov-2010 Jesse Wilson <jessewilson@google.com> am 2e9a4db4: Merge "Don\'t kill the instrumentation test runner with an uncaught exception." into gingerbread

* commit '2e9a4db411f57369a1b37f640b722b3f0e24d3f5':
Don't kill the instrumentation test runner with an uncaught exception.
a6860e29675ed304a2dca4a7f1ef4dd2e8cfc47c 09-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "Don't kill the instrumentation test runner with an uncaught exception." into gingerbread
22a5f76a28fe12a348060eb0ef01b5c71e819544 09-Nov-2010 Jesse Wilson <jessewilson@google.com> Don't kill the instrumentation test runner with an uncaught exception.

Change-Id: Idfb25df214cfeeb32b32d7cdb046954511cf755d
http://b/3171231
4cee1e0f84367277abcbe23f5f919af4608d7543 09-Nov-2010 Elliott Hughes <enh@google.com> Ensure that changes to an IdentityHashMap entrySet mutate the underlying map.

Harmony's patch, plus a missing "private final".

Bug: https://issues.apache.org/jira/browse/HARMONY-6419
Change-Id: I92846810a1cda76b6101161a79ed25d9df503c01
7d74bbb9ed7548cf9edfcb9a75d99d194f06d766 09-Nov-2010 Elliott Hughes <enh@google.com> Merge "Document that I've investigated a TODO." into dalvik-dev
1f60450db623b4604cf0ecad9bfe761c4250a579 09-Nov-2010 Elliott Hughes <enh@google.com> Document that I've investigated a TODO.

Nothing to be done, so document that the API is broken by design.

Bug: 2281992
Change-Id: Ia26f25fe3ed3364092a378d7d7544f4d81b982f7
5037edb9c929db706e5f0fd7d36cddc276c9d285 09-Nov-2010 Jesse Wilson <jessewilson@google.com> am f5aabec4: am 8fbee008: am b365037f: Add @Deprecated to match @deprecated where it\'s missing in libcore.

* commit 'f5aabec4b1fe54f495a88aeff17f0c950675a056':
Add @Deprecated to match @deprecated where it's missing in libcore.
029e95771043b6a484f213d0b6e052fefb7efc6d 09-Nov-2010 Elliott Hughes <enh@google.com> Merge "Improve SocketOptions.IP_TOS documentation." into dalvik-dev
442fc2ee73b722a5705aadef38d5cc97efe9e862 09-Nov-2010 Jesse Wilson <jessewilson@google.com> am 8fbee008: am b365037f: Add @Deprecated to match @deprecated where it\'s missing in libcore.

* commit '8fbee008f35fa08642a11a728b6d3699ff933efc':
Add @Deprecated to match @deprecated where it's missing in libcore.
20488916da28919af1228b41d8ab5cd8b9e13d24 09-Nov-2010 Jesse Wilson <jessewilson@google.com> am b365037f: Add @Deprecated to match @deprecated where it\'s missing in libcore.

* commit 'b365037fb5723ecd2810ac2dc4ec45fc570764b6':
Add @Deprecated to match @deprecated where it's missing in libcore.
5909d038eb8bfd7b3e9a2985f30a8f33c5d65755 09-Nov-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
a0a0092099155cc0fdf7226eb64eab5a053b88a7 09-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "Provide indices and length when reporting StringIndexOutOfBoundsExceptions." into dalvik-dev
2b213b45575ccdc00ad957df7cd497e4fea5984c 09-Nov-2010 Jesse Wilson <jessewilson@google.com> Provide indices and length when reporting StringIndexOutOfBoundsExceptions.

Change-Id: Ib7e52678fd2aad0e15bd04b2db4b191670cd4703
c62f6b580735e2eb850af0ce949309716b9fe6fe 09-Nov-2010 Elliott Hughes <enh@google.com> Track Java 6 Proxy.toString change.

This fixes a harmony test.

Change-Id: Id824fe62f11b0b80ce4e266ca71cbb1a675a142e
774425c9375d04587c147e5d214c1ed93d2f6617 09-Nov-2010 Elliott Hughes <enh@google.com> Merge "Apply a couple of trivial harmony patches." into dalvik-dev
f1bbef9da159b0e0145c35d2dca0a580b39de129 09-Nov-2010 Elliott Hughes <enh@google.com> Apply a couple of trivial harmony patches.

These fix a couple of test failures.

Change-Id: Ifb0aef1822891069217fbedc450d8264d4f6b7c9
beb0e90fe8679e3d6f3b9940553cc3ab0ded9183 09-Nov-2010 Brian Carlstrom <bdc@google.com> am 3878118a: Merge "Adding a simple KeyGenerator test"

* commit '3878118acd308132204753f852434b7c38402439':
Adding a simple KeyGenerator test
ee0ccfdcfc4a2d3c4cbf425b0e5d620ff38b6fd2 09-Nov-2010 Brian Carlstrom <bdc@google.com> Merge "Adding a simple KeyGenerator test"
19f7ffd30f67b3d24f992f81a9ec0112a1a7f75d 09-Nov-2010 Brian Carlstrom <bdc@google.com> Adding a simple KeyGenerator test

Change-Id: I555563d1974325781ffefa6897bb609d103998d4
bc252df25dcb0214115c45b7d535dfae79b2ce7b 09-Nov-2010 Elliott Hughes <enh@google.com> Don't eagerly resolve the hostname when doing a datagram receive.

Bug: http://code.google.com/p/android/issues/detail?id=12328
Change-Id: I850efb021b3cdcbc6c8278e9ff3cd8d34e85b1dc
3cd1114095416554c56adc7815d1b2efc51c02cf 09-Nov-2010 Elliott Hughes <enh@google.com> Merge "Rewrite File.getCanonicalPath." into dalvik-dev
e3c01a84e90ecd3b18f0a58a19fcf4d1b7a2d5a1 05-Nov-2010 Elliott Hughes <enh@google.com> Rewrite File.getCanonicalPath.

My original plan was to just rely on the fixed realpath(3), but it turns out
that Java's behavior is quite different from the C library's in cases where
path elements don't exist. I also wasn't particularly excited about introducing
a fixed-length buffer. To that end, I've added a native implementation of
getCanonicalPath.

I've also improved the getAbsolutePath and getCanonicalPath documentation.

This patch also makes File.absolutePath transient, a regression in gingerbread
which uselessly bloated File's serialized form.

Bug: 2281992
Change-Id: Iff94eee07fe574251c1188b2b2eb71f585c81c6a
f8aa056d8a95b70b3386b713e95ab1862944c15b 08-Nov-2010 Brian Carlstrom <bdc@google.com> am 43c8c9d4: Merge "Make OpenSSLSocketFactory and SSLSocketFactory fields final"

* commit '43c8c9d466293851bd7f4f4438628176e278ced7':
Make OpenSSLSocketFactory and SSLSocketFactory fields final
c44e02fd8e98068d7cf990eaf9b039df572eb8ee 08-Nov-2010 Brian Carlstrom <bdc@google.com> Merge "Make OpenSSLSocketFactory and SSLSocketFactory fields final"
91bc269116cf43981774e68079e2921ab530f52d 08-Nov-2010 Jesse Wilson <jessewilson@google.com> am 06e15e6c: Fix a bug where we weren\'t pooling connections due to mismatched URLs.

* commit '06e15e6c528fcb773bedb43e34b0577312570927':
Fix a bug where we weren't pooling connections due to mismatched URLs.
a061741a5399d23a858eee93be93ba751e26c8d4 08-Nov-2010 Brian Carlstrom <bdc@google.com> Make OpenSSLSocketFactory and SSLSocketFactory fields final

Bug: 2954292
Change-Id: I4cad068d4da39a9c55ca25fad698f3ea136f2e24
c2d5cd380b2b6537d0bbecfcf1cd682086d4d707 05-Nov-2010 Jesse Wilson <jessewilson@google.com> Fix a bug where we weren't pooling connections due to mismatched URLs.

Change-Id: I13bebc94189192c3f8d959e521989591d2fca3e2
ac616f161813cc8d1e766fd9e48712ba03107886 08-Nov-2010 Brian Carlstrom <bdc@google.com> am f7ee2365: Fix javadoc typo

* commit 'f7ee236589ca1fe73615c4dc8a536ffe29a236ff':
Fix javadoc typo
bdbe5ba2bf22e30f546be0aeedf5ec1d19c84b6a 08-Nov-2010 Brian Carlstrom <bdc@google.com> am 9a356d01: TrustManagerImpl.cleanupCertChain should not modify original the original chain

* commit '9a356d010cadf3bb3d5cf4b5502010751f602fa1':
TrustManagerImpl.cleanupCertChain should not modify original the original chain
e088be3aa1792f1c8bc36cb6cae2dd479e168558 08-Nov-2010 Brian Carlstrom <bdc@google.com> Fix javadoc typo

Change-Id: I5e24358c62e00f199c71b9825b1b533b34510f74
61d68951423180419f12bf71e4630b5e2284e020 08-Nov-2010 Brian Carlstrom <bdc@google.com> TrustManagerImpl.cleanupCertChain should not modify original the original chain

The original frameworks/base code this was based on unconditionally
copied the chain before cleaning it which I missed on initial
refactoring. The code lazily makes the copy only it actually needs to
modify the chain.

Change-Id: I29bea6f8064d338bd625ab8ed7a89f5d96a75dfd
cdb8f69ca804585c7280faa0dbea70a7b1d91c41 08-Nov-2010 Brian Carlstrom <bdc@google.com> am b81e1d9d: Add CloseGuard.Reporter interface to allow customization of warnings

* commit 'b81e1d9da6a4b039ffa55618fcccb013d3116261':
Add CloseGuard.Reporter interface to allow customization of warnings
b28d4b64fba3c5beb445af128f8190b01995f652 08-Nov-2010 Brian Carlstrom <bdc@google.com> Add CloseGuard.Reporter interface to allow customization of warnings

This will be paired with a new implementation in StrictMode to allow
more sophisticated reporting.

Change-Id: I17668b5db333c4c9b7280ac0de5dc8d9ba1aab59
b512c534a2d1855c6457671a1c2fd5139abdbe9d 08-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "Explicitly specify the content encoding when parsing preferences." into dalvik-dev
d096968285257113544dcf71ff43f97f6d7ae689 08-Nov-2010 Jesse Wilson <jessewilson@google.com> Explicitly specify the content encoding when parsing preferences.

Without this the XML parser needs to guess the encoding, which
turns out to be a fairly block of code. Avoid that since we know
the encoding is always UTF-8.

Change-Id: I265d602e7e3ba2cd8ee3e3aa564dab24a636ad85
661f283058d3cc7999fd9e98d91b0ae5a24bc7d6 08-Nov-2010 The Android Automerger <android-build@android.com> Merge branch 'master' into honeycomb-release
4edacf5cd22ad29e13771a77b5d5b9675a028f94 06-Nov-2010 Elliott Hughes <enh@google.com> Improve SocketOptions.IP_TOS documentation.

Explain that this field covers both IPv4 and IPv6.

Bug: 3167335
Change-Id: I9541ac63281b7ee010897cb2dbd65a5fdcc7d9ca
6beb59309826bdecc272d38ecd5696489305873f 05-Nov-2010 Brian Carlstrom <bdc@google.com> am 30a77f31: Propagate pending exception from cert_client_cb

* commit '30a77f316c03906ca59d6ebe5b6c7f0ff734aadb':
Propagate pending exception from cert_client_cb
74a8b7e653f4f005042b64503a8f47f1141addbb 05-Nov-2010 Brian Carlstrom <bdc@google.com> am bd3f08d9: Remove CloseGuard warnings for FileInputStream/FileOutputStream created from FileDescriptors

* commit 'bd3f08d95b31543b5f1fe3d93594efc9c8a2879b':
Remove CloseGuard warnings for FileInputStream/FileOutputStream created from FileDescriptors
897f490538309202a22d87a13a38c4a31eae6d04 05-Nov-2010 Brian Carlstrom <bdc@google.com> Propagate pending exception from cert_client_cb

There can be a pending exception in the cert_client_cb if the server
certificate failed verification and the server requested a client
certificate. Since the handshake is going to be terminated, just
return from client_cert_cb immediately indicating no client cert will be
provided, allowing the existing exception to propagate.

Bug: 3149826
Change-Id: If95db36fc296ec9945c052a6c839e70dcd083d7b
1f598566ea8541adcd1d7563cc39d00fe186ec1d 05-Nov-2010 Brian Carlstrom <bdc@google.com> Remove CloseGuard warnings for FileInputStream/FileOutputStream created from FileDescriptors

Change-Id: Ie3c0b9926810136fbbf48294e50f8a4f63f1eb0e
aa52d2d040fc439e90546376cc6ec77384dde46a 04-Nov-2010 Elliott Hughes <enh@google.com> Fix sign-extension issues in GZIPInputStream.

Bug: 3164285
Change-Id: Ic46a8d9a0ca23904fde85e70f4a8c218d4eb58f7
4e170d9a702196463829a53ed7c2bfe9fc9bd300 05-Nov-2010 Carl Shapiro <cshapiro@google.com> Merge "Export the assignable instance counting." into dalvik-dev
80ba5945caa442c9e67d6b57343e6275e77c6302 04-Nov-2010 Carl Shapiro <cshapiro@google.com> Export the assignable instance counting.

Change-Id: I4358afbf79ac8c33448b48f4b5e1d365371bca1b
21426bf1ca8e9c1b158c8d1b678929cb42031948 04-Nov-2010 Elliott Hughes <enh@google.com> GZIPInputStream/GZIPOutputStream test improvements.

1. Ensure that there's a direct mapping from the class to its test,
so we're more likely to run the right tests. I've broken GzipTest
into two for this.

2. Include actual data rather than always round-tripping, to avoid
potential symmetric errors. (This wasn't important in this case.)

3. Remove a dead file that belonged to a test that's already been
removed.

Bug: 3164285
Change-Id: I312237454eead26d0dbbdb8f6339aa29ed8eea4e
02f4a4b3bf1ee62685b2e4b521532d33260bba4f 04-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "Style cleanup of some XML code." into dalvik-dev
2b340a578bd4901bfb1f541729de1432f0a006d9 04-Nov-2010 Jesse Wilson <jessewilson@google.com> Add @Deprecated to match @deprecated where it's missing in libcore.

Change-Id: Icd07496c4d1371215a2153198d45d6aa719b26b7
4c22c0ceb06522444991a10b9fede2845ab76cf3 04-Nov-2010 Jesse Wilson <jessewilson@google.com> Style cleanup of some XML code.

Motivation: in preparation to refactor the Kxml code I'd like
to bring this code to a style consistent with the rest of
Android. This code style currently disagrees with my toolchain.

Change-Id: Ibd24570c131e792532e46f7f44c64abac3a6979a
http://b/3090550
c1fcd02fa691588b27c0e6fec7250299b61b76e7 04-Nov-2010 Elliott Hughes <enh@google.com> Merge "Fix sign-extension issues in GZIPInputStream."
d09070ed02096c29562bfd6ee9200d7361647933 04-Nov-2010 Elliott Hughes <enh@google.com> Fix sign-extension issues in GZIPInputStream.

Bug: 3164285
Change-Id: Ic46a8d9a0ca23904fde85e70f4a8c218d4eb58f7
776200cb7a41006088286babc936d469c48c07fa 04-Nov-2010 Brian Carlstrom <bdc@google.com> Merge "Adding CloseGuard.setEnabled for StrictMode integration"
755e49ed8b5b39d6b45f96fc1aeb9e571d47989d 04-Nov-2010 Brian Carlstrom <bdc@google.com> Adding CloseGuard.setEnabled for StrictMode integration

Bug: 3041575
Change-Id: Ifa8f548c217210014c2aaff044fb4871629f47a7
4b438c7fabe5fe31b04ce9e5fe9a349649e82cd2 04-Nov-2010 Elliott Hughes <enh@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master
83757e93789f58a0d6cff4dd7fae6d1c08802c7e 04-Nov-2010 Jesse Wilson <jessewilson@google.com> Fix an AllTests build break.

Change-Id: If0fcf6b2bb2ac24be0a7a6f97e9a83ec18c33a64
7e85068122279d384411f1be61b0e8135b4112cf 04-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "We currently ship two Xml pull parsers. Use the same tests for each." into dalvik-dev
c760eac644b4e5ee6f4f9e35a404858370b1f4ec 04-Nov-2010 Elliott Hughes <enh@google.com> Merge "Add a public @hide InetAddress.isNumeric." into dalvik-dev
446f09b99ef377be011502f5302ac5f805672477 04-Nov-2010 Elliott Hughes <enh@google.com> Add a public @hide InetAddress.isNumeric.

Some frameworks/base callers want to know whether they can call
getAllByName/getByName without incurring a DNS lookup. Rather than have them
write their own JNI to do the AI_NUMERICHOST getaddrinfo(3) call, let's just
offer them ours.

Why don't I fully expose getaddrinfo(3)? Because it doesn't map to Java API
very well, and no-one needs that yet. So for now, let's take the easy way out.

Also improve some misleading javadoc.

Bug: 3073384
Change-Id: Ia1990313306254598a4e1480cae356f68ceaaf22
aa7c06989bc53cc20b97a408c2658cb8436b6541 03-Nov-2010 Brian Carlstrom <bdc@google.com> am 4b42e5d6: Merge remote branch \'goog/dalvik-dev\' into dalvik-dev-to-master

* commit '4b42e5d663c3339b257036aeb81eb13b41b0bd17':
59176c6c1f4ffa67b7061e0225dc65088f5f7130 03-Nov-2010 Jesse Wilson <jessewilson@google.com> We currently ship two Xml pull parsers. Use the same tests for each.

This splits the Expat parser test into SAX and pull tests, and
then includes Kxml in the implementations that are exercised by
the pull parser tests.

Change-Id: If295dec670dd9090692332fc94e98a944e4c47ee
http://b/3090550
4ede6a0abc99c0d881cae5171487c19455008334 03-Nov-2010 Elliott Hughes <enh@google.com> Merge "Let ICU extract country codes from locales." into dalvik-dev
30f1eb802bec10dcf7f918634b84c6f4de727d70 03-Nov-2010 Elliott Hughes <enh@google.com> Let ICU extract country codes from locales.

This wasn't a bug, but it was ugly and unnecessary code.

Bug: 3157134
Change-Id: Id407e1632c5bd1e1e150e3827598d1a93865314e
520f4dfe7400afeaf2e7243ce340445010d6dc22 03-Nov-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master
93a5c7b3e5a9feeb9bc6b23910de30663afc85e0 03-Nov-2010 Brian Carlstrom <bdc@google.com> am 7847d338: Move NativeCrypto dependencies on openssl internals to jsse.patch

* commit '7847d338d8a8dea7d01fa72c948d4138e5243e0a':
Move NativeCrypto dependencies on openssl internals to jsse.patch
947fa943264e2d4cbf1b4bb477a5d344c2539517 03-Nov-2010 Brian Carlstrom <bdc@google.com> Move NativeCrypto dependencies on openssl internals to jsse.patch

Change-Id: I97d328ddacc5d234f6a5b426123a9e7925f2b382
b7055704cfd6bfec7d28414e29dba278c44c746e 03-Nov-2010 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of a5c608e5 to dalvik-dev

Change-Id: I0319c132ec8f42782475906da267439938308e77
fa53f91a7d072e0d6b1ba621cec98065b9326c59 01-Nov-2010 Brian Carlstrom <bdc@google.com> TrustManager improvements

Overhaul of TrustManagerImpl
- PKIXParameters can now be final in TrustManagerImpl because we
always immediately create an IndexedPKIXParameters instead of only
doing it in SSLParametersImpl.createDefaultTrustManager.
- Use new KeyStore constructor for IndexedPKIXParameters to remove
duplicate logic for creating set of TrustAnchors from a KeyStore.
- Improved checkTrusted/cleanupCertChain to remove special cases for
directly trusting the end cert or pruning only self signed certs. To
support b/2530852, we need to stop prune the chain as soon as we
find any trust anchor (using newly improved
TrustManagerImpl.isTrustAnchor), which could be at the beginning,
middle, or end. That means cleanupCertChain can return an empty
chain if everything was trusted directly. (and we don't need to do
extra checks on exception cases to see if the problem was just that
the trust anchor was in the chain)
- isDirectlyTrusted -> isTrustAnchor here as well, using new
IndexedPKIXParameters.isTrustAnchor APIs
- Fix incorrect assumption in getAcceptedIssuers that all TrustAnchor
instances have non-null results for getTrustedCert.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/TrustManagerImpl.java

Removed indexing in createDefaultTrustManager since we always index now

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParametersImpl.java

Overhaul of IndexedPKIXParameters
- Single map from subject X500Principal to TrustAnchors
instead of two different X500Principal keyed maps to check
- Removed map based on encoded cert. For b/2530852, we want to treat
certs as equal if they have the same name and public key, not
byte-for-byte equality, which can be done with the remaining map.
Revamped isDirectlyTrusted into isTrustAnchor(cert) to perform this
new name/key based comparison.
- Added helper isTrustAnchor(cert, anchors) to reuse code in
non-IndexedPKIXParameters case in TrustManagerImpl.
- Added constructor from KeyStore
- Moved anchor indexing code to index() from old constructor

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/IndexedPKIXParameters.java

TestKeyStore.getPrivateKey allowed some existing test simplification.

luni/src/test/java/libcore/java/security/KeyStoreTest.java
luni/src/test/java/org/apache/harmony/xnet/provider/jsse/NativeCryptoTest.java
support/src/test/java/libcore/java/security/TestKeyStore.java

Added missing "fail()" before catching expected exceptions.

luni/src/test/java/libcore/java/security/KeyStoreTest.java

Expanded KeyManagerFactoryTest to excercise ManagerFactoryParameters b/1628001

luni/src/test/java/libcore/javax/net/ssl/KeyManagerFactoryTest.java

Added KeyStoreBuilderParametersTest because I thought I saw a bug in
KeyStoreBuilderParameters, but this convinced me otherwise.

luni/src/test/java/libcore/javax/net/ssl/KeyStoreBuilderParametersTest.java

New TrustManagerFactory test modeled on expanded KeyManagerFactoryTest.
test_TrustManagerFactory_intermediate specifically is targeting the
new functionality of b/2530852 to handling trust anchors within the
chain.

luni/src/test/java/libcore/javax/net/ssl/TrustManagerFactoryTest.java
support/src/test/java/libcore/java/security/StandardNames.java

Some initial on tests for Elliptic Curve (b/3058375) after the RI
started reporting it was supported. Removed old @KnownFailure
tags. Skipped a test on the RI that it can't handle. Improved some
assert messages.

luni/src/test/java/libcore/javax/net/ssl/SSLEngineTest.java
luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java
support/src/test/java/libcore/java/security/StandardNames.java
support/src/test/java/libcore/java/security/TestKeyStore.java

Removed unneeded bytes->javax->bytes->java case of which can just go bytes->java directly.
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Removed super()
luni/src/main/java/javax/net/ssl/KeyStoreBuilderParameters.java

Made Security.secprops final
luni/src/main/java/java/security/Security.java

Pulled SamplingProfiler fix from dalvik-dev branch
git cherry-pick --no-commit f9dc3450e8f23cab91efc9df99bb860221ac3d6c
dalvik/src/main/java/dalvik/system/SamplingProfiler.java

Bug: 2530852
Change-Id: I95e0c7ee6a2f66b6986b3a9da9583d1ae52f94dd
6e44a14e1dd49e52f0b6e6294ab320c6b7553a9c 03-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "Save packets by writing header+body as one packet where feasible." into dalvik-dev
0e3d6c788745af127a079a78e33b0967acc05773 02-Nov-2010 Jesse Wilson <jessewilson@google.com> Save packets by writing header+body as one packet where feasible.

We were previously writing the HTTP header as one byte array and
then the HTTP body as a series of byte arrays, even if the body
was quite small. With this change we prefer to write header plus
body as a single write. The downside of this approach is that in
the worst case we need to allocate 32K more bytes.

In the best case we save a packet. On my test this saved 40ms for
the roundtrip.

Is this the right approach? Allocating a right-sized buffer saves
memory and minimizes the number of packets sent. But it does make
this complex code more complex.

benchmark postBodySize run ms linear runtime
HttpURLConnection none Before 10.8 ======
HttpURLConnection none After 11.0 ======
HttpURLConnection 0 Before 10.9 ======
HttpURLConnection 0 After 11.1 ======
HttpURLConnection 1 Before 51.3 =============================
HttpURLConnection 1 After 11.0 ======
HttpURLConnection 1024 Before 51.7 ==============================
HttpURLConnection 1024 After 11.3 ======
HttpURLConnection 8192 Before 51.2 =============================
HttpURLConnection 8192 After 12.8 =======

http://b/3143475

Change-Id: Id22a8449118a4b8dd13e71915700ac78803d2d9f
0c4622a75c44464c52529f7b50d4af577eae6d58 02-Nov-2010 Elliott Hughes <enh@google.com> More shift removal.

A few more customers for OSMemory's peek/poke abilities, and a bunch of shifts
that should have been multiplications.

Bug: 3032515
Change-Id: Ic518fd8f7565d67523ea10e3f5afca3a9c8501b8
4ebbcacb121e18880e2ad9cb06207c570b94b862 02-Nov-2010 Jesse Wilson <jessewilson@google.com> Merge "Skip empty samples in the sampling profiler." into dalvik-dev
ac70e049492faf1e45c6101619618879a8aaa711 02-Nov-2010 Jesse Wilson <jessewilson@google.com> Skip empty samples in the sampling profiler.

Without this writeHprofData crashes when trying to read the first
element from that array.

Change-Id: I6ab25a9776bbe99be2923835883fb51d4ac7ed4a
151e876e5cfdfe830755f5b246f0496344dc9060 02-Nov-2010 Brian Carlstrom <bdc@google.com> am ea6c57a6: am 7c69a149: am aa37a8aa: Avoid races between OpenSSLSocketImpl I/O and close()

* commit 'ea6c57a69d74dee0ab809a784fcde1e83721567d':
Avoid races between OpenSSLSocketImpl I/O and close()
e4710982fe6aa29670e72176b84a6b90e84b20d4 02-Nov-2010 Brian Carlstrom <bdc@google.com> am 7c69a149: am aa37a8aa: Avoid races between OpenSSLSocketImpl I/O and close()

* commit '7c69a149b57dcac08fb0af3350bf7a1be2d8f358':
Avoid races between OpenSSLSocketImpl I/O and close()
b386c31c563fd522b18d0ee7b111df7b376c8394 02-Nov-2010 Brian Carlstrom <bdc@google.com> am aa37a8aa: Avoid races between OpenSSLSocketImpl I/O and close()

* commit 'aa37a8aa3af5a638cdf4e67f9273fb8118a11dee':
Avoid races between OpenSSLSocketImpl I/O and close()
1cfdb44a98861a7765d983afe9574d0c5f65b571 01-Nov-2010 Brian Carlstrom <bdc@google.com> Avoid races between OpenSSLSocketImpl I/O and close()

The previous change:

commit 5f2e6872311240319509aed64d9f58cd5b64719b
Author: Brian Carlstrom <bdc@google.com>
Date: Mon Aug 23 14:06:51 2010 -0700

SSLSocket.read should throw SocketException not NullPointerException

added checkOpen() to throw SocketException instead of
NullPointerException, but there was still a race between read/write on
one thread and close on another that could allow a
NullPointerException to escape. This change moves checkOpen() calls to
be protected by the existing writeLock/readLock/handshakeLock
synchronzied blocks to avoid this case.

byte buffer error checking for read/write is also moved into the to
lock region to preserve compatability as measured by the test:
libcore.javax.net.ssl.SSLSocketTest#test_SSLSocket_close

Bug: 3153162
d9703254ce2e11878fe6e4eaf12579ac0d1dcda4 01-Nov-2010 Brian Carlstrom <bdc@google.com> am 12e7cb01: Avoid races between OpenSSLSocketImpl I/O and close()

* commit '12e7cb011c48b228cdeb2b799fff54d7fbfc6d85':
Avoid races between OpenSSLSocketImpl I/O and close()
a304d6f48662f329641b7480fa36a274359c648b 01-Nov-2010 Brian Carlstrom <bdc@google.com> Avoid races between OpenSSLSocketImpl I/O and close()

The previous change:

commit 5f2e6872311240319509aed64d9f58cd5b64719b
Author: Brian Carlstrom <bdc@google.com>
Date: Mon Aug 23 14:06:51 2010 -0700

SSLSocket.read should throw SocketException not NullPointerException

added checkOpen() to throw SocketException instead of
NullPointerException, but there was still a race between read/write on
one thread and close on another that could allow a
NullPointerException to escape. This change moves checkOpen() calls to
be protected by the existing writeLock/readLock/handshakeLock
synchronzied blocks to avoid this case.

byte buffer error checking for read/write is also moved into the to
lock region to preserve compatability as measured by the test:
libcore.javax.net.ssl.SSLSocketTest#test_SSLSocket_close

Bug: 3153162
Change-Id: I16299f09dc91871407e88eb718073d21a816f683
c8a488347b5f497c1b59aaec90b95d36fd2f2b87 01-Nov-2010 Brian Carlstrom <bdc@google.com> am 2e37069e: Change SamplingProfiler to use a sampling interval instead of Hz

* commit '2e37069eaff2f16a539e739ca02c770aa889ed7b':
Change SamplingProfiler to use a sampling interval instead of Hz
6d61996dd5869cc02887b5b0dd8da6daf67c76d4 01-Nov-2010 Brian Carlstrom <bdc@google.com> Change SamplingProfiler to use a sampling interval instead of Hz

Change-Id: Ia88ce2863dac277e071ea05d39e7b8af2568d3f4
38c8b50656d474e37f5663d4d2ed2a8267a008fe 30-Oct-2010 Dan Bornstein <danfuzz@android.com> am 9103cc15: am 47d94511: am 95d52b3b: Remove a pointless test, which just tested a test support class.

* commit '9103cc15655ac1b6ec1a9f3af12f57df47ca0073':
Remove a pointless test, which just tested a test support class.
6518ef44a53c0001207ab8f614002960f6a2a004 30-Oct-2010 Dan Bornstein <danfuzz@android.com> am 47d94511: am 95d52b3b: Remove a pointless test, which just tested a test support class.

* commit '47d9451154a9eed03ae5d51b384547a292cc6759':
Remove a pointless test, which just tested a test support class.
1348de17ffbc1468d1dd736ee1475c9d13b630bd 30-Oct-2010 Dan Bornstein <danfuzz@android.com> am 95d52b3b: Remove a pointless test, which just tested a test support class.

* commit '95d52b3b1446af2fefd46f57efc1afb6c679e8cc':
Remove a pointless test, which just tested a test support class.
1e98b26b53aeb023e230bc1e83a0b77e2a6bc29d 30-Oct-2010 Dan Bornstein <danfuzz@android.com> Remove a pointless test, which just tested a test support class.

Change-Id: Ifef2b25500474f7e3b18ff97e7831717f2c9b391
23113fd8903db9047945869f10db107f314f3fc5 30-Oct-2010 Dan Bornstein <danfuzz@android.com> am 93e0cbb1: am d6103319: am aeeaa64f: Replace the implementation of this class.

* commit '93e0cbb1c2d34f5ba3af704f4f62dd3fe1a73b1d':
Replace the implementation of this class.
4997955765715f882aaccbab694d26322701c85f 30-Oct-2010 Dan Bornstein <danfuzz@android.com> am d6103319: am aeeaa64f: Replace the implementation of this class.

* commit 'd6103319a2a78f2bbc1e880c17565a54ee59c5f5':
Replace the implementation of this class.
a725578e21f106ce5f2bcd8f258a9f8438d88293 30-Oct-2010 Dan Bornstein <danfuzz@android.com> am aeeaa64f: Replace the implementation of this class.

* commit 'aeeaa64fb691606d39bd24305001a4f4c71acdc3':
Replace the implementation of this class.
fb25084ad9d06e375a77c5885d5197e8fa6a3fcf 30-Oct-2010 Dan Bornstein <danfuzz@android.com> Replace the implementation of this class.

Use the Apache Harmony version.

Change-Id: I5b9d6fac10dcaf20e16fccb73cfc2ae7110a683d
09a3de84f1b6a04bc1ebb8a7bfdeded46e42d9da 29-Oct-2010 Jesse Wilson <jessewilson@google.com> Remove the tree map in the HTTP headers.

This map is intended make looking up headers faster, but for real-world
sized datasets we spend more energy maintaining the map than we save from
using it.

I benchmarked the Android Market's HTTP connections' header use and it's
significantly faster to skip the map:

run us linear runtime
map+list 413.1 ==============================
list only 65.8 ====

Change-Id: I5b8fef6f999eb1bfe53eea2781f63cdd1002a273
41dba99e0976651920f8068a09f87cf278cb323b 29-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> am 6cbbd111: Don\'t BlockGuard on INetworkSystem.isConnected w/ 0 timeout.

* commit '6cbbd111d6e7505fb0b4ad362aba0de371b893d3':
Don't BlockGuard on INetworkSystem.isConnected w/ 0 timeout.
fae87080eb4fb97625a950015a203700275764d6 29-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> Don't BlockGuard on INetworkSystem.isConnected w/ 0 timeout.

Change-Id: Ie75e292051f377c15f35d1823a33e4a693ebc071
12b7eb49eccf890de2effe1ba86c147a6fc17ded 28-Oct-2010 Elliott Hughes <enh@google.com> Optimize DataInputStream and a few friends.

Also ensure that we're doing a correct readFully when reading
shorts/ints/longs.

Bug: 3032515
Change-Id: I39e6f926537f5d55063db8fc1c5a1b4b794746d4
bb7690d533432923c05097de1d8cba3cf67af12a 28-Oct-2010 Elliott Hughes <enh@google.com> Optimize DataOutputStream and RandomAccessFile.

Use OSMemory's byte[] peek/poke routines, and reuse a single buffer in
RandomAccessFile, as DataOutputStream was already doing.

Bug: 3032515
Change-Id: I50f34be9a9e126965759a221b21b05baf4b56083
f33415109f6964c4cd9182121b54b39ec2b82a53 28-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix broken interactions between HTTP response caches and redirects." into dalvik-dev
452928a713e0e0fc080e36b2987c77ee6006eae6 28-Oct-2010 Jesse Wilson <jessewilson@google.com> Fix broken interactions between HTTP response caches and redirects.

This fixes several specific problems:
- HTTP header map didn't contain the status line (under the null key)
- response code, message and version weren't set by caches
- caches didn't work with redirects

This change also makes some significant cleanup to the Headers class.
We might be able to simplify this further by dropping the map, should
that prove efficient enough.

Change-Id: Ib79ec17bef5978b3234f68102114eee7d4b7cda2
http://b/3139211
http://b/3139211
37581e05e52ec33d1b483273a1ba7fc02b9940b9 28-Oct-2010 Elliott Hughes <enh@google.com> Merge "Improve UnknownHostException detail messages." into dalvik-dev
4f89d07a81bce68d524ee52c431f1a741a76bbb0 28-Oct-2010 Elliott Hughes <enh@google.com> Improve UnknownHostException detail messages.

Bug: 2542766
Change-Id: I7de3c8326508294fb5d9f17f65b3f36c8fa856fa
b49ce503f4ed548f9ff61cff6f2929f2098b5d5f 27-Oct-2010 Andy McFadden <fadden@android.com> am d1280478: am cb5204fe: am 09b06cc1: Set capabilities sooner.
d140d8ae57a5fa0c623b8261562d69cf846e3724 27-Oct-2010 Andy McFadden <fadden@android.com> am cb5204fe: am 09b06cc1: Set capabilities sooner.
4b6e439368dda1782ad66443a22964fd09fbd65b 27-Oct-2010 Andy McFadden <fadden@android.com> am 09b06cc1: Set capabilities sooner.
bd8b08aa4dde4160da050c370cd55b254066600b 27-Oct-2010 Andy McFadden <fadden@android.com> Set capabilities sooner.

Bug 3135433.

Change-Id: Ief58bdfff2cb82d7824ef796c2c1031f525f6ee9
b60a177562e47e089e4d8214d7e5961f716c8894 27-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix ResponseCache to support caching of HTTPS responses." into dalvik-dev
b880cf2151d5a84eba2459c72ad89b7d05b67d51 27-Oct-2010 Jesse Wilson <jessewilson@google.com> Fix ResponseCache to support caching of HTTPS responses.

Previously it would fail with an internal error because of
inconsistencies because HttpURLConnectionImpl claimed to be
'connected' when it had a cache hit, and HttpsURLConnection
acted upon this by talking to its sockets.

Change-Id: I51f4215ceb9c5fd851223a501488306fa6d382b1
http://b/3043966
02e950ee9c89f0e612e0f7f730e2c73af31e030d 27-Oct-2010 Jesse Wilson <jessewilson@google.com> Flip 'abstract public' to 'public abstract'.

Change-Id: Ice9b81c63cea4a3c08f697a28180c161a13e640e
410f92f4279ab39ae3f64263c8a9829e0d78a19c 27-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix some flakiness in hostname tests." into dalvik-dev
dad1d1756d3cc9feeb45d14ca502823e2eaba6f2 27-Oct-2010 Jesse Wilson <jessewilson@google.com> Fix some flakiness in hostname tests.

This was failing on some networks where 'testhost' was a DNS-registered
host name.

Change-Id: I99a14f397d54048f0cf3772577836eb5fc0e48cc
b0c4b8d807b474ae49488ac7e19c8bb71b90b9dd 27-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing concurrency bug in CloseGuardTester." into dalvik-dev
43d6294e7c3dc6ab2c7ca7882ecc916dd07ab162 27-Oct-2010 Jesse Wilson <jessewilson@google.com> Fixing concurrency bug in CloseGuardTester.

Hudson was complaining with this exception:
java.util.ConcurrentModificationException
at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:576)
at libcore.dalvik.system.CloseGuardTester.assertEverythingWasClosed(CloseGuardTester.java:59)
at libcore.java.lang.ProcessBuilderTest.testDestroyDoesNotLeak(ProcessBuilderTest.java:91)

Change-Id: Ie6be12186c94e14ba4d5df8a392144269abb598b
433b8bb4b1a8565a64d2edbfc52658fe690e4c04 26-Oct-2010 Jesse Wilson <jessewilson@google.com> Fixing process documentation.

This is to address enh's comments to change 76199.

Change-Id: Ie5cccab4aa212f647bb16b821518a4ab79e5c175
f3c837c1f639f580c4c07a08da07c707df211e04 26-Oct-2010 Brian Carlstrom <bdc@google.com> am 51658b75: am 686547e2: (-s ours) am 481134c0: Merge "Remove Elliptic Curve CA certificate" into gingerbread
6eb84fe0e1236b00582dc6174cd6193346a81096 26-Oct-2010 Brian Carlstrom <bdc@google.com> am 686547e2: (-s ours) am 481134c0: Merge "Remove Elliptic Curve CA certificate" into gingerbread
551d8d21d89f2aad29f5f845e3aba30d15bf19e6 26-Oct-2010 Brian Carlstrom <bdc@google.com> am 481134c0: Merge "Remove Elliptic Curve CA certificate" into gingerbread
e58fe04fa75f65aadba2b75b61a5811d62c1623c 26-Oct-2010 Brian Carlstrom <bdc@google.com> Merge "Remove Elliptic Curve CA certificate" into gingerbread
12fd04142921913866f5a09bb806ccc3638058d7 26-Oct-2010 Brian Carlstrom <bdc@google.com> Remove Elliptic Curve CA certificate

Bug: 3131996
Change-Id: I6fc19c87c489905802607aaf587cd551ef9cb09e
c02217820cdd29a5beb594452d2b8de23e8524fc 26-Oct-2010 Elliott Hughes <enh@google.com> Fix Float.parseFloat (et cetera) javadoc.

None of these constructors or decode/parse.*/valueOf methods throw
NumberFormatException when passed null, so they shouldn't claim to do so.

Bug: http://code.google.com/p/android/issues/detail?id=12114
Change-Id: I813cad4457d5db11617b615488efa8f5b4beb1cf
7c1028a19bc5345dbeb07575afe17be215b14d8b 26-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Close process-spawned streams when the process is destroyed." into dalvik-dev
eff74af96317bac7b753270f67f9572af937eea6 26-Oct-2010 Nick Kralevich <nnk@google.com> am 76fe13de: am 06f64732: am 96f748a2: Merge "fix operator precedence bug when calculating bits." into gingerbread

Merge commit '76fe13dee6dad5589871cd66b1c9e0e734027be6' into dalvik-dev

* commit '76fe13dee6dad5589871cd66b1c9e0e734027be6':
fix operator precedence bug when calculating bits.
f0ae3bd628c49c0e15deb56992e33eeb82798e87 25-Oct-2010 Jesse Wilson <jessewilson@google.com> Close process-spawned streams when the process is destroyed.

This is consistent with the RI's behavior. I can't come up with
a reasonable approach to closing these streams if they are never
requested; that's presumably a finalizer problem anyway because
only the finalizer knows that the streams won't be needed.

This change also adds test infrastructure around CloseGuard.
My approach hooks into the logger rather than reflection because
I can't be sure where the CloseGuard instance would be in the
object hierarchy. This approach also degrades reasonably when
run on the reference implementation (where it passes).

Change-Id: I08e882494d69d4245e40fb1035edbc6d3df23fbc
http://b/3111120
c6ab0ad464a6f62a04599bf9f975a976ae9314f3 26-Oct-2010 Nick Kralevich <nnk@google.com> am 06f64732: am 96f748a2: Merge "fix operator precedence bug when calculating bits." into gingerbread

Merge commit '06f64732e3035e0d2ba69dbd3c6c0257ff462601'

* commit '06f64732e3035e0d2ba69dbd3c6c0257ff462601':
fix operator precedence bug when calculating bits.
134aa28a1079552409293bb3ca00feb619e6b26a 26-Oct-2010 Nick Kralevich <nnk@google.com> am 96f748a2: Merge "fix operator precedence bug when calculating bits." into gingerbread

Merge commit '96f748a207e41e2131744d57d6476985ade258dd' into gingerbread-plus-aosp

* commit '96f748a207e41e2131744d57d6476985ade258dd':
fix operator precedence bug when calculating bits.
8d66ec297492070963a8ce7031110f0a21c00d92 26-Oct-2010 Nick Kralevich <nnk@google.com> Merge "fix operator precedence bug when calculating bits." into gingerbread
cf843c2df375c1b7d81c6ec96c8a63cb858b2773 25-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Change ThreadGroup to no longer hold strong references to threads." into dalvik-dev
aaa0d48662573075513622a03896e8100ff974b9 23-Oct-2010 Jesse Wilson <jessewilson@google.com> Change ThreadGroup to no longer hold strong references to threads.

This is intended to fix an issue where threads were leaking when
they weren't started.

This changes a lot of the internals of ThreadGroup, taking advantage
of a new utility method dereferenceIterable that turns a collection
of references into the corresponding iterable of referents.

Change-Id: I8d96c79b4ee30c557276854b38149b9131b656ee
http://b/1937448
040276e49a686fdf3651bd7ce018016809b4cf8f 23-Oct-2010 Jesse Wilson <jessewilson@google.com> am 386bfdcf: am 409630d7: am 50458469: Merge "Documenting WiFi sign in and SSL fallback with HttpURLConnection." into gingerbread

Merge commit '386bfdcfd822fcb1a5ae0c0b15bacbffbdbf3560' into dalvik-dev

* commit '386bfdcfd822fcb1a5ae0c0b15bacbffbdbf3560':
Documenting WiFi sign in and SSL fallback with HttpURLConnection.
ca263ba949d5521666208493145329a078b6cbe2 23-Oct-2010 Jesse Wilson <jessewilson@google.com> am 409630d7: am 50458469: Merge "Documenting WiFi sign in and SSL fallback with HttpURLConnection." into gingerbread

Merge commit '409630d709ac74a8d560b173d199d272472db022'

* commit '409630d709ac74a8d560b173d199d272472db022':
Documenting WiFi sign in and SSL fallback with HttpURLConnection.
1a36bb80cbeeee0e915fc1adbdf4b8924479ade7 23-Oct-2010 Jesse Wilson <jessewilson@google.com> am 50458469: Merge "Documenting WiFi sign in and SSL fallback with HttpURLConnection." into gingerbread
eac8a19d615322061346d35d7b80a1d5b9222ec4 23-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Documenting WiFi sign in and SSL fallback with HttpURLConnection." into gingerbread
017c80c2b5d60dc48ab6c97c6e0148b022ce8b03 23-Oct-2010 Jesse Wilson <jessewilson@google.com> Documenting WiFi sign in and SSL fallback with HttpURLConnection.

Change-Id: Ibb0f86aefd4d4db8d1560608f62735a357da73ea
http://b/2860493
fcd68321cf2bfbd1d780b50b16fa114be8664e9c 20-Oct-2010 Nick Kralevich <nnk@google.com> fix operator precedence bug when calculating bits.

Change-Id: I521cdb82f7ad9b2d5ec983716770dac218c49478
020fcea0c50264e56aceadfaef420efcba77ac0a 22-Oct-2010 Brian Carlstrom <bdc@google.com> am 57f2ec9d: Merge "Move improved cert chain handling from CertificateChainValidator to TrustManagerImpl"
352620f3349105f79a5cf8c59ede8046dcb593d9 22-Oct-2010 Jesse Wilson <jessewilson@google.com> am 28013f56: am 2e5cc6ce: am 4506af08: Merge "Improving the documentation around SecureRandom.setSeed()." into gingerbread
8b960dcbf6aad6e8e6790f161a67be4bb28df2e5 22-Oct-2010 Brian Carlstrom <bdc@google.com> Merge "Move improved cert chain handling from CertificateChainValidator to TrustManagerImpl"
8bb3b1aa515af650a52a65f113d1265251815b4d 22-Oct-2010 Jesse Wilson <jessewilson@google.com> am 2e5cc6ce: am 4506af08: Merge "Improving the documentation around SecureRandom.setSeed()." into gingerbread
c7b4a349461e8f38b315126203a6f4a717c9a0a1 22-Oct-2010 Jesse Wilson <jessewilson@google.com> am 4506af08: Merge "Improving the documentation around SecureRandom.setSeed()." into gingerbread
7e173945d90336bd4137c1068973c99f112db110 22-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Improving the documentation around SecureRandom.setSeed()." into gingerbread
d85aa1b78ae6fb5c7a3d35ba5e25f7e4f553a886 22-Oct-2010 Elliott Hughes <enh@google.com> Add fail() calls to exception tests.

Bug: 3122084
Change-Id: I69a2d0a06727bcc07d8e45e9fecf9b4ce646eaec
5595797cc5f85fcfd3540af85ff5dd7cbe83197d 22-Oct-2010 Jesse Wilson <jessewilson@google.com> Improving the documentation around SecureRandom.setSeed().

Change-Id: Ica6f2814702a90faf96da6fb96de9f7d295102a7
http://b/3036439
73dcfb04d01f80712cfd07444628d47f29f104ad 22-Oct-2010 Elliott Hughes <enh@google.com> Merge "Test for ArrayIndexOutOfBoundsException detail messages." into dalvik-dev
445379fd18d5fc2d2f939b859dd1cd626c3adb0b 22-Oct-2010 Brian Carlstrom <bdc@google.com> am 0f5d75dd: am 1439a25b: (-s ours) am 58972ff8: Merge "Restore md2WithRSAEncryption version of Version Class 3 CA" into gingerbread

Merge commit '0f5d75dd11702259d8214fa10530efc67e6a53fc' into dalvik-dev

* commit '0f5d75dd11702259d8214fa10530efc67e6a53fc':
Restore md2WithRSAEncryption version of Version Class 3 CA
4d6a39932d4b2733f05b1be79d1163073fe7f0ba 20-Oct-2010 Brian Carlstrom <bdc@google.com> Move improved cert chain handling from CertificateChainValidator to TrustManagerImpl

Bug: 2658463

Change-Id: I014ebfee1f6e2f46b7a842b5bbf6549bf484f3c0
09bba923b00272f4e883756ec4f7e9a10c785e00 22-Oct-2010 Jesse Wilson <jessewilson@google.com> am a0ea4f00: am c3c555bc: am 10548999: Merge "Remove obsolete test from AllTests group." into gingerbread

Merge commit 'a0ea4f00f1b086590d80fdf90c2e400095ecad1f' into dalvik-dev

* commit 'a0ea4f00f1b086590d80fdf90c2e400095ecad1f':
Remove obsolete test from AllTests group.
ddf1ac5b05a2ece9f638b99c23186884467df7fc 22-Oct-2010 Elliott Hughes <enh@google.com> Test for ArrayIndexOutOfBoundsException detail messages.

Bug: 3122084
Change-Id: I928df3ee8eea5fbbb3a1bab44827d3363882da2f
2e631365980dca138fac0fd3364fdd1c1b88d380 22-Oct-2010 Brian Carlstrom <bdc@google.com> am 1439a25b: (-s ours) am 58972ff8: Merge "Restore md2WithRSAEncryption version of Version Class 3 CA" into gingerbread

Merge commit '1439a25b9eea8a21dc439ff97c279ba484273f91'

* commit '1439a25b9eea8a21dc439ff97c279ba484273f91':
Restore md2WithRSAEncryption version of Version Class 3 CA
8836397fc9050428ad8b445c043244c61dab417b 22-Oct-2010 Jesse Wilson <jessewilson@google.com> am c3c555bc: am 10548999: Merge "Remove obsolete test from AllTests group." into gingerbread

Merge commit 'c3c555bcce296baf2d0d557890bc500fbb5cf23b'

* commit 'c3c555bcce296baf2d0d557890bc500fbb5cf23b':
Remove obsolete test from AllTests group.
e628bd6c0836457af7c592172c3b83857a9890be 22-Oct-2010 Elliott Hughes <enh@google.com> Merge "There's nothing old about OldCharsetTest." into dalvik-dev
b9a522eee435c8335766a5435a1a2a21c4928035 22-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge commit '0fde4f69' into manualmerge

Conflicts:
luni/src/test/java/org/apache/harmony/archive/tests/java/util/jar/JarFileTest.java
luni/src/test/java/org/apache/harmony/archive/tests/java/util/zip/ZipFileTest.java

Change-Id: I8f7233f1fff35a1bea6ac56057b453f458f27a1b
8873c6b44b1657812019e5b4814d0dec4c29c510 22-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge commit 'd9768e71' into manualmerge

Conflicts:
luni/src/test/java/org/apache/harmony/luni/tests/java/io/ObjectInputStreamTest.java
luni/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/DatagramChannelTest.java
luni/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/spi/SelectorProviderTest.java

This re-deletes org/apache/harmony/nio/tests/java/nio/channels/DatagramChannelTest, which
we've already deleted in other branches.

Change-Id: I90ecf0151e1d0bc2ab26ab4a21abd2ec718ce6df
a0673778bdf367b47b39c02ac0501919ad9f1458 22-Oct-2010 Elliott Hughes <enh@google.com> There's nothing old about OldCharsetTest.

I wrote this test, fairly recently. It was accidentally bundled in with other
deprecated tests.

Change-Id: I987267deaac312578475c9ab12d427f0f09a69fe
8e8e6ab8e5ded4df59111ddd3ec4c9671f0338d4 22-Oct-2010 Brian Carlstrom <bdc@google.com> am 58972ff8: Merge "Restore md2WithRSAEncryption version of Version Class 3 CA" into gingerbread

Merge commit '58972ff81a06cea8080149845a37f65bac92315d' into gingerbread-plus-aosp

* commit '58972ff81a06cea8080149845a37f65bac92315d':
Restore md2WithRSAEncryption version of Version Class 3 CA
836ef53ffe52d218e4cc3f5b6d37c132c89970e2 22-Oct-2010 Jesse Wilson <jessewilson@google.com> am 10548999: Merge "Remove obsolete test from AllTests group." into gingerbread

Merge commit '10548999e5f30de296b90fd4ab3969f808a4b1cc' into gingerbread-plus-aosp

* commit '10548999e5f30de296b90fd4ab3969f808a4b1cc':
Remove obsolete test from AllTests group.
d8df18ea4f214bc593efe099a090a16bf1224f5b 22-Oct-2010 Brian Carlstrom <bdc@google.com> am 5f3c50f9: am 6a4f4c86: am 13727ea1: Fix SamplingProfiler for use in zygote

Merge commit '5f3c50f96e0ab4f84bef5e41a82471f781169daa' into dalvik-dev

* commit '5f3c50f96e0ab4f84bef5e41a82471f781169daa':
Fix SamplingProfiler for use in zygote
b7cdbbac7343ff64f436b3df66a2921b7e685828 21-Oct-2010 Brian Carlstrom <bdc@google.com> Merge "Restore md2WithRSAEncryption version of Version Class 3 CA" into gingerbread
5af3dc5683f5f3a92d544f16a5315b5853a2f4cf 21-Oct-2010 Brian Carlstrom <bdc@google.com> am 6a4f4c86: am 13727ea1: Fix SamplingProfiler for use in zygote

Merge commit '6a4f4c869a9d24f104c11c49bbc3e5238975869b'

* commit '6a4f4c869a9d24f104c11c49bbc3e5238975869b':
Fix SamplingProfiler for use in zygote
86c3ae26bccc4a7d615cd33e13132f00f27ff106 21-Oct-2010 Brian Carlstrom <bdc@google.com> Restore md2WithRSAEncryption version of Version Class 3 CA

Restoring the md2WithRSAEncryption version of

C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority

for HttpsURLConnection compatibility.

Bug: 3119154
Change-Id: I7a0ec4f3a1448987dcdd0ba1d0692a87ce4b3861
cf986d13ebc44a5526907c078905809a18c13879 21-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Remove obsolete test from AllTests group." into gingerbread
cc81c0489c36f2d35a7a264a2c159594526f0faf 21-Oct-2010 Jesse Wilson <jessewilson@google.com> Remove obsolete test from AllTests group.

http://b/3102252
Change-Id: If9a1b1291e6241153b1cb732dc62f2f157b4acfe
c88d8293c67366216719bdd1d6a82d8b0a14cbb0 21-Oct-2010 Jesse Wilson <jessewilson@google.com> am 107bf370: am 304ca349: am 29ad030d: Merge "Test that strings interned manually and then later loaded as literals maintain reference equality." into gingerbread

Merge commit '107bf3709fb39f0d77fd9720f6597bd1b284f436' into dalvik-dev

* commit '107bf3709fb39f0d77fd9720f6597bd1b284f436':
Test that strings interned manually and then later loaded as literals maintain reference equality.
a80889e366f91864c6b00e3d52e211bf03c81289 21-Oct-2010 Jesse Wilson <jessewilson@google.com> am 712fd372: Merge "Remove tests for SecurityManager." into gingerbread

Merge commit '712fd372335884af710df9a52a1bae5cb1195ff6' into gingerbread-plus-aosp

* commit '712fd372335884af710df9a52a1bae5cb1195ff6':
Remove tests for SecurityManager.
f2f6f3221224533c31deb2e4bd1e8468ca5c58d1 21-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Remove tests for SecurityManager." into gingerbread
fed791163d4f314a250b9400a5a9e5183c6bf6c0 21-Oct-2010 Elliott Hughes <enh@google.com> Improve our modified UTF-8 implementation.

I was out looking for customers for the new OSMemory peek/poke for byte[]s,
and ran into this mess. I also noticed we didn't have any real tests for
DataOutputStream. This patch rewrites DataOuputStream and ObjectOutputStream
to be simpler and cleaner, pulls modified UTF-8 encoding support out into
ModifiedUtf8 where it belongs, and adds a new special ICU-avoiding case for
String.getBytes("UTF-16BE"). And adds tests.

Bug: 3032515
Change-Id: I618c8b1bda13138feed7710e29aee0f96f2e9b95
83e3a7d269f556934a4c5fc7b9ba6a4d189b9278 21-Oct-2010 Jesse Wilson <jessewilson@google.com> Remove tests for SecurityManager.

Many of the changes are to org.apache.harmony.* tests that we've copied
from upstream. We'll remove these duplicated tests completely once we
have the upstream Harmony tests properly integrated into CTS.

Change-Id: Idd6cfbeba5345156b207b9433928ee37b662c395
http://b/3102252
7c5c439b7360d24194f30193c8c09c34fccab2ba 21-Oct-2010 Jesse Wilson <jessewilson@google.com> am 304ca349: am 29ad030d: Merge "Test that strings interned manually and then later loaded as literals maintain reference equality." into gingerbread

Merge commit '304ca349c57b0a14a9494d9f61d86d6c08a83e9d'

* commit '304ca349c57b0a14a9494d9f61d86d6c08a83e9d':
Test that strings interned manually and then later loaded as literals maintain reference equality.
c868935f4730e5f7e079c1a650b42b85e9f19939 21-Oct-2010 Brian Carlstrom <bdc@google.com> am 13727ea1: Fix SamplingProfiler for use in zygote

Merge commit '13727ea1b665f82cb54f8178ea47b969edbab33b' into gingerbread-plus-aosp

* commit '13727ea1b665f82cb54f8178ea47b969edbab33b':
Fix SamplingProfiler for use in zygote
cb04fa46fe03e83516b8bc1e99eb9f93a5e8e5b9 21-Oct-2010 Brian Carlstrom <bdc@google.com> Fix SamplingProfiler for use in zygote

Two small fixes to fix SamplingProfilerIntegration:
- Fix name of Timer thread to match native code, allowing
"set prop persist.sampling_profiler 1"
to profile startup of apps.
- clone newThreads array since ThreadSet may reuse it internally
(which is the case in SamplingProfilerIntegration's use of
SamplingProfiler.newThreadGroupTheadSet)

Bug: 3117365
Change-Id: Ic8c2779b7961a39b87494253bb99c56e6e35ae15
db9652728d82c68793d50a85f580519ad4fb8727 20-Oct-2010 Brian Carlstrom <bdc@google.com> am ef6370c1: Fix initialization races in X509CertImpl

Merge commit 'ef6370c1b62edf75dc7c3e5411468b55627e037d' into dalvik-dev

* commit 'ef6370c1b62edf75dc7c3e5411468b55627e037d':
Fix initialization races in X509CertImpl
ccd1790163a07dd7fd7e47e2999aaa298ace6444 20-Oct-2010 Brian Carlstrom <bdc@google.com> Fix initialization races in X509CertImpl

X509CertImpl instances can be shared between threads without a caller
knowing due to the CERT_CACHE in X509CertFactoryImpl. In some cases,
initialization of pairs of fields such as notBefore/notAfter and
sigAlgOID/sigAlgName were protected by checking if only was one of the
two values were initialized. This could lead to one thread half
initializing a pair and a second thread seeing the half initialized
pair, would assume both halves were initialized, returning an
uninitialized value. Even in the lazy initialization of single fields
there was no use of volatile or synchonized to be properly safe.

Change-Id: Ia7d6238927d0e77f4f2a512458eac66e97f2abbb
http://code.google.com/p/android/issues/detail?id=11870
Bug: 2295023
e10b0ce4fdc119bf37e4f7662ec416a997190150 20-Oct-2010 Elliott Hughes <enh@google.com> Improve Data(Input|Output)(Stream)? documentation.

Bug: 3032515
Change-Id: I2e9574507a05ff5fa48ee6c85f0ce619c230baa6
7e4287b2d518fea4d2665e20ded5edcf52e9e14f 19-Oct-2010 Elliott Hughes <enh@google.com> BufferIterator support for byte[].

Bug: 3032515
Change-Id: I040a92c3ce241aa97719ff94e3cc31c62473bf46
b607d852d85dc0f9aec238f3f94bd5b9cfa8bcd2 20-Oct-2010 Jesse Wilson <jessewilson@google.com> am 29ad030d: Merge "Test that strings interned manually and then later loaded as literals maintain reference equality." into gingerbread

Merge commit '29ad030d7c75c5a9b97d1047066c119f3f154810' into gingerbread-plus-aosp

* commit '29ad030d7c75c5a9b97d1047066c119f3f154810':
Test that strings interned manually and then later loaded as literals maintain reference equality.
b617aeffd39b7d48c87022deda40d482acba92f5 20-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Test that strings interned manually and then later loaded as literals maintain reference equality." into gingerbread
3d649d572c3a96e2d66a196ff876a41f487f028c 19-Oct-2010 Jesse Wilson <jessewilson@google.com> Test that strings interned manually and then later loaded as literals maintain reference equality.

http://b/3098960

Change-Id: Ie045df6b1b70eac21ce0a1a19be97692f1278e6f
4a0583e42f5319d79983ee941ecf190efbaed446 19-Oct-2010 Elliott Hughes <enh@google.com> Merge "Factor out the code that peeks/pokes ints/longs/shorts from a byte[]." into dalvik-dev
5bb8f5ccb395c0766fd8488f27194d192e83d6e0 19-Oct-2010 Elliott Hughes <enh@google.com> Factor out the code that peeks/pokes ints/longs/shorts from a byte[].

My intention here is that I'll want to reuse this code in my BufferIterator
for byte[]s (http://b/3032515).

This actually makes a noticeable nio benchmark improvement, presumably because
of the switch to static methods, so this helps http://b/2985452 too.

I plan on experimenting with native implementations for the new OSMemory
methods, but that can wait.

Change-Id: Ie5b34910b1e99930ba1f13c0e7002245b901039b
68110d9a750dde23b3cfc6461c0057907db1d03d 19-Oct-2010 Brian Carlstrom <bdc@google.com> am 8ae047f5: Merge "Change Engine.getInstance interfaces to make usage less error prone"

Merge commit '8ae047f5329f8bc216e3fe377c068fd8457966f4' into dalvik-dev

* commit '8ae047f5329f8bc216e3fe377c068fd8457966f4':
Change Engine.getInstance interfaces to make usage less error prone
97db4f04e5246cc256a3b12bdda6e324e3efb484 19-Oct-2010 Brian Carlstrom <bdc@google.com> Merge "Change Engine.getInstance interfaces to make usage less error prone"
2e3edb64b48a8a9bbf6367843b77eb0a2e40ca00 19-Oct-2010 Brian Carlstrom <bdc@google.com> Change Engine.getInstance interfaces to make usage less error prone

Change-Id: I4c58c95ab4216b52aa8af4fbce7a8d7f4860c2b7
54ecab1343d95f0705d4fc6775f1ef8a638dfbda 19-Oct-2010 Dan Bornstein <danfuzz@android.com> am 490a5fc2: am c009f346: am b27ce0cf: Clean up the construction-time arrangements.

Merge commit '490a5fc23d6cec32b265b9782b1a73aa13779063' into dalvik-dev

* commit '490a5fc23d6cec32b265b9782b1a73aa13779063':
Clean up the construction-time arrangements.
395448ccb8bb8e16f64660d444aa95c6fe766baf 19-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Follow up on HTTP proxy selector docs." into dalvik-dev
141f3e3ae9df7bdc67c68dac67043807be85823b 19-Oct-2010 Dan Bornstein <danfuzz@android.com> am c009f346: am b27ce0cf: Clean up the construction-time arrangements.

Merge commit 'c009f346c827aad63df5d3ebec169443a0e9ebf2'

* commit 'c009f346c827aad63df5d3ebec169443a0e9ebf2':
Clean up the construction-time arrangements.
35cf5dc3833ae1edbbfe8fa554622d1fcde7b29f 19-Oct-2010 Dan Bornstein <danfuzz@android.com> am b27ce0cf: Clean up the construction-time arrangements.

Merge commit 'b27ce0cf1efee048fa6e4c20bc6b38e4ebad6930' into gingerbread-plus-aosp

* commit 'b27ce0cf1efee048fa6e4c20bc6b38e4ebad6930':
Clean up the construction-time arrangements.
eb9c03231574a96b09beedcb12bebb2ccf73d3a1 19-Oct-2010 Brian Carlstrom <bdc@google.com> am 0a480846: Remove Engine.spi memory leak by clearing after access

Merge commit '0a480846a9798c763b088a122ab0dcd3dc3a17b6' into dalvik-dev

* commit '0a480846a9798c763b088a122ab0dcd3dc3a17b6':
Remove Engine.spi memory leak by clearing after access
696a7e675ec51712b9ee07b1ea68a2d95fa0e17d 19-Oct-2010 Brian Carlstrom <bdc@google.com> Remove Engine.spi memory leak by clearing after access

Also other minor code cleanup such as:
- made assorted fields final
- fixed lazy initialization without volatile or sync

Bug: 1322442
Change-Id: I34e428dff5f07a7291d635c724111d44f2deff1c
1a26be5736fea24c69c7f0fed5f75d9890a5c4fa 19-Oct-2010 Jesse Wilson <jessewilson@google.com> Follow up on HTTP proxy selector docs.

Change-Id: Ib1e5071f112deb5129ea721836e028a26045fb91
http://b/3097518
6c162cf68e3999085e0dd6cbe16716aca65b0b02 19-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Rewrite ProxySelector and write a test to go with it." into dalvik-dev
c4350d7ca930bce515dc83284ca244d1acf67d4b 19-Oct-2010 Jesse Wilson <jessewilson@google.com> Rewrite ProxySelector and write a test to go with it.

http://b/3097518

Change-Id: Ic6b28ab21e00b6b55a01ae7927b87ac0d0375b44
5d08286db7a6c87ff5912d5a994a3c718f428ac3 19-Oct-2010 Elliott Hughes <enh@google.com> Add and use STATIC_ASSERT for compile-time asserts, and remove some 32-bit limits.

This started with the question "are the fields in struct statfs really 64-bit?",
but grew a bit. I'll need ftruncate64 in bionic before we can kill
offsetTooLarge completely.

Change-Id: Ia1dcda49e2c93c3cb0f9efe61a70c667c1415bee
a618b2adc4a5147290ba5bf1a6904de4f9ae8968 18-Oct-2010 Elliott Hughes <enh@google.com> Remove more tabs.

Missed these in the big cleanup because they didn't look like code we were maintaining. The
xalan/xpath/et cetera stuff is all still tab-filled, and there are a few package.html files
too (for which I've raised http://b/3107546).

Change-Id: I7ad956f3c410701fec13731c9affbcedd24a4a9a
4d84584d1c510307049de284df4c3e9684ed889f 18-Oct-2010 Elliott Hughes <enh@google.com> Give every NumberFormatException a useful detail message.

Bug: 3095335
Change-Id: If0409c6328c2fa2a35e5027e20b4786fe87e693b
6d89aa770f865fddcf31e524082490b784f96f53 16-Oct-2010 Dan Bornstein <danfuzz@android.com> Clean up the construction-time arrangements.

There was all sorts of code here that pointlessly pushed the bulk of
the constructor operation off to instance methods, which (a) could
cause confusion when there's bona fide trouble -- that is, it's better
to throw in the constructor -- and (b) didn't really help with
efficiency in any realistic scenario -- that is, while the original
code nominally avoided extra work until first use, in practice first
use occurs immediately after construction (and in the same thread,
even).

Now, all the one-time work happens in the constructor, and we get to
avoid asking "am I set up yet?" before doing anything substantive.

While I was in the territory, I also did a bit of more minor code
hygiene maintenance.

Change-Id: I41225d373e3ab481b6bc3da5b74bde89c4fd895e
4d8084fb61ab50f09f1f56373180c53732c5ad16 15-Oct-2010 Jesse Wilson <jessewilson@google.com> am 4ad543f9: am d9523a4f: am 7fe9c8ad: Merge "Tests for HTTP bugs using HTTPS through a proxy." into gingerbread

Merge commit '4ad543f9f67feed3c4a759179abd06e365560bf3' into dalvik-dev

* commit '4ad543f9f67feed3c4a759179abd06e365560bf3':
Tests for HTTP bugs using HTTPS through a proxy.
e29318396b54489dc191a09ecff0423fbec77d70 15-Oct-2010 Jesse Wilson <jessewilson@google.com> am 12dad512: am 2545edd2: am 5b539e57: Merge "Fix HTTPS hostname verification to use the URL host, not the proxy host." into gingerbread

Merge commit '12dad512f75d1b669b36f2dad7bc4d7a90a3b38e' into dalvik-dev

* commit '12dad512f75d1b669b36f2dad7bc4d7a90a3b38e':
Fix HTTPS hostname verification to use the URL host, not the proxy host.
9aae0b05fb693883942f3eeb1cf8bb70f7b20eab 15-Oct-2010 Jesse Wilson <jessewilson@google.com> am 85d374cc: am 4a0c7d60: am 69a0026b: Merge "Fix Class.getMethods() for visibility bridge methods." into gingerbread

Merge commit '85d374cc9d4f28b01e00c53b87f165226cc84757' into dalvik-dev

* commit '85d374cc9d4f28b01e00c53b87f165226cc84757':
Fix Class.getMethods() for visibility bridge methods.
4f3de1d99249a4f131d2e14dbb0ce2ee9b0e4c0b 15-Oct-2010 Jesse Wilson <jessewilson@google.com> am 00e115ca: am 4aa863a0: Fix Class.getMethods() for visibility bridge methods.

Merge commit '00e115caecc5fadf010f1677d7b0cb3e83065461' into dalvik-dev

* commit '00e115caecc5fadf010f1677d7b0cb3e83065461':
Fix Class.getMethods() for visibility bridge methods.
0a08accfcab905bf61869821c516e5feff38b654 15-Oct-2010 Jesse Wilson <jessewilson@google.com> am d9523a4f: am 7fe9c8ad: Merge "Tests for HTTP bugs using HTTPS through a proxy." into gingerbread

Merge commit 'd9523a4fccf57cd61cc37b354657e62085196fe0'

* commit 'd9523a4fccf57cd61cc37b354657e62085196fe0':
Tests for HTTP bugs using HTTPS through a proxy.
95e85ea7b12bde63ca270c50fc53bed2d9b83708 15-Oct-2010 Jesse Wilson <jessewilson@google.com> am 2545edd2: am 5b539e57: Merge "Fix HTTPS hostname verification to use the URL host, not the proxy host." into gingerbread

Merge commit '2545edd22e32e1d2e1cd3c70543fcef112c9d66a'

* commit '2545edd22e32e1d2e1cd3c70543fcef112c9d66a':
Fix HTTPS hostname verification to use the URL host, not the proxy host.
a188de47d85b4672d07bcbfbc4510424da3c72d9 15-Oct-2010 Jesse Wilson <jessewilson@google.com> am 4a0c7d60: am 69a0026b: Merge "Fix Class.getMethods() for visibility bridge methods." into gingerbread

Merge commit '4a0c7d60ce66e466cda5d2d8b470847132e18a0c'

* commit '4a0c7d60ce66e466cda5d2d8b470847132e18a0c':
Fix Class.getMethods() for visibility bridge methods.
43d3a45c05679d848aa1793d2c34b87d6459f9bc 15-Oct-2010 Jesse Wilson <jessewilson@google.com> am 4aa863a0: Fix Class.getMethods() for visibility bridge methods.

Merge commit '4aa863a08a4fed2f8b8967f63e0df61d72f28b79'

* commit '4aa863a08a4fed2f8b8967f63e0df61d72f28b79':
Fix Class.getMethods() for visibility bridge methods.
d5e1f8ac40fa22c56b25c545a0ce0705f2f13a14 15-Oct-2010 Brian Carlstrom <bdc@google.com> am 49a52427: am 7e39eff6: am ed72e08a: Change SSLParametersImpl.getDefaultTrustManager to not throw checked exceptions

Merge commit '49a52427c960328491105cbb08d6c3167ed34d97' into dalvik-dev

* commit '49a52427c960328491105cbb08d6c3167ed34d97':
Change SSLParametersImpl.getDefaultTrustManager to not throw checked exceptions
83e7124e5179cd4e8f7dd2ca16984826f396e7db 15-Oct-2010 Brian Carlstrom <bdc@google.com> am f97a046b: am 0dc94964: am d6e53e42: SSLParameters.getDefaultTrustManager() should lazily initialize its value

Merge commit 'f97a046bfb36b5bfee49fd527d4de7cb21b211e2' into dalvik-dev

* commit 'f97a046bfb36b5bfee49fd527d4de7cb21b211e2':
SSLParameters.getDefaultTrustManager() should lazily initialize its value
ffe15b73a21c3376d257dc281f065a8c5d9e1f48 15-Oct-2010 Brian Carlstrom <bdc@google.com> am 7e39eff6: am ed72e08a: Change SSLParametersImpl.getDefaultTrustManager to not throw checked exceptions

Merge commit '7e39eff6d4fea3af79d9fff32e620ee86ba700b4'

* commit '7e39eff6d4fea3af79d9fff32e620ee86ba700b4':
Change SSLParametersImpl.getDefaultTrustManager to not throw checked exceptions
7a6c0c638ddb91a27b66b78dc18c288b6a4fe711 15-Oct-2010 Brian Carlstrom <bdc@google.com> am 0dc94964: am d6e53e42: SSLParameters.getDefaultTrustManager() should lazily initialize its value

Merge commit '0dc949645456739af3cbb8e3bc6221798abb00c5'

* commit '0dc949645456739af3cbb8e3bc6221798abb00c5':
SSLParameters.getDefaultTrustManager() should lazily initialize its value
d52af5e93af206d894725cb02e8c178255905325 14-Oct-2010 Jesse Wilson <jessewilson@google.com> am 7fe9c8ad: Merge "Tests for HTTP bugs using HTTPS through a proxy." into gingerbread

Merge commit '7fe9c8ad62d8fcedf14ed44761de32a5a7ad569b' into gingerbread-plus-aosp

* commit '7fe9c8ad62d8fcedf14ed44761de32a5a7ad569b':
Tests for HTTP bugs using HTTPS through a proxy.
8afd0fa6bac86e9b5c08659d88045a137c3766b2 14-Oct-2010 Jesse Wilson <jessewilson@google.com> am 5b539e57: Merge "Fix HTTPS hostname verification to use the URL host, not the proxy host." into gingerbread

Merge commit '5b539e574f03fd07a03d8b9acfdad1599f947918' into gingerbread-plus-aosp

* commit '5b539e574f03fd07a03d8b9acfdad1599f947918':
Fix HTTPS hostname verification to use the URL host, not the proxy host.
70dfafb848a4a2ae04079e89e0f201a4870e2202 14-Oct-2010 Jesse Wilson <jessewilson@google.com> am 69a0026b: Merge "Fix Class.getMethods() for visibility bridge methods." into gingerbread

Merge commit '69a0026b7f1f3d5840440dca045dd6cbdd67fdcc' into gingerbread-plus-aosp

* commit '69a0026b7f1f3d5840440dca045dd6cbdd67fdcc':
Fix Class.getMethods() for visibility bridge methods.
df8bbebbd8e919ea6de61a9add23084693900a69 14-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Tests for HTTP bugs using HTTPS through a proxy." into gingerbread
964ba9eec5d582def4a15ccb4e05c2744eecb07a 14-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix HTTPS hostname verification to use the URL host, not the proxy host." into gingerbread
cdc5c4419afca754ae676756ab9be408fc77ea7b 14-Oct-2010 Jesse Wilson <jessewilson@google.com> Tests for HTTP bugs using HTTPS through a proxy.

Change-Id: I01b470204d4da46016794ab7040d5751e7116958
http://b/3097277
http://b/3097518
986271a8bec0b32c5cd91ed13784ca8b4f892e68 14-Oct-2010 Jesse Wilson <jessewilson@google.com> Fix HTTPS hostname verification to use the URL host, not the proxy host.

Change-Id: I1a0de6f650b89ce0eed908567a04d2e86f76f889
http://b/3097277
d05a4257f74e741ff28554e4e5984f27af00efe0 14-Oct-2010 Jesse Wilson <jessewilson@google.com> Fix Class.getMethods() for visibility bridge methods.

We had a bug where we couldn't find synthetic methods added by
subclasses to boost visibility of their superclass methods.

The old logic appeared to work fine with the covariant return
type synthetic methods, but broke down on these visibility
synthetic methods.

For reference, the general rules are:
- when there is a synthetic method for a covariant return type,
include it in getMethods() but prefer the natural method on
getMethod() calls.
- when there is a synthetic method for a visibility boost, prefer
it over the superclass method on getMethods() and getMethod()
calls.

Change-Id: Ied1f9fc9892d211647da87959746839f7e0e1140
http://b/2908173
c8c9106b9ef5865f4fc744734218e2cda99741b6 14-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix Class.getMethods() for visibility bridge methods." into gingerbread
24763b221a730c83fb47e1226b86ff88d5cce9ad 14-Oct-2010 Jesse Wilson <jessewilson@google.com> Fix Class.getMethods() for visibility bridge methods.

We had a bug where we couldn't find synthetic methods added by
subclasses to boost visibility of their superclass methods.

The old logic appeared to work fine with the covariant return
type synthetic methods, but broke down on these visibility
synthetic methods.

For reference, the general rules are:
- when there is a synthetic method for a covariant return type,
include it in getMethods() but prefer the natural method on
getMethod() calls.
- when there is a synthetic method for a visibility boost, prefer
it over the superclass method on getMethods() and getMethod()
calls.

Change-Id: Ied1f9fc9892d211647da87959746839f7e0e1140
http://b/2908173
65d31b8cd74e45ac0a5d5f813cdefc1a5d5cffc3 13-Oct-2010 Brian Carlstrom <bdc@google.com> am ed72e08a: Change SSLParametersImpl.getDefaultTrustManager to not throw checked exceptions

Merge commit 'ed72e08ad6ee16694681c8c2317f97de6d9f4323' into gingerbread-plus-aosp

* commit 'ed72e08ad6ee16694681c8c2317f97de6d9f4323':
Change SSLParametersImpl.getDefaultTrustManager to not throw checked exceptions
40a7345017fca0fdfdb7752158d82d08b4ee1b5b 13-Oct-2010 Brian Carlstrom <bdc@google.com> Change SSLParametersImpl.getDefaultTrustManager to not throw checked exceptions

Change-Id: Id5a042873acc0a8185567ca18ce009c06e54f38d
ead187827b895c1d2bd79927962a20ec3098bfc4 13-Oct-2010 Brian Carlstrom <bdc@google.com> am d6e53e42: SSLParameters.getDefaultTrustManager() should lazily initialize its value

Merge commit 'd6e53e42867824f97c9fb9c427cc188897ea9315' into gingerbread-plus-aosp

* commit 'd6e53e42867824f97c9fb9c427cc188897ea9315':
SSLParameters.getDefaultTrustManager() should lazily initialize its value
fa2b3294a93908f1fa2dc138f8ce78204acb7a13 13-Oct-2010 Brian Carlstrom <bdc@google.com> SSLParameters.getDefaultTrustManager() should lazily initialize its value

Make SSLParametersImpl's defaultKeyManager, defaultTrustManager,
defaultSecureRandom, and defaultParameters all use the single check
idiom for initialization. Move such initialization for
defaultKeyManager and defaultTrustManager out of SSLParametersImpl
constructor into static functions, replacing original
getDefaultTrustManager simple accessor with code that performs lazy
initialization.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParametersImpl.java

dirrect -> direct
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParametersImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketImpl.java

hanshake -> handshake
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLRecordProtocol.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/HandshakeProtocol.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketImpl.java

Bug: 2954292
Change-Id: I19bae541613666903b57fccf3e8bfef65b74d6cf
6cc488a50126be18936419efedbc2d60a97f05cd 13-Oct-2010 Elliott Hughes <enh@google.com> Add a hidden method to clear our Java-level DNS cache.

So the network guys can call this when the network changes, in case addresses
that were valid on that network aren't valid on the new network.

Change-Id: I07175b9b754bb4745a2f78b43f024723891c3f05
a5cf4361e0ce85c2f3b0e890d5b9dd1ca8757833 12-Oct-2010 Brian Carlstrom <bdc@google.com> Merge "Revised CloseGuard usage pattern" into dalvik-dev
6c572d1409f1fb50ab710158c9f5272cb34869bc 12-Oct-2010 Elliott Hughes <enh@google.com> Remove a dead test runner.

Bug: 3087671
Change-Id: I23b90567408f34e9f6da89ee7ad49dbeb551ce1c
0220df2cd9254a75fdb043819881f6df93a3f182 12-Oct-2010 Elliott Hughes <enh@google.com> Merge "Remove dead scripts." into dalvik-dev
d7422fa21cb1d71af6428e08640efede020e84e4 12-Oct-2010 Elliott Hughes <enh@google.com> Remove dead scripts.

Bug: 3087671
Change-Id: I95eb77ea66e289c9ea1c6106b4eb4654ca15215d
06f02d6188dd14f6224f30133380f028f54d0d53 12-Oct-2010 Brian Carlstrom <bdc@google.com> Revised CloseGuard usage pattern

- CloseGuard.get() instants are now "unopened"
- In constructor cases, guard.open("...") is now at the end
- In metod cases, guard.open("...") is now after resource acquisition
- guard null pointer checks in finalizers in case constructor threw exception

Bug: 2645458
Change-Id: Ieb874a8c33b347768a9fa7437b3dd16f3d56d886
d3b8c4ed397a69a90105edb448ccee1fe09a0999 10-Oct-2010 Brian Carlstrom <bdc@google.com> resolve automerge of 6a27d01d from master to dalvik-dev

Change-Id: Ie1b68c1f643fcabefa3403c9528a3031bfbd375f
fdc097b8f8bc54ec8dd4ee55634c9ceef0d155aa 10-Oct-2010 Brian Carlstrom <bdc@google.com> resolve automerge of 755f7f25 from master to dalvik-dev

Change-Id: Ibea16cf8020efaf7419b39bec7b8540b17395a3f
7e5a14649ea14769ea302d66bee1e21896d671fc 10-Oct-2010 Jesse Wilson <jessewilson@google.com> am 058c0764: am 765c2139: Drop a proper finalizer in RandomAccessFile to catch resource leaks.

Merge commit '058c07643f09975c4361634984babbbf6e5bd157'

* commit '058c07643f09975c4361634984babbbf6e5bd157':
Drop a proper finalizer in RandomAccessFile to catch resource leaks.
4edda286febbe13a2df7892fe25f0ae00cf950e1 10-Oct-2010 Elliott Hughes <enh@google.com> am a8e7b5e9: am ee3152da: am 0e8cadc6: java.io.File javadoc improvements.

Merge commit 'a8e7b5e9f115615fbe63be23827589c1744e4076' into dalvik-dev

* commit 'a8e7b5e9f115615fbe63be23827589c1744e4076':
java.io.File javadoc improvements.
c28e4aa7990c52f2375ceb77e3333b7ad097786b 10-Oct-2010 Jesse Wilson <jessewilson@google.com> am 644de474: am 0ad02672: Test what happens to RandomAccessFile when it is leaked.

Merge commit '644de474dc8f7be16072fe55c1d0288f4ba9b6bc'

* commit '644de474dc8f7be16072fe55c1d0288f4ba9b6bc':
Test what happens to RandomAccessFile when it is leaked.
81aac93e9a5ac109ce15c6d42947a4ee1286e1b6 10-Oct-2010 Elliott Hughes <enh@google.com> am ee3152da: am 0e8cadc6: java.io.File javadoc improvements.

Merge commit 'ee3152daa9742c7cde95926efea58da2b5e8daeb'

* commit 'ee3152daa9742c7cde95926efea58da2b5e8daeb':
java.io.File javadoc improvements.
3200b3cf99222b0ff1b919be2d7f49f7d260ebed 10-Oct-2010 Elliott Hughes <enh@google.com> am cc27a457: am 290e262c: am 575c2a63: Merge "Fix and improve Matcher.group(int) documentation." into gingerbread

Merge commit 'cc27a457bf6d3e20f03b7ab9c2767dc79b47a666' into dalvik-dev

* commit 'cc27a457bf6d3e20f03b7ab9c2767dc79b47a666':
Fix and improve Matcher.group(int) documentation.
1e2e9bb2f24c1db3d68d7a1dd98533b6491b92a7 10-Oct-2010 Elliott Hughes <enh@google.com> am 290e262c: am 575c2a63: Merge "Fix and improve Matcher.group(int) documentation." into gingerbread

Merge commit '290e262c8507f0a95bd732e1ee1e3b8eedc3667e'

* commit '290e262c8507f0a95bd732e1ee1e3b8eedc3667e':
Fix and improve Matcher.group(int) documentation.
3867e78669bd5d944ad5d304da6f68f4b2dc51ff 08-Oct-2010 Elliott Hughes <enh@google.com> Fix getLong/getDouble for byte[]-backed nio Buffers.

A regression I introduced. Happily, the correct version doesn't sacrifice speed.

Bug: 3066167
Change-Id: Idef17012b8d84a05644ba161bfdc462a38cf3326
a3b0403ef0113d5fb009ba2eef2271496b9c8e5b 08-Oct-2010 Elliott Hughes <enh@google.com> Merge "Fix our byte order behavior for slice and wrap operations." into dalvik-dev
c55347b96d4810758298dc140288ee68e7692f09 08-Oct-2010 Elliott Hughes <enh@google.com> Fix our byte order behavior for slice and wrap operations.

Our documentation was correct, but our implementation was not. Includes
extensive new tests.

Bug: 3066167
Change-Id: Ie7d6e6432f1d675f20af020cc662dab6eb181a50
40ccc050cd3660fd1366ee3f68972f99953587db 08-Oct-2010 Jesse Wilson <jessewilson@google.com> am 765c2139: Drop a proper finalizer in RandomAccessFile to catch resource leaks.

Merge commit '765c2139fde183fc60e6fcb22a6b75378d7dbcb5' into gingerbread-plus-aosp

* commit '765c2139fde183fc60e6fcb22a6b75378d7dbcb5':
Drop a proper finalizer in RandomAccessFile to catch resource leaks.
8dfcd50545270d5eabe34b0b837bcf5367dd3931 08-Oct-2010 Jesse Wilson <jessewilson@google.com> Drop a proper finalizer in RandomAccessFile to catch resource leaks.

Submitted to dalvik-dev as https://android-git.corp.google.com/g/72685
http://b/3015023

Change-Id: I30635aab91774f5eaecd354e8418ba6401705757
6ee8418957005e6813881c3e32eaec7b002069c1 08-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Drop a proper finalizer in RandomAccessFile to catch resource leaks." into dalvik-dev
38946ea928f5f4ca4405f9758f5b17d7c0ac971a 07-Oct-2010 Jesse Wilson <jessewilson@google.com> am 0ad02672: Test what happens to RandomAccessFile when it is leaked.

Merge commit '0ad02672a6062a1c511a04ef975276d1803f0c24' into gingerbread-plus-aosp

* commit '0ad02672a6062a1c511a04ef975276d1803f0c24':
Test what happens to RandomAccessFile when it is leaked.
5730955d704447669e28eab9e06afbf21b21d298 07-Oct-2010 Elliott Hughes <enh@google.com> am 0e8cadc6: java.io.File javadoc improvements.

Merge commit '0e8cadc6caf397fdfca97505978defdc6953a714' into gingerbread-plus-aosp

* commit '0e8cadc6caf397fdfca97505978defdc6953a714':
java.io.File javadoc improvements.
d2e5aef1a1dcba9af7319daeb9f229fd1dc9630e 07-Oct-2010 Brian Carlstrom <bdc@google.com> am 44b0fe09: am fc15fc0f: am 7b4e6828: Merge "Favor Harmony\'s CertificateFactory.X509 over BouncyCastle\'s" into gingerbread

Merge commit '44b0fe099dae10a9908194af0aebf2849adce785' into dalvik-dev

* commit '44b0fe099dae10a9908194af0aebf2849adce785':
Favor Harmony's CertificateFactory.X509 over BouncyCastle's
b542553c79c1c2754c6f3916cc5a5366cdc601ac 07-Oct-2010 Brian Carlstrom <bdc@google.com> am fc15fc0f: am 7b4e6828: Merge "Favor Harmony\'s CertificateFactory.X509 over BouncyCastle\'s" into gingerbread

Merge commit 'fc15fc0f9902bdecd1c535e6e06ea52669695fce'

* commit 'fc15fc0f9902bdecd1c535e6e06ea52669695fce':
Favor Harmony's CertificateFactory.X509 over BouncyCastle's
e6d041652814aa398e0988504fd806c7755d3e4f 07-Oct-2010 Jesse Wilson <jessewilson@google.com> Drop a proper finalizer in RandomAccessFile to catch resource leaks.

http://b/3015023
Change-Id: Ic938c82d3353a2231619f2bd87e4480a2b57c622
c9f930ffc3367263d01a270b10f177578389aef5 07-Oct-2010 Jesse Wilson <jessewilson@google.com> Test what happens to RandomAccessFile when it is leaked.

Change-Id: I6b5044a5c3375c9e9456b9c72d897ecd2ccd7e26
http://b/3015023
9073c82bbf9b3a27c1c640aefedb3d92facaca34 07-Oct-2010 Elliott Hughes <enh@google.com> java.io.File javadoc improvements.

Bug: http://code.google.com/p/android/issues/detail?id=5929
Change-Id: Ie24c1060a968e3da611aef000ff29762f6f7101a
2f7191c51e89623fea165a626c77d819d697dc2c 07-Oct-2010 Elliott Hughes <enh@google.com> am 575c2a63: Merge "Fix and improve Matcher.group(int) documentation." into gingerbread

Merge commit '575c2a638dd8ad8ca4a548b394bd3a938ab49c1d' into gingerbread-plus-aosp

* commit '575c2a638dd8ad8ca4a548b394bd3a938ab49c1d':
Fix and improve Matcher.group(int) documentation.
3e56edaf1f5de67aec760b1935049a779022cb13 07-Oct-2010 Elliott Hughes <enh@google.com> Merge "Fix and improve Matcher.group(int) documentation." into gingerbread
8737e69d0bd92a1f71ce7cfa8c4aa07cb19b0e7b 07-Oct-2010 Elliott Hughes <enh@google.com> Finish (for now) the icu4jni cleanup.

This is the most interesting change, now all the pieces are in place. The
concrete Collator implementation (now called RuleBasedCollatorICU for clarity)
becomes quite a bit simpler.

Bug: 3045778
Change-Id: I98fb5b78c42a13584e541818aa4427c78add79d0
b6200e61647ee3bce800819bbcbf0140a56f6047 06-Oct-2010 Elliott Hughes <enh@google.com> Fix and improve Matcher.group(int) documentation.

Bug: http://code.google.com/p/android/issues/detail?id=11723
Change-Id: Idd1c9009f1267ca7624ba8492a162bd72232f2cc
bd191963c959b490fcf6dd0838aaa15621c885fd 06-Oct-2010 Brian Carlstrom <bdc@google.com> am 0a1b4097: Merge "Remove expiring trustcenter.de CA certificates"

Merge commit '0a1b40977deb39a8559ae2f7cf7df6151ad5a715' into dalvik-dev

* commit '0a1b40977deb39a8559ae2f7cf7df6151ad5a715':
Remove expiring trustcenter.de CA certificates
daa8bf3cfe8ea3519da9bd0939527d0aeb2ff4a9 06-Oct-2010 Brian Carlstrom <bdc@google.com> Merge "Remove expiring trustcenter.de CA certificates"
67a9200ce16641b6ed7ac0b9c1dce4cb1e029e6c 06-Oct-2010 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of 33cb9824 to dalvik-dev

Change-Id: I36508876ffcda358379a0955f107c8706e6130e2
91df52c85c709c44928a7b577ed6c6434537a1dc 06-Oct-2010 Brian Carlstrom <bdc@google.com> Remove OpenSSLSocketImpl.instanceCount

Its use in ActivityThread is being replaced with Debug.countInstancesOfClass(OpenSSLSocketImpl.class)

Bug: 3015791
Change-Id: I26ece579f8e0fce62f17f398055b16aceaaf1b08
2c5cfeb6a76137e837426562a56d84876f67cc41 06-Oct-2010 Brian Carlstrom <bdc@google.com> am 8a81dbf2: am 1d2861f4: am 7d38fa0f: Merge "Test updates for new SecretKeyFactory.PBKDF2WithHmacSHA1 support" into gingerbread

Merge commit '8a81dbf2f44e9b6af155dc918945174f07dad7b9' into dalvik-dev

* commit '8a81dbf2f44e9b6af155dc918945174f07dad7b9':
Test updates for new SecretKeyFactory.PBKDF2WithHmacSHA1 support
b3503a3a594841bd2f74d0291f7ed1639e7d47c3 06-Oct-2010 Brian Carlstrom <bdc@google.com> Remove expiring trustcenter.de CA certificates

Bug: 2570926
Change-Id: Id3f466e68e5ceb8d5d9a080b17e0bcd128d1f9fd
c88c7e1e7ca851b658a9daf588cc650c571b9069 06-Oct-2010 Brian Carlstrom <bdc@google.com> am 1d2861f4: am 7d38fa0f: Merge "Test updates for new SecretKeyFactory.PBKDF2WithHmacSHA1 support" into gingerbread

Merge commit '1d2861f436ccf4017c45ee3be2fce8dcd0d6859b'

* commit '1d2861f436ccf4017c45ee3be2fce8dcd0d6859b':
Test updates for new SecretKeyFactory.PBKDF2WithHmacSHA1 support
0cd5adbbb6384fb861575b692d1d68f43e57360d 05-Oct-2010 Brian Carlstrom <bdc@google.com> am 7b4e6828: Merge "Favor Harmony\'s CertificateFactory.X509 over BouncyCastle\'s" into gingerbread

Merge commit '7b4e6828e66d6e13a105ac29427e0d231ba2e6f5' into gingerbread-plus-aosp

* commit '7b4e6828e66d6e13a105ac29427e0d231ba2e6f5':
Favor Harmony's CertificateFactory.X509 over BouncyCastle's
2277d7aa893994e964b2cf8964d15ce5e8522626 05-Oct-2010 Brian Carlstrom <bdc@google.com> Merge "Favor Harmony's CertificateFactory.X509 over BouncyCastle's" into gingerbread
f20fd5ffefd3a688d66023a723fd75d7ebe3cb50 30-Sep-2010 Brian Carlstrom <bdc@google.com> CloseGuard: finalizers for closeable objects should log complaints

Introducing CloseGuard which warns when resources are implictly
cleaned up by finalizers when an explicit termination method, to use
the Effective Java "Issue 7: Avoid finalizers" terminology, should
have been used by the caller.

libcore classes that can use CloseGuard now do so.

Bug: 3041575
Change-Id: I4a4e3554addaf3075c823feb0a0ff0ad1c1f6196
9208d9e78ad55082f313f5ccafe42602c151a3dd 05-Oct-2010 Brian Carlstrom <bdc@google.com> Favor Harmony's CertificateFactory.X509 over BouncyCastle's

Bug: 2225935
Change-Id: Ibca92c9fa34fc539ebb8ea86fb0ced62e3dbe5de
b88e030f20ecb14aad58a80868ec852ee0c1cb8f 05-Oct-2010 Jesse Wilson <jessewilson@google.com> am 51a8be20: am bf1bdd0a: am c84c0e51: Merge "Remove logging tests duplicated from Harmony" into gingerbread

Merge commit '51a8be20a63718519a5095603e95eee7e71b9090' into dalvik-dev

* commit '51a8be20a63718519a5095603e95eee7e71b9090':
Remove logging tests duplicated from Harmony
9a5fae85fd6d99cd75da2fc66ccc80c7c799cc63 05-Oct-2010 Jesse Wilson <jessewilson@google.com> am bf1bdd0a: am c84c0e51: Merge "Remove logging tests duplicated from Harmony" into gingerbread

Merge commit 'bf1bdd0ad12aabf9fbbbda30a938ce2b625d38c9'

* commit 'bf1bdd0ad12aabf9fbbbda30a938ce2b625d38c9':
Remove logging tests duplicated from Harmony
23d368dc246f3d4a3135fd7922ac96a82810f6a1 05-Oct-2010 Brian Carlstrom <bdc@google.com> am 7d38fa0f: Merge "Test updates for new SecretKeyFactory.PBKDF2WithHmacSHA1 support" into gingerbread

Merge commit '7d38fa0f3db07f3771584725c77c30c6e36bf953' into gingerbread-plus-aosp

* commit '7d38fa0f3db07f3771584725c77c30c6e36bf953':
Test updates for new SecretKeyFactory.PBKDF2WithHmacSHA1 support
eb326ba872eda34792bb32bfd50e13e8c6659390 05-Oct-2010 Brian Carlstrom <bdc@google.com> Merge "Test updates for new SecretKeyFactory.PBKDF2WithHmacSHA1 support" into gingerbread
98be6ebf24fcbfee0bd3c8eddc05c0f682fc1d9e 04-Oct-2010 Brian Carlstrom <bdc@google.com> Test updates for new SecretKeyFactory.PBKDF2WithHmacSHA1 support

Bug: 3059950

Change-Id: I24546cb9e38b17ea615e36de3606ec6d373df594
84c6e2f00ac5bb5c675e621b0754ee03b5bf769c 05-Oct-2010 Jesse Wilson <jessewilson@google.com> am aebb7953: am 4cd20f1e: am 0886bf8a: Merge "Delete test for the AES algorithm parameter generator, which we no longer support." into gingerbread

Merge commit 'aebb79538766e7dd016ea308c3e3b1cba03ce433' into dalvik-dev

* commit 'aebb79538766e7dd016ea308c3e3b1cba03ce433':
Delete test for the AES algorithm parameter generator, which we no longer support.
9dd841de4a3dce8d38737bee176ef97d92f6d814 05-Oct-2010 Jesse Wilson <jessewilson@google.com> am 4cd20f1e: am 0886bf8a: Merge "Delete test for the AES algorithm parameter generator, which we no longer support." into gingerbread

Merge commit '4cd20f1e12cc63449cd3c0809e7b444f52504c67'

* commit '4cd20f1e12cc63449cd3c0809e7b444f52504c67':
Delete test for the AES algorithm parameter generator, which we no longer support.
402196a8662cbdcd0a7fbed4ac7d0da6ac304a4c 04-Oct-2010 Jesse Wilson <jessewilson@google.com> am c84c0e51: Merge "Remove logging tests duplicated from Harmony" into gingerbread

Merge commit 'c84c0e51624cc5370070626f568b6330c6334808' into gingerbread-plus-aosp

* commit 'c84c0e51624cc5370070626f568b6330c6334808':
Remove logging tests duplicated from Harmony
1a65e7a4eacd94a43f1d76d9de39c5a985e63c70 04-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Remove logging tests duplicated from Harmony" into gingerbread
b32212cb8653c7d742093593321d4fa03c005f37 04-Oct-2010 Jesse Wilson <jessewilson@google.com> am 0886bf8a: Merge "Delete test for the AES algorithm parameter generator, which we no longer support." into gingerbread

Merge commit '0886bf8a2aef6db921dd843873c8d622a28073ac' into gingerbread-plus-aosp

* commit '0886bf8a2aef6db921dd843873c8d622a28073ac':
Delete test for the AES algorithm parameter generator, which we no longer support.
aec3dac4f552ffdf81b30f6257b754103e41a353 04-Oct-2010 Elliott Hughes <enh@google.com> Fix the default decomposition mode of Collators.

It's unclear why we thought it shouldn't be NO_DECOMPOSITION. That's the
default for both ICU and the RI. This patch undoes the part of the change that
introduced this discrepancy, and undoes a change we made to silence a test
that was warning us about the discrepancy.

Bug: 1635883
Change-Id: Ic0e121e9b10e4f332b04b3cca1946d8bce32c06e
be084e6b3bb10ae39b1e90b9c3fa52c7668fd819 04-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Delete test for the AES algorithm parameter generator, which we no longer support." into gingerbread
acb19fc1d015b6adfee95cf02fb851737edadd20 04-Oct-2010 Elliott Hughes <enh@google.com> Merge "More package-jiggling for our ICU-related code." into dalvik-dev
57d8e03c2e5945330beb79de7b090821f5c87826 04-Oct-2010 Elliott Hughes <enh@google.com> More package-jiggling for our ICU-related code.

Bug: 3045778
Change-Id: Ia9b29b28512deca6bd9dad806468238f8db2a8b9
b83ae10ecd4acdac040de7203a6a49391e3d7d06 04-Oct-2010 Jesse Wilson <jessewilson@google.com> Delete test for the AES algorithm parameter generator, which we no longer support.

The RI does not include an algorithm parameter generator for AES.

http://b/3061194

BouncyCastle dropped support for AES on February 18 2007:
http://www.bouncycastle.org/viewcvs/viewcvs.cgi/java/crypto/src/org/bouncycastle/jce/provider/BouncyCastleProvider.java.diff?r1=1.38&r2=1.39
http://www.bouncycastle.org/viewcvs/viewcvs.cgi/java/crypto/src/org/bouncycastle/jce/provider/JDKAlgorithmParameterGenerator.java.diff?r1=1.3&r2=1.4

Unfortunately, their checkin comment isn't intention-revealing:
"fixed implictyCa to work with KeyFactory
added SEED/Camllia support to CMS
added further ISO9797 mac support
further refactoring of JCE symmetric cipher code

Change-Id: I9aa045e1b5c8103cdf736efb1eb927c1acc747ae
5f065330ae84af38cbaa7c9136eb075d377e16a5 04-Oct-2010 Jesse Wilson <jessewilson@google.com> am 35e28dfc: am 849425a7: am a20d5db4: Fix a test with broken expectations for localized arabic exponent.

Merge commit '35e28dfc5cfe5fa1b1fb12109c2d365842e38d1e' into dalvik-dev

* commit '35e28dfc5cfe5fa1b1fb12109c2d365842e38d1e':
Fix a test with broken expectations for localized arabic exponent.
06d1647dd1be86b338e3a232b2605ecf0dc4b987 04-Oct-2010 Jesse Wilson <jessewilson@google.com> am 849425a7: am a20d5db4: Fix a test with broken expectations for localized arabic exponent.

Merge commit '849425a7c0935b4695d1861edc8a92589e89f9ab'

* commit '849425a7c0935b4695d1861edc8a92589e89f9ab':
Fix a test with broken expectations for localized arabic exponent.
552fafd45a348f842649242da325080cbdd19c0a 04-Oct-2010 Jesse Wilson <jessewilson@google.com> am a20d5db4: Fix a test with broken expectations for localized arabic exponent.

Merge commit 'a20d5db4cfbe096a20ec1073e4c0b140ae4ceee0' into gingerbread-plus-aosp

* commit 'a20d5db4cfbe096a20ec1073e4c0b140ae4ceee0':
Fix a test with broken expectations for localized arabic exponent.
754453be098d6f307e8445a6d3886c12bae6b3b3 04-Oct-2010 Jesse Wilson <jessewilson@google.com> Fix a test with broken expectations for localized arabic exponent.

Also tagging the RI as failing this test, and fixing a broken bug number
in another test.

Change-Id: I800e82832050d45df6853fd7d3c5bc14e60842d3
http://b/3060661
1f7f22caf1682f27373ca7f479eb4aaa93148874 04-Oct-2010 Brian Carlstrom <bdc@google.com> am ecfa0645: am 65eee03b: am 2d9aee7a: Merge "Update TestUtils certificates to fix CertPathBuilder1Test and CertPathTest" into gingerbread

Merge commit 'ecfa0645b680e5f68e90eda5db0413ef72306d3b' into dalvik-dev

* commit 'ecfa0645b680e5f68e90eda5db0413ef72306d3b':
Update TestUtils certificates to fix CertPathBuilder1Test and CertPathTest
bef33c6600c2165843fd0f992a24bef06c322aa5 04-Oct-2010 Brian Carlstrom <bdc@google.com> am 65eee03b: am 2d9aee7a: Merge "Update TestUtils certificates to fix CertPathBuilder1Test and CertPathTest" into gingerbread

Merge commit '65eee03bc90772ba766348ac4be4927959314c80'

* commit '65eee03bc90772ba766348ac4be4927959314c80':
Update TestUtils certificates to fix CertPathBuilder1Test and CertPathTest
bc815250c3799f9b417cf85a7c7f1be1c9662e31 04-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Save unnecessary close() and flush() calls in HTTP uploads." into dalvik-dev
12317fcf0f732d66db7a2353c86cf3f66c195d8a 04-Oct-2010 Brian Carlstrom <bdc@google.com> am 2d9aee7a: Merge "Update TestUtils certificates to fix CertPathBuilder1Test and CertPathTest" into gingerbread

Merge commit '2d9aee7a4a506fcfb15d6ba08848109fae0f1357' into gingerbread-plus-aosp

* commit '2d9aee7a4a506fcfb15d6ba08848109fae0f1357':
Update TestUtils certificates to fix CertPathBuilder1Test and CertPathTest
550172c1ec50c2a976d3952326597422eb6d6077 04-Oct-2010 Jesse Wilson <jessewilson@google.com> Save unnecessary close() and flush() calls in HTTP uploads.

The calls weren't hurting anything, but the only caller of
this method already closes the output stream and flushes the
socket stream.

Change-Id: Ib57c997d7ed6cf21091211b2eb005bbabac8363c
234719cf67806326aaf4b51825c7db4b94e16921 04-Oct-2010 Brian Carlstrom <bdc@google.com> Merge "Update TestUtils certificates to fix CertPathBuilder1Test and CertPathTest" into gingerbread
655b4efd9ec6ba5f42927f1126feace0b36611fe 04-Oct-2010 Brian Carlstrom <bdc@google.com> Update TestUtils certificates to fix CertPathBuilder1Test and CertPathTest

Bug: 2322662
Change-Id: I8ad9a91f4095807bd710045eef3a97a86b560f49
8b95dfa204bf2852d5439cb5e3206f9d260010c8 04-Oct-2010 Jesse Wilson <jessewilson@google.com> am 1b18340a: am 26322578: am e9f71f37: Remove math tests duplicated from Harmony.

Merge commit '1b18340a1e11b62e4f05b83b45a31e63da08107e' into dalvik-dev

* commit '1b18340a1e11b62e4f05b83b45a31e63da08107e':
Remove math tests duplicated from Harmony.
92b690997bbd008471e8fa180c8c87cd0cdb8984 04-Oct-2010 Jesse Wilson <jessewilson@google.com> am 26322578: am e9f71f37: Remove math tests duplicated from Harmony.

Merge commit '26322578fff94e235ccbdfe3972efdcf123c82d9'

* commit '26322578fff94e235ccbdfe3972efdcf123c82d9':
Remove math tests duplicated from Harmony.
d4c21e3b91a26bacf9fec77574fc8a8e1b573084 04-Oct-2010 Jesse Wilson <jessewilson@google.com> am e9f71f37: Remove math tests duplicated from Harmony.

Merge commit 'e9f71f37bad7001070d933a6cf4c200393ca3c06' into gingerbread-plus-aosp

* commit 'e9f71f37bad7001070d933a6cf4c200393ca3c06':
Remove math tests duplicated from Harmony.
2699cb1473c5e68519a3214632b108a097c18ed8 04-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Use LogManager.class.getResourceAsStream to defend against subclasses." into dalvik-dev
5b17cc2c199020ce0d66abbf5afc0e246cc74552 03-Oct-2010 Jesse Wilson <jessewilson@google.com> Remove math tests duplicated from Harmony.

Change-Id: Ia7b24e2f7637b8036b646182cc0411ea83a4b09b
707d143b6d8ff399dc631644316631f468126d6e 03-Oct-2010 Jesse Wilson <jessewilson@google.com> Use LogManager.class.getResourceAsStream to defend against subclasses.

Previuosly we were using getClass().getResourceAsStream() which caused
the resource to be unavailable when LogManager was subclassed.

Change-Id: I4ebe13a2bb7f50ebaa3b4a458310d0c397a80aea
http://b/2487364
a1ebad4c3371969a7f94f8e05ff783cd7cc7e775 03-Oct-2010 Jesse Wilson <jessewilson@google.com> Use IoUtils.closeQuietly where possible.

Change-Id: I354c1e00b7068108032d09c0a1c38e29f6283fb0
b55dfd5214e3618a646369fe798173da166ee6d7 02-Oct-2010 Jesse Wilson <jessewilson@google.com> Remove logging tests duplicated from Harmony

Change-Id: I057552b555ee891810d4577b7359ed309d5c1611
8055a64830bf1ed8f48e4fc2eb1071e721883765 02-Oct-2010 Elliott Hughes <enh@google.com> Merge "More icu4jni reshuffling." into dalvik-dev
10def80c47e9336af4d6025e39347c348cd91f51 02-Oct-2010 Elliott Hughes <enh@google.com> More icu4jni reshuffling.

Bug: 3045778
Change-Id: Iafb367f97d1fb169c6106adad0525cfcc0e10f25
4652ed4f66dc5cfafc2b90346343b79f43950411 02-Oct-2010 Jesse Wilson <jessewilson@google.com> am 916a236d: am 3efa3e34: am c1851da3: Scrub test failures in java.text.

Merge commit '916a236d4153c26fff23d496e8f1af362f96a0e9' into dalvik-dev

* commit '916a236d4153c26fff23d496e8f1af362f96a0e9':
Scrub test failures in java.text.
d786c180eebb25ac5ed8302e6121184d153abe93 02-Oct-2010 Jesse Wilson <jessewilson@google.com> am 3efa3e34: am c1851da3: Scrub test failures in java.text.

Merge commit '3efa3e3429d360706117411942494d0aabebcfe8'

* commit '3efa3e3429d360706117411942494d0aabebcfe8':
Scrub test failures in java.text.
0b56e67695f16abd03966c1d81515395f058d184 02-Oct-2010 Jesse Wilson <jessewilson@google.com> Fix deserialization of NumberFormat.Field and related types.

This uses reflection to make it foolishly-easy to keep up-to-date
as members in these classes are added.

Change-Id: I6029aedf56f6237b971f240dbca45ed3acd50e0a
6fa7d838a5a40d49c928619c16950814b9002a82 02-Oct-2010 Jesse Wilson <jessewilson@google.com> am c1851da3: Scrub test failures in java.text.

Merge commit 'c1851da31b639b94420f39183008e2c71f9602a0' into gingerbread-plus-aosp

* commit 'c1851da31b639b94420f39183008e2c71f9602a0':
Scrub test failures in java.text.
1cdada572136c8cbebd779f5b981aee30dd0b13f 02-Oct-2010 Jesse Wilson <jessewilson@google.com> Scrub test failures in java.text.

Change-Id: Icee3cd8bd3b8fa4b3902435c66021cabb7fc322d
6575fbac79c86013975957bf35d572fd37553e49 02-Oct-2010 Elliott Hughes <enh@google.com> Move more stuff out of icu4jni; ICU and LocaleData.

Bug: 3045778
Change-Id: I59fd27920a2da9a42b29fd79b8d81bdaabdef8cd
15b6f0a82edbbd405a76aa94f456a4fc61e473a9 02-Oct-2010 Elliott Hughes <enh@google.com> Merge "Start moving icu4jni classes into libcore.icu." into dalvik-dev
4179c71e9244c614f7ac0f38cabeaa766e23db17 02-Oct-2010 Brian Carlstrom <bdc@google.com> am dc825fef: am 9583c700: am cd68630d: Merge "SSL* AppData should not hold onto JNI global references" into gingerbread

Merge commit 'dc825fef1519d4a65abf374e31d985cb2faf9d4a' into dalvik-dev

* commit 'dc825fef1519d4a65abf374e31d985cb2faf9d4a':
SSL* AppData should not hold onto JNI global references
a247b2492c8a55644877a3873f0d458b3bc39bfc 02-Oct-2010 Elliott Hughes <enh@google.com> Start moving icu4jni classes into libcore.icu.

Bug: 3045778
Change-Id: I8d87c31d36b441a69e6d3259e700b7133dfdc803
fcf8038e11beb5d4271137e49ef724019f748820 02-Oct-2010 Brian Carlstrom <bdc@google.com> am 9583c700: am cd68630d: Merge "SSL* AppData should not hold onto JNI global references" into gingerbread

Merge commit '9583c70042da95219941b430d51a9994334e49f0'

* commit '9583c70042da95219941b430d51a9994334e49f0':
SSL* AppData should not hold onto JNI global references
ef000c400425edb8fee3eef80c8978346ebcc660 02-Oct-2010 Brian Carlstrom <bdc@google.com> am cd68630d: Merge "SSL* AppData should not hold onto JNI global references" into gingerbread

Merge commit 'cd68630d4dea50d49ae613904bbdf2036deb1ccd' into gingerbread-plus-aosp

* commit 'cd68630d4dea50d49ae613904bbdf2036deb1ccd':
SSL* AppData should not hold onto JNI global references
9a2f89af5d3d75cb7d43a98794259dc63dabdb32 02-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Simplify skip() to use skipByReading or the superclass where possible." into dalvik-dev
0c26e7181e9e0ac431836cefa887804c5e7b331a 02-Oct-2010 Brian Carlstrom <bdc@google.com> Merge "SSL* AppData should not hold onto JNI global references" into gingerbread
ebcc91f2f06f9116e8e2dc03b73b30a4e7074b98 02-Oct-2010 Elliott Hughes <enh@google.com> Make InetSocketAddress' fields final.

Also remove worse-than-useless javadoc.

Change-Id: Ib49e6fd75a253c06bbdb58c54edc637093da4d14
8dccb7d566a080ed89cd9be44276e56581133454 01-Oct-2010 Elliott Hughes <enh@google.com> Work around using "struct group_req" in a 32-bit binary talking to a 64-bit kernel.

Fixes all the MulticastSocket tests in host mode.

Bug: 3035987
Change-Id: Ie21ea2c5dffb3f9da3ff85bb7a452afab8d188d8
4ab7ec0079b4bf7c0e6add55478f877f56f31b67 01-Oct-2010 Jesse Wilson <jessewilson@google.com> Simplify skip() to use skipByReading or the superclass where possible.

Several classes were overriding InputStream.skip() but not doing
anything better than the base class. These were deleted.

Others were allocating skip buffers which was correct, but duplicated
code with our Streams utility class.

The CipherInputStream class had a skip method that always skipped
0 bytes. This has been fixed and tested.

Change-Id: Ic96c600e111c11cf7364b4e0a721791d7e3c2ae1
2650959d5d4928332efc981e53f38f03953ae331 01-Oct-2010 Brian Carlstrom <bdc@google.com> SSL* AppData should not hold onto JNI global references

Summary:

NativeCrypto.SSL_do_handshake stored JNI global references in its
AppData instance for use in upcalls from OpenSSL that invoke Java
callbacks. However, one of the references was to the
SSLHandshakeCallbacks which in the common case of OpenSSLSocketImpl is
the OpenSSLSocketImpl instance itself. This meant that if code dropped
the OpenSSLSocketImpl without closing (such as Apache HTTP Client),
the instances would never be collected, and perhaps more importantly,
file descriptors would not be closed.

The fix is to pass in the objects required during a callback in all
downcalls to SSL_* methods that could result in a callback and clear
them on return. The existing code already did this for the JNIEnv*, so
that code was expanded to handle setting the jobjects as well.

Details:

In the native code used to extract the FileDescriptor object from a
Socket on the call to NativeCrypto.SSL_do_handshake. However, since we
need this for every read and write operations, we now do this in Java
to avoid the repeated overhead. NativeCrypto.SSL_do_handshake now
takes a FileDescriptor, which it extracted from the Socket the
convenience function using NativeCrypto.getFileDescriptor(Socket)

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java

In addition to tracking changes to pass FileDescriptor and
SSLHandshakeCallbacks, removed final uses of getFieldId since the
code no longer needs to extract FileDescriptors itself

luni/src/main/native/NativeCrypto.cpp

The Socket field used to be non-null in the wrapper case and null in
the non-wrapper case. To simplify things a bit, "socket == this" in
the non-wrapper case. The socket field is now also final and joined by
a final FileDescriptor field.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Updated NativeCryptoTest to track FileDescriptor and
SSLHandshakeCallbacks by expanding the Hooks.afterHandshake to provide
them. Also changed to add a 5 second timeout to many test cases.

luni/src/test/java/org/apache/harmony/xnet/provider/jsse/NativeCryptoTest.java

Bug: 2989218

Change-Id: Iccef92b59475f3c1929e990893579493ece9d442
70376b17fe08df12a97fb33cdcec31a3334e7d9d 01-Oct-2010 Elliott Hughes <enh@google.com> am b6071f19: am 70213cf9: am 60bc3926: Remove an out-of-date expectation.

Merge commit 'b6071f194add629729e01712728c0fada391e3a1' into dalvik-dev

* commit 'b6071f194add629729e01712728c0fada391e3a1':
Remove an out-of-date expectation.
daf45fa97c8c2aa0ac18bfa54c20dc2efea13454 01-Oct-2010 Elliott Hughes <enh@google.com> am 70213cf9: am 60bc3926: Remove an out-of-date expectation.

Merge commit '70213cf9157f8d78c5562c9c08f059b14511fe9d'

* commit '70213cf9157f8d78c5562c9c08f059b14511fe9d':
Remove an out-of-date expectation.
962868b52dd447949ea76a6b072f82ddd20388ec 01-Oct-2010 Elliott Hughes <enh@google.com> am 60bc3926: Remove an out-of-date expectation.

Merge commit '60bc39267c2d1ddc85e2845aa6231bbf3882d273' into gingerbread-plus-aosp

* commit '60bc39267c2d1ddc85e2845aa6231bbf3882d273':
Remove an out-of-date expectation.
3e91ffa2830457b79ad5ebefeb75cb284deeb2bf 01-Oct-2010 Elliott Hughes <enh@google.com> am 1c9d28c2: am 564bd43b: am 95dd6707: Merge "Better detail messages for System.loadLibrary UnsatisfiedLinkErrors." into gingerbread

Merge commit '1c9d28c2eb24e65e4c03f14ecabe06e8f59f705c' into dalvik-dev

* commit '1c9d28c2eb24e65e4c03f14ecabe06e8f59f705c':
Better detail messages for System.loadLibrary UnsatisfiedLinkErrors.
086417e19c7e5b909927d3882de820c2e8e0eefb 01-Oct-2010 Elliott Hughes <enh@google.com> Remove an out-of-date expectation.

(You have to remove all the SecurityManager cruft from this SecurityManager
test to see that this expectation is bogus.)

Bug: 1677221
Change-Id: I3907e0c105523195669c32d2aad7e8133f2e7f12
e733ff6fc672a3e5cba3df1c19f8f73fbca11565 01-Oct-2010 Elliott Hughes <enh@google.com> am 564bd43b: am 95dd6707: Merge "Better detail messages for System.loadLibrary UnsatisfiedLinkErrors." into gingerbread

Merge commit '564bd43b56c09c890b2d216a2246982d27260f0c'

* commit '564bd43b56c09c890b2d216a2246982d27260f0c':
Better detail messages for System.loadLibrary UnsatisfiedLinkErrors.
323781b8f0f97e1c8fe69c344b2d131bcf8fbcd4 01-Oct-2010 Elliott Hughes <enh@google.com> am 95dd6707: Merge "Better detail messages for System.loadLibrary UnsatisfiedLinkErrors." into gingerbread

Merge commit '95dd6707dd9202c82c3b372aa1d168516330c5b4' into gingerbread-plus-aosp

* commit '95dd6707dd9202c82c3b372aa1d168516330c5b4':
Better detail messages for System.loadLibrary UnsatisfiedLinkErrors.
a3254244368a49efe04779567e7364fcec36185a 01-Oct-2010 Elliott Hughes <enh@google.com> Merge "Better detail messages for System.loadLibrary UnsatisfiedLinkErrors." into gingerbread
91674e6f1595d736f11dac49b713f2e12feb291d 01-Oct-2010 Elliott Hughes <enh@google.com> Merge "Lose our inline assembler for bswap_16 and bswap_32 now it's pushed down into bionic." into dalvik-dev
9c65a9daef6a7735a49359bae43edb0ec2383ace 01-Oct-2010 Jesse Wilson <jessewilson@google.com> am cd7664c2: am 4bf3d0b0: am d5ef39f5: Include a message when a task is rejected from an executor.

Merge commit 'cd7664c2b832ee96496c28fcbc2d6fc84e5def0a' into dalvik-dev

* commit 'cd7664c2b832ee96496c28fcbc2d6fc84e5def0a':
Include a message when a task is rejected from an executor.
89d43fc10302d6d3078d365bb4d55d9048e6f9a7 01-Oct-2010 Jesse Wilson <jessewilson@google.com> am 4bf3d0b0: am d5ef39f5: Include a message when a task is rejected from an executor.

Merge commit '4bf3d0b0e330d46659739dc095b52f82dc23a665'

* commit '4bf3d0b0e330d46659739dc095b52f82dc23a665':
Include a message when a task is rejected from an executor.
c28386b214f29d90d17d96203e72dace4f2a69d6 01-Oct-2010 Elliott Hughes <enh@google.com> Lose our inline assembler for bswap_16 and bswap_32 now it's pushed down into bionic.

(The downside is that we need to rely on bionic not regressing... We need a
performance continuous build.)

Bug: 2935622
Change-Id: Iafe3ba0d7adbc3fcdce4624ac7490d92afa99800
140f40930000ca2ab789c29501109165236bd933 01-Oct-2010 Jesse Wilson <jessewilson@google.com> am 8f3d7240: am 082d39a2: am e8c1e814: Merge "Don\'t explode if flush() is called when an HTTP upload stream is closed." into gingerbread

Merge commit '8f3d7240bafb2753514b7bc84c95ef9657452c83' into dalvik-dev

* commit '8f3d7240bafb2753514b7bc84c95ef9657452c83':
Don't explode if flush() is called when an HTTP upload stream is closed.
5d63cfcbd1befd727a4ff77582c09332783c3a78 01-Oct-2010 Jesse Wilson <jessewilson@google.com> am 5df67087: am ff805724: am 16bba11e: Merge "Don\'t use the decompression-buffer as the skip buffer in InflaterInputStream." into gingerbread

Merge commit '5df6708702ddd1405e7d0a39e9f806cefd330028' into dalvik-dev

* commit '5df6708702ddd1405e7d0a39e9f806cefd330028':
Don't use the decompression-buffer as the skip buffer in InflaterInputStream.
b07317d61bb606127e340656568187e199375df2 01-Oct-2010 Brian Muramatsu <btmura@google.com> am 140984cf: (-s ours) am 0b8ee7e6: am 9cc0b47e: Merge "Add More Support_Locale Conditions to ScannerTest" into gingerbread

Merge commit '140984cf2b791345cc2d15c580ee4c54bbf55d04' into dalvik-dev

* commit '140984cf2b791345cc2d15c580ee4c54bbf55d04':
Add More Support_Locale Conditions to ScannerTest
f65632bd531cde82121ebff6e6ad35e658155a50 01-Oct-2010 Elliott Hughes <enh@google.com> Merge "Use fdatasync(2) now we have it in bionic." into dalvik-dev
caf59db0b59c26f1acfb7e51b8a13ecfb0bbeb8a 01-Oct-2010 Elliott Hughes <enh@google.com> Use fdatasync(2) now we have it in bionic.

Bug: 2667481
Change-Id: I3ca7031efe3301b08fc4f16c8c9b2b38d91107f5
7deaa46585b0bf6a934bac37331c19ad1257d744 01-Oct-2010 Jesse Wilson <jessewilson@google.com> am 082d39a2: am e8c1e814: Merge "Don\'t explode if flush() is called when an HTTP upload stream is closed." into gingerbread

Merge commit '082d39a20d3844e02822d8c96a26230f6f4a0590'

* commit '082d39a20d3844e02822d8c96a26230f6f4a0590':
Don't explode if flush() is called when an HTTP upload stream is closed.
7e0f55379f8882bee6c1b7c8d98a2c8d07a842e1 01-Oct-2010 Jesse Wilson <jessewilson@google.com> am ff805724: am 16bba11e: Merge "Don\'t use the decompression-buffer as the skip buffer in InflaterInputStream." into gingerbread

Merge commit 'ff8057246a6d43a55c93c9c728a6dddb0d98fcdb'

* commit 'ff8057246a6d43a55c93c9c728a6dddb0d98fcdb':
Don't use the decompression-buffer as the skip buffer in InflaterInputStream.
22a4641ed81d23346a20eb8524c0320deddd5171 01-Oct-2010 Brian Muramatsu <btmura@google.com> am 0b8ee7e6: am 9cc0b47e: Merge "Add More Support_Locale Conditions to ScannerTest" into gingerbread

Merge commit '0b8ee7e64ffe7728bc1465c6e88975731c684970'

* commit '0b8ee7e64ffe7728bc1465c6e88975731c684970':
Add More Support_Locale Conditions to ScannerTest
b6af4d96e48f999348f8652e499180f8d961da65 01-Oct-2010 Elliott Hughes <enh@google.com> am 45907249: am 61799c7b: am 2bcf15aa: Merge "Fix File.getCanonicalizePath to resolve symbolic links." into gingerbread

Merge commit '45907249c392e47d7901e6c0308b0705dc5dbd3c' into dalvik-dev

* commit '45907249c392e47d7901e6c0308b0705dc5dbd3c':
Fix File.getCanonicalizePath to resolve symbolic links.
0f1f8f0179e20ee74078a77f4b0baafc471f4264 01-Oct-2010 Jesse Wilson <jessewilson@google.com> am d5ef39f5: Include a message when a task is rejected from an executor.

Merge commit 'd5ef39f5d96461e5c3814157f74e30cca2234624' into gingerbread-plus-aosp

* commit 'd5ef39f5d96461e5c3814157f74e30cca2234624':
Include a message when a task is rejected from an executor.
b6248545cca7b5d0603ead27860fd87e9849f609 01-Oct-2010 Jesse Wilson <jessewilson@google.com> Include a message when a task is rejected from an executor.

Browser folks have been seeing this exception in their logcat logs
and it would be handy to give them some insight on why the pool
rejected the task.

Change-Id: I7257b3b174e6e2342e63238a542095bb3f7845f2
http://b/issue?id=3023092
b3df80c5d6e65a1002c06809bc1271b6442e2ab4 01-Oct-2010 Elliott Hughes <enh@google.com> am 61799c7b: am 2bcf15aa: Merge "Fix File.getCanonicalizePath to resolve symbolic links." into gingerbread

Merge commit '61799c7ba25f60181a6e87ccf6ebdf82ae9f4473'

* commit '61799c7ba25f60181a6e87ccf6ebdf82ae9f4473':
Fix File.getCanonicalizePath to resolve symbolic links.
3da325a5306e6e1df80a851561de21f617c1a1de 01-Oct-2010 Elliott Hughes <enh@google.com> Better detail messages for System.loadLibrary UnsatisfiedLinkErrors.

This has a companion change in dalvik:
https://android-git.corp.google.com/g/71344

Bug: 3044042
Change-Id: Ia665ee59adf1ae1dbb45ba95988355839f4b0f23
5f090619a9452428319bd2ef698cea9cfedc9924 01-Oct-2010 Jesse Wilson <jessewilson@google.com> am e8c1e814: Merge "Don\'t explode if flush() is called when an HTTP upload stream is closed." into gingerbread

Merge commit 'e8c1e814814d5a97b0ded2de31d350928182dec5' into gingerbread-plus-aosp

* commit 'e8c1e814814d5a97b0ded2de31d350928182dec5':
Don't explode if flush() is called when an HTTP upload stream is closed.
2c4d617d88df9e75b12edd0177673f4e5e3f2e8c 01-Oct-2010 Jesse Wilson <jessewilson@google.com> Merge "Don't explode if flush() is called when an HTTP upload stream is closed." into gingerbread
ae8427077df6c41096568d92c4910f8bf81d6028 30-Sep-2010 Jesse Wilson <jessewilson@google.com> am 16bba11e: Merge "Don\'t use the decompression-buffer as the skip buffer in InflaterInputStream." into gingerbread

Merge commit '16bba11e69ea61cf6127ee837eb05c8ac50a7128' into gingerbread-plus-aosp

* commit '16bba11e69ea61cf6127ee837eb05c8ac50a7128':
Don't use the decompression-buffer as the skip buffer in InflaterInputStream.
aca4d19af66afbf8d5184396c6b7e1fa5d869c17 30-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Don't use the decompression-buffer as the skip buffer in InflaterInputStream." into gingerbread
887b1bb37af1ca65d73a181442d2657ab0bc3d5d 30-Sep-2010 Jesse Wilson <jessewilson@google.com> Don't explode if flush() is called when an HTTP upload stream is closed.

Streams like BufferedOutputStream always call flush() even if it is
a no-op. These flushes must be permitted for compatibility with apps
that don't call close() until after the response has been retrieved.

Change-Id: Ic5c86ab6050c6c4d166c44ae5b4fc7a1688e7e45
http://b/3038470
59e1b2e3773ef86a47944f910f46154606565ae8 30-Sep-2010 Brian Muramatsu <btmura@google.com> am 9cc0b47e: Merge "Add More Support_Locale Conditions to ScannerTest" into gingerbread

Merge commit '9cc0b47e4b0f2ea33e3961e8b6d3cf041dbd0146' into gingerbread-plus-aosp

* commit '9cc0b47e4b0f2ea33e3961e8b6d3cf041dbd0146':
Add More Support_Locale Conditions to ScannerTest
efc2f9b068daa7384932d35f1b91f7e50ad8263f 30-Sep-2010 Brian Muramatsu <btmura@google.com> Merge "Add More Support_Locale Conditions to ScannerTest" into gingerbread
a66285e1bb912163b7c6498d490e26e990812309 30-Sep-2010 Elliott Hughes <enh@google.com> am 2bcf15aa: Merge "Fix File.getCanonicalizePath to resolve symbolic links." into gingerbread

Merge commit '2bcf15aac8c4dd82ef1a4b8defad00743569f927' into gingerbread-plus-aosp

* commit '2bcf15aac8c4dd82ef1a4b8defad00743569f927':
Fix File.getCanonicalizePath to resolve symbolic links.
d0bfb0fde14ccdba42df9734e16b8e3956051c1f 30-Sep-2010 Elliott Hughes <enh@google.com> Merge "Fix File.getCanonicalizePath to resolve symbolic links." into gingerbread
a514acc6afb1efc1e0281f0b6d2a81931a18291e 30-Sep-2010 Elliott Hughes <enh@google.com> Fix File.getCanonicalizePath to resolve symbolic links.

This requires fixing a few tests that don't cope with the fact that
all our temporary files are created on /sdcard, which is a symbolic
link to /mnt/sdcard, meaning that the canonical path of any temporary
file is different from the file's absolute path.

Bug: 3047893
Change-Id: I02245a290b6d2962fb1dd4d2faba30d9aa7168e0
10819de8c46008cdb2628d854cb3b14d6a75d1ec 30-Sep-2010 Brian Carlstrom <bdc@google.com> am 8a9e11de: am bc325a17: am dd07d540: Merge "CA certificate update" into gingerbread

Merge commit '8a9e11de453199ae6cda87170f45901182c3a930' into dalvik-dev

* commit '8a9e11de453199ae6cda87170f45901182c3a930':
CA certificate update
9e2804049c49336c31ac9f3eedd96044a17aa3e4 30-Sep-2010 Brian Carlstrom <bdc@google.com> am bc325a17: am dd07d540: Merge "CA certificate update" into gingerbread

Merge commit 'bc325a1780c432ac487236f5517de9aa4df7cd89'

* commit 'bc325a1780c432ac487236f5517de9aa4df7cd89':
CA certificate update
7eb770ba6cddfe6d941a820f4c1d10ac2e79c9b7 30-Sep-2010 Jesse Wilson <jessewilson@google.com> Don't use the decompression-buffer as the skip buffer in InflaterInputStream.

This has bad consequences for the GzipInputStream subclass, which can't
use the input buffer as a scratch space because it needs to CRC all of
the decompressed data.

Change-Id: I310261dc8ef7a5082768cc6d6a2eff4ef77f5a21
http://b/3042574
60b1821ce71dd5a09421ca9dabbcf83e4801d1bd 30-Sep-2010 Jesse Wilson <jessewilson@google.com> am e3c8fe27: am 853b9e1d: am bdc4c59a: Add expectations for DecimalFormat test failures.

Merge commit 'e3c8fe27565d1ccb7b1c49196924fc944f80e024' into dalvik-dev

* commit 'e3c8fe27565d1ccb7b1c49196924fc944f80e024':
Add expectations for DecimalFormat test failures.
5639fb74ce77343112b63f928b8c95f5a582b4c8 30-Sep-2010 Jesse Wilson <jessewilson@google.com> am fe546fbd: am 6aded03e: am 7b660b46: Merge "Fix problems with OldSimpleDateFormatTest.java." into gingerbread

Merge commit 'fe546fbd1c01f9dcad3a4ac22ec0ec45bdc2455e' into dalvik-dev

* commit 'fe546fbd1c01f9dcad3a4ac22ec0ec45bdc2455e':
Fix problems with OldSimpleDateFormatTest.java.
e47f875298867735fab60db608438e573af94b73 30-Sep-2010 Elliott Hughes <enh@google.com> am 4865d282: am 72b26111: am 56b04b03: Fix IP_MULTICAST_IF getsockopt.

Merge commit '4865d2823056d4171cefabf33973ccf98060d87b' into dalvik-dev

* commit '4865d2823056d4171cefabf33973ccf98060d87b':
Fix IP_MULTICAST_IF getsockopt.
396faa361bd0ac6bc87db36aa0a41532e3570fe5 30-Sep-2010 Jesse Wilson <jessewilson@google.com> am 853b9e1d: am bdc4c59a: Add expectations for DecimalFormat test failures.

Merge commit '853b9e1db7a51fd37bef2dafe5c6968e1254f459'

* commit '853b9e1db7a51fd37bef2dafe5c6968e1254f459':
Add expectations for DecimalFormat test failures.
8938f0ed7c87342e1614b1ed50b719e1c61d60a2 30-Sep-2010 Jesse Wilson <jessewilson@google.com> am 6aded03e: am 7b660b46: Merge "Fix problems with OldSimpleDateFormatTest.java." into gingerbread

Merge commit '6aded03ea65e0a8c7a2b584f2dcd76762b7b681a'

* commit '6aded03ea65e0a8c7a2b584f2dcd76762b7b681a':
Fix problems with OldSimpleDateFormatTest.java.
aee886d87281d5166e63deaa64d1fe42c261fc54 30-Sep-2010 Elliott Hughes <enh@google.com> am 72b26111: am 56b04b03: Fix IP_MULTICAST_IF getsockopt.

Merge commit '72b261119f0c3a50357decb48ef849c259c1ad08'

* commit '72b261119f0c3a50357decb48ef849c259c1ad08':
Fix IP_MULTICAST_IF getsockopt.
f46d862dc48e813928092070d8144b5cfff60387 30-Sep-2010 Brian Carlstrom <bdc@google.com> am dd07d540: Merge "CA certificate update" into gingerbread

Merge commit 'dd07d5401392873c17a6a44d7fba72b60c689d12' into gingerbread-plus-aosp

* commit 'dd07d5401392873c17a6a44d7fba72b60c689d12':
CA certificate update
2cac377319d65db33e12d65d23af73f48398e3a7 30-Sep-2010 Brian Carlstrom <bdc@google.com> Merge "CA certificate update" into gingerbread
f16213eabd16e7b97e538c837cc56b807d94aca0 30-Sep-2010 Jesse Wilson <jessewilson@google.com> am feea910b: am 901c9c6f: am 8047b6f0: Merge "Support creating unbound server sockets in DefaultServerSocketFactory." into gingerbread

Merge commit 'feea910b4e26697cad83578be876e220e41ba320' into dalvik-dev

* commit 'feea910b4e26697cad83578be876e220e41ba320':
Support creating unbound server sockets in DefaultServerSocketFactory.
3ac64b52f5d12459654ac308c00907dc832b222d 30-Sep-2010 Jesse Wilson <jessewilson@google.com> am 901c9c6f: am 8047b6f0: Merge "Support creating unbound server sockets in DefaultServerSocketFactory." into gingerbread

Merge commit '901c9c6f79e63e3babd3c1184455f3b44abd197d'

* commit '901c9c6f79e63e3babd3c1184455f3b44abd197d':
Support creating unbound server sockets in DefaultServerSocketFactory.
14cf47bf9bbf64c225c5f289633b8ecee4454b85 30-Sep-2010 Jesse Wilson <jessewilson@google.com> am bdc4c59a: Add expectations for DecimalFormat test failures.

Merge commit 'bdc4c59aac52fa3b64dff94a9754692007a5e02e' into gingerbread-plus-aosp

* commit 'bdc4c59aac52fa3b64dff94a9754692007a5e02e':
Add expectations for DecimalFormat test failures.
1dad570f71268c4007e4cf2343bf8e2a866bda49 29-Sep-2010 Jesse Wilson <jessewilson@google.com> Add expectations for DecimalFormat test failures.

Change-Id: Iee4dffb4f3dded37866f35f0100d905553b9b3ca
2cd83dc1f319f54d3ba1ba220068b32d2e051820 30-Sep-2010 Jesse Wilson <jessewilson@google.com> am 7b660b46: Merge "Fix problems with OldSimpleDateFormatTest.java." into gingerbread

Merge commit '7b660b465a2c846c4c5633a59594a88acfe11322' into gingerbread-plus-aosp

* commit '7b660b465a2c846c4c5633a59594a88acfe11322':
Fix problems with OldSimpleDateFormatTest.java.
f77944524fe4542b9f70f9a2c3f31e4d85de4b38 30-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix problems with OldSimpleDateFormatTest.java." into gingerbread
c985cd72c2824ed0dbf5cb3a061d800c94b4ce5a 30-Sep-2010 Elliott Hughes <enh@google.com> am 56b04b03: Fix IP_MULTICAST_IF getsockopt.

Merge commit '56b04b03d8fcf7151d3124f472e27e2b8eb3dfe8' into gingerbread-plus-aosp

* commit '56b04b03d8fcf7151d3124f472e27e2b8eb3dfe8':
Fix IP_MULTICAST_IF getsockopt.
b7ad8b7e4793626c25f0035cde0ec24ea9dc5f35 29-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix problems with OldSimpleDateFormatTest.java.

This changes the single 'y' documentation to point out our behavior.
http://b/2788874

It also isolates two other failures for week-in-year and timezone
formatting.
http://b/1613709 Minimal days in first week is broken
http://b/3049014 Custom SimpleTimeZones not honored by SimpleDateFormat

Change-Id: Ic632bf70076fe0dfd376317379dc363269d5b2df
823115891397fbd95efaa62609b5d8923ea20a37 29-Sep-2010 Elliott Hughes <enh@google.com> Fix IP_MULTICAST_IF getsockopt.

Also clean out test cruft so we can run on the RI, and remove
SecurityManager cruft so we can run more tests. Our failures
now match the RI's (but I'm not planning on fixing the tests
right now, nor have I checked the upstream tests).

Bug: 3045865
Change-Id: I326fff9753faa88eacb20a04ffd2f2e84e76259a
f1936473677e773dc239e5b9df5da00c14687687 29-Sep-2010 Brian Carlstrom <bdc@google.com> CA certificate update

Added SHA1 : B5:1C:06:7C:EE:2B:0C:3D:F8:55:AB:2D:92:F4:FE:39:D4:E7:0F:0E
Subject : C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., CN=Starfield Root Certificate Authority - G2

Added SHA1 : 92:5A:8F:8D:2C:6D:04:E0:66:5F:59:6A:FF:22:D8:63:E8:25:6F:3F
Subject : C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., CN=Starfield Services Root Certificate Authority - G2

Bug: 2994278
Change-Id: I29ab0219a8d5ba04b6812330516a781b9e25a929
363359e6c8c65e63cb46eea428c7732dfaebbe27 29-Sep-2010 Jesse Wilson <jessewilson@google.com> am 8047b6f0: Merge "Support creating unbound server sockets in DefaultServerSocketFactory." into gingerbread

Merge commit '8047b6f0f65b687f76f93c02683814c56421a26d' into gingerbread-plus-aosp

* commit '8047b6f0f65b687f76f93c02683814c56421a26d':
Support creating unbound server sockets in DefaultServerSocketFactory.
bf96273c7aa32b5f81d622c6275d1027626c8a59 29-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Support creating unbound server sockets in DefaultServerSocketFactory." into gingerbread
9dbc40170fd2ef12087efd70681cda415ca24997 29-Sep-2010 Jesse Wilson <jessewilson@google.com> Support creating unbound server sockets in DefaultServerSocketFactory.

Change-Id: I34106bb55ad99a134b4aae4e24e61b59c0aaa967
http://b/2587385
7417fe18ff81d03510702c5a793fd9e1db60050d 29-Sep-2010 Brian Carlstrom <bdc@google.com> am 63fcdd7e: resolved conflicts for merge of 53e83038 to master

Merge commit '63fcdd7e833df417cfbd60961a5167ce637f3071' into dalvik-dev

* commit '63fcdd7e833df417cfbd60961a5167ce637f3071':
Scrub missing calls to super.finalize()
a6eae055e5e899541d1b49b1248db33b41f5bd92 29-Sep-2010 Jesse Wilson <jessewilson@google.com> am 880ec6d5: am 395f899e: am 2a275f06: Merge "Tests for ServerSocketFactory.getDefault()." into gingerbread

Merge commit '880ec6d5d26a2955734e13a09a65f57f50fb1c16' into dalvik-dev

* commit '880ec6d5d26a2955734e13a09a65f57f50fb1c16':
Tests for ServerSocketFactory.getDefault().
a9b4c12a30bc2fc7f18fa59ca2a26d0d9ef06c05 29-Sep-2010 Jesse Wilson <jessewilson@google.com> am 1542176d: am 48100926: am d33c0e52: Merge "Fix a problem where URL.equals() was returning true when both hosts couldn\'t resolve." into gingerbread

Merge commit '1542176d768492a781a96db9c3b5a84a007e3f21' into dalvik-dev

* commit '1542176d768492a781a96db9c3b5a84a007e3f21':
Fix a problem where URL.equals() was returning true when both hosts couldn't resolve.
a18b22b5d755edba435e685f7059e5a9a0ce97d8 29-Sep-2010 Jesse Wilson <jessewilson@google.com> am 2cb69c0c: am aeb874af: am fca556c7: Fix problems where knownfailures has drifted out of date from our suite.

Merge commit '2cb69c0c92de674c52a4bf75c6be204deba44c73' into dalvik-dev

* commit '2cb69c0c92de674c52a4bf75c6be204deba44c73':
Fix problems where knownfailures has drifted out of date from our suite.
c968e77d3462e1cd062f292f42e71758c911392c 29-Sep-2010 Jesse Wilson <jessewilson@google.com> am a0ba7267: am 5ac2871d: am 1f8243e3: Remove java.net tests that are redundant with Harmony.

Merge commit 'a0ba7267d5528faad755a871b79983e0d2d6c681' into dalvik-dev

* commit 'a0ba7267d5528faad755a871b79983e0d2d6c681':
Remove java.net tests that are redundant with Harmony.
2141996147189b7bb603ee0852db7a2c7eb7cabb 29-Sep-2010 Jesse Wilson <jessewilson@google.com> am 054f8990: am 7df5da0b: am 9b918324: Merge "Remove java.text tests duplicated from Harmony" into gingerbread

Merge commit '054f8990849f9fed2267120df2d4e7b0eb5228e5' into dalvik-dev

* commit '054f8990849f9fed2267120df2d4e7b0eb5228e5':
Remove java.text tests duplicated from Harmony
bd51583f10c44ac42c793bce6367be34280f7865 29-Sep-2010 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of 53e83038 to master

Conflicts:
luni/src/main/java/java/io/FileInputStream.java
luni/src/main/java/java/io/FileOutputStream.java
luni/src/main/java/javax/crypto/ExemptionMechanism.java
luni/src/main/java/org/apache/harmony/luni/net/PlainDatagramSocketImpl.java
luni/src/main/java/org/apache/harmony/luni/net/PlainSocketImpl.java

Change-Id: I0dd5da8e8cb1819cb90440c462ba307dffde8ed7
32abe6138de6a806ddcc4a706cdb7d353671fece 29-Sep-2010 Brian Carlstrom <bdc@google.com> am d7212c5d: Merge "Scrub missing calls to super.finalize()" into gingerbread

Merge commit 'd7212c5d3cde17ca20fc33cd294da2c5744df44a' into gingerbread-plus-aosp

* commit 'd7212c5d3cde17ca20fc33cd294da2c5744df44a':
Scrub missing calls to super.finalize()
b93b6d7deabe8e22c3c48396ceed69b33b55fd09 29-Sep-2010 Brian Carlstrom <bdc@google.com> Merge "Scrub missing calls to super.finalize()" into gingerbread
d771f0a177bc2deecbb5e6e22e2dda60f0650e9b 29-Sep-2010 Brian Carlstrom <bdc@google.com> Scrub missing calls to super.finalize()

Bug: 3024226
Change-Id: I6642cb9d4929ba72244529efe4ebdfa595ae4fa7
c51e634ab582a69c4d7cca265f0dc6ffbd872608 29-Sep-2010 Jesse Wilson <jessewilson@google.com> am 395f899e: am 2a275f06: Merge "Tests for ServerSocketFactory.getDefault()." into gingerbread

Merge commit '395f899e35b62795c4cf9415c13c2bf8aa02552e'

* commit '395f899e35b62795c4cf9415c13c2bf8aa02552e':
Tests for ServerSocketFactory.getDefault().
fca4102eda3ab6ed48dc92686bf2b6f3db069a26 29-Sep-2010 Jesse Wilson <jessewilson@google.com> am 2a275f06: Merge "Tests for ServerSocketFactory.getDefault()." into gingerbread

Merge commit '2a275f0640bf3fdbd9dd6336b4f195a5a6e9a109' into gingerbread-plus-aosp

* commit '2a275f0640bf3fdbd9dd6336b4f195a5a6e9a109':
Tests for ServerSocketFactory.getDefault().
f5752e600cc5e35d9a16a6a93ae0c7ab60f1aed2 29-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Tests for ServerSocketFactory.getDefault()." into gingerbread
cc85d2e094b2833a0e0d8e7db78efafc09be2e5a 29-Sep-2010 Jesse Wilson <jessewilson@google.com> Tests for ServerSocketFactory.getDefault().

Motivated by http://b/2587385

Change-Id: If30898859f869c88342d1069a2425575752ebf6e
a6b67c555fc5c112f99ba92528359736c4619a41 29-Sep-2010 Jesse Wilson <jessewilson@google.com> am 48100926: am d33c0e52: Merge "Fix a problem where URL.equals() was returning true when both hosts couldn\'t resolve." into gingerbread

Merge commit '48100926c9278aa6ce1c0bccde5dc44cb6d0cc6e'

* commit '48100926c9278aa6ce1c0bccde5dc44cb6d0cc6e':
Fix a problem where URL.equals() was returning true when both hosts couldn't resolve.
63687ed331ea9dddd08d7c69c253ee687dc953c1 29-Sep-2010 Jesse Wilson <jessewilson@google.com> am d33c0e52: Merge "Fix a problem where URL.equals() was returning true when both hosts couldn\'t resolve." into gingerbread

Merge commit 'd33c0e52d49df6cca9452279356db942292e5aa6' into gingerbread-plus-aosp

* commit 'd33c0e52d49df6cca9452279356db942292e5aa6':
Fix a problem where URL.equals() was returning true when both hosts couldn't resolve.
7a8e05622afdf909e08b3d6aac755826112f263a 29-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix a problem where URL.equals() was returning true when both hosts couldn't resolve." into gingerbread
ca59d1e641daa39b3c079633a73f90430856edb7 29-Sep-2010 Jesse Wilson <jessewilson@google.com> am aeb874af: am fca556c7: Fix problems where knownfailures has drifted out of date from our suite.

Merge commit 'aeb874afce86c3f362ffb20611128e2e11615274'

* commit 'aeb874afce86c3f362ffb20611128e2e11615274':
Fix problems where knownfailures has drifted out of date from our suite.
57e861a7014d080a809245e2f17a8ddd92707a4c 29-Sep-2010 Jesse Wilson <jessewilson@google.com> am 5ac2871d: am 1f8243e3: Remove java.net tests that are redundant with Harmony.

Merge commit '5ac2871d06cf6d9a8f2c40f6ce2118f40d2750f4'

* commit '5ac2871d06cf6d9a8f2c40f6ce2118f40d2750f4':
Remove java.net tests that are redundant with Harmony.
38f280e24f4d87c911dbde08721302c6c885a0a2 29-Sep-2010 Jesse Wilson <jessewilson@google.com> am 7df5da0b: am 9b918324: Merge "Remove java.text tests duplicated from Harmony" into gingerbread

Merge commit '7df5da0bd917dbf7fc4c0eb516bef75fc29449b8'

* commit '7df5da0bd917dbf7fc4c0eb516bef75fc29449b8':
Remove java.text tests duplicated from Harmony
2b870fd9b555adaf8d45c246049e831060a2fc6f 29-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix a problem where URL.equals() was returning true when both hosts couldn't resolve.

See http://b/3045007

Change-Id: I83f2a0d8888dd30aaf6099049ce8008487d4337d
bf12e2bc4e9b5f945d7c5b224416dd62016c6269 29-Sep-2010 Jesse Wilson <jessewilson@google.com> am fca556c7: Fix problems where knownfailures has drifted out of date from our suite.

Merge commit 'fca556c7b99a7d35716b186b96e2dc48dd4164a8' into gingerbread-plus-aosp

* commit 'fca556c7b99a7d35716b186b96e2dc48dd4164a8':
Fix problems where knownfailures has drifted out of date from our suite.
603f6acf586745c80b6f45bc79090e09c06a972c 29-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix problems where knownfailures has drifted out of date from our suite.

http://b/3045163.

Change-Id: I9c9c6d4429f09d5f5cd92447de9a3c9d67294286
a5de8335676294558a8764915cef363cc3b07a46 28-Sep-2010 Jesse Wilson <jessewilson@google.com> am 1f8243e3: Remove java.net tests that are redundant with Harmony.

Merge commit '1f8243e3d2b5a3f8e0398c304d1dea0395cbc368' into gingerbread-plus-aosp

* commit '1f8243e3d2b5a3f8e0398c304d1dea0395cbc368':
Remove java.net tests that are redundant with Harmony.
76c46eb456d2738ceea77eda10c30a73d6e7ec2b 28-Sep-2010 Jesse Wilson <jessewilson@google.com> Remove java.net tests that are redundant with Harmony.

Change-Id: I01d6b3633a6de8a075982975d4cbf6c08e757490
f00d3ca0b30c06cec0962b124ecc17f97eb95184 28-Sep-2010 Elliott Hughes <enh@google.com> am cb059ec4: am 30b75bb2: am 0f9bf4bd: Merge "Add submitter\'s test for a publicly-reported SimpleTimeZone.clone bug I already fixed." into gingerbread

Merge commit 'cb059ec4ced5aaeba11089464709db39a202522f' into dalvik-dev

* commit 'cb059ec4ced5aaeba11089464709db39a202522f':
Add submitter's test for a publicly-reported SimpleTimeZone.clone bug I already fixed.
207836f3c89c35aa1878aec68683b05de3247794 28-Sep-2010 Elliott Hughes <enh@google.com> am 30b75bb2: am 0f9bf4bd: Merge "Add submitter\'s test for a publicly-reported SimpleTimeZone.clone bug I already fixed." into gingerbread

Merge commit '30b75bb205410f333266dd67b0d4e2ac3877c2e4'

* commit '30b75bb205410f333266dd67b0d4e2ac3877c2e4':
Add submitter's test for a publicly-reported SimpleTimeZone.clone bug I already fixed.
e0f9a1555b819f92c0c45e9d3ed8fb2f36fcabf0 28-Sep-2010 Jesse Wilson <jessewilson@google.com> am 9b918324: Merge "Remove java.text tests duplicated from Harmony" into gingerbread

Merge commit '9b9183241234af96e62ac8c5992b57e9ae6354e6' into gingerbread-plus-aosp

* commit '9b9183241234af96e62ac8c5992b57e9ae6354e6':
Remove java.text tests duplicated from Harmony
aed5930b7bf9ba3078e45c7fbd4d3b5d96885ddf 28-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Remove java.text tests duplicated from Harmony" into gingerbread
c9bf4ec89503df962044cbff9fc5b5154b1d3153 28-Sep-2010 Brian Carlstrom <bdc@google.com> am 7bec1516: am 1d86b5c5: am a4787233: Merge "CA certificate update" into gingerbread

Merge commit '7bec1516f7ae61d230e38555f57c1d1201daad60' into dalvik-dev

* commit '7bec1516f7ae61d230e38555f57c1d1201daad60':
CA certificate update
64783266e79f4df971494541dc2649f8f36cd409 28-Sep-2010 Brian Carlstrom <bdc@google.com> am 1d86b5c5: am a4787233: Merge "CA certificate update" into gingerbread

Merge commit '1d86b5c5b5743e841c952e85f2eb071f93287f4a'

* commit '1d86b5c5b5743e841c952e85f2eb071f93287f4a':
CA certificate update
24b9cb8c973a0ea4012c1fde742a33b1cdfd4dc2 28-Sep-2010 Jesse Wilson <jessewilson@google.com> am eb0a3536: am 794ef59c: am 0c72bd4d: Merge "Update expectations for tests failing only on the host." into gingerbread

Merge commit 'eb0a3536c7571a2b847b03f764ae722b8f48b669' into dalvik-dev

* commit 'eb0a3536c7571a2b847b03f764ae722b8f48b669':
Update expectations for tests failing only on the host.
047907de444a25c417175874ee3aaf1ea3ef0caa 28-Sep-2010 Jesse Wilson <jessewilson@google.com> am 794ef59c: am 0c72bd4d: Merge "Update expectations for tests failing only on the host." into gingerbread

Merge commit '794ef59cb035a759363dba24296d1f53a8c9481f'

* commit '794ef59cb035a759363dba24296d1f53a8c9481f':
Update expectations for tests failing only on the host.
545ba10ecaec783c5fabb2c66ef3bc0e84318526 28-Sep-2010 Elliott Hughes <enh@google.com> am 0f9bf4bd: Merge "Add submitter\'s test for a publicly-reported SimpleTimeZone.clone bug I already fixed." into gingerbread

Merge commit '0f9bf4bdef9524a5e03d1cbdadc570269d703895' into gingerbread-plus-aosp

* commit '0f9bf4bdef9524a5e03d1cbdadc570269d703895':
Add submitter's test for a publicly-reported SimpleTimeZone.clone bug I already fixed.
01a74a831a29746f95fdc69b8a5376076b1db70b 28-Sep-2010 Elliott Hughes <enh@google.com> Merge "Add submitter's test for a publicly-reported SimpleTimeZone.clone bug I already fixed." into gingerbread
11d57341da6e71e3c2f212bec61db861eec3dfed 28-Sep-2010 Elliott Hughes <enh@google.com> Add submitter's test for a publicly-reported SimpleTimeZone.clone bug I already fixed.

Bug: http://code.google.com/p/android/issues/detail?id=11542
Change-Id: Ic13e6083ec26e9d8725e94294f7cd69902e69dd8
f748241bfc43179daf9942c4d9b1049c975647d2 28-Sep-2010 Elliott Hughes <enh@google.com> am 63b033f0: am 592ac99f: am a8bc3bd2: Improve DateFormat.parse\'s exception detail.

Merge commit '63b033f057a81c91955efb622b48d851120865a3' into dalvik-dev

* commit '63b033f057a81c91955efb622b48d851120865a3':
Improve DateFormat.parse's exception detail.
8aa8a915fd4be8af62fb97472a817b6c0a6cc53f 28-Sep-2010 Elliott Hughes <enh@google.com> am 07d06f94: am c6589535: am f3cc41ed: Somewhat perfunctory javadoc for the new Java 6 JDBC APIs.

Merge commit '07d06f949a8993027732ef88d17deb437a8e6b1e' into dalvik-dev

* commit '07d06f949a8993027732ef88d17deb437a8e6b1e':
Somewhat perfunctory javadoc for the new Java 6 JDBC APIs.
d78625868669ff8c73984f7c4cf7422d102284f2 28-Sep-2010 Elliott Hughes <enh@google.com> am 592ac99f: am a8bc3bd2: Improve DateFormat.parse\'s exception detail.

Merge commit '592ac99f0c4867140b97e4fb650cd42bab09415f'

* commit '592ac99f0c4867140b97e4fb650cd42bab09415f':
Improve DateFormat.parse's exception detail.
9dbc8200472745cda0137875833b56e366e23717 28-Sep-2010 Elliott Hughes <enh@google.com> am c6589535: am f3cc41ed: Somewhat perfunctory javadoc for the new Java 6 JDBC APIs.

Merge commit 'c6589535005b8fac3bacc2126e3d0a0be0489408'

* commit 'c6589535005b8fac3bacc2126e3d0a0be0489408':
Somewhat perfunctory javadoc for the new Java 6 JDBC APIs.
880f479a1b291659c1ce3fd7e84ad2648389f3f3 28-Sep-2010 Brian Carlstrom <bdc@google.com> am a4787233: Merge "CA certificate update" into gingerbread

Merge commit 'a47872336ad8321a14fbde16a8bb38eae773f5a0' into gingerbread-plus-aosp

* commit 'a47872336ad8321a14fbde16a8bb38eae773f5a0':
CA certificate update
1ba6873ab9ffc4051d77f0e7d0c7810f0c59711d 28-Sep-2010 Brian Carlstrom <bdc@google.com> Merge "CA certificate update" into gingerbread
e9c14a3061bb3db3f4a589155adecfec15f7d27b 28-Sep-2010 Jesse Wilson <jessewilson@google.com> am 0c72bd4d: Merge "Update expectations for tests failing only on the host." into gingerbread

Merge commit '0c72bd4dda75d6066fd02bf5cac684da2249fb84' into gingerbread-plus-aosp

* commit '0c72bd4dda75d6066fd02bf5cac684da2249fb84':
Update expectations for tests failing only on the host.
e48a8a90cc9eec8088b33a0dabb7ff0bc37ff5e7 28-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Update expectations for tests failing only on the host." into gingerbread
aff0b76553dcf76b5e45ff1046f5dacabbf6e3a2 28-Sep-2010 Jesse Wilson <jessewilson@google.com> Update expectations for tests failing only on the host.

Change-Id: Ieb30ef5b4607f7dfed0b873a10e3dcb31139141d
1cf22d34e8e6e9965e01a84ffd079b11dc6b3c20 28-Sep-2010 Jesse Wilson <jessewilson@google.com> Remove java.text tests duplicated from Harmony

Change-Id: Ib20c8956be045158225d08327781a5e16ca08689
1a38ae4b7d0fe5ab966c75bba19a4ebe6a8a54a8 28-Sep-2010 Elliott Hughes <enh@google.com> am a8bc3bd2: Improve DateFormat.parse\'s exception detail.

Merge commit 'a8bc3bd2794b36c5e935aff7b932a7945e98bf30' into gingerbread-plus-aosp

* commit 'a8bc3bd2794b36c5e935aff7b932a7945e98bf30':
Improve DateFormat.parse's exception detail.
e6fc79727f80ac14eb837ab3aea31e4ff78e48f3 28-Sep-2010 Elliott Hughes <enh@google.com> Improve DateFormat.parse's exception detail.

Bug: 3041734
Change-Id: I73e9d2aefecc5fe67415eb3a6586294f8dbbcb82
46909f40fd2c5035445ed64ab32f96561ed4e682 28-Sep-2010 Elliott Hughes <enh@google.com> am f3cc41ed: Somewhat perfunctory javadoc for the new Java 6 JDBC APIs.

Merge commit 'f3cc41ede7af1dd683e1a55eabc8f36963aec8ab' into gingerbread-plus-aosp

* commit 'f3cc41ede7af1dd683e1a55eabc8f36963aec8ab':
Somewhat perfunctory javadoc for the new Java 6 JDBC APIs.
6f93d4afcde774d37f25ad0353b4baa676c3f678 28-Sep-2010 Elliott Hughes <enh@google.com> Somewhat perfunctory javadoc for the new Java 6 JDBC APIs.

I feel dirty.

Bug: 3038452
Change-Id: I7ecd24b09c4e37a5ad29de4c6ba50a6e151a1296
4b99953654dc9ab4d2b1598e8033dcc37b60879b 27-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Remove zip and jar tests duplicated from Harmony." into dalvik-dev
29d6ea6942d6fbd1114773ed89eef76be6196401 27-Sep-2010 Elliott Hughes <enh@google.com> Merge "Update us to the 2010-07-27 release of the sqlite JDBC driver." into dalvik-dev
6a89492ec6d3eb71a72c2a37061a334c7a69b7c8 27-Sep-2010 Elliott Hughes <enh@google.com> am a3160c78: am 793d8b21: am 3c6ca778: Don\'t wrap select(2) in TEMP_FAILURE_RETRY.

Merge commit 'a3160c78b635408fc9979e2984a377a3cc5aac04' into dalvik-dev

* commit 'a3160c78b635408fc9979e2984a377a3cc5aac04':
Don't wrap select(2) in TEMP_FAILURE_RETRY.
b29cb6289738ac702f934299323e0548ba05c58c 27-Sep-2010 Elliott Hughes <enh@google.com> am 793d8b21: am 3c6ca778: Don\'t wrap select(2) in TEMP_FAILURE_RETRY.

Merge commit '793d8b21ea137aeca9c3e4317605a4110d7dbfd0'

* commit '793d8b21ea137aeca9c3e4317605a4110d7dbfd0':
Don't wrap select(2) in TEMP_FAILURE_RETRY.
665b6a1822e3699868c06f84f97a8908a4fb7389 27-Sep-2010 Elliott Hughes <enh@google.com> am 3c6ca778: Don\'t wrap select(2) in TEMP_FAILURE_RETRY.

Merge commit '3c6ca77845ce5f0e80c4dc49617601918023c1ed' into gingerbread-plus-aosp

* commit '3c6ca77845ce5f0e80c4dc49617601918023c1ed':
Don't wrap select(2) in TEMP_FAILURE_RETRY.
5cd52ed8fd9244cbbb9c2553e58b511344f75d8b 27-Sep-2010 Elliott Hughes <enh@google.com> Update us to the 2010-07-27 release of the sqlite JDBC driver.

I've added the Backup and Profile classes, even though we don't need them, to
minimize our differences from upstream (since these are referenced by classes
that we do use, and from JNI). I'm still keeping out the separate little
programs that live in the same package.

I'm sending our performance changes upstream (we've switched to Java 6 JDBC
since last time, so we need the changes in the JDBC2z near-duplicates; Android
only ships the single version it needs).

Bug: 3003930
Change-Id: Ia34a622e881e2a222f844130a1ac311eeded4a46
ERSION
rc/main/java/SQLite/Backup.java
rc/main/java/SQLite/Blob.java
rc/main/java/SQLite/Database.java
rc/main/java/SQLite/Profile.java
rc/main/java/SQLite/Stmt.java
rc/main/native/sqlite_jni.c
3512eb5eeaa7738703d3fca3971a16fedb956edb 27-Sep-2010 Elliott Hughes <enh@google.com> Don't wrap select(2) in TEMP_FAILURE_RETRY.

Luckily, since the caller has to cope with us saying "we're not connected yet,
try again", we can just go that route.

I've also added another plausible possible exception to one of the tests, seen
once when testing on a host dalvikvm.

Bug: 3022824
Change-Id: Ia155f86f9f7b9b0a54e58c55f668faaebcbda55e
fb1cdfa63e814dab6b05a258c0a7b3ff14236388 27-Sep-2010 Elliott Hughes <enh@google.com> Merge "Faster String.hashCode." into dalvik-dev
1b5d48a5be32f2ea15080e1b7aa4ac491e22f9a1 26-Sep-2010 Elliott Hughes <enh@google.com> Faster String.hashCode.

Bend our code to fit our current JIT. The locals caching fields are still
sadly necessary, even though the JIT usually does a good job of that. (Or
have I actually been seeing the JIT do a bad job of local access instead,
thanks to thumb's x86-like lack of registers? Need to start looking at
more generated code to get an absolute "benchmark" to go with my relative
[Caliper] benchmark figures.)

Bug: 3031382
Change-Id: Icf63866b10740bd7001cc9f24e4e9c655aebc3f8
f0146a4df43ef1e3d9a64a2ef873f1f4ed3cdcc9 26-Sep-2010 Jesse Wilson <jessewilson@google.com> Remove zip and jar tests duplicated from Harmony.

Change-Id: I06b18c2197482dbf5b52c72ffa19c87eca16e201
9b8fc09014d643f5d571c9d4fd60f526bc211859 26-Sep-2010 Jesse Wilson <jessewilson@google.com> am fa2cac1b: am 6397c0c2: am 9920dd55: Merge "Remove FormatterTest tests duplicated with Harmony." into gingerbread

Merge commit 'fa2cac1b82ee376dc8d407029b99046495c54aa5' into dalvik-dev

* commit 'fa2cac1b82ee376dc8d407029b99046495c54aa5':
Remove FormatterTest tests duplicated with Harmony.
2ec89f60ef384474df12cfa1f05eeb65e0e3c98b 26-Sep-2010 Jesse Wilson <jessewilson@google.com> am 6397c0c2: am 9920dd55: Merge "Remove FormatterTest tests duplicated with Harmony." into gingerbread

Merge commit '6397c0c25ce2a972a8ba731448007bb9619b7a6d'

* commit '6397c0c25ce2a972a8ba731448007bb9619b7a6d':
Remove FormatterTest tests duplicated with Harmony.
bc5e3d7a565b2a498d13da60b8b40ee75332aba6 26-Sep-2010 Jesse Wilson <jessewilson@google.com> am 9920dd55: Merge "Remove FormatterTest tests duplicated with Harmony." into gingerbread

Merge commit '9920dd5559cbd30ed493826c71920e8aa8257025' into gingerbread-plus-aosp

* commit '9920dd5559cbd30ed493826c71920e8aa8257025':
Remove FormatterTest tests duplicated with Harmony.
e24887f93c4108c1ad6f8117e757c40490b807ec 26-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Remove FormatterTest tests duplicated with Harmony." into gingerbread
013cefdac5ec5c07b6b6c351e27072d1c1b78d4f 26-Sep-2010 Jesse Wilson <jessewilson@google.com> Remove FormatterTest tests duplicated with Harmony.

Change-Id: I9c95aac22b9df7efff6595e94700a17cfc5d3d7b
8f64b15378bd5fd4bf9f81bd580ddce7d5e56b0c 26-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Don't expect bug-compatibility with the RI's missing IllegalBlockingModeException." into dalvik-dev
dcd1811bda90c9fb65321275204b9d9d7efa52fa 25-Sep-2010 Jesse Wilson <jessewilson@google.com> Don't expect bug-compatibility with the RI's missing IllegalBlockingModeException.

The RI promises to throw when a non-blocking channel is read via
a stream. It doesn't throw, and our tests were validating that.

This also cleans up ScannerTest, which was duplicated with Harmony.
Change-Id: Ife522d29c0b0734e188462b4d23f0a872727ce38
7fe2a13d7272b7721920657538e551d9ed33017c 26-Sep-2010 Brian Carlstrom <bdc@google.com> am d4b134ec: am 873c0bfb: am a1b18854: Merge "Fix OpenSSLSessionImpl.getValueNames regression" into gingerbread

Merge commit 'd4b134ec6762fa9e85f97d2174497df5e6af8566' into dalvik-dev

* commit 'd4b134ec6762fa9e85f97d2174497df5e6af8566':
Fix OpenSSLSessionImpl.getValueNames regression
4c10ce6016fd1008c4ba11179152d634d124c7e6 26-Sep-2010 Brian Carlstrom <bdc@google.com> am 873c0bfb: am a1b18854: Merge "Fix OpenSSLSessionImpl.getValueNames regression" into gingerbread

Merge commit '873c0bfbf627fa15dd44463f9a664b6f83c74594'

* commit '873c0bfbf627fa15dd44463f9a664b6f83c74594':
Fix OpenSSLSessionImpl.getValueNames regression
a8152fb0b25214dd8698835590808902e3a0758e 26-Sep-2010 Brian Carlstrom <bdc@google.com> am a1b18854: Merge "Fix OpenSSLSessionImpl.getValueNames regression" into gingerbread

Merge commit 'a1b188540569a3d3f21cbabaf3b5a4fdb3b079e0' into gingerbread-plus-aosp

* commit 'a1b188540569a3d3f21cbabaf3b5a4fdb3b079e0':
Fix OpenSSLSessionImpl.getValueNames regression
3cf4137393862d39b9410635ae623d54e61a72b1 26-Sep-2010 Brian Carlstrom <bdc@google.com> Merge "Fix OpenSSLSessionImpl.getValueNames regression" into gingerbread
168a931d509bacb013e3048509d0a25c8285f1b1 25-Sep-2010 Jesse Wilson <jessewilson@google.com> am d4a62bc2: am 72d73552: am 4d105209: Attach bugs to failures in MathTest and StrictMathTest.

Merge commit 'd4a62bc2387705fcc228bd6bdd285638614d1e46' into dalvik-dev

* commit 'd4a62bc2387705fcc228bd6bdd285638614d1e46':
Attach bugs to failures in MathTest and StrictMathTest.
b8c8af32390b762b1638ed454e9ad59d620ac041 25-Sep-2010 Jesse Wilson <jessewilson@google.com> am 72d73552: am 4d105209: Attach bugs to failures in MathTest and StrictMathTest.

Merge commit '72d73552202c5fccb6b26c787482430efd079df1'

* commit '72d73552202c5fccb6b26c787482430efd079df1':
Attach bugs to failures in MathTest and StrictMathTest.
c9f1805f9cd3dbbe58d3d7695f4e8c3ae6967353 25-Sep-2010 Jesse Wilson <jessewilson@google.com> am 4d105209: Attach bugs to failures in MathTest and StrictMathTest.

Merge commit '4d105209f79ebdd157a79ba478002ecb0c6ac8a0' into gingerbread-plus-aosp

* commit '4d105209f79ebdd157a79ba478002ecb0c6ac8a0':
Attach bugs to failures in MathTest and StrictMathTest.
26ed8123471f95493da862294fba21061c6be42b 25-Sep-2010 Jesse Wilson <jessewilson@google.com> Attach bugs to failures in MathTest and StrictMathTest.

Change-Id: Ifd0cf35e6e3dee4fe512db962db5f44c6e614af4
9ea12e054fcbd45cfbaa391f2b3243f02ac8734c 25-Sep-2010 Brian Carlstrom <bdc@google.com> Fix OpenSSLSessionImpl.getValueNames regression

In e32b21f14d52bac429a9c54fe031f9e92c911d64, the code was converted to
use Objects.equals. However, because of a typo, an autoboxed Boolean
was passed instead of an AccessControlContext. I reviewed the rest of
the original change to make sure there were no other instances of this
regression.

Also cleaned up the SSLSessionTest (fixing two broken tests
test_getLocalPrincipal and test_getPeerPrincipal) and fixed a
whitespace issue in AccessControlContext.

Change-Id: Icaee8a0c2f5f527bea7a80037fe3f99c509d9f42
2efe2828992169cd1d0b1f89afbd20b405fd7f51 25-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix RandomAccessFileTest tests that were failing on the host." into dalvik-dev
f2fc4d10b1386a695fe185ab9a6d34d52555f485 25-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix RandomAccessFileTest tests that were failing on the host.

These tests assumed that Integer.MAX_VALUE seeks/lengths would fail,
and they weren't on our beefy continuous build. I've changed the
tests to use Long.MAX_VALUE, which should fail everywhere.

Also moving the test into our managed directory, and the new tests
into their own class.

Change-Id: I5ad5274621ef7094d92a399cfd74d40832473728
7c75d223e8032d313374f2dd7c3779f22fa17bff 25-Sep-2010 Jesse Wilson <jessewilson@google.com> am 557b6cff: am 5147718a: am 0e5792e8: Attach charset tests to their tracking bugs.

Merge commit '557b6cff9656bd86a3a38c6b3aa01387f69b0f57' into dalvik-dev

* commit '557b6cff9656bd86a3a38c6b3aa01387f69b0f57':
Attach charset tests to their tracking bugs.
52be80e2b91c3ffaee2d89bb496cdaa92cd97379 25-Sep-2010 Jesse Wilson <jessewilson@google.com> am 5147718a: am 0e5792e8: Attach charset tests to their tracking bugs.

Merge commit '5147718a964bf7cf94951689af0e57fb4113f9e0'

* commit '5147718a964bf7cf94951689af0e57fb4113f9e0':
Attach charset tests to their tracking bugs.
2e7d300d2364414a387556916bd9a551369d7e53 25-Sep-2010 Jesse Wilson <jessewilson@google.com> am 0e5792e8: Attach charset tests to their tracking bugs.

Merge commit '0e5792e85b0ed0f780f382cc4d6064aa8e0a48b0' into gingerbread-plus-aosp

* commit '0e5792e85b0ed0f780f382cc4d6064aa8e0a48b0':
Attach charset tests to their tracking bugs.
d148ea78d6c2a051f175484a4907b0a236cdc082 25-Sep-2010 Jesse Wilson <jessewilson@google.com> am 4ed5008c: Fix an obsolete import from HttpsURLConnectionTest.

Merge commit '4ed5008cf0cefc32ddc743b6cfc8a627c40b42ba' into dalvik-dev

* commit '4ed5008cf0cefc32ddc743b6cfc8a627c40b42ba':
Fix an obsolete import from HttpsURLConnectionTest.
8937c9bab81af38d92b8457c64040de184814304 25-Sep-2010 Jesse Wilson <jessewilson@google.com> Attach charset tests to their tracking bugs.

Change-Id: I598a6b34a662e528f9b03a41f419bf7e47755ce2
9ac989a7b59d7187d30e253654756a8262cc9b7f 25-Sep-2010 Elliott Hughes <enh@google.com> Merge "Fix a broken test." into dalvik-dev
a4da83793f7356aa1ef32f60cc526b4ec01fda3e 25-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix an obsolete import from HttpsURLConnectionTest.

Change-Id: Ib9043003ee16ca37d9b9bf5bc4cdcc351efc77ff
4450db0d6aa378f82c15e524cbfef56f80534081 25-Sep-2010 Elliott Hughes <enh@google.com> Fix a broken test.

Bug: 3036473
Change-Id: Ie0f67e643fd4525242487f698fea6b3e03977d79
f0d4b67222e927ee2fb9d132bfb36b0ac8ddec0a 25-Sep-2010 Brian Carlstrom <bdc@google.com> am b55a9297: am 51e0ec67: am e9baa585: Merge "OpenSSLSocketImpl should not call NativeCrypto.SSL_set_client_CA_list with an empty array" into gingerbread

Merge commit 'b55a9297dd1645c4924ac1afa77cbb3010191b1c' into dalvik-dev

* commit 'b55a9297dd1645c4924ac1afa77cbb3010191b1c':
OpenSSLSocketImpl should not call NativeCrypto.SSL_set_client_CA_list with an empty array
6ed1f270a1251b14907c721586f464975af39099 25-Sep-2010 Jesse Wilson <jessewilson@google.com> am 42e02ace: resolved conflicts for merge of 0c4b3205 to master

Merge commit '42e02ace8881e1d4e06de76e301dcb5dbf046ab4' into dalvik-dev

* commit '42e02ace8881e1d4e06de76e301dcb5dbf046ab4':
Rely on the test runner to ensure a pristine VM.
b6539860abbb75d3259eca37633accfd9fe66474 25-Sep-2010 Brian Carlstrom <bdc@google.com> am 51e0ec67: am e9baa585: Merge "OpenSSLSocketImpl should not call NativeCrypto.SSL_set_client_CA_list with an empty array" into gingerbread

Merge commit '51e0ec67ca5e78ffd907506c780f5dfd340e9f59'

* commit '51e0ec67ca5e78ffd907506c780f5dfd340e9f59':
OpenSSLSocketImpl should not call NativeCrypto.SSL_set_client_CA_list with an empty array
c75738500eb70704fab25b2e9b9aa2452a89c5c6 25-Sep-2010 Jesse Wilson <jessewilson@google.com> resolved conflicts for merge of 0c4b3205 to master

Change-Id: Ie38e3b5aafd43844afec93e2c6387a81b2bc9fb2
af70337303a7a3292297e4ca5abd6f237a3780cf 25-Sep-2010 Brian Carlstrom <bdc@google.com> am e9baa585: Merge "OpenSSLSocketImpl should not call NativeCrypto.SSL_set_client_CA_list with an empty array" into gingerbread

Merge commit 'e9baa5856fb3972699d3c54947ceb8fd6bc67d0f' into gingerbread-plus-aosp

* commit 'e9baa5856fb3972699d3c54947ceb8fd6bc67d0f':
OpenSSLSocketImpl should not call NativeCrypto.SSL_set_client_CA_list with an empty array
ec9ca3b0d1adaec0cdf93dbd4aaa06404dc0f400 25-Sep-2010 Brian Carlstrom <bdc@google.com> Merge "OpenSSLSocketImpl should not call NativeCrypto.SSL_set_client_CA_list with an empty array" into gingerbread
0ae358977fdddcd9e40c4552208faa1609ac1a50 25-Sep-2010 Jesse Wilson <jessewilson@google.com> am a884f455: Merge "Rely on the test runner to ensure a pristine VM." into gingerbread

Merge commit 'a884f455e2ad843819c36d2607790450d47475dd' into gingerbread-plus-aosp

* commit 'a884f455e2ad843819c36d2607790450d47475dd':
Rely on the test runner to ensure a pristine VM.
e85789816034a883cc7fe03a835fb9d1a3ffd639 25-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix OldResponseCache.test_get() which was broken by moving the test." into dalvik-dev
faa0915ac4b81be220bfe96741a80d58b5b43ee7 25-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix ProcessBuilderTest for the host." into dalvik-dev
06a17d2a0abb551873de658a82a4c411dfbffefe 25-Sep-2010 Brian Carlstrom <bdc@google.com> OpenSSLSocketImpl should not call NativeCrypto.SSL_set_client_CA_list with an empty array

Bug: 3034616
Change-Id: Ib39ebfa737910f0ebce5ac2ad87715579bd7aa3d
ec1d42f24b353c53fa2f3c95a2550c756fac6d3e 25-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix ProcessBuilderTest for the host.

Change-Id: Ibce863097f3fee8f8b69330156c1b6c88da22af4
c76de00648d33f1e19e5a7f54784f41ca29a53e7 25-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Rely on the test runner to ensure a pristine VM." into gingerbread
81eba98a5e73116debbd0d1af2ffe967bb0985fe 25-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix OldResponseCache.test_get() which was broken by moving the test.

Change-Id: I7edc4348cae3181ead252c0a3f77015451d47826
6ab6428bb4db7b95c45b54bc7ffdc9789cb69743 25-Sep-2010 Jesse Wilson <jessewilson@google.com> Rely on the test runner to ensure a pristine VM.

Change-Id: I6f5bfad6f861eb7b398ed7d86747d66cea4f2343
http://b/issue?id=2660429
b725c2fc99eb833d3417d7617d2130290ba8c4f0 25-Sep-2010 Elliott Hughes <enh@google.com> am 69b59f75: am 91575314: Throw SocketTimeoutException rather than SocketException if connect times out.

Merge commit '69b59f75f21b2e1f0a633a0dfc430e2cd6e83ad1'

* commit '69b59f75f21b2e1f0a633a0dfc430e2cd6e83ad1':
Throw SocketTimeoutException rather than SocketException if connect times out.
dc4e301038afdf2408c46e42f1766b9276502877 24-Sep-2010 Brian Carlstrom <bdc@google.com> Should only use "rev" instructions if __ARM_ARCH__ >= 6

Change-Id: If1a8724561354877275784461a84b4732d2a32ca
c35cac49ec1a7d71bf0c46473b546cb2ef6ad984 24-Sep-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master
a1b6091bc294eecd72aec472e4a08b1f4b00e913 24-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Make failures in replacement characters more granual." into dalvik-dev
f738a37dc781d9ad97e6f78ca28acab7087fe285 24-Sep-2010 Jesse Wilson <jessewilson@google.com> Make failures in replacement characters more granual.

We're failing for UTF-16, but that shouldn't cause other charset's
tests to not run.

Change-Id: Ib7bfc088c45527b9649d0e114fb3e67911b34067
9433a706a7ae77179a2aec0c7c7ca681c2fe5b9c 24-Sep-2010 Elliott Hughes <enh@google.com> am 91575314: Throw SocketTimeoutException rather than SocketException if connect times out.

Merge commit '915753146bdd4551fe2aa2655a40adf58d7aafa6' into gingerbread-plus-aosp

* commit '915753146bdd4551fe2aa2655a40adf58d7aafa6':
Throw SocketTimeoutException rather than SocketException if connect times out.
b679d5df343897c06e5f9e8a102f17271613fb11 24-Sep-2010 Elliott Hughes <enh@google.com> Throw SocketTimeoutException rather than SocketException if connect times out.

Bug: 3032900
Change-Id: I5da70fc55f2366a504b2492f2bc7f2269a57ef14
dd4451f3168832c2547f66491d239c6dc278d75b 24-Sep-2010 Jesse Wilson <jessewilson@google.com> am ae1f467f: am 18a7c239: am ceb76118: Merge "Add expectations for some tests failing in Hudson." into gingerbread

Merge commit 'ae1f467fd324947afe525263ef4b3e9ff2582d7d' into dalvik-dev

* commit 'ae1f467fd324947afe525263ef4b3e9ff2582d7d':
Add expectations for some tests failing in Hudson.
d39decf03317e079f38f6601a4269d404c20172e 24-Sep-2010 Jesse Wilson <jessewilson@google.com> am 82e18c5a: am 53bbb2b2: am 00feece2: Strip usage of the term \'localhost\' from URLConnectionTest.

Merge commit '82e18c5adf0c19c8a937cef51621ae655f7824ea' into dalvik-dev

* commit '82e18c5adf0c19c8a937cef51621ae655f7824ea':
Strip usage of the term 'localhost' from URLConnectionTest.
6760db299218184cb603f861dce369f3e70bf37a 24-Sep-2010 Jesse Wilson <jessewilson@google.com> am 18a7c239: am ceb76118: Merge "Add expectations for some tests failing in Hudson." into gingerbread

Merge commit '18a7c239c938c82a11f93eff2dba43cd5f447f91'

* commit '18a7c239c938c82a11f93eff2dba43cd5f447f91':
Add expectations for some tests failing in Hudson.
2883dd73273d0010253313293ea9277783e85c1c 24-Sep-2010 Jesse Wilson <jessewilson@google.com> am 53bbb2b2: am 00feece2: Strip usage of the term \'localhost\' from URLConnectionTest.

Merge commit '53bbb2b22f53c8dcb7bbb5d6e294e5f5610abf2b'

* commit '53bbb2b22f53c8dcb7bbb5d6e294e5f5610abf2b':
Strip usage of the term 'localhost' from URLConnectionTest.
3fb5d42c6f503f29a0c403d30e836ac410f77811 24-Sep-2010 Jesse Wilson <jessewilson@google.com> am ceb76118: Merge "Add expectations for some tests failing in Hudson." into gingerbread

Merge commit 'ceb7611877b6bbd6de1f97dd88367c34354dbe15' into gingerbread-plus-aosp

* commit 'ceb7611877b6bbd6de1f97dd88367c34354dbe15':
Add expectations for some tests failing in Hudson.
77203af969c928e404b625274c65d565f5d40fdf 24-Sep-2010 Jesse Wilson <jessewilson@google.com> am 00feece2: Strip usage of the term \'localhost\' from URLConnectionTest.

Merge commit '00feece22909b7dc79fc96d666d157390b93858e' into gingerbread-plus-aosp

* commit '00feece22909b7dc79fc96d666d157390b93858e':
Strip usage of the term 'localhost' from URLConnectionTest.
e1d61bc729af2d260cce05eb100eddc3efb86b5c 24-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Add expectations for some tests failing in Hudson." into gingerbread
d043169d063401e2f4c101bece070c4d4954904d 24-Sep-2010 Jesse Wilson <jessewilson@google.com> Add expectations for some tests failing in Hudson.

Change-Id: Iee064e099a30d4ab6de7a80863df6b1485e23b38
4bf70e8c99119230cb499dabc59f7a54cc02e3e5 24-Sep-2010 Jesse Wilson <jessewilson@google.com> Strip usage of the term 'localhost' from URLConnectionTest.

Change-Id: I8ea7923c3ea72728c7df64c13bdd6f94b91be121
http://b/3032912
ca6ae66676ba4da7c70ef66afc5a66f5b3b229f4 24-Sep-2010 Brian Carlstrom <bdc@google.com> am 4256e142: am 7f911911: am cdeb8093: Fix ArrayIndexOutOfBoundsExceptions in cert Cache on zero filled array input

Merge commit '4256e14221ea668f030fafe0fa9eccd1ca6e6cf6' into dalvik-dev

* commit '4256e14221ea668f030fafe0fa9eccd1ca6e6cf6':
Fix ArrayIndexOutOfBoundsExceptions in cert Cache on zero filled array input
cafdec2f912d5205d36a1d591f071c2045b0fb8a 24-Sep-2010 Jesse Wilson <jessewilson@google.com> am cb0c93f1: am 4b3201fe: am 0d986dce: Merge "Use JSON for expectations files." into gingerbread

Merge commit 'cb0c93f12c7da6ae9c823038a0fd52531b58030f' into dalvik-dev

* commit 'cb0c93f12c7da6ae9c823038a0fd52531b58030f':
3cce5d6e6f8e401637aad24b936ea8a99360b025 24-Sep-2010 Mike Lockwood <lockwood@android.com> am 5b42219c: (-s ours) am 7bccbb4f: am 3ca8646e: Squashed commit of three reverts related to permissions of new files and directories:

Merge commit '5b42219c488e16c487dea995e6113dcd6b3fb2f4' into dalvik-dev

* commit '5b42219c488e16c487dea995e6113dcd6b3fb2f4':
c9fd7cf169a9c28b1f710bbb56c5d710ec8598ad 23-Sep-2010 Elliott Hughes <enh@google.com> Simplify the ZipFile implementation, removing unbuffered I/O.

Bug: 3018772
Change-Id: I183e9ac597f9483418b0b337fc9e3944d473f359
d88bc551a17d8b264a4d2cdd4734b15149d8fa1d 23-Sep-2010 Elliott Hughes <enh@google.com> Merge "private final trumps non-final package-protected." into dalvik-dev
aa5c29fd30d199c486b9f5c7fa43f323e29f7297 23-Sep-2010 Elliott Hughes <enh@google.com> private final trumps non-final package-protected.

Change-Id: Ida695c0da4fb1ffae583a2dcc7f627ec509f7107
a578475fe2d913b9272e5df2141b22bc432ef40c 23-Sep-2010 Brian Carlstrom <bdc@google.com> Merge commit '0d986dceecef06f5b60b4b53e3856ed7a266a693' into mm

Conflicts:
expectations/brokentests.txt

Change-Id: I3cf47abb5ed3040a2d783d7830db81eb2472dcb0
12252ac9a54cde578807a6713a24b4daad43c7ac 23-Sep-2010 Jesse Wilson <jessewilson@google.com> Manually merge 69680: JSON expectations

Change-Id: I983ad951e6445744b39dc763cf425172d2f4da31
bf4a0c3bdcf740c72086f5054075670cfcca2c00 23-Sep-2010 Brian Carlstrom <bdc@google.com> am 7f911911: am cdeb8093: Fix ArrayIndexOutOfBoundsExceptions in cert Cache on zero filled array input

Merge commit '7f9119113075eb4200e47db50929bc5aa1a7803e'

* commit '7f9119113075eb4200e47db50929bc5aa1a7803e':
Fix ArrayIndexOutOfBoundsExceptions in cert Cache on zero filled array input
40480caf2a660274377959c21fa64680165756d5 23-Sep-2010 Brian Carlstrom <bdc@google.com> am cdeb8093: Fix ArrayIndexOutOfBoundsExceptions in cert Cache on zero filled array input

Merge commit 'cdeb809350d8c1a14a96924bf01febfa82a8b5b6' into gingerbread-plus-aosp

* commit 'cdeb809350d8c1a14a96924bf01febfa82a8b5b6':
Fix ArrayIndexOutOfBoundsExceptions in cert Cache on zero filled array input
fca344d54097e3338dbedb8cf0315fcdb8e45a64 23-Sep-2010 Brian Carlstrom <bdc@google.com> Fix ArrayIndexOutOfBoundsExceptions in cert Cache on zero filled array input

The Harmony cert Cache has a long[] where each long is a combination
of a hash and an one-based index into another table containing the
cached values. The cache is searched with Arrays.binarySearch, which
should never find an actual hit, since even a hash hit will look like
a miss since the input hash doesn't contain the one-based index and
entries in the table do. However, this approach has the property that
both hits and misses give the same location in the array, which is
subsequently checked for a real hit/miss with a mask.

However, the hash of a byte array filled with zeroes was zero, which
is found by Arrays.binarySearch in unused slots. Unfortunately, the
code never expects a direct hit, so when it does uses -index-1 to find
the slot to check for hit/miss, it ends up with a negative number,
causing the ArrayIndexOutOfBoundsExceptions.

The solution is ensure that when the hash function returns zero to
simply treat it as a miss. It should not be true for any non-trival
legal input.

Bug: 2753594
Change-Id: I2ee282cc28f22a0ca26da311ae683edf548c67a6
d952cc11cd728a81b2261d67d8b99867690a1e4b 23-Sep-2010 Mike Lockwood <lockwood@google.com> Merge "Merge commit '3ca8646e36c5fb78141c8a524e22c6721d3c79d3' into dalvik-dev" into dalvik-dev
472bf88a6cf919de7ab84cb2d362919e9ed4f84c 22-Sep-2010 Brian Carlstrom <bdc@google.com> Merge commit '3ca8646e36c5fb78141c8a524e22c6721d3c79d3' into dalvik-dev

Change-Id: I9679f9870bba9a34b9b983dfbaadec28476aca60
c917e165c73195701c4a93bee7e48c66a424582a 23-Sep-2010 Elliott Hughes <enh@google.com> Improve RandomAccessFile documentation.

Change-Id: I74ae5b018f2c140e97b516576ef582d213a1b7cc
18fd80915b8880ca331009fdc69be726eae40ce5 23-Sep-2010 Elliott Hughes <enh@google.com> Merge "Remove unbuffered single-byte I/O from ZipFile." into dalvik-dev
408f60d0cf655491739842efbe7378131b8133ee 23-Sep-2010 Elliott Hughes <enh@google.com> Remove unbuffered single-byte I/O from ZipFile.

This is enough to fool my current checking (and a little bit better than the
existing code), but I do plan on better checking and a rewrite of ZipFile.

Bug: 3018772
Change-Id: I607fee807c2bcbe9d59b883ef7bfbaa9a8f54ea8
89b8c8b6a12fa5b0d680a5364f4c1be5b48d42bb 23-Sep-2010 Jesse Wilson <jessewilson@google.com> am 4b3201fe: am 0d986dce: Merge "Use JSON for expectations files." into gingerbread

Merge commit '4b3201fe6bd7122c8b871f44813289d60c899746'

* commit '4b3201fe6bd7122c8b871f44813289d60c899746':
Use JSON for expectations files.
08123187e84752d99d086af7cf776c8717d30f51 23-Sep-2010 Jesse Wilson <jessewilson@google.com> am 0d986dce: Merge "Use JSON for expectations files." into gingerbread

Merge commit '0d986dceecef06f5b60b4b53e3856ed7a266a693' into gingerbread-plus-aosp

* commit '0d986dceecef06f5b60b4b53e3856ed7a266a693':
Use JSON for expectations files.
82b8cbce02b055fe1d774447148698cb09f29232 23-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Use JSON for expectations files." into gingerbread
6ecbcf09be61228628631c285471ff6ae598b1d5 23-Sep-2010 Mike Lockwood <lockwood@android.com> am 7bccbb4f: am 3ca8646e: Squashed commit of three reverts related to permissions of new files and directories:

Merge commit '7bccbb4f858cc197cf7a7e173a301d2b88001bf6'

* commit '7bccbb4f858cc197cf7a7e173a301d2b88001bf6':
Squashed commit of three reverts related to permissions of new files and directories:
e105a03b83712c4599c0940a9d33c283429b4d87 23-Sep-2010 Mike Lockwood <lockwood@android.com> am 3ca8646e: Squashed commit of three reverts related to permissions of new files and directories:

Merge commit '3ca8646e36c5fb78141c8a524e22c6721d3c79d3' into gingerbread-plus-aosp

* commit '3ca8646e36c5fb78141c8a524e22c6721d3c79d3':
Squashed commit of three reverts related to permissions of new files and directories:
d6039e1a3fc18d5b15c71bb596819d38dc27a084 23-Sep-2010 Jesse Wilson <jessewilson@google.com> Use JSON for expectations files.

This allows us to print the expectation description when a test
fails. I'll follow this up by wiring vogar to do very clever things
with the statuses of linked bugs.

Change-Id: Idc3048b5dafff864675e760a3bb0c8fea48bb807
56c3aebed5c1f6b1ae00a1585f34a4dc97f731ec 23-Sep-2010 Mike Lockwood <lockwood@android.com> Squashed commit of three reverts related to permissions of new files and directories:

Revert "Create new files with permissions 0666 instead of 0777"

This reverts commit 4ea56d66e19d1450960ba26f60ca61a6804a3ba7.

Revert "Fix random permissions being set for new files."

This reverts commit 787bd9e6c46da7e229db6450d94409d2c6da6c2b.

Revert "Remove restricted permissions in file and directory creation"

This reverts commit 9b211124283bfb808e902b91da4df3e291d9bb6c.

BUG: 3028408
d35990218c4b544ff221cabe37882eacbf2abc4d 22-Sep-2010 Brian Carlstrom <bdc@google.com> am dbdfcaf7: am 127c978e: am f62b503f: NativeCrypto_EVP_PKEY_new_RSA native NULL pointer reference WITH_JNI_TRACE

Merge commit 'dbdfcaf70aa5216fb008b1981bef646bc9c76643' into dalvik-dev

* commit 'dbdfcaf70aa5216fb008b1981bef646bc9c76643':
NativeCrypto_EVP_PKEY_new_RSA native NULL pointer reference WITH_JNI_TRACE
f8cdc769b23c8e7568333cab31b2983d0e924818 22-Sep-2010 Brian Carlstrom <bdc@google.com> am 127c978e: am f62b503f: NativeCrypto_EVP_PKEY_new_RSA native NULL pointer reference WITH_JNI_TRACE

Merge commit '127c978e706fc4d91884e8215c56816517efc9b0'

* commit '127c978e706fc4d91884e8215c56816517efc9b0':
NativeCrypto_EVP_PKEY_new_RSA native NULL pointer reference WITH_JNI_TRACE
dd6a9e85c63e759b4a5001ce21026efedf53fd0a 22-Sep-2010 Brian Carlstrom <bdc@google.com> am f62b503f: NativeCrypto_EVP_PKEY_new_RSA native NULL pointer reference WITH_JNI_TRACE

Merge commit 'f62b503fea825444a698c3c2ddaabc6dabb089f5' into gingerbread-plus-aosp

* commit 'f62b503fea825444a698c3c2ddaabc6dabb089f5':
NativeCrypto_EVP_PKEY_new_RSA native NULL pointer reference WITH_JNI_TRACE
f6012fb5580aa4ed933d25946506cc767fc10c38 22-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix setLength() to adjust pointer." into dalvik-dev
797f549943c137d08f3ab235cc3e6bc156e095a7 22-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix setLength() to adjust pointer.

See http://b/2224985

Change-Id: Ie8b7a7a455fdbde051dea15f8d3e4dc6bf8f6fba
12dff1b917c70b1a71b1f0358715564d7f7b94da 22-Sep-2010 Brian Carlstrom <bdc@google.com> NativeCrypto_EVP_PKEY_new_RSA native NULL pointer reference WITH_JNI_TRACE

Device would not boot when WITH_JNI_TRACE was enabled because
RSA_check_key was called with NULL arguments.

Change-Id: I766cc027bab3f05f6b4956120002c572a5791af3
8a7fc5e02257d5d383c4ad1b23212a32545555aa 14-Sep-2010 Brian Carlstrom <bdc@google.com> CA certificate update

Added, updated, and remove CAs in cacerts directory with summary below.
Regenerated cacerts.bks

Added SHA1 : FE:B8:C4:32:DC:F9:76:9A:CE:AE:3D:D8:90:8F:FD:28:86:65:64:7D
Subject : C=JP, O=SECOM Trust Systems CO.,LTD., OU=Security Communication EV RootCA1

Added SHA1 : 25:01:90:19:CF:FB:D9:99:1C:B7:68:25:74:8D:94:5F:30:93:95:42
Subject : O=RSA Security Inc, OU=RSA Security 2048 V3

Added SHA1 : DA:C9:02:4F:54:D8:F6:DF:94:93:5F:B1:73:26:38:CA:6A:D7:7C:13
Subject : O=Digital Signature Trust Co., CN=DST Root CA X3

Added SHA1 : 60:D6:89:74:B5:C2:65:9E:8A:0F:C1:88:7C:88:D2:46:69:1B:18:2C
Subject : C=FR, ST=France, L=Paris, O=PM/SGDN, OU=DCSSI, CN=IGC/A/emailAddress=igca@sgdn.pm.gouv.fr

Added SHA1 : B4:35:D4:E1:11:9D:1C:66:90:A7:49:EB:B3:94:BD:63:7B:A7:82:B7
Subject : CN=T\xC3\x9CRKTRUST Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xC4\xB1c\xC4\xB1s\xC4\xB1, C=TR, L=Ankara, O=T\xC3\x9CRKTRUST Bilgi \xC4\xB0leti\xC5\x9Fim ve Bili\xC5\x9Fim G\xC3\xBCvenli\xC4\x9Fi Hizmetleri A.\xC5\x9E. (c) Kas\xC4\xB1m 2005

Added SHA1 : 81:96:8B:3A:EF:1C:DC:70:F5:FA:32:69:C2:92:A3:63:5B:D1:23:D3
Subject : C=US, O=Digital Signature Trust Co., OU=DSTCA E1

Added SHA1 : A9:E9:78:08:14:37:58:88:F2:05:19:B0:6D:2B:0D:2B:60:16:90:7D
Subject : C=US, O=GeoTrust Inc., CN=GeoTrust Global CA 2

Added SHA1 : 66:31:BF:9E:F7:4F:9E:B6:C9:D5:A6:0C:BA:6A:BE:D1:F7:BD:EF:7B
Subject : C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO Certification Authority

Added SHA1 : B1:2E:13:63:45:86:A4:6F:1A:B2:60:68:37:58:2D:C4:AC:FD:94:97
Subject : C=FR, O=Dhimyotis, CN=Certigna

Added SHA1 : C8:EC:8C:87:92:69:CB:4B:AB:39:E9:8D:7E:57:67:F3:14:95:73:9D
Subject : C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 4 Public Primary Certification Authority - G3

Added SHA1 : CB:A1:C5:F8:B0:E3:5E:B8:B9:45:12:D3:F9:34:A2:E9:06:10:D3:36
Subject : C=CO, O=Sociedad Cameral de Certificaci\xC3\xB3n Digital - Certic\xC3\xA1mara S.A., CN=AC Ra\xC3\xADz Certic\xC3\xA1mara S.A.

Added SHA1 : 79:98:A3:08:E1:4D:65:85:E6:C2:1E:15:3A:71:9F:BA:5A:D3:4A:D9
Subject : CN=T\xC3\x9CRKTRUST Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xC4\xB1c\xC4\xB1s\xC4\xB1, C=TR, L=ANKARA, O=(c) 2005 T\xC3\x9CRKTRUST Bilgi \xC4\xB0leti\xC5\x9Fim ve Bili\xC5\x9Fim G\xC3\xBCvenli\xC4\x9Fi Hizmetleri A.\xC5\x9E.

Added SHA1 : D8:C5:38:8A:B7:30:1B:1B:6E:D4:7A:E6:45:25:3A:6F:9F:1A:27:61
Subject : C=CH, O=SwissSign AG, CN=SwissSign Gold CA - G2

Added SHA1 : 33:9B:6B:14:50:24:9B:55:7A:01:87:72:84:D9:E0:2F:C3:D2:D8:E9
Subject : C=EU, O=AC Camerfirma SA CIF A82743287, OU=http://www.chambersign.org, CN=Global Chambersign Root
Added SHA1 : DE:28:F4:A4:FF:E5:B9:2F:A3:C5:03:D1:A3:49:A7:F9:96:2A:82:12
Subject : C=US, O=GeoTrust Inc., CN=GeoTrust Global CA

Added SHA1 : 32:3C:11:8E:1B:F7:B8:B6:52:54:E2:E2:10:0D:D6:02:90:37:F0:96
Subject : C=US, O=GeoTrust Inc., CN=GeoTrust Primary Certification Authority

Added SHA1 : 85:B5:FF:67:9B:0C:79:96:1F:C8:6E:44:22:00:46:13:DB:17:92:84
Subject : C=US, O=America Online Inc., CN=America Online Root Certification Authority 2

Added SHA1 : 5F:43:E5:B1:BF:F8:78:8C:AC:1C:C7:CA:4A:9A:C6:22:2B:CC:34:C6
Subject : O=Cybertrust, Inc, CN=Cybertrust Global Root

Added SHA1 : AB:48:F3:33:DB:04:AB:B9:C0:72:DA:5B:0C:C1:D0:57:F0:36:9B:46
Subject : C=US, O=Digital Signature Trust Co., OU=DSTCA E2

Added SHA1 : 3A:44:73:5A:E5:81:90:1F:24:86:61:46:1E:3B:9C:C4:5F:F5:3A:1B
Subject : C=US, O=SecureTrust Corporation, CN=Secure Global CA

Added SHA1 : 74:F8:A3:C3:EF:E7:B3:90:06:4B:83:90:3C:21:64:60:20:E5:DF:CE
Subject : C=US, O=Network Solutions L.L.C., CN=Network Solutions Certificate Authority

Added SHA1 : 9F:74:4E:9F:2B:4D:BA:EC:0F:31:2C:50:B6:56:3B:8E:2D:93:C3:11
Subject : C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO ECC Certification Authority

Added SHA1 : 39:4F:F6:85:0B:06:BE:52:E5:18:56:CC:10:E1:80:E8:82:B3:85:CC
Subject : C=US, O=Equifax Secure, OU=Equifax Secure eBusiness CA-2

Added SHA1 : 59:22:A1:E1:5A:EA:16:35:21:F8:98:39:6A:46:46:B0:44:1B:0F:A9
Subject : C=CH, O=WISeKey, OU=Copyright (c) 2005, OU=OISTE Foundation Endorsed, CN=OISTE WISeKey Global Root GA CA

Replaced SHA1 : BE:E7:72:B3:19:0A:C8:4B:F8:31:F9:60:7D:98:89:EC:6A:96:6C:16
Subject : C=US, O=Entrust, Inc., OU=www.entrust.net/CPS is incorporated by reference, OU=(c) 2006 Entrust, Inc., CN=Entrust Root Certification Authority
with SHA1 : B3:1E:B1:B7:40:E3:6C:84:02:DA:DC:37:D4:4D:F5:D4:67:49:52:F9
Subject : C=US, O=Entrust, Inc., OU=www.entrust.net/CPS is incorporated by reference, OU=(c) 2006 Entrust, Inc., CN=Entrust Root Certification Authority

Added SHA1 : 13:2D:0D:45:53:4B:69:97:CD:B2:D5:C3:39:E2:55:76:60:9B:5C:C6
Subject : C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G3

Added SHA1 : 37:9A:19:7B:41:85:45:35:0C:A6:03:69:F3:3C:2E:AF:47:4F:20:79
Subject : C=US, O=GeoTrust Inc., CN=GeoTrust Universal CA 2

Added SHA1 : 87:81:C2:5A:96:BD:C2:FB:4C:65:06:4F:F9:39:0B:26:04:8A:0E:01
Subject : C=DK, O=TDC, CN=TDC OCES CA

Added SHA1 : E7:B4:F6:9D:61:EC:90:69:DB:7E:90:A7:40:1A:3C:F4:7D:4F:E8:EE
Subject : C=US, O=Wells Fargo WellsSecure, OU=Wells Fargo Bank NA, CN=WellsSecure Public Root Certificate Authority

Added SHA1 : C0:60:ED:44:CB:D8:81:BD:0E:F8:6C:0B:A2:87:DD:CF:81:67:47:8C
Subject : C=NL, O=DigiNotar, CN=DigiNotar Root CA/emailAddress=info@diginotar.nl

Added SHA1 : F9:CD:0E:2C:DA:76:24:C1:8F:BD:F0:F0:AB:B6:45:B8:F7:FE:D5:7A
Subject : CN=ComSign Secured CA, O=ComSign, C=IL

Added SHA1 : 80:25:EF:F4:6E:70:C8:D4:72:24:65:84:FE:40:3B:8A:8D:6A:DB:F5
Subject : C=DE, O=TC TrustCenter GmbH, OU=TC TrustCenter Class 3 CA, CN=TC TrustCenter Class 3 CA II

Added SHA1 : 23:88:C9:D3:71:CC:9E:96:3D:FF:7D:3C:A7:CE:FC:D6:25:EC:19:0D
Subject : C=HU, L=Budapest, O=Microsec Ltd., OU=e-Szigno CA, CN=Microsec e-Szigno Root CA

Added SHA1 : E6:21:F3:35:43:79:05:9A:4B:68:30:9D:8A:2F:74:22:15:87:EC:79
Subject : C=US, O=GeoTrust Inc., CN=GeoTrust Universal CA

Added SHA1 : 91:C6:D6:EE:3E:8A:C8:63:84:E5:48:C2:99:29:5C:75:6C:81:7B:81
Subject : C=US, O=thawte, Inc., OU=Certification Services Division, OU=(c) 2006 thawte, Inc. - For authorized use only, CN=thawte Primary Root CA

Added SHA1 : 0B:77:BE:BB:CB:7A:A2:47:05:DE:CC:0F:BD:6A:02:FC:7A:BD:9B:52
Subject : C=US, O=VeriSign, Inc., OU=Class 4 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network

Added SHA1 : 93:E6:AB:22:03:03:B5:23:28:DC:DA:56:9E:BA:E4:D1:D1:CC:FB:65
Subject : C=US, O=Wells Fargo, OU=Wells Fargo Certification Authority, CN=Wells Fargo Root Certificate Authority

Added SHA1 : 70:17:9B:86:8C:00:A4:FA:60:91:52:22:3F:9F:3E:32:BD:E0:05:62
Subject : C=US, O=VISA, OU=Visa International Service Association, CN=Visa eCommerce Root

Added SHA1 : 87:82:C6:C3:04:35:3B:CF:D2:96:92:D2:59:3E:7D:44:D9:34:FF:11
Subject : C=US, O=SecureTrust Corporation, CN=SecureTrust CA

Added SHA1 : 9B:AA:E5:9F:56:EE:21:CB:43:5A:BE:25:93:DF:A7:F0:40:D1:1D:CB
Subject : C=CH, O=SwissSign AG, CN=SwissSign Silver CA - G2

Added SHA1 : D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49
Subject : C=GB, ST=Greater Manchester, L=Salford, O=Comodo CA Limited, CN=AAA Certificate Services

Added SHA1 : B8:01:86:D1:EB:9C:86:A5:41:04:CF:30:54:F3:4C:52:B7:E5:58:C6
Subject : C=US, OU=www.xrampsecurity.com, O=XRamp Security Services Inc, CN=XRamp Global Certification Authority

Added SHA1 : D4:DE:20:D0:5E:66:FC:53:FE:1A:50:88:2C:78:DB:28:52:CA:E4:74
Subject : C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root

Remove SHA1 : 74:2C:31:92:E6:07:E4:24:EB:45:49:54:2B:E1:BB:C5:3E:61:74:E2
Subject : C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority

Added SHA1 : A1:DB:63:93:91:6F:17:E4:18:55:09:40:04:15:C7:02:40:B0:AE:6B
Subject : C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority

Replaced SHA1 : 80:1D:62:D0:7B:44:9D:5C:5C:03:5C:98:EA:61:FA:44:3C:2A:58:FE
Subject : O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048)
with SHA1 : 50:30:06:09:1D:97:D4:F5:AE:39:F7:CB:E7:92:7D:7D:65:2D:34:31
Subject : O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048)

Added SHA1 : 8C:F4:27:FD:79:0C:3A:D1:66:06:8D:E8:1E:57:EF:BB:93:22:72:D4
Subject : C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2009 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - G2

Added SHA1 : 56:E0:FA:C0:3B:8F:18:23:55:18:E5:D3:11:CA:E8:C2:43:31:AB:66
Subject : C=CH, O=SwissSign AG, CN=SwissSign Platinum CA - G2

Added SHA1 : 3C:71:D7:0E:35:A5:DA:A8:B2:E3:81:2D:C3:67:74:17:F5:99:0D:F3
Subject : C=ES, ST=Madrid, L=Madrid, O=IPS Certification Authority s.l. ipsCA, OU=ipsCA, CN=ipsCA Global CA Root/emailAddress=global01@ipsca.com

Added SHA1 : 47:BE:AB:C9:22:EA:E8:0E:78:78:34:62:A7:9F:45:C2:54:FD:E6:8B
Subject : C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., CN=Go Daddy Root Certificate Authority - G2

Added SHA1 : 02:72:68:29:3E:5F:5D:17:AA:A4:B3:C3:E6:36:1E:1F:92:57:5E:AA
Subject : C=KR, O=KISA, OU=Korea Certification Authority Central, CN=KISA RootCA 1

Added SHA1 : 5F:4E:1F:CF:31:B7:91:3B:85:0B:54:F6:E5:FF:50:1A:2B:6F:C6:CF
Subject : C=KR, O=KISA, OU=Korea Certification Authority Central, CN=KISA RootCA 3

Added SHA1 : 96:56:CD:7B:57:96:98:95:D0:E1:41:46:68:06:FB:B8:C6:11:06:87
Subject : C=DE, O=TC TrustCenter GmbH, OU=TC TrustCenter Universal CA, CN=TC TrustCenter Universal CA III

Added SHA1 : D6:9B:56:11:48:F0:1C:77:C5:45:78:C1:09:26:DF:5B:85:69:76:AD
Subject : OU=GlobalSign Root CA - R3, O=GlobalSign, CN=GlobalSign

Remove SHA1 : 19:98:49:D9:A9:E9:F5:28:43:6C:72:65:30:2A:15:2C:C0:9B:CA:9E
Subject : C=US, O=Entrust, Inc., OU=AND ADDITIONAL TERMS GOVERNING USE AND RELIANCE, OU=CPS CONTAINS IMPORTANT LIMITATIONS OF WARRANTIES AND LIABILITY, OU=www.entrust.net/CPS is incorporated by reference, OU=(c) 2008 Entrust, Inc., CN=Entrust Certification Authority - L1B

Remove SHA1 : 4A:8A:2A:0E:27:6F:F3:3B:5D:D8:8A:36:21:46:01:0F:2A:8B:6A:EE
Subject : C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)06, CN=VeriSign Class 3 Extended Validation SSL SGC CA

Remove SHA1 : 65:73:55:A6:BB:68:F9:3D:33:CC:B7:58:B4:2F:5E:1A:7D:85:C9:C4
Subject : C=IL, O=StartCom Ltd., OU=StartCom Certification Authority, CN=StartCom Extended Validation Server CA

Bug: 2994278
Change-Id: I4f05182fbec1053299e8ba68553116773f4eac18
25ca75f8b44b8c36809066990bea047627d9e92d 22-Sep-2010 Brian Carlstrom <bdc@google.com> am 7452795a: am f8f14c30: am 1be19cf6: Tracking external/bouncycastle OpenSSLDigest

Merge commit '7452795a3d40cac126b21f85316b36b035950371' into dalvik-dev

* commit '7452795a3d40cac126b21f85316b36b035950371':
Tracking external/bouncycastle OpenSSLDigest
da6df7617b37ede58ce69a2e000011ee66fa3115 22-Sep-2010 Brian Carlstrom <bdc@google.com> am f8f14c30: am 1be19cf6: Tracking external/bouncycastle OpenSSLDigest

Merge commit 'f8f14c30064e48b3512c42d46bdcb6384d0d984c'

* commit 'f8f14c30064e48b3512c42d46bdcb6384d0d984c':
Tracking external/bouncycastle OpenSSLDigest
117bf94c04b27e5e341c67d3ba22660d3bc33320 22-Sep-2010 Brian Carlstrom <bdc@google.com> am 1be19cf6: Tracking external/bouncycastle OpenSSLDigest

Merge commit '1be19cf6a06834e97608dffd87c30d604b02196a' into gingerbread-plus-aosp

* commit '1be19cf6a06834e97608dffd87c30d604b02196a':
Tracking external/bouncycastle OpenSSLDigest
967678c6fd532c654b2fd926e8dde5e55ad5f1d5 22-Sep-2010 Brian Carlstrom <bdc@google.com> Tracking external/bouncycastle OpenSSLDigest

Making OpenSSLMessageDigestJDK final to match OpenSSLDigest version
Fixing WITH_JNI_TRACE used for debugging OpenSSLDigest

Bug: 3024499
Change-Id: I919749348e531d074a25e16ab13315cede4f88e5
532b9c531e0aa2fb2f8c0675d5ce9bb7e726979e 22-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Love for FileInputStream and FileOutputStream." into dalvik-dev
045922a2e8fb9bfd74e75c41dbf179e7a6592ea4 22-Sep-2010 Jesse Wilson <jessewilson@google.com> am 0fe127c1: am 3388fbc2: am 301db343: Merge "Fix problem where single-byte reads were unsigned." into gingerbread

Merge commit '0fe127c1981e7ad8c02eb9f2a46601dfcacde39f' into dalvik-dev

* commit '0fe127c1981e7ad8c02eb9f2a46601dfcacde39f':
Fix problem where single-byte reads were unsigned.
0d7716e75e98cc793a963d10fa3b3acbe66d4d12 22-Sep-2010 Jesse Wilson <jessewilson@google.com> am 3388fbc2: am 301db343: Merge "Fix problem where single-byte reads were unsigned." into gingerbread

Merge commit '3388fbc2353b4a371ff847f3aac8255ea0805fa9'

* commit '3388fbc2353b4a371ff847f3aac8255ea0805fa9':
Fix problem where single-byte reads were unsigned.
76ea9c7716a40ac76fa904dafff0eba374b08d5b 22-Sep-2010 Jesse Wilson <jessewilson@google.com> am 301db343: Merge "Fix problem where single-byte reads were unsigned." into gingerbread

Merge commit '301db343e965a7943704887bf29e7f2d94fd3ac6' into gingerbread-plus-aosp

* commit '301db343e965a7943704887bf29e7f2d94fd3ac6':
Fix problem where single-byte reads were unsigned.
4bfddb0e5c842699538ad7f3cc1fd258298fb2bb 22-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix problem where single-byte reads were unsigned." into gingerbread
0511d1d21d609b5c0636134c9fa6bcf088b039cd 22-Sep-2010 Elliott Hughes <enh@google.com> Remove custom marker classes for locks.

Just use Object instead.

Bug: 3024308
Change-Id: I83a01020646d95e014743b76e27ca7134c155298
8430b653c27f18780c8c57cb0f4fa434b7cbf6e9 21-Sep-2010 Jesse Wilson <jessewilson@google.com> Love for FileInputStream and FileOutputStream.

This changes FileOutputStream to open its channel lazily. Doing so
requires a new field, mode. It saves the allocation of the channel
and its accompanying infrastructure in the common case.

This adds example usage complete with the necessary buffers, and
removed documentation that was redundant from the superclass.

Change-Id: Ib23d12cef075169a574fddedcaf1fec018eb726c
http://b/3018687
208a856824ae5285fc22b42621f95457ee36f7f2 22-Sep-2010 Elliott Hughes <enh@google.com> Fix new FileInputStream(".") to throw.

Unlike Posix, Java disallows opening a directory for _reading_ too.

Bug: 2224954
Change-Id: I1414978c4fc530378937a250dea03aa647c6c1ed
efa571a1e527224a5f3b54f74315966cdb79e7cc 22-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix problem where single-byte reads were unsigned.

Change-Id: Ib0bc273698b71d13a90a03a8c60498ad7de5ad9d
http://b/3023872
c3293283c263d41ab871e2fd888a89bda5e4ff8e 21-Sep-2010 Elliott Hughes <enh@google.com> Fix build: nio implementation details accidentally made public.

Change-Id: I1bc4b40c2038088a1e22489f39d54e28d9ae21cb
a7b7378b31156bd924af0ee65ca59a79cc87ad2c 21-Sep-2010 Elliott Hughes <enh@google.com> Merge "Minor tidy-up." into dalvik-dev
03e123e2c848bb0eef7f4f435928dad8e424d44d 21-Sep-2010 Elliott Hughes <enh@google.com> Minor tidy-up.

The nio implementation is still a bit of a mess because Java doesn't have any
kind of "module" concept, nor "friend". But this makes it a little less untidy,
and makes the deliberate access control subversions a little more explicit, and
makes various things less accessible than they were.

Change-Id: I514b1e24000b91f86b768ed408fedae115dc3080
0fefe089f059784305adf8171439c757890fe61c 21-Sep-2010 Brian Carlstrom <bdc@google.com> am 4440425d: am 1f3ade1d: am 84f16126: Make SSL network I/O interruptible

Merge commit '4440425d12b528a9ff9a7a51a40029898d7c1148' into dalvik-dev

* commit '4440425d12b528a9ff9a7a51a40029898d7c1148':
Make SSL network I/O interruptible
0f922a2d786ccd7c42cd4df859e14ee1663a8e3a 21-Sep-2010 Brian Carlstrom <bdc@google.com> am 1f3ade1d: am 84f16126: Make SSL network I/O interruptible

Merge commit '1f3ade1de6723e86759de5de1dd851bca5586db0'

* commit '1f3ade1de6723e86759de5de1dd851bca5586db0':
Make SSL network I/O interruptible
c0a8269a6db05479cb778d78b188b6eef5013240 21-Sep-2010 Brian Carlstrom <bdc@google.com> am 84f16126: Make SSL network I/O interruptible

Merge commit '84f161268b8ae93a9046c40ca8381aa92148f2f6' into gingerbread-plus-aosp

* commit '84f161268b8ae93a9046c40ca8381aa92148f2f6':
Make SSL network I/O interruptible
2671e42d73772f037a6b7231351832053f194f75 21-Sep-2010 Brian Carlstrom <bdc@google.com> Make SSL network I/O interruptible

- Changed NativeCrypto code to hold onto java.io.FileDescriptor so it
can see observe when another thread calls Socket.close and sets the
FileDescriptor's fd to -1. Changed AppData::setEnv to check
NetFd::isClosed, it was already being used before each SSL I/O
operation.

- Changed sslSelect to no longer take an int fd, it now uses the
AppData to get access the FileDescriptor. Within sslSelect, the
select call is now protected with AsynchronousSocketCloseMonitor.
The select call is now retried on EINTR, checking for socket close
similar to NET_FAILURE_RETRY. sslSelect now returns
THROWN_SOCKETEXCEPTION to indicate that NetFd::isClosed has already
thrown.

- sslRead and sslWrite now similarly returns THROWN_SOCKETEXCEPTION to
indicate that Net::isClosed detected a closed FileDescriptor.

luni/src/main/native/NativeCrypto.cpp

Moved NetFd from OSNetworkSystem.cpp to new NetFd.h for reuse by NativeCrypto

luni/src/main/native/NetFd.h
luni/src/main/native/org_apache_harmony_luni_platform_OSNetworkSystem.cpp

Added test of 4 Socket/SSLSocket interrupt cases

1.) read Socket / close Socket (redundant with AsynchronousCloseExceptionTest)
2.) read Socket / close SSLSocket
3.) read SSLSocket / close Socket
4.) read SSLSocket / close SSLSocket

luni/src/test/java/libcore/javax/net/ssl/SSLSocketTest.java

Bug: 2973020
Change-Id: I9037738dd1d1c09c03c99e3403e086366aa25109
0aa9bf3129f699fb3a6a94e0ca597d194f442e79 21-Sep-2010 Elliott Hughes <enh@google.com> Merge "Stop doing unbuffered file I/O in ZoneInfoDB." into dalvik-dev
b9b184eaacdb9ea266b9b2e81ba0c6d65d4147e5 21-Sep-2010 Elliott Hughes <enh@google.com> Stop doing unbuffered file I/O in ZoneInfoDB.

Use the new memory-mapped code for the index as well as for individual time
zones. This takes the (once-only, during boot) index-reading time down
from ~90ms to ~20ms. DataInputStream(BufferedInputStream(FileInputStream))
would have got us down to ~40ms.

Also remove duplication amongst code snippets that want to read a whole file
into a byte[].

Bug: 3014973
Change-Id: I9d8a326438663314b7f5ee0145cda32ea335f41d
1ac84163dc6c4b348d709424cbde7d02f513ae05 21-Sep-2010 Brian Carlstrom <bdc@google.com> am a7fcdde2: am 14db5a6a: am 03a4818d: Move ThirdPartyProject.prop for bouncycastle from libcore

Merge commit 'a7fcdde2f787f0cd0a4b0a99bfb31b2482b47c5c' into dalvik-dev

* commit 'a7fcdde2f787f0cd0a4b0a99bfb31b2482b47c5c':
Move ThirdPartyProject.prop for bouncycastle from libcore
6dca0afbc1b34bb4534ade2cfba6aa50d36263fb 21-Sep-2010 Brian Carlstrom <bdc@google.com> am 14db5a6a: am 03a4818d: Move ThirdPartyProject.prop for bouncycastle from libcore

Merge commit '14db5a6ae6a95b76c5ce4926803531085004de42'

* commit '14db5a6ae6a95b76c5ce4926803531085004de42':
Move ThirdPartyProject.prop for bouncycastle from libcore
7f5da70fc462c274335b43c0deb724d653093c0d 21-Sep-2010 Brian Carlstrom <bdc@google.com> am 03a4818d: Move ThirdPartyProject.prop for bouncycastle from libcore

Merge commit '03a4818d5b95c77585be7df437b6fe28507529a9' into gingerbread-plus-aosp

* commit '03a4818d5b95c77585be7df437b6fe28507529a9':
Move ThirdPartyProject.prop for bouncycastle from libcore
91a0d6efe4a50070ffd71afaf538372ed256e753 21-Sep-2010 Brian Carlstrom <bdc@google.com> Move ThirdPartyProject.prop for bouncycastle from libcore

Change-Id: I13aa5e61e81e363b41fe463223fd65030da6c9d0
b70cda6a6876001858d45eb96310304f9340e9cb 20-Sep-2010 Elliott Hughes <enh@google.com> Remove dead code.

Presumably frameworks/base/ used this at some point, but it doesn't now.

Change-Id: Id299958dc2352c25b1555c07bf4d114fafdd7aea
728c6352e8cfe6538b661de77920b491c0a7836f 20-Sep-2010 Brian Carlstrom <bdc@google.com> am 7806efe8: am 862e1168: am 03fef47f: Merge "SSLSocket should respect timeout of a wrapped Socket" into gingerbread

Merge commit '7806efe820ff848e99eecef68a6df4049b9eb3c5' into dalvik-dev

* commit '7806efe820ff848e99eecef68a6df4049b9eb3c5':
SSLSocket should respect timeout of a wrapped Socket
98c0dcb4fd7cfda383358320c3be800b64eb5cd5 20-Sep-2010 Brian Carlstrom <bdc@google.com> am fcc7302e: am 748ccde6: am dad46534: Merge "Use BufferedInputStream when reading cacerts.bks" into gingerbread

Merge commit 'fcc7302ea9bbfd553188d369459428b2e8f39fb2' into dalvik-dev

* commit 'fcc7302ea9bbfd553188d369459428b2e8f39fb2':
Use BufferedInputStream when reading cacerts.bks
ee4b793cf1f3f4a1fdc427345fb293454ad5e9c1 20-Sep-2010 Brian Carlstrom <bdc@google.com> am 862e1168: am 03fef47f: Merge "SSLSocket should respect timeout of a wrapped Socket" into gingerbread

Merge commit '862e1168863503407497cba7aeec4b1b1621051e'

* commit '862e1168863503407497cba7aeec4b1b1621051e':
SSLSocket should respect timeout of a wrapped Socket
34720a00959cdb96a68a62671b36c1439c69926f 20-Sep-2010 Brian Carlstrom <bdc@google.com> am 03fef47f: Merge "SSLSocket should respect timeout of a wrapped Socket" into gingerbread

Merge commit '03fef47fc07bfc4cb2a7a154c9961cd96d910e0e' into gingerbread-plus-aosp

* commit '03fef47fc07bfc4cb2a7a154c9961cd96d910e0e':
SSLSocket should respect timeout of a wrapped Socket
1da3b48502cc415f167ddb18fd2a8b93ddd2763d 20-Sep-2010 Brian Carlstrom <bdc@google.com> am 748ccde6: am dad46534: Merge "Use BufferedInputStream when reading cacerts.bks" into gingerbread

Merge commit '748ccde6d3605de6743fe84fc26465f5f99b46ac'

* commit '748ccde6d3605de6743fe84fc26465f5f99b46ac':
Use BufferedInputStream when reading cacerts.bks
6f9efea7980c8d7c8eb8685f1b7d8b5978f90800 20-Sep-2010 Brian Carlstrom <bdc@google.com> Merge "SSLSocket should respect timeout of a wrapped Socket" into gingerbread
be66fe5a51b48d4b22cf3f552508813b5a467a12 20-Sep-2010 Brian Carlstrom <bdc@google.com> am dad46534: Merge "Use BufferedInputStream when reading cacerts.bks" into gingerbread

Merge commit 'dad46534569cfa071891dc1430ea533c1c559605' into gingerbread-plus-aosp

* commit 'dad46534569cfa071891dc1430ea533c1c559605':
Use BufferedInputStream when reading cacerts.bks
a2320dae836843542eca2167f8ec1bd038adf6f3 20-Sep-2010 Elliott Hughes <enh@google.com> Merge "Optimize non-direct (heap) buffer bulk put." into dalvik-dev
1347dcacf20326ab2a46a458818c10d822a9ce04 20-Sep-2010 Brian Carlstrom <bdc@google.com> Merge "Use BufferedInputStream when reading cacerts.bks" into gingerbread
c461d4d344a738469d3e56977f60e4e6163eb6bf 20-Sep-2010 Brian Carlstrom <bdc@google.com> am 1501cd6b: am 4e44dbbe: am a2e75c78: Update supported cipher suites list

Merge commit '1501cd6b2ec1c6cc8957bc8bc4ad912900bd9903' into dalvik-dev

* commit '1501cd6b2ec1c6cc8957bc8bc4ad912900bd9903':
Update supported cipher suites list
1a3670dd96906aa2d7991d6909e459af31e5af46 20-Sep-2010 Brian Carlstrom <bdc@google.com> am 4e44dbbe: am a2e75c78: Update supported cipher suites list

Merge commit '4e44dbbe161fb64afa24f27adabd502c06111bd6'

* commit '4e44dbbe161fb64afa24f27adabd502c06111bd6':
Update supported cipher suites list
514376ecff803fb283657441c4f8421c6cac0f10 18-Sep-2010 Elliott Hughes <enh@google.com> Optimize non-direct (heap) buffer bulk put.

I've also factored out the bounds checking, even though the JIT can't yet
inline it back. I'm unwilling to duplicate all that code again.

This patch also fixes bugs in the previous checkin relating to offsets
and positions. In real life (and, seemingly, in all our tests) these tend
to be 0, making it rare that anyone trips over these bugs. (The first nio
change I made was fixing just such a bug.) I've improved the test I added
last time so that it covers more of these cases.

Here are the "after" performance figures for heap buffer bulk copies:

CharBuffer_getCharArray 5797
CharBuffer_putCharArray 5818
DoubleBuffer_getDoubleArray 13053
DoubleBuffer_putDoubleArray 13026
FloatBuffer_getFloatArray 8216
FloatBuffer_putFloatArray 8283
IntBuffer_getIntArray 8253
IntBuffer_putIntArray 8371
LongBuffer_getLongArray 13053
LongBuffer_putLongArray 13020
ShortBuffer_getShortArray 5796
ShortBuffer_putShortArray 5864

This compares well with with direct buffer performance (just gets shown here):

CharBuffer_getCharArray 4412
DoubleBuffer_getDoubleArray 11594
FloatBuffer_getFloatArray 6787
IntBuffer_getIntArray 6791
LongBuffer_getLongArray 11672
ShortBuffer_getShortArray 4430

Bug: 2985452
Change-Id: I37307f9b304c87a87af5313790444dcdf6174ff1
cd5c737615d130c4c9cd9ae7148d74a43cd9dac6 20-Sep-2010 Brian Carlstrom <bdc@google.com> am a2e75c78: Update supported cipher suites list

Merge commit 'a2e75c78d67795d28e86704192222c3fd8829154' into gingerbread-plus-aosp

* commit 'a2e75c78d67795d28e86704192222c3fd8829154':
Update supported cipher suites list
bbf77327a60d64a63a1147ba861bf27f894b794a 20-Sep-2010 Andy McFadden <fadden@android.com> Merge "Replace "ordered" puts with native implementation." into dalvik-dev
acff85143e751c17a3bc4c2a8f028f7513882329 19-Sep-2010 Brian Carlstrom <bdc@google.com> SSLSocket should respect timeout of a wrapped Socket

Change to using getSoTimeout in OpenSSLSocketImpl instead of directly
using the timeout field. This means the proper timeout will be used
for instances of the OpenSSLSocketImplWrapper subclass, which is used
when an SSLSocket is wrapped around an existing connected non-SSL
Socket. The code still maintains the local timeout field, now renamed
timeoutMilliseconds, which is now accesed via
OpenSSLSocketImpl.getSoTimeout. Doing so prevents a getsockopt syscall
that otherwise would be necessary if the super.getSoTimeout() was used.

Added two unit tests for testing timeouts with SSLSockets wrapped
around Socket. One is simply for getters/setters. The second makes
sure the timeout is functioning when set on the underlying socket.

Bug: 2973305
Change-Id: Idac52853f5d777fae5060a840eefbfe85d448e4c
62d2fc61720683d41f898213fd589cb90ccd6d7c 19-Sep-2010 Brian Carlstrom <bdc@google.com> Use BufferedInputStream when reading cacerts.bks

Change-Id: Ibc20bdcadb5c3bc4bcebfeb96b10c42d9c05e7c8
5c16f58765f7840ae2f514bf53ac05e0d97d6737 19-Sep-2010 Brian Carlstrom <bdc@google.com> Update supported cipher suites list

Update list of cipher suites supported by the current RI

Change-Id: Ifa2a799bd3ca40b4979fa44f5423d744e90af35c
c270a509970956246a2739bbe3062704abf7a00c 18-Sep-2010 Jesse Wilson <jessewilson@google.com> am 99b2d653: am f697be0f: am ac277be6: Handle the different definitions of \'connected\' in HttpURLConnection.

Merge commit '99b2d6535ceaeae74887b4fc4eac674d3564dddc' into dalvik-dev

* commit '99b2d6535ceaeae74887b4fc4eac674d3564dddc':
Handle the different definitions of 'connected' in HttpURLConnection.
22da1a09fe1dbab78e9cf9fec3614fc530838ef2 18-Sep-2010 Jesse Wilson <jessewilson@google.com> am f697be0f: am ac277be6: Handle the different definitions of \'connected\' in HttpURLConnection.

Merge commit 'f697be0f24572c8c653ce689b398bcd163960aa5'

* commit 'f697be0f24572c8c653ce689b398bcd163960aa5':
Handle the different definitions of 'connected' in HttpURLConnection.
be8391b1106dfeb6115c8c57d2dbfdde9a2156d4 18-Sep-2010 Jesse Wilson <jessewilson@google.com> am 96c076dd: am e74b3ecc: am d4bddd7d: Fix two HTTP issues that came up when writing HttpURLConnection docs.

Merge commit '96c076ddd30d862dae69a35e1700d2befb2ee055' into dalvik-dev

* commit '96c076ddd30d862dae69a35e1700d2befb2ee055':
Fix two HTTP issues that came up when writing HttpURLConnection docs.
8963f51a91ca63e29c8f8c1bd7ce29f0827d0aa0 18-Sep-2010 Jesse Wilson <jessewilson@google.com> am e74b3ecc: am d4bddd7d: Fix two HTTP issues that came up when writing HttpURLConnection docs.

Merge commit 'e74b3eccd5d2ad7809c827d3e5bcbd5fcce0f3c5'

* commit 'e74b3eccd5d2ad7809c827d3e5bcbd5fcce0f3c5':
Fix two HTTP issues that came up when writing HttpURLConnection docs.
153773b8b5d65c64481b037cbce9cb8418c49261 18-Sep-2010 Jesse Wilson <jessewilson@google.com> am ac277be6: Handle the different definitions of \'connected\' in HttpURLConnection.

Merge commit 'ac277be6a146ade8f150236edf730431a7e12482' into gingerbread-plus-aosp

* commit 'ac277be6a146ade8f150236edf730431a7e12482':
Handle the different definitions of 'connected' in HttpURLConnection.
c6f2a907f608151f82145cde8abf728394c0bc7a 18-Sep-2010 Jesse Wilson <jessewilson@google.com> Handle the different definitions of 'connected' in HttpURLConnection.

Previously we were failing with a NullPointerException when
HTTP redirects required connecting to a different server.

The connected field means 'we can't change request parameters'.
The connection being non-null means 'we're currently connected'.

Internally, multiple connections are permitted in order to support
HTTP redirects. But in the public API only one connect() call is
permitted.

I've added a new method, makeConnection() to make the magic work.

Change-Id: Ic644d5d192ec2b1de781dc271ae149bcd1655de4
907c09f2f974cc33fd5c300ba186bb4618207912 18-Sep-2010 Jesse Wilson <jessewilson@google.com> am d4bddd7d: Fix two HTTP issues that came up when writing HttpURLConnection docs.

Merge commit 'd4bddd7d1fb7b1b7f0836648228235c6e4b56a18' into gingerbread-plus-aosp

* commit 'd4bddd7d1fb7b1b7f0836648228235c6e4b56a18':
Fix two HTTP issues that came up when writing HttpURLConnection docs.
9705b616b98af8dfbb905bbdd6889cb52ca5d13f 16-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix two HTTP issues that came up when writing HttpURLConnection docs.

We're now more careful about which headers are sent to HTTP proxies.
And getContentEncoding() is better documented.

Change-Id: I04241f99c2f32c25ba005fbd6ff9ef7236c3c9d3
a59608dbb85d459ca81750a708e153527a4892bd 18-Sep-2010 Jesse Wilson <jessewilson@google.com> am c6a54a4c: am 7b1454a7: am 88776877: Merge "Don\'t leave the Content-Encoding header around after transparent gzip." into gingerbread

Merge commit 'c6a54a4c0cb58a8d05058f9ecbcf5988ccdd6211' into dalvik-dev

* commit 'c6a54a4c0cb58a8d05058f9ecbcf5988ccdd6211':
Don't leave the Content-Encoding header around after transparent gzip.
e69bdf693b6d89906351725917e751e7dd78ab4a 18-Sep-2010 Jesse Wilson <jessewilson@google.com> am 7b1454a7: am 88776877: Merge "Don\'t leave the Content-Encoding header around after transparent gzip." into gingerbread

Merge commit '7b1454a74925e221bab03aecce83b34915ab5c31'

* commit '7b1454a74925e221bab03aecce83b34915ab5c31':
Don't leave the Content-Encoding header around after transparent gzip.
23893421d2355809d5b7b39285dc0c6192155e83 17-Sep-2010 Andy McFadden <fadden@android.com> Replace "ordered" puts with native implementation.

Instead of calling the full-on volatile version, call a dedicated
native version with a less-expensive barrier.

Bug 2579452

Change-Id: I1a8a19c82d987b891847c5c5b75021a1ec4fcd11
1e7e6b6ad733fd1b5804b01b1fd57e99a1b2def8 17-Sep-2010 Elliott Hughes <enh@google.com> Make nio heap (non-direct) buffer bulk get orders of magnitude faster.

Bug: 2985452
Change-Id: I8bd210d1a623e434121f30eca6e2555e1aea11cd
a5dc030915dd8c5fa6f2018735f5d012da44621c 17-Sep-2010 Jesse Wilson <jessewilson@google.com> am 88776877: Merge "Don\'t leave the Content-Encoding header around after transparent gzip." into gingerbread

Merge commit '8877687711ba5a04aadc2ef34ae5f417c65c51b7' into gingerbread-plus-aosp

* commit '8877687711ba5a04aadc2ef34ae5f417c65c51b7':
Don't leave the Content-Encoding header around after transparent gzip.
452535de69f17dff219188763b978351c8f2e3a6 17-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Don't leave the Content-Encoding header around after transparent gzip." into gingerbread
8ca052d28a1985a138e64ecea51065a34795dd07 17-Sep-2010 Jesse Wilson <jessewilson@google.com> Don't leave the Content-Encoding header around after transparent gzip.

Otherwise clients may be tempted to double-decompress.
http://b/issue?id=3009828

Change-Id: I4832da1c2aff9bad8d452ffc4a0f98ee27d44f49
4d50a385cd2054fe696e8a354c64d3372af79741 17-Sep-2010 Brian Carlstrom <bdc@google.com> am e3babe52: am 69a153da: am 760b683e: Restore OpenSSLMessageDigestJDK.digest reset behavior

Merge commit 'e3babe523df804f88d2371645c2c7e1731411ac2' into dalvik-dev

* commit 'e3babe523df804f88d2371645c2c7e1731411ac2':
Restore OpenSSLMessageDigestJDK.digest reset behavior
32b863dab0a29ff3bf480fe7ae44a9b740854622 17-Sep-2010 Brian Carlstrom <bdc@google.com> am 69a153da: am 760b683e: Restore OpenSSLMessageDigestJDK.digest reset behavior

Merge commit '69a153da42ecd6f222b33d1195fcf0b84a6abd2b'

* commit '69a153da42ecd6f222b33d1195fcf0b84a6abd2b':
Restore OpenSSLMessageDigestJDK.digest reset behavior
9eed17b5144b23dcc7d6b673fa3df495cc347926 17-Sep-2010 Brian Carlstrom <bdc@google.com> am 760b683e: Restore OpenSSLMessageDigestJDK.digest reset behavior

Merge commit '760b683ed34f2e62fc4ab1d483988bee515af03e' into gingerbread-plus-aosp

* commit '760b683ed34f2e62fc4ab1d483988bee515af03e':
Restore OpenSSLMessageDigestJDK.digest reset behavior
fe1d51b0b9efcd7010dbc926f3ea529a10133ac3 17-Sep-2010 Brian Carlstrom <bdc@google.com> Restore OpenSSLMessageDigestJDK.digest reset behavior

SSLEngine tests started failing due to the recent incorrect change to
OpenSSLMessageDigestJDK.digest() that removed the reset of
MessageDigest state on call to digest(). The problem was not that the
digest was resetting, but that it was resetting to use a SHA-0
algorithm. See recent change c38b8476e7e4bd4b091d9f0e8fe8b2b972e7bc81.

Change-Id: I40ef4e18a1b546eac5a487cb8a808d4897b301b0
e86689342815c53d16831a35b8cdb735dea5668e 17-Sep-2010 Brian Carlstrom <bdc@google.com> am dc1c4756: am 156f071f: am a3a93d45: Merge "OpenSSLMessageDigestJDK.reset should not change from SHA-1 to SHA-0" into gingerbread

Merge commit 'dc1c475681e06d3f9bdd9cd4aab31145ba20c542' into dalvik-dev

* commit 'dc1c475681e06d3f9bdd9cd4aab31145ba20c542':
OpenSSLMessageDigestJDK.reset should not change from SHA-1 to SHA-0
228786a85b5e22f1de139b4cd61e57dd1201b756 17-Sep-2010 Brian Carlstrom <bdc@google.com> am 156f071f: am a3a93d45: Merge "OpenSSLMessageDigestJDK.reset should not change from SHA-1 to SHA-0" into gingerbread

Merge commit '156f071fcb2ef1c5716c6bc2c41a50f19934056b'

* commit '156f071fcb2ef1c5716c6bc2c41a50f19934056b':
OpenSSLMessageDigestJDK.reset should not change from SHA-1 to SHA-0
c2f95d5123a360a9daa7c5fa06185ba93cc0f649 17-Sep-2010 Jesse Wilson <jessewilson@google.com> am 224c8f0a: am ca3846fd: am a3f260a8: Merge "Add optional tags to libcore." into gingerbread

Merge commit '224c8f0ac140d188b82c9f94ddf60354b930f4df' into dalvik-dev

* commit '224c8f0ac140d188b82c9f94ddf60354b930f4df':
Add optional tags to libcore.
9836dd46992c3db9bb32943ee85e670fc914bec0 17-Sep-2010 Elliott Hughes <enh@google.com> am a836d89d: am 16cfcf36: am 34eb0408: Use DecimalFormatSymbols.getExponentSeparator in DecimalFormat.

Merge commit 'a836d89da3bc10c1bcce0ed00c447012faf504aa' into dalvik-dev

* commit 'a836d89da3bc10c1bcce0ed00c447012faf504aa':
Use DecimalFormatSymbols.getExponentSeparator in DecimalFormat.
b5441f988517f084f10f8c2895fec4057e977085 17-Sep-2010 Elliott Hughes <enh@google.com> am f9a07b33: am 5c595ec1: am 288041b6: Make the implementation of Formatter %e more similar to %f.

Merge commit 'f9a07b338067d91057795c3ffeb14a4cf35bac5b' into dalvik-dev

* commit 'f9a07b338067d91057795c3ffeb14a4cf35bac5b':
Make the implementation of Formatter %e more similar to %f.
1b7d9135014f296827bf9f99fd6d8a9058dad0e4 17-Sep-2010 Elliott Hughes <enh@google.com> am ea200493: am 4618c9b2: am 46cb23aa: Return char[] instead of String from NativeDecimalFormat.

Merge commit 'ea200493f20f61a2fdcf8528aba36ded1292fa9f' into dalvik-dev

* commit 'ea200493f20f61a2fdcf8528aba36ded1292fa9f':
Return char[] instead of String from NativeDecimalFormat.
63d6f795394e691105a97d81408c2e0609ae30f4 17-Sep-2010 Elliott Hughes <enh@google.com> am a838cb5c: am 14934633: am e8545ce7: Merge "Speed up Formatter %f a bit more by using a thread-local NativeDecimalFormat." into gingerbread

Merge commit 'a838cb5c162f711e81cb9017237225968b9449b5' into dalvik-dev

* commit 'a838cb5c162f711e81cb9017237225968b9449b5':
Speed up Formatter %f a bit more by using a thread-local NativeDecimalFormat.
0e16b1ca8edf6688789d7c65800928bcd77e46f7 17-Sep-2010 Brian Carlstrom <bdc@google.com> am 1d635d8c: am e13738c7: am 3b7e451b: Merge "Add a test case to demonstrate MessageDigest.reset() doesn\'t." into gingerbread

Merge commit '1d635d8c17750057f37b3385c21ef635a265ed16' into dalvik-dev

* commit '1d635d8c17750057f37b3385c21ef635a265ed16':
Add a test case to demonstrate MessageDigest.reset() doesn't.
47a2893ecbbf46961b73011efcd43e59db59c6fa 17-Sep-2010 Joe Onorato <joeo@google.com> am dbddf810: am 85805203: am 9fac1da4: Merge "In javadoc, it\'s @return, not @returns." into gingerbread

Merge commit 'dbddf810f56f34d645c500889477761ff860d3a9' into dalvik-dev

* commit 'dbddf810f56f34d645c500889477761ff860d3a9':
In javadoc, it's @return, not @returns.
72d103e5de67a299c693a5d514b4b3ce41b9ea62 17-Sep-2010 Brian Carlstrom <bdc@google.com> am e6b59c28: am 9e8d51c7: am a3de55dd: Implement OpenSSLMessageDigestJDK.clone and fix OpenSSLMessageDigestJDK.digest

Merge commit 'e6b59c287ed3007d76167dd9741dc683f440ed2d' into dalvik-dev

* commit 'e6b59c287ed3007d76167dd9741dc683f440ed2d':
Implement OpenSSLMessageDigestJDK.clone and fix OpenSSLMessageDigestJDK.digest
0a0fc844b9e9f6ffbed3f0af4a5f31fee6421345 17-Sep-2010 Brian Carlstrom <bdc@google.com> am d1ef16d5: am 4c408ed5: am a97292b9: Fix KeyStore2Test

Merge commit 'd1ef16d563f640dfd3b989af06ed590baadd2531' into dalvik-dev

* commit 'd1ef16d563f640dfd3b989af06ed590baadd2531':
Fix KeyStore2Test
07e2298f888c46cd33e945f05f856f62f19f54bb 17-Sep-2010 Brian Carlstrom <bdc@google.com> am c7478415: am 0c12bc50: am 44e4b13e: Add negative argument bounds checking to OpenSSLMessageDigest.update

Merge commit 'c747841520ce128c1db4541bdf6ba838b5bcf700' into dalvik-dev

* commit 'c747841520ce128c1db4541bdf6ba838b5bcf700':
Add negative argument bounds checking to OpenSSLMessageDigest.update
3844af90b380595fbd5231b92a6baabeeb8ea2ad 17-Sep-2010 Jesse Wilson <jessewilson@google.com> am 5929b82e: am dff0831c: am a263bb62: Merge "Support sqlite_jni on the dalvikvm host build." into gingerbread

Merge commit '5929b82e01178d9c0343ba5e4303d0518cb72a87' into dalvik-dev

* commit '5929b82e01178d9c0343ba5e4303d0518cb72a87':
823c6f1e9e4b543aad5579fb32505405693bcb44 17-Sep-2010 Jean-Baptiste Queru <jbq@google.com> am b780053d: am 2ef4fabf: am f2678961: make new module optional

Merge commit 'b780053d1c0352f8da1a4c84a59b6f86fb91325d' into dalvik-dev

* commit 'b780053d1c0352f8da1a4c84a59b6f86fb91325d':
e41ce2e192793c1e48ee5a1b8115492b19daa6b4 17-Sep-2010 Brian Carlstrom <bdc@google.com> am a3a93d45: Merge "OpenSSLMessageDigestJDK.reset should not change from SHA-1 to SHA-0" into gingerbread

Merge commit 'a3a93d457e30d9a34fdeccd3d0455bcf75810b80' into gingerbread-plus-aosp

* commit 'a3a93d457e30d9a34fdeccd3d0455bcf75810b80':
OpenSSLMessageDigestJDK.reset should not change from SHA-1 to SHA-0
dfd97a2d58f9d50634dabc6ad40cd17574c90fe6 17-Sep-2010 Brian Carlstrom <bdc@google.com> Merge "OpenSSLMessageDigestJDK.reset should not change from SHA-1 to SHA-0" into gingerbread
3df10622c074fb7bb31df1a0686353de82a8667e 17-Sep-2010 Brian Carlstrom <bdc@google.com> OpenSSLMessageDigestJDK.reset should not change from SHA-1 to SHA-0

For SHA-1, the OpenSSLMessageDigestJDK constructor was called with the
algorithm name "SHA-1", which it passed to the superclass constructor
for use as the algorithm field. However, MessageDigest.getInstance
would then override this value with the its own algorithm argument. In the
case of getInstance("SHA"), this mean the constructor would set the
value to "SHA-1" (from the OpenSSLMessageDigestJDK.SHA1 subclass
constructor) which would then be overridden by getInstance to
"SHA". Because the OpenSSLMessageDigestJDK would then initialize using
"SHA-1", the MessageDigest worked in the common case. However, when it
was MessageDigest.reset(), it called getAlgorithm() which returned
"SHA", which was then passed to OpenSSL as "sha" which interpretted
this as "SHA-0".

The fix is to change to pass both a standard name (e.g "SHA-1") as
well as openssl name expliclty (e.g. "sha1"), removing the somewhat
hacky code that tried to algorithmically transform from the standard
names to the openssl ones.

The same fix needs to be made to OpenSSLDigest. We also are removing
SHA-0 from openssl since it is unneeded and would have cause an clear
error if it had been absent.

Change-Id: Iaa8f5b93a572fb043fa4f2618070ebb5054f82b1
97b3a5d237eb76727ddedb264615c5de52e189c8 17-Sep-2010 Jesse Wilson <jessewilson@google.com> am ca3846fd: am a3f260a8: Merge "Add optional tags to libcore." into gingerbread

Merge commit 'ca3846fd21055c983a9e1313fc92bd6a9bc3cbbd'

* commit 'ca3846fd21055c983a9e1313fc92bd6a9bc3cbbd':
Add optional tags to libcore.
9c2fb90cde17b9a14f75b206c199af910b81b5ae 17-Sep-2010 Jesse Wilson <jessewilson@google.com> am a3f260a8: Merge "Add optional tags to libcore." into gingerbread

Merge commit 'a3f260a858a521feebefaed4388cec2015023268' into gingerbread-plus-aosp

* commit 'a3f260a858a521feebefaed4388cec2015023268':
Add optional tags to libcore.
0b10e91e36098361caa38d0d462de697636f69d6 17-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Add optional tags to libcore." into gingerbread
e34a8adde74893926360d334d81e2aaac834f66f 17-Sep-2010 Elliott Hughes <enh@google.com> Merge "Explode early when ICU's .dat file isn't available." into dalvik-dev
84cee7d70c75c8956c0ef20328c606bad52e06a4 17-Sep-2010 Elliott Hughes <enh@google.com> am 16cfcf36: am 34eb0408: Use DecimalFormatSymbols.getExponentSeparator in DecimalFormat.

Merge commit '16cfcf363c975ee379edd6019afbc1cd805f2329'

* commit '16cfcf363c975ee379edd6019afbc1cd805f2329':
Use DecimalFormatSymbols.getExponentSeparator in DecimalFormat.
a53fd3b7e9ea8c8db54dd2f979b73ec55902c62f 17-Sep-2010 Elliott Hughes <enh@google.com> am 5c595ec1: am 288041b6: Make the implementation of Formatter %e more similar to %f.

Merge commit '5c595ec1f708b5d7abb693b7990c3997266b313d'

* commit '5c595ec1f708b5d7abb693b7990c3997266b313d':
Make the implementation of Formatter %e more similar to %f.
d4d57cb7e3c569ee1ba7b93206d09562258404c5 17-Sep-2010 Elliott Hughes <enh@google.com> Explode early when ICU's .dat file isn't available.

Also make it generally more obvious (and more obvious who's to blame) when
libcore's native code fails to initialize.

Bug: 3005342
Change-Id: I75496bb0c15391d7f32ba50b9c488ea0480e3e42
cc5c563b76f17cb8ab8f436fdaaaf70da8c029e1 17-Sep-2010 Elliott Hughes <enh@google.com> am 34eb0408: Use DecimalFormatSymbols.getExponentSeparator in DecimalFormat.

Merge commit '34eb0408ff03c10b8f5842d328457aeeabac17a7' into gingerbread-plus-aosp

* commit '34eb0408ff03c10b8f5842d328457aeeabac17a7':
Use DecimalFormatSymbols.getExponentSeparator in DecimalFormat.
d52fded2a3ce03eb16cf1791dfccefa2345313d9 17-Sep-2010 Elliott Hughes <enh@google.com> am 288041b6: Make the implementation of Formatter %e more similar to %f.

Merge commit '288041b6003504a2976e9a101c573e1d7a69a37a' into gingerbread-plus-aosp

* commit '288041b6003504a2976e9a101c573e1d7a69a37a':
Make the implementation of Formatter %e more similar to %f.
6568199895b8359f24b0b1708efefc36c341fe9f 17-Sep-2010 Jesse Wilson <jessewilson@google.com> Add optional tags to libcore.

Change-Id: Iac339144ed448848c96852da8d301d528ebfa0e6
ndroid.mk
0c956f11c5bbc9d9e1a77b2bb83caf171187e577 17-Sep-2010 Elliott Hughes <enh@google.com> Use DecimalFormatSymbols.getExponentSeparator in DecimalFormat.

A last-minute bit of Java 6 work...

Bug: 3008411
Change-Id: Ic197de8ddc92afcaa661875a2c99c8352237642a
408bb71b3a5d57b7095d5a0355479998d963388e 16-Sep-2010 Elliott Hughes <enh@google.com> Make the implementation of Formatter %e more similar to %f.

Also comment the code that turns 'E' into 'e' in %e. I tried doing this in
native code but it crufts the implementation and slightly slows the path we
care about (%f) for the benefit of the one we don't (%e).

I have optimized %e (without a precision) in the same way that I did with %f.

Bug: 2934304
Change-Id: I3c99be2157f4448c1b290d5578eeb6fc14965c59
c4f3326bfcf3211acc74a4f7236dfb80dc09e8a4 16-Sep-2010 Elliott Hughes <enh@google.com> am 4618c9b2: am 46cb23aa: Return char[] instead of String from NativeDecimalFormat.

Merge commit '4618c9b247da6462c82e6ebddad9a9a3056a9400'

* commit '4618c9b247da6462c82e6ebddad9a9a3056a9400':
Return char[] instead of String from NativeDecimalFormat.
35fe6ccfd7aa0f23b7f431330cd054bcbae67879 16-Sep-2010 Elliott Hughes <enh@google.com> am 46cb23aa: Return char[] instead of String from NativeDecimalFormat.

Merge commit '46cb23aaaba1b0553d02d32713abad97bd4b0428' into gingerbread-plus-aosp

* commit '46cb23aaaba1b0553d02d32713abad97bd4b0428':
Return char[] instead of String from NativeDecimalFormat.
a5bd792bb1dd5c1f29a1b996658e6eaee1b21a32 16-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Moving Android-authored charset tests into the libcore tree." into dalvik-dev
8144472f7b181e322a83da88d24a5374feda136a 16-Sep-2010 Elliott Hughes <enh@google.com> Return char[] instead of String from NativeDecimalFormat.

One last little speedup for Formatter %f before I call it a day for now...

Bug: 2934304
Change-Id: I9edd02d1ba8dc40a2b28fea34d7bccf95eeb56ab
ee38e1f1c8001fd1d6df7f234201adda2416c002 16-Sep-2010 Elliott Hughes <enh@google.com> am 14934633: am e8545ce7: Merge "Speed up Formatter %f a bit more by using a thread-local NativeDecimalFormat." into gingerbread

Merge commit '149346332f22d63e679b45e1c347e259459e0328'

* commit '149346332f22d63e679b45e1c347e259459e0328':
Speed up Formatter %f a bit more by using a thread-local NativeDecimalFormat.
29b4695c92e26b9d112e2b8af6864891dc426430 16-Sep-2010 Elliott Hughes <enh@google.com> am e8545ce7: Merge "Speed up Formatter %f a bit more by using a thread-local NativeDecimalFormat." into gingerbread

Merge commit 'e8545ce78d7510f5d6ee55dc78056b1f8a2a4350' into gingerbread-plus-aosp

* commit 'e8545ce78d7510f5d6ee55dc78056b1f8a2a4350':
Speed up Formatter %f a bit more by using a thread-local NativeDecimalFormat.
7245a1849052288e0a83c66f575416b2ad6b0730 16-Sep-2010 Elliott Hughes <enh@google.com> Merge "Speed up Formatter %f a bit more by using a thread-local NativeDecimalFormat." into gingerbread
ed037fde65e1db1e820f02f1167dabcce2e85cf2 16-Sep-2010 Elliott Hughes <enh@google.com> Speed up Formatter %f a bit more by using a thread-local NativeDecimalFormat.

Bug: 2934304
Change-Id: I5ddcfc01bf1dc57917a544d00d4dc0d4a37ffe5c
6904a673f3a109f97ec6c77b7e6d2697000fcad9 16-Sep-2010 Brian Carlstrom <bdc@google.com> am e13738c7: am 3b7e451b: Merge "Add a test case to demonstrate MessageDigest.reset() doesn\'t." into gingerbread

Merge commit 'e13738c785678bc34efb36be51e12dd681b8f19f'

* commit 'e13738c785678bc34efb36be51e12dd681b8f19f':
Add a test case to demonstrate MessageDigest.reset() doesn't.
54fd173ae07dba3d73de318e538fdfb605b758d1 16-Sep-2010 Joe Onorato <joeo@google.com> am 85805203: am 9fac1da4: Merge "In javadoc, it\'s @return, not @returns." into gingerbread

Merge commit '85805203086217fc24b2bea9a86814bfb0b533c5'

* commit '85805203086217fc24b2bea9a86814bfb0b533c5':
In javadoc, it's @return, not @returns.
633b1711c27f0f5c321ef4d2a04c58729fc96ab9 16-Sep-2010 Brian Carlstrom <bdc@google.com> am 9e8d51c7: am a3de55dd: Implement OpenSSLMessageDigestJDK.clone and fix OpenSSLMessageDigestJDK.digest

Merge commit '9e8d51c7ee5d84cb940dcb05160cf99b95ace89e'

* commit '9e8d51c7ee5d84cb940dcb05160cf99b95ace89e':
Implement OpenSSLMessageDigestJDK.clone and fix OpenSSLMessageDigestJDK.digest
ad3afdfbfb5d4f0670192b96b0e9ee0a02cb3c35 16-Sep-2010 Jesse Wilson <jessewilson@google.com> Replace TODOs with comments describing why we're ignoring minBufferCapacity.

Change-Id: I3fb91ded4a574bd20198c35ab5f6f6ad23c856e6
04c620262855cb8285b55a87099788f34f44b1ca 16-Sep-2010 Brian Carlstrom <bdc@google.com> am 3b7e451b: Merge "Add a test case to demonstrate MessageDigest.reset() doesn\'t." into gingerbread

Merge commit '3b7e451b40163e0138dbeabe1f236e245a6887f1' into gingerbread-plus-aosp

* commit '3b7e451b40163e0138dbeabe1f236e245a6887f1':
Add a test case to demonstrate MessageDigest.reset() doesn't.
e6e07157d2e8bade715f66ac86c5ad57ebd21c5e 16-Sep-2010 Joe Onorato <joeo@google.com> am 9fac1da4: Merge "In javadoc, it\'s @return, not @returns." into gingerbread

Merge commit '9fac1da4a3013ae8e7ac03b6656c868f47783bdd' into gingerbread-plus-aosp

* commit '9fac1da4a3013ae8e7ac03b6656c868f47783bdd':
In javadoc, it's @return, not @returns.
b5cf483eb614f26291bb3aa8b0d822b24637151e 16-Sep-2010 Brian Carlstrom <bdc@google.com> Merge "Add a test case to demonstrate MessageDigest.reset() doesn't." into gingerbread
ca308e09d897d6dcacb652204f45bef87f34ddfa 16-Sep-2010 Joe Onorato <joeo@google.com> Merge "In javadoc, it's @return, not @returns." into gingerbread
5693aaed68e3e306fb2429f535daf9e2836fbc1e 16-Sep-2010 Joe Onorato <joeo@google.com> In javadoc, it's @return, not @returns.

Change-Id: I88a6207c93559c445d5498b41c6d345fe28e3473
f37bf39b60a9b397197da84b0f421f19952b73e4 16-Sep-2010 Brian Carlstrom <bdc@google.com> am a3de55dd: Implement OpenSSLMessageDigestJDK.clone and fix OpenSSLMessageDigestJDK.digest

Merge commit 'a3de55ddf81f95c7c0fc1b8767ccb1ecfa251c83' into gingerbread-plus-aosp

* commit 'a3de55ddf81f95c7c0fc1b8767ccb1ecfa251c83':
Implement OpenSSLMessageDigestJDK.clone and fix OpenSSLMessageDigestJDK.digest
c8ee8ea06b5c19be0b555f0aed7ce3556dbd16ab 14-Sep-2010 Jesse Wilson <jessewilson@google.com> Add a test case to demonstrate MessageDigest.reset() doesn't.

Uncovered by a more general test:
org.apache.harmony.security.tests.java.security.MessageDigest2Test#test_digest
9f40b0f0fc72ea02f336e57b0ab1afd6a8d435d9 16-Sep-2010 Brian Carlstrom <bdc@google.com> Implement OpenSSLMessageDigestJDK.clone and fix OpenSSLMessageDigestJDK.digest

DigestInputStream2Test.test_onZ was failing because OpenSSLMessageDigestJDK did not implement Clonable
- Implementing Clonable required a new NativeCrypto.EVP_MD_CTX_copy method
- While adding NativeCrypto.EVP_MD_CTX_copy, noticed other methods
were not properly named in NativeCrypto.EVP_MD_CTX_* convention.
- Converted rest of NativeCrypto.cpp to JNI_TRACE logging while debugging

DigestOutputStreamTest.test_onZ was failing because OpenSSLMessageDigestJDK.digest did an engineReset
- Removing the engineReset revealed that digest() could not be called
repeatedly on an OpenSSLMessageDigestJDK. Problem was that
EVP_DigestFinal can only be called once per digest.
- Changed engineDigest implementation to use new EVP_MD_CTX_copy to
create a temp EVP_MD_CTX which can be used to retreive the digest
and then discarded.

Bug: 2997405
Change-Id: Ie97c22be245911300d2e729e451a9c4afdb27937
2d3471c50dc698c47d780adf82b94accc575fa14 16-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix problems discovered by Channels/Basic test." into dalvik-dev
de33850aa0997dbbd39515e201443c927885bf10 16-Sep-2010 Brian Carlstrom <bdc@google.com> am 4c408ed5: am a97292b9: Fix KeyStore2Test

Merge commit '4c408ed5d3e210efe68e28b33bb7b5dadd7506b6'

* commit '4c408ed5d3e210efe68e28b33bb7b5dadd7506b6':
Fix KeyStore2Test
c108bcc26ffdf14a4f1153ee290318c3526fb3ef 15-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix problems discovered by Channels/Basic test.

In particular:
- available() wasn't trying very hard for FileChannels
where a reasonable value can be had.
- short writes weren't handled, so bytes were being lost
- the alternative InputStreamReader and OutputStreamReader
classes were incorrect and redundant
- the duplicated ChannelInputStream classes were redundant
and one was missing a required IllegalBlockingModeException
- bounds checks were redundant and handled by Bytebuffer.wrap
- null checks were missing.

The new code doesn't honor the user's supplied minBufferCapacity
and instead always uses 8K. 8K is larger than the 'min' so it
should be fine for undersized buffers. And it's sufficient for
high performance, so it should be fine for oversized buffers.
It'll only be a problem for clients that create a very large
number of these Readers, which shouldn't happen in practice.

http://b/issue?id=2233508

Change-Id: I3688397baae4f69f9146aed6a3a60d8333e5df1d
4787149133cf66dcb44b7a1e9443b91a5b466382 16-Sep-2010 Brian Carlstrom <bdc@google.com> am 0c12bc50: am 44e4b13e: Add negative argument bounds checking to OpenSSLMessageDigest.update

Merge commit '0c12bc502fbb75c709ad133bbe9d75b98c44227d'

* commit '0c12bc502fbb75c709ad133bbe9d75b98c44227d':
Add negative argument bounds checking to OpenSSLMessageDigest.update
63152d81e755cb5cb6d8d002e02a9d7363b2e75e 16-Sep-2010 Brian Carlstrom <bdc@google.com> am a97292b9: Fix KeyStore2Test

Merge commit 'a97292b97350cf4a96d8e94d15de6913708cad6b' into gingerbread-plus-aosp

* commit 'a97292b97350cf4a96d8e94d15de6913708cad6b':
Fix KeyStore2Test
c2a0e0b3f041a88c16823d742d4ad74ecd16e9d3 16-Sep-2010 Brian Carlstrom <bdc@google.com> Fix KeyStore2Test

Specifically addressing failures in:
- test_getCertificateChainLjava_lang_String
- test_getCertificateLjava_lang_String
- test_setCertificateEntryLjava_lang_StringLjava_security_cert_Certificate

This test tried to be sophisticated by not comparing the certificates
returned from the KeyStore, but their public keys instead, presumably
because it might be okay if a "equals" but not "==" cert is
returned. Of course, then you shouldn't assume that the PublicKeys
will be ==, which the test did. In the RI it turns out that == was
fine. However, in BouncyCastle, the certs were ==, but the PublicKeys
were not, which each call returning a unique instance, causing test
failures.

Test test was also cleaned up to run on RI in addition to dalvik, as
well as to improve the style of the test by more use of assertEquals,
not just in the places were it was required, as well as breaking
complex assertTrue statements into simpler parts.

Bug: 2997410

Change-Id: I50da35c7878c260dddacd67ed78b9d18ae96a41e
470c461809209feaf8202688d0c83aca2561c21a 16-Sep-2010 Jesse Wilson <jessewilson@google.com> am dff0831c: am a263bb62: Merge "Support sqlite_jni on the dalvikvm host build." into gingerbread

Merge commit 'dff0831c8d575e84757af50e5bc49e4c34b496d7'

* commit 'dff0831c8d575e84757af50e5bc49e4c34b496d7':
Support sqlite_jni on the dalvikvm host build.
40f971b039557fe4ba8f6fe4409d8dfcde3506e1 15-Sep-2010 Jean-Baptiste Queru <jbq@google.com> am 2ef4fabf: am f2678961: make new module optional

Merge commit '2ef4fabf49a738963297399622ed251e2bc9db7b'

* commit '2ef4fabf49a738963297399622ed251e2bc9db7b':
make new module optional
9fc7f0b972e972c67d2ab6c349d079817089abd2 15-Sep-2010 Jesse Wilson <jessewilson@google.com> Moving Android-authored charset tests into the libcore tree.

Change-Id: I8b3477249ffcd8c6baf34887c502e609d0c0b238
6dc2273cf964d43d43fe017c022ce61bc730d2c7 15-Sep-2010 Brian Carlstrom <bdc@google.com> Merge commit 'a263bb62016f4a3770b406f0f74322852c3adeaf' into mm
08ee02fc55c5c9c4b506bdee867b3c1939d5449c 15-Sep-2010 Brian Carlstrom <bdc@google.com> am 44e4b13e: Add negative argument bounds checking to OpenSSLMessageDigest.update

Merge commit '44e4b13e9a75f12b9267a8b563730f3687062aa6' into gingerbread-plus-aosp

* commit '44e4b13e9a75f12b9267a8b563730f3687062aa6':
Add negative argument bounds checking to OpenSSLMessageDigest.update
33f2947086b40d6823f24628e397ff5dc2234664 15-Sep-2010 Brian Carlstrom <bdc@google.com> Add negative argument bounds checking to OpenSSLMessageDigest.update

Add bounds checking to match RI behavior. Note the checking is done
within the subclasses MessageDigest.engineUpdate implementation and
not the MessageDigest.update class, which was fixed earlier in
HARMONY-1120 https://issues.apache.org/jira/browse/HARMONY-1120

luni/src/main/native/NativeCrypto.cpp

Fix test to pass on RI

luni/src/test/java/org/apache/harmony/security/tests/java/security/MessageDigest1Test.java

Bug: 2997412
Change-Id: Ied0754ac0a35f1fe0be998b8bc350aa21e69ebdd
7649f3a3d315cbc4ba2cb09164d3d2b0d5c8687d 15-Sep-2010 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of 4b60175b to dalvik-dev

Change-Id: I63d0c5949be0984dcd7939205463eefabde8af05
97f1a967041110f7174b30588859b997623c5128 15-Sep-2010 Brian Carlstrom <bdc@google.com> am 1ca26549: am 912db46c: am 6812a2e8: Rename internal SSLParameters to SSLParametersImpl to avoid collision with new javax.net.ssl.SSLParameters

Merge commit '1ca26549fbe0f4bc171ba7bf8ab0a86ae591c618' into dalvik-dev

* commit '1ca26549fbe0f4bc171ba7bf8ab0a86ae591c618':
Rename internal SSLParameters to SSLParametersImpl to avoid collision with new javax.net.ssl.SSLParameters
bd37f1cde69c4ad76d41dcae0e9bfc6aa7ba8463 15-Sep-2010 Brian Carlstrom <bdc@google.com> am 99eec0d3: am 9b6ed9bf: am 2b6188df: Merge "Remove SSLContextImpl.engineInit(..) that takes persistent cache arguments" into gingerbread

Merge commit '99eec0d31a89366c9c765db845a022fa6cf7cf42' into dalvik-dev

* commit '99eec0d31a89366c9c765db845a022fa6cf7cf42':
Remove SSLContextImpl.engineInit(..) that takes persistent cache arguments
95db1ea2be3e0e57d792145e74bb0005dc4a48cd 15-Sep-2010 Brian Carlstrom <bdc@google.com> am fe9ac910: am df349b3e: Fix HttpsURLConnectionTest failures

Merge commit 'fe9ac91076d29136e00fd50a49eacf3a4e8b536a'

* commit 'fe9ac91076d29136e00fd50a49eacf3a4e8b536a':
Fix HttpsURLConnectionTest failures
18d9e0ddd46a71d307a808535002c626dc733cde 15-Sep-2010 Brian Carlstrom <bdc@google.com> am 912db46c: am 6812a2e8: Rename internal SSLParameters to SSLParametersImpl to avoid collision with new javax.net.ssl.SSLParameters

Merge commit '912db46c2e2b40832826098f20fb2f34ddf6c516'

* commit '912db46c2e2b40832826098f20fb2f34ddf6c516':
Rename internal SSLParameters to SSLParametersImpl to avoid collision with new javax.net.ssl.SSLParameters
c98ad51cfa5e05305e73b8593e2bb7bf71084792 15-Sep-2010 Brian Carlstrom <bdc@google.com> am 9b6ed9bf: am 2b6188df: Merge "Remove SSLContextImpl.engineInit(..) that takes persistent cache arguments" into gingerbread

Merge commit '9b6ed9bfe841fc6414bc06bd194b7fa32a7394c2'

* commit '9b6ed9bfe841fc6414bc06bd194b7fa32a7394c2':
Remove SSLContextImpl.engineInit(..) that takes persistent cache arguments
c1d6ce127d40b6f6049085d242101b419748e6af 15-Sep-2010 Jesse Wilson <jessewilson@google.com> am 001c38bb: am 82cc2fdb: am 8edffc91: Merge "Fix test code that hardcodes the keystore. Necessary for the host build." into gingerbread

Merge commit '001c38bb783045e72695f7d3d111f1afa308bf9f' into dalvik-dev

* commit '001c38bb783045e72695f7d3d111f1afa308bf9f':
Fix test code that hardcodes the keystore. Necessary for the host build.
57e26015395069ca5d9278ca1b8acf54572c6a06 15-Sep-2010 Jesse Wilson <jessewilson@google.com> am 09cde7a3: am 22b419fb: am 83124054: Merge "Make the bouncy castle keystore available for the host build." into gingerbread

Merge commit '09cde7a304dc89d7b05c8b854d467f66d713ad9d' into dalvik-dev

* commit '09cde7a304dc89d7b05c8b854d467f66d713ad9d':
Make the bouncy castle keystore available for the host build.
c793ce78c963d6b3152dc2df2e747d193ac5c104 15-Sep-2010 Jesse Wilson <jessewilson@google.com> am 82cc2fdb: am 8edffc91: Merge "Fix test code that hardcodes the keystore. Necessary for the host build." into gingerbread

Merge commit '82cc2fdbbb0e6182c76e8aeec847e1203d83a725'

* commit '82cc2fdbbb0e6182c76e8aeec847e1203d83a725':
Fix test code that hardcodes the keystore. Necessary for the host build.
b91b58db5c7cbc2377ea79bc523c0b15c90a2e35 15-Sep-2010 Jesse Wilson <jessewilson@google.com> am 22b419fb: am 83124054: Merge "Make the bouncy castle keystore available for the host build." into gingerbread

Merge commit '22b419fb30ebf7af52065fb79134f5ebb55dcec8'

* commit '22b419fb30ebf7af52065fb79134f5ebb55dcec8':
Make the bouncy castle keystore available for the host build.
37af74be13df68253f5ec6573ab791e2e49e0633 15-Sep-2010 Jesse Wilson <jessewilson@google.com> am a263bb62: Merge "Support sqlite_jni on the dalvikvm host build." into gingerbread

Merge commit 'a263bb62016f4a3770b406f0f74322852c3adeaf' into gingerbread-plus-aosp

* commit 'a263bb62016f4a3770b406f0f74322852c3adeaf':
Support sqlite_jni on the dalvikvm host build.
e5c7b9d4f2611fb701a15e4d748429c282184cad 15-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Support sqlite_jni on the dalvikvm host build." into gingerbread
971e21f93b4e121246dedf3af29fc6f7d2232135 15-Sep-2010 Jesse Wilson <jessewilson@google.com> Support sqlite_jni on the dalvikvm host build.

Change-Id: I9aac98e43cdb22b272dfe55e525fb352e0106e1c
ndroid.mk
a94db050e2320a3c5cf2a803b2d24338be280418 14-Sep-2010 Jean-Baptiste Queru <jbq@google.com> am f2678961: make new module optional

Merge commit 'f2678961b60cfe08d8b9aa1210cb75291496f83f' into gingerbread-plus-aosp

* commit 'f2678961b60cfe08d8b9aa1210cb75291496f83f':
make new module optional
75f7a502c78a0512b7c0471f427dceaeeac7c86e 14-Sep-2010 Jean-Baptiste Queru <jbq@google.com> make new module optional

Change-Id: Iadd023fbc4f11b10d1f76c92c1cfad7ff21dde97
6ec272548eb3881509f1de5b725c909899b4431b 14-Sep-2010 Elliott Hughes <enh@google.com> Much faster TimeZone.getTimeZone using a new private mmap(2) interface.

froyo:

benchmark us logarithmic runtime
TimeZone_getDefault 8.43 =
TimeZone_getTimeZoneUTC 1140.19 ===========================
TimeZone_getTimeZone_America_Caracas 1537.78 ============================
TimeZone_getTimeZone_America_Santiago 1920.50 =============================
TimeZone_getTimeZone_GMT_plus_10 1089.90 ==========================
TimeZone_getTimeZone_default 1105.54 ===========================

dalvik-dev:

benchmark us logarithmic runtime
TimeZone_getDefault 7.37 =
TimeZone_getTimeZoneUTC 30.35 ================
TimeZone_getTimeZone_America_Caracas 35.98 ==================
TimeZone_getTimeZone_America_Santiago 100.21 ==============================
TimeZone_getTimeZone_GMT_plus_10 43.83 ====================
TimeZone_getTimeZone_default 31.32 =================

There are two main changes. The biggest one is to use our own private mmap(2)
API. We might want to make this more generally available in the long term, but
for now it's pretty unsafe; we do nothing to detect invalidated iterators, and
we do no bounds checking. But that's fine for our internal use.

The other change is to recognize that we don't actually need the abbreviated
names. We were only using them for hashCode and equals, and the canonical Olson
id seems like a much better choice for those purposes! That then means that we
don't need to read in as much data in the first place. This makes more
difference for simpler time zones (such as Caracas in the example) because the
overhead is pretty much fixed.

The profile now has us spending most of our time in String.compareTo (for the
binary search) and in OSMemory (paying for our slow native method calling).

Change-Id: I848a318572008e0be8a4a330bb14d2f791353200
4a80f9748dea6a6a566090b3a0d5467d4b54a5bd 14-Sep-2010 Brian Carlstrom <bdc@google.com> am df349b3e: Fix HttpsURLConnectionTest failures

Merge commit 'df349b3eaf4d1fa0643ab722173bc3bf20a266f5' into gingerbread-plus-aosp

* commit 'df349b3eaf4d1fa0643ab722173bc3bf20a266f5':
Fix HttpsURLConnectionTest failures
e009853dd7d82ad617b791fa10904135c5fd779e 14-Sep-2010 Brian Carlstrom <bdc@google.com> Fix HttpsURLConnectionTest failures

Focusing on HttpsURLConnectionTest.test_doOutput found a number of
unrelated issues, all of which are addressed by this change:
- {HttpURLConnection,HttpsURLConnection}.connect not ignored on subsequent calls
- OpenSSLSessionImpl.{getPeerCertificates,getPeerCertificateChain} did not include client certificate
- OpenSSLSocketImpl.getSession did not skip handshake when SSLSession was already available
- Fix 3 test issues in HttpsURLConnectionTest
- Fix 2 test issues in NativeCryptoTest

Details:

HttpsURLConnectionTest tests (such as test_doOutput) that
tried to call URLConnection.connect() at the end of the test
were raising exception. The RI URLConnection.connect
documentation says calls on connected URLConnections should be ignored.

Use "connected" instead of "connection != null" as reason to ignore "connect"

luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpURLConnectionImpl.java
luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/https/HttpsURLConnectionImpl.java

Converted one caller of getPeerCertificateChain to
getPeerCertificates which is the new fast path. Track
OpenSSLSessionImpl change to take "java" vs "javax" certificates.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/AbstractSessionContext.java

Move SSL_SESSION_get_peer_cert_chain to be SSL_get_peer_cert_chain
(similar to SSL_get_certificate). The problem was that
SSL_SESSION_get_peer_cert_chain used SSL_get_peer_cert_chain which
in the server case did not include the client cert itself, which
required a call to SSL_get_peer_certificate, which needed the
SSL instance pointer.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/native/NativeCrypto.cpp

Improved NativeCrypto_SSL_set_verify tracing

luni/src/main/native/NativeCrypto.cpp

As a side effect of the move to
NativeCrypto.SSL_get_peer_certificate, it no longer made sense to
lazily create the peer certificate chain since the SSLSession
should not depend on a particular SSL instance. The peer chain is
now passed in as part of the constructor and the peerCertifcates
in the OpenSSLSession can be final (also made localCertificates
final). Since peerCertifcates is the newew (java not javax) API
and more commonly used, it is what is created from the native
code, and peerCertificateChain is not derived from peerCertifcates
instead of vice versa.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java

Factored out code to used to create local certificate chain to
from array of DER byte arrays into createCertChain so it can be
reused to create peer certificate chain.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Fix OpenSSLSocketImpl.getSession to check for existing sslSession
to and skip handshake, which was causing an exception if the
connection had already been closed.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Fix test issues: Removed PrintStream wrapper of System.out which
was causing vogar to lose output. Added null check in closeSocket,
which can happen in timeout case. Removed use of
InputStream.available which in OpenSSLSocket case returned 0,
causing test to fail incorrectly.

luni/src/test/java/org/apache/harmony/luni/tests/internal/net/www/protocol/https/HttpsURLConnectionTest.java

Updating to track change to SSL_get_peer_cert_chain. Also fixed
some other unrelated test failures caused by IOException on
shutdown and false start (aka SSL_MODE_HANDSHAKE_CUTTHROUGH)
causing clientCallback.handshakeCompleted to be false.

luni/src/test/java/org/apache/harmony/xnet/provider/jsse/NativeCryptoTest.java

Bug: b/2981767
Change-Id: Id083beb6496558296c2f74f51ab0970e158b23a9
c61139e710584b2c66661743f616000a6ec398c4 14-Sep-2010 Brian Carlstrom <bdc@google.com> am 6812a2e8: Rename internal SSLParameters to SSLParametersImpl to avoid collision with new javax.net.ssl.SSLParameters

Merge commit '6812a2e8bb43d9a875633a9ba255d9882c63e327' into gingerbread-plus-aosp

* commit '6812a2e8bb43d9a875633a9ba255d9882c63e327':
Rename internal SSLParameters to SSLParametersImpl to avoid collision with new javax.net.ssl.SSLParameters
e7275c23290c9892153691902f2e5444fe32b6b2 14-Sep-2010 Brian Carlstrom <bdc@google.com> Rename internal SSLParameters to SSLParametersImpl to avoid collision with new javax.net.ssl.SSLParameters

Bug: 2672817
Change-Id: Iadf21b848eaf8850fce22721b9ba3739ab2e9fca
e058bb1fdc87ac7c3a8b7d50aa20c41f052e3a3a 14-Sep-2010 Brian Carlstrom <bdc@google.com> am 2b6188df: Merge "Remove SSLContextImpl.engineInit(..) that takes persistent cache arguments" into gingerbread

Merge commit '2b6188df7062ed2fc7409382577cca91d2926c87' into gingerbread-plus-aosp

* commit '2b6188df7062ed2fc7409382577cca91d2926c87':
Remove SSLContextImpl.engineInit(..) that takes persistent cache arguments
ae36dc9cefe36b4463459b397c59fb91b709c72e 14-Sep-2010 Brian Carlstrom <bdc@google.com> Merge "Remove SSLContextImpl.engineInit(..) that takes persistent cache arguments" into gingerbread
1198c2b9fdf4c976a059bf2f082c42bd717bb3d8 14-Sep-2010 Jesse Wilson <jessewilson@google.com> am 8edffc91: Merge "Fix test code that hardcodes the keystore. Necessary for the host build." into gingerbread

Merge commit '8edffc91738e588609f556f4e472d7d4f03acc46' into gingerbread-plus-aosp

* commit '8edffc91738e588609f556f4e472d7d4f03acc46':
Fix test code that hardcodes the keystore. Necessary for the host build.
172b6b4958c850fc10e8aa98bfa2e7ebf60a94d9 14-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix test code that hardcodes the keystore. Necessary for the host build." into gingerbread
46a25d12196df913b84794949c8959316e60aa54 14-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix test code that hardcodes the keystore. Necessary for the host build.

Change-Id: Ie371a4bc9cd8bcb9aed169f08aba18d285e21099
0a133b9762758ed0d4d50a3186e1da21f87b131b 14-Sep-2010 Jesse Wilson <jessewilson@google.com> am 83124054: Merge "Make the bouncy castle keystore available for the host build." into gingerbread

Merge commit '83124054a72ee4553950cc56de4273e33a940b53' into gingerbread-plus-aosp

* commit '83124054a72ee4553950cc56de4273e33a940b53':
Make the bouncy castle keystore available for the host build.
37a7b1e0c6d54809349ab6cdf23b742e7384e4e0 14-Sep-2010 Brian Carlstrom <bdc@google.com> Remove SSLContextImpl.engineInit(..) that takes persistent cache arguments

Bug: 2672817
Change-Id: I201815857e4452498c746139b8d64b7721bc22cc
bf39b1f801bff63cf381aaaab719bb7e2dbc0af2 14-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Make the bouncy castle keystore available for the host build." into gingerbread
0d0efa6ce3a7ae15ef813bad15ab19261d73adf4 14-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Add a test case to demonstrate MessageDigest.reset() doesn't." into dalvik-dev
eac3be980b23b6015c5f51d0f2e43cae7634f359 14-Sep-2010 Jesse Wilson <jessewilson@google.com> Make the bouncy castle keystore available for the host build.

Change-Id: I1d126f594808d748af0662032f9dff5ee69377e6
433198976b5bf14a773afbd1c1363b2c21ef512d 14-Sep-2010 Elliott Hughes <enh@google.com> am 4dc78e4c: am 5f67bf68: am f1ab58e7: Merge "Fix the TimeZone.getTimeZone documentation and a test." into gingerbread

Merge commit '4dc78e4c16f57491c111d8974e2249ac23c6c21d' into dalvik-dev

* commit '4dc78e4c16f57491c111d8974e2249ac23c6c21d':
Fix the TimeZone.getTimeZone documentation and a test.
5a328a1b3226b603925c26261b17be63ace88ed2 14-Sep-2010 Elliott Hughes <enh@google.com> am 5f67bf68: am f1ab58e7: Merge "Fix the TimeZone.getTimeZone documentation and a test." into gingerbread

Merge commit '5f67bf688c1a91c9604bd9648a69bd2e04600301'

* commit '5f67bf688c1a91c9604bd9648a69bd2e04600301':
Fix the TimeZone.getTimeZone documentation and a test.
45f565638554a7328e6b186b1b5adc73e9b22924 14-Sep-2010 Jesse Wilson <jessewilson@google.com> am f2317318: am 521a2fac: am 7898a917: Update the host core.jar build to include classes.dex.

Merge commit 'f2317318d2ec793d3eaf9b02be426db783527593' into dalvik-dev

* commit 'f2317318d2ec793d3eaf9b02be426db783527593':
Update the host core.jar build to include classes.dex.
aebe40cee2d9500952f330299d54c8642bccd9a3 14-Sep-2010 Jesse Wilson <jessewilson@google.com> am 521a2fac: am 7898a917: Update the host core.jar build to include classes.dex.

Merge commit '521a2facf95ddc49d42c17c5bb90d3889bf0bea0'

* commit '521a2facf95ddc49d42c17c5bb90d3889bf0bea0':
Update the host core.jar build to include classes.dex.
a5ba18bba667488aca285e1190825018ca42b885 14-Sep-2010 Elliott Hughes <enh@google.com> am f1ab58e7: Merge "Fix the TimeZone.getTimeZone documentation and a test." into gingerbread

Merge commit 'f1ab58e721ab6c932ec8e2e3309fab34c93138dd' into gingerbread-plus-aosp

* commit 'f1ab58e721ab6c932ec8e2e3309fab34c93138dd':
Fix the TimeZone.getTimeZone documentation and a test.
4bfaae443c355c84db6bfe813f8b9f7d29910b5f 14-Sep-2010 Elliott Hughes <enh@google.com> Merge "Fix the TimeZone.getTimeZone documentation and a test." into gingerbread
1bbd9405fa456a6482071391a8c53997f50bdd60 14-Sep-2010 Elliott Hughes <enh@google.com> Merge "More nio speedups." into dalvik-dev
7484804c36b33d4af87ff5dfbf98b896c527e6ea 14-Sep-2010 Elliott Hughes <enh@google.com> Fix the TimeZone.getTimeZone documentation and a test.

Bug: 2996225
Change-Id: I9242b8a8e343d2b1995b5f1d0cb715d2fa3080f6
bc12cc8591b16aafb38ee65cacd061ccf2bd2989 14-Sep-2010 Jesse Wilson <jessewilson@google.com> No longer reference deleted tests.

Change-Id: Ia5f403d77dbdec2e902f6d94a7f77e5b397492f1
5eeeff2bef6b1325bee78297679ae4ef6b4682de 14-Sep-2010 Jesse Wilson <jessewilson@google.com> am 7898a917: Update the host core.jar build to include classes.dex.

Merge commit '7898a917ea805abf9f320ed42285ff3adf79968d' into gingerbread-plus-aosp

* commit '7898a917ea805abf9f320ed42285ff3adf79968d':
Update the host core.jar build to include classes.dex.
7e7f20c66a693d51d9075f255e9c7e8236de726c 14-Sep-2010 Jesse Wilson <jessewilson@google.com> Update the host core.jar build to include classes.dex.

Uses LOCAL_BUILD_HOST_DEX:=true to do the heavy lifting.

See Ying Wang's example, which this obsoletes:
https://android-git.corp.google.com/g/67581

Change-Id: I7ebfd7033e130280e473b1a42624c5d375d7eaed
e014086da77c1c85f601ed71ef37a073f4a3bd0f 14-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Remove NIO tests duplicated from Harmony." into dalvik-dev
1c1f2ef410a8174e8deb28ef7d7d92374c0e863e 14-Sep-2010 Jesse Wilson <jessewilson@google.com> Add a test case to demonstrate MessageDigest.reset() doesn't.

Uncovered by a more general test:
org.apache.harmony.security.tests.java.security.MessageDigest2Test#test_digest

Change-Id: Ic6a47ac3acf0876a954392f6758f0ca3daf0e192
6c0424f733ee694159ea5c0389ec9803606e1c4b 14-Sep-2010 Jesse Wilson <jessewilson@google.com> Remove NIO tests duplicated from Harmony.

The only major differences were some tests marked disabled_testReadByteBuffer_Block_close()
which weren't running anyway. I could try to enable these tests, but I think effort would
be better spent writing new tests where they're needed.

Change-Id: I58748fd553bc1c9531ec91fddc432b192fbdef47
661d3aecb1cfb9272dd64a93a31e79ef257452b8 13-Sep-2010 Elliott Hughes <enh@google.com> More nio speedups.

Small improvements this time. Stop penalizing getChar/putChar with an extra
level of indirection through getShort/putShort; our VM can't win that
back yet, and the extra method call is a significant fraction of the
total time taken for these operations (1/3rd). This applies to direct, heap,
and mapped buffers. (One day we'll be able to come back and remove this.)

Also remove the float/double specializations from MemoryBlock, rewriting
the two callers of each to use int/long directly. Those callers are public
API, so this is as far as the removal of useless duplication can go here.
This applies to direct and mapped buffers.

Unroll loops (!) used to load/store short/int/long values from Java heap
byte[]s for performance. This applies to heap buffers.

Bug: 2935622
Change-Id: I093122af2b49d3ef864b87dce637c781727445dd
00c3990f36e5f9d718b0fbf15db626495b7e9b25 13-Sep-2010 Elliott Hughes <enh@google.com> Make MappedByteBuffer.get(byte[], int, int) orders of magnitude faster.

Even with the misleading logarithmic scale graphs, this stood out like
a sore thumb. Other than this, our MappedByteBuffer looks like it's just a
layer or two of missing inlining away from DirectByteBuffer performance.

Bug: 2935622
Change-Id: Ie4ed153fad6d19a2c83748fee2e364c3e86d40f3
4f6fee5bd9cd57e567989b1b965f6c018a6d3dbf 13-Sep-2010 Elliott Hughes <enh@google.com> Merge "Optimize byte-swapped accesses." into dalvik-dev
519ba5539a49da63aef09e8a4be76d244b21de2f 13-Sep-2010 Elliott Hughes <enh@google.com> Optimize byte-swapped accesses.

Brings the performance of byte-swapped accesses way down from about 3x to
less than 2x worst-case (char/short) and 20% best-case (long/double). The
main active ingredients are switching to a single-pass swapped-copy (rather
than copy in one pass, swap in a second pass), and ensuring we use ARM's
REV and REV16 instructions.

Because the array get/put methods were getting complicated again, I've
factored the implementations out using a couple of macros.

I've also removed the obsolete misaligned access workarounds for <= 32-bit
types, leaving only the code for misaligned 64-bit accesses.

Bug: 2935622
Change-Id: I5a2365c2bcf35e05dbea9ebc3463c73ef17e33d0
dd33b2db629624c61d2fe2beaf33d9f4c2cf4568 13-Sep-2010 Jesse Wilson <jessewilson@google.com> am 49d3e932: am ce457657: am 489118a5: Merge "Even more follow up to enh\'s HttpURLConnection docs review." into gingerbread

Merge commit '49d3e9326a5348ebef770874a6a6abf32ce60460' into dalvik-dev

* commit '49d3e9326a5348ebef770874a6a6abf32ce60460':
Even more follow up to enh's HttpURLConnection docs review.
30dff4e75f8b766efe26145f73ee69ff2cde3ac8 13-Sep-2010 Jesse Wilson <jessewilson@google.com> am ce457657: am 489118a5: Merge "Even more follow up to enh\'s HttpURLConnection docs review." into gingerbread

Merge commit 'ce4576570a87c2c3c1f30db073235f317f430038'

* commit 'ce4576570a87c2c3c1f30db073235f317f430038':
Even more follow up to enh's HttpURLConnection docs review.
9d9cd28f698ba53d34c9bca44225f50e5a6328ea 13-Sep-2010 Jesse Wilson <jessewilson@google.com> am 489118a5: Merge "Even more follow up to enh\'s HttpURLConnection docs review." into gingerbread

Merge commit '489118a5f849b76d1374dc47942f6066b4a17eb5' into gingerbread-plus-aosp

* commit '489118a5f849b76d1374dc47942f6066b4a17eb5':
Even more follow up to enh's HttpURLConnection docs review.
40cb4cb686f1bf2944744f831a463f02150a8727 13-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Even more follow up to enh's HttpURLConnection docs review." into gingerbread
afb87039d6baf508f749a1741d0a2d3b0a553e7c 13-Sep-2010 Elliott Hughes <enh@google.com> am 3628b98e: am 64612b4e: am 9d3b63b8: Merge "Document Unicode versions and that we don\'t support the locale spi junk." into gingerbread

Merge commit '3628b98ebe96ec346dd0d048f39b597c35a58e7e' into dalvik-dev

* commit '3628b98ebe96ec346dd0d048f39b597c35a58e7e':
Document Unicode versions and that we don't support the locale spi junk.
4ea6d9eed35fac8587ebd96b05c3b7bfd48033c3 13-Sep-2010 Elliott Hughes <enh@google.com> am 64612b4e: am 9d3b63b8: Merge "Document Unicode versions and that we don\'t support the locale spi junk." into gingerbread

Merge commit '64612b4e61d7b8367133aa7ac3461953b0ab67b0'

* commit '64612b4e61d7b8367133aa7ac3461953b0ab67b0':
Document Unicode versions and that we don't support the locale spi junk.
fd38e1bfbaf25afc9c73946db039b3e34ca7ac48 13-Sep-2010 Elliott Hughes <enh@google.com> am 9d3b63b8: Merge "Document Unicode versions and that we don\'t support the locale spi junk." into gingerbread

Merge commit '9d3b63b8032836ff1c684974c8c7347b231cdc8b' into gingerbread-plus-aosp

* commit '9d3b63b8032836ff1c684974c8c7347b231cdc8b':
Document Unicode versions and that we don't support the locale spi junk.
f092c3d900cdf3e22d6dea944fc3935975c7aae2 13-Sep-2010 Elliott Hughes <enh@google.com> Merge "Document Unicode versions and that we don't support the locale spi junk." into gingerbread
ef11c3c9b99ea303944638954127be0e8e903808 13-Sep-2010 Jesse Wilson <jessewilson@google.com> Even more follow up to enh's HttpURLConnection docs review.

Change-Id: Ia70565470d6c605d0c24105bc4ef5c712e3301a1
https://android-git.corp.google.com/g/67703
40c5e8832ca4a597e16be56b12f3436342def259 13-Sep-2010 Jesse Wilson <jessewilson@google.com> am c8eb9a4b: am c1741ca3: am 55bbb57d: More follow up to enh\'s HttpURLConnection docs review.

Merge commit 'c8eb9a4bdc2fd269ad6db13e00771eae839acc69' into dalvik-dev

* commit 'c8eb9a4bdc2fd269ad6db13e00771eae839acc69':
More follow up to enh's HttpURLConnection docs review.
60cdcd07a835d81bc012aba42f1ba3906b9f77ca 12-Sep-2010 Elliott Hughes <enh@google.com> Document Unicode versions and that we don't support the locale spi junk.

Bug: 2860486
Bug: 2938123
Change-Id: I3eb587300ea97340cdc23ba2d0136b8eeeb99b25
f301e4a8b05f5ac309fdfbe7adec36e4c6db6309 13-Sep-2010 Jesse Wilson <jessewilson@google.com> am c1741ca3: am 55bbb57d: More follow up to enh\'s HttpURLConnection docs review.

Merge commit 'c1741ca343b689a54c2f805b465b87177e494b78'

* commit 'c1741ca343b689a54c2f805b465b87177e494b78':
More follow up to enh's HttpURLConnection docs review.
c81d6fb2bfbb51bbd8e62c1770a05aaa01d45d36 13-Sep-2010 Jesse Wilson <jessewilson@google.com> am 55bbb57d: More follow up to enh\'s HttpURLConnection docs review.

Merge commit '55bbb57dc76ab0231583460f5af4083f4f48f8f5' into gingerbread-plus-aosp

* commit '55bbb57dc76ab0231583460f5af4083f4f48f8f5':
More follow up to enh's HttpURLConnection docs review.
f7f07e3279a44ba7fae8e4e983bb719ec7f1c4b5 12-Sep-2010 Jesse Wilson <jessewilson@google.com> More follow up to enh's HttpURLConnection docs review.

See the original review here:
https://android-git.corp.google.com/g/#patch,sidebyside,67584,1,luni/src/main/java/java/net/HttpURLConnection.java

Change-Id: If296b35e53e7bde88403e9124038f38dd725f83b
c0317120086b224c079caede97db37cac05ea943 12-Sep-2010 Jesse Wilson <jessewilson@google.com> am 00abf762: am 6ded10dd: am 8c283b62: Document HttpURLConnection\'s many features and misfeatures.

Merge commit '00abf762df0db66d57de813a168fb09e429f16c7' into dalvik-dev

* commit '00abf762df0db66d57de813a168fb09e429f16c7':
Document HttpURLConnection's many features and misfeatures.
46a53f20328a585a9af6ded1a532e1a7a70152a3 12-Sep-2010 Jesse Wilson <jessewilson@google.com> am 6ded10dd: am 8c283b62: Document HttpURLConnection\'s many features and misfeatures.

Merge commit '6ded10dd27b7e46bba6b3f3491bb844f33844cf1'

* commit '6ded10dd27b7e46bba6b3f3491bb844f33844cf1':
Document HttpURLConnection's many features and misfeatures.
12905b891b6d7c02c64a77c0be4e501c06468b3d 12-Sep-2010 Jesse Wilson <jessewilson@google.com> am 8c283b62: Document HttpURLConnection\'s many features and misfeatures.

Merge commit '8c283b62cd1952ffa145332d94ed691acf4ac87e' into gingerbread-plus-aosp

* commit '8c283b62cd1952ffa145332d94ed691acf4ac87e':
Document HttpURLConnection's many features and misfeatures.
d361dedc9179b03d5afc11642dd0b0adcd83a397 11-Sep-2010 Jesse Wilson <jessewilson@google.com> Document HttpURLConnection's many features and misfeatures.

Change-Id: Ib6d9f05e6a23bc44bd5c8838c9e8098b15d19810
dd1dc2143abb89db931a6c98ed163516634fccd4 11-Sep-2010 Elliott Hughes <enh@google.com> Optimize bulk get of char[], double[], float[], long[], and short[].

I optimized int[] the other day, and byte[] has always been optimized.
This now makes our get performance equivalent to our put performance,
rather than orders of magnitude worse.

Before:

ByteBuffer_getByteArray 2041 ==========
ByteBuffer_putByteArray 1983 =========
CharBuffer_getCharArray 705152 ============================
CharBuffer_putCharArray 4375 ============
DoubleBuffer_getDoubleArray 860884 =============================
DoubleBuffer_putDoubleArray 11591 ===============
FloatBuffer_getFloatArray 839085 =============================
FloatBuffer_putFloatArray 6690 =============
IntBuffer_getIntArray 6814 =============
IntBuffer_putIntArray 6775 =============
LongBuffer_getLongArray 668171 ============================
LongBuffer_putLongArray 11585 ===============
ShortBuffer_getShortArray 620122 ============================
ShortBuffer_putShortArray 4350 ============

After:

ByteBuffer_getByteArray 2028 ===========
ByteBuffer_putByteArray 1948 ===========
CharBuffer_getCharArray 4376 =================
CharBuffer_putCharArray 4342 =================
DoubleBuffer_getDoubleArray 11616 =======================
DoubleBuffer_putDoubleArray 11540 =======================
FloatBuffer_getFloatArray 6827 ====================
FloatBuffer_putFloatArray 6747 ====================
IntBuffer_getIntArray 6824 ====================
IntBuffer_putIntArray 6733 ====================
LongBuffer_getLongArray 11597 =======================
LongBuffer_putLongArray 11489 =======================
ShortBuffer_getShortArray 4392 =================
ShortBuffer_putShortArray 4329 =================

(All times in microseconds. The relatively large amount of noise visibile from
the code that didn't change is because I told caliper I wanted results quickly,
since it was order of magnitude I cared about, not tens of microseconds. That
is, the scales on the two graphs are completely different, and it's only the
shapes of the graphs that you can usefully compare: after is less spiky,
because I've filled in the performance potholes.)

Bug: 2935622
Change-Id: Ia5a36e641ef67648fcdbda092fab36111613b1c2
98603d6d6e0167f97d9f3701957440199c0e66f5 10-Sep-2010 Elliott Hughes <enh@google.com> Fix MappedByteBufferAdapter.

I broke MappedByteBufferAdapter in https://android-git.corp.google.com/g/65226
because I didn't move the position-setting to _before_ the delegated gets (the
puts were correct). This was spotted in review, but I'd already submitted to
unblock a later change.

The upstream tests didn't spot this because they mainly test buffers full of
zeros (which aren't very interesting from an endian point of view). I've raised
http://b/2991877 to get the upstream tests fixed.

I've also added a motivating comment for this admittedly weird class.

Bug: 2935622
Change-Id: I6bbf00636a5e05e7396cf94ee6985bcf50fc4552
d7804c35a4f9d4b76f1ec6b67c8083f0bb31f321 10-Sep-2010 Elliott Hughes <enh@google.com> Consistent naming for get/put/wrap arguments.

Bug: 2935622
Change-Id: Icb39392f9106f9fe5ba70ccdcb6b059dbf5617bc
8cc2f59fa82c92d69c2a43ff6470ce301ebf4f08 10-Sep-2010 Elliott Hughes <enh@google.com> Merge changes I1f5afb77,I4cfe206f into dalvik-dev

* changes:
Fast-path nio put for char[], double[], long[], nio get for int[].
Speed up MappedByteBuffer.
b89a0e5d7a8f39c1b2f67181a98931ec48127b49 10-Sep-2010 Elliott Hughes <enh@google.com> Fast-path nio put for char[], double[], long[], nio get for int[].

The other vector puts were already special-cased.

int[] is the first get to be accelerated; I'll come back and do the others.
I don't know how used vector gets are, but our nio unit tests go from ~4minutes
to ~15s after these changes, and all but the last five seconds of that is
from the get(int[]) part of this change.

Bug: 2935622
Change-Id: I1f5afb77e0fc7abcb661f861fa435cbec4b3f348
4344da788817f824b359638d2788fe227bd2a4be 09-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix some broken charset tests." into dalvik-dev
ef5ca255f54fa3ed8d87f38fd0ba65ccbadbfb0c 09-Sep-2010 Elliott Hughes <enh@google.com> Speed up MappedByteBuffer.

Make it possible to override limit(int) and position(int) internally, so I can
avoid updating MappedByteBufferAdapter's wrapped ByteBuffer's limit and
position on every get or put. I still need to do extra work with position if
you use the get/put overloads that don't take an index, but even that becomes
cheaper. The indexed overloads benefit the most, though. Before:

benchmark before after (both us)

ByteBuffer_getByte 830 757
ByteBuffer_getChar 940 875

ByteBuffer_getByte_indexed 800 509
ByteBuffer_getChar_indexed 936 643

Also factor out duplicated toString implementations.

Bug: 2935622
Change-Id: I4cfe206fde638bddb5a7b4a62223e2588f44b8ac
6b01f67f03c9a67026c5f87b22d4c1c0226e18b0 09-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix some broken charset tests.

We were using CharsetDecoder.onMalformedInput() when we needed both
that and CharsetDecoder.onUnmappableCharacter(). This fixes several
test failures. We still need onMalformedInput() for the US-ASCII
test.

Also making non-executable tests abstract and removing broken main
methods. This makes it easier to run the directory of tests with
vogar.

Change-Id: Ibf0d7260d6cb49fe35f9306ac8699cd3f8de57f6
e13754bd89d93a1a050897c00e8e387e3687df69 09-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Address test failures in java.util.zip." into dalvik-dev
3149657e83353eb86dd81a87cea54668a6e8d13a 09-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> am e00dd470: am f9efa849: am 5900e554: Use BlockGuard for OpenSSL sockets.

Merge commit 'e00dd4703c3b7e895059ba7cc7399dda0cba2580' into dalvik-dev

* commit 'e00dd4703c3b7e895059ba7cc7399dda0cba2580':
Use BlockGuard for OpenSSL sockets.
972cd11249f5067fac821f4f2e25f4d4a9b7830c 09-Sep-2010 Jesse Wilson <jessewilson@google.com> Address test failures in java.util.zip.

Some deflater tests fail because they expect a specific byte sequence in
the compressed form. Our compressed form is valid but has a different
sequence. I've written new tests to cover the related APIs and suppressed
the broken tests.

The other deleted tests are duplicated exactly from Harmony. I'm removing
our copy.

Change-Id: If480d54948e634e4f6b1018da30951a1d4d07b49
15c3198c845e30a7f4e46a9fdd48db7d59a96124 09-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> am f9efa849: am 5900e554: Use BlockGuard for OpenSSL sockets.

Merge commit 'f9efa849319bf5a56dc58346fec0c8f2d68a32d5'

* commit 'f9efa849319bf5a56dc58346fec0c8f2d68a32d5':
Use BlockGuard for OpenSSL sockets.
7c2b8fa5594cb652f89d9fb75e2c4eeeb28273b8 09-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> am 5900e554: Use BlockGuard for OpenSSL sockets.

Merge commit '5900e5546059f05d5e58e5732e4d08d83b8b7574' into gingerbread-plus-aosp

* commit '5900e5546059f05d5e58e5732e4d08d83b8b7574':
Use BlockGuard for OpenSSL sockets.
1abf92c628eb74d6c67f2416118fb7daa844affc 09-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> Use BlockGuard for OpenSSL sockets.

StrictMode wasn't catching network usage via SSL.

Bug: 2976407
Change-Id: I31fe09861e3aca7b26724b94af88687fb6b9442b
c13bb89276ae849c8fdc609a106d0ccb88573184 09-Sep-2010 Elliott Hughes <enh@google.com> Fix build (non-final _elementSizeShift).

Bug: 2935622
Change-Id: I5ff543b11e055a25676444d7ba9f0bb939544816
9ac1a8ecae75e3a3d9ac92304c36081390094b01 08-Sep-2010 Elliott Hughes <enh@google.com> Merge "Move the MemoryBlock up into java.nio.Buffer." into dalvik-dev
bdc936cc5dfa7dd38c716880b2412597773c298b 08-Sep-2010 Elliott Hughes <enh@google.com> Move the MemoryBlock up into java.nio.Buffer.

This lets me kill getBaseAddress and the (bogus) DirectBuffer interface.

Bug: 2935622
Change-Id: I51c758e7687a6cfa4a3a64ef089fb600b847b70f
2de9bad60cf71df25480e3af2277ca7cdf2ea272 08-Sep-2010 Brian Carlstrom <bdc@google.com> am 0215235b: am 40ff6534: am 9f7ee09d: Canonicalize all PEM certificates files to include text and SHA1 fingerprint

Merge commit '0215235bddb3496d1be66d21ac1cd04f62aee754' into dalvik-dev

* commit '0215235bddb3496d1be66d21ac1cd04f62aee754':
Canonicalize all PEM certificates files to include text and SHA1 fingerprint
bbbd68cc2f3e064d68b2e81aa417ef7666219737 08-Sep-2010 Brian Carlstrom <bdc@google.com> am 40ff6534: am 9f7ee09d: Canonicalize all PEM certificates files to include text and SHA1 fingerprint

Merge commit '40ff65344d6cd6d3ab503519ba819b3bbde743eb'

* commit '40ff65344d6cd6d3ab503519ba819b3bbde743eb':
Canonicalize all PEM certificates files to include text and SHA1 fingerprint
cd389c38b8e61e6cbb3db09729cd427b3bdd4f68 08-Sep-2010 Brian Carlstrom <bdc@google.com> am 9f7ee09d: Canonicalize all PEM certificates files to include text and SHA1 fingerprint

Merge commit '9f7ee09df54780aed20bae001fb921309013c850' into gingerbread-plus-aosp

* commit '9f7ee09df54780aed20bae001fb921309013c850':
Canonicalize all PEM certificates files to include text and SHA1 fingerprint
b359cef9599056ada9d0aa2a67715ecfc76e5318 08-Sep-2010 Brian Carlstrom <bdc@google.com> Canonicalize all PEM certificates files to include text and SHA1 fingerprint

Change-Id: I959d2b74b12cc9e53ea395d1939501a8fd39206b
84b399335257dee980411a03873573ae861cc790 08-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Remove several I/O tests duplicated exactly with Harmony." into dalvik-dev
d705c83447a5cd9e71f59b4b38c0fb06f0c67dc1 08-Sep-2010 Jesse Wilson <jessewilson@google.com> am 81a8d57b: am ab7fd803: am 7e29fa5a: Merge "Cope with HTTP responses where the response code and headers disagree." into gingerbread

Merge commit '81a8d57b44d4e6f5e6d74af193ce23ec5366ca0c' into dalvik-dev

* commit '81a8d57b44d4e6f5e6d74af193ce23ec5366ca0c':
Cope with HTTP responses where the response code and headers disagree.
5e12a73c7ad2ead1bf5aa2b971ef9c83e1207efa 08-Sep-2010 Elliott Hughes <enh@google.com> am 4d8c37b9: am f30df55f: am 99d9f92a: Fix off-by-one error in BigInteger.valueOf.

Merge commit '4d8c37b917df4212de7f9b9e6b6c4a8f80727de4' into dalvik-dev

* commit '4d8c37b917df4212de7f9b9e6b6c4a8f80727de4':
Fix off-by-one error in BigInteger.valueOf.
fd16ce3e7bbedfa82aef0f2c6a8db359db01cc0b 08-Sep-2010 Jesse Wilson <jessewilson@google.com> am ab7fd803: am 7e29fa5a: Merge "Cope with HTTP responses where the response code and headers disagree." into gingerbread

Merge commit 'ab7fd80316535611902204186adba9f531a26fba'

* commit 'ab7fd80316535611902204186adba9f531a26fba':
Cope with HTTP responses where the response code and headers disagree.
ee1703c1a6ba84c6d89c38e90d6dce293e1c1a2c 08-Sep-2010 Elliott Hughes <enh@google.com> am f30df55f: am 99d9f92a: Fix off-by-one error in BigInteger.valueOf.

Merge commit 'f30df55f3ab26dc16523f8a8116bc93e479f3ada'

* commit 'f30df55f3ab26dc16523f8a8116bc93e479f3ada':
Fix off-by-one error in BigInteger.valueOf.
9944220361c88df1728fb493897d657c51dedb58 08-Sep-2010 Jesse Wilson <jessewilson@google.com> Remove several I/O tests duplicated exactly with Harmony.

Some tests in FilePermissionTest were failing; by removing
duplication we can fix the tests in only one place.

Change-Id: Ie6d93e7c3cc353b8c2b277ecf4fa67af5f1515e7
40e79a4f90d6854c55440a0c3cbe3a16e050b250 08-Sep-2010 Elliott Hughes <enh@google.com> Merge "Rename PlatformAddress to MemoryBlock." into dalvik-dev
2857b6a412ca57e631c2f115f88cc09e90e56153 08-Sep-2010 Elliott Hughes <enh@google.com> Rename PlatformAddress to MemoryBlock.

Bug: 2935622
Change-Id: I8a09cb9be0b0ea468278f7808f1a18c3ce820b49
b529d0dfe9c3d3aa452d9b54048bdaf7eea30a5f 08-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Cleanup HttpsURLConnectionTest to help with failures." into dalvik-dev
992fc7fa6d1b92767094a0c1c58af049870a1cef 08-Sep-2010 Jesse Wilson <jessewilson@google.com> am 7e29fa5a: Merge "Cope with HTTP responses where the response code and headers disagree." into gingerbread

Merge commit '7e29fa5a86c6d28d97e28a18184d3584ce83e61a' into gingerbread-plus-aosp

* commit '7e29fa5a86c6d28d97e28a18184d3584ce83e61a':
Cope with HTTP responses where the response code and headers disagree.
22e2958c5a4eda75a574ee4dd26e067f68cdcfdb 08-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Cope with HTTP responses where the response code and headers disagree." into gingerbread
938f2067d193c78a5688d132e486f1d5a8e7644e 08-Sep-2010 Jesse Wilson <jessewilson@google.com> Cope with HTTP responses where the response code and headers disagree.

See http://b/issue?id=2981779

Change-Id: I0e4ed8f0cc606aa419704ba2eb5cd9938b5ff320
4db6ca8e6f7b36ae6566927102dc141683d78993 08-Sep-2010 Elliott Hughes <enh@google.com> am 99d9f92a: Fix off-by-one error in BigInteger.valueOf.

Merge commit '99d9f92a991cbbfc58b103b3f1c114fbac5d1188' into gingerbread-plus-aosp

* commit '99d9f92a991cbbfc58b103b3f1c114fbac5d1188':
Fix off-by-one error in BigInteger.valueOf.
9263e473b2187ee900bac44b99cd61c4026da6d9 08-Sep-2010 Elliott Hughes <enh@google.com> Fix off-by-one error in BigInteger.valueOf.

Bug: 2981072
Change-Id: Ic85aea22fc4e519355c537376b1526828e2375c5
9a9886d761e6a4d3719622c18c8b024b8c0dd8ae 08-Sep-2010 Elliott Hughes <enh@google.com> Socket.close doesn't throw if the socket is already closed.

In gingerbread, most (but not all) types of socket have Java code to prevent us
getting this far. Post-gingerbread we've rationalized everything and do the
work in one place, so we need to suppress NetFd's usual inclination to throw
SocketException "Socket closed" when operating on a closed socket.

I already checked the test for this in in gingerbread.

Bug: 2980559
Change-Id: I8552030e4c625b8ed5a0cac9d886d2b9d8073e7c
e859895ef72d7629766d2e73490b7ded2347fdc0 08-Sep-2010 Elliott Hughes <enh@google.com> Merge "Kill getEffectiveAddress." into dalvik-dev
4eaa29be810b4fe7300c0ade53f77028dbea3749 08-Sep-2010 Jesse Wilson <jessewilson@google.com> Cleanup HttpsURLConnectionTest to help with failures.

Change-Id: I7d035c612e4069cdeab7185cadb323846259e957
http://b/issue?id=2981779
f9160a9e07e73b8a27a888d5b01d6d23394e7922 07-Sep-2010 Elliott Hughes <enh@google.com> am 023d42f8: am 16ec93bf: am c390acc2: Don\'t throw when calling Socket.close on a closed socket.

Merge commit '023d42f83001be517b82dd91299dbab868869fda' into dalvik-dev

* commit '023d42f83001be517b82dd91299dbab868869fda':
Don't throw when calling Socket.close on a closed socket.
30f61fdbef6b07c5c89ee3da8c150209b74bfb89 07-Sep-2010 Elliott Hughes <enh@google.com> Kill getEffectiveAddress.

Set the corresponding field in the constructors.

Requires a dalvikvm change: https://android-git.corp.google.com/g/64866

Bug: 2935622
Change-Id: I26663bfcdb80db75672be71395b861c1a79c24fc
6ddfd2aa2b1bcbe6758f1e46c955f0b7d8cde3d1 07-Sep-2010 Elliott Hughes <enh@google.com> am 16ec93bf: am c390acc2: Don\'t throw when calling Socket.close on a closed socket.

Merge commit '16ec93bfd589e1d0795d0de23416710b65d924b5'

* commit '16ec93bfd589e1d0795d0de23416710b65d924b5':
Don't throw when calling Socket.close on a closed socket.
7e991f21d4c1effd81d3747885ecc1ec37049fd2 07-Sep-2010 Elliott Hughes <enh@google.com> am c390acc2: Don\'t throw when calling Socket.close on a closed socket.

Merge commit 'c390acc2461cce9edb3209caca28d95ed6aabd90' into gingerbread-plus-aosp

* commit 'c390acc2461cce9edb3209caca28d95ed6aabd90':
Don't throw when calling Socket.close on a closed socket.
03882342ddd9ecc5f7b8e54cf2d16b065fb4d0e1 07-Sep-2010 Elliott Hughes <enh@google.com> Don't throw when calling Socket.close on a closed socket.

Bug: 2980559
Change-Id: I168573c16581a3a94b96f0ccdb458bfee76f11e0
6e37975cfe26ebf847fb2b2bf2dae35facd920f7 07-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Don't presume the default timezone is GMT in SimpleDateFormatTest." into dalvik-dev
dfac9745e2bdd3329f4d088d34e7237337497366 07-Sep-2010 Jesse Wilson <jessewilson@google.com> Don't presume the default timezone is GMT in SimpleDateFormatTest.

Change-Id: Ia5c01903264f255a4b76546f181e3d0dfa7330be
bca4ede5dafbea586b73ec988250727fe8722155 07-Sep-2010 Elliott Hughes <enh@google.com> DirectBuffer can be package-private.

I should have done this when I moved this class. PlatformAddress still needs
one called moved before it can be package-private.

Bug: 2935622
Change-Id: Ib618975168ee83f06078c1c633845f5910690bbf
42b676e8ca7926f236b4fcd03f199bbfe9b09172 04-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Remove ReaderInputStream and WriterOutputStream." into dalvik-dev
441dbb063d6068d8c46c277b75d5bc350a2098b9 04-Sep-2010 Jesse Wilson <jessewilson@google.com> Remove ReaderInputStream and WriterOutputStream.

These classes are unnecessary on our platform, where UTF-8 is
the only supported default encoding.

This was motivated by a search for dangerous calls to InputStream.available(),
which WriterOutputStream has in its flush() method.

Change-Id: Ia8d5da075581caf371e1384e05be29c2fa8a4408
5f27a8fbfb1522505afd3d397ea59dbf05bdaa6c 04-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Replace InputStream.availalble() with File.length() where that is intended." into dalvik-dev
7ae508865bff55ac838b7e252c10cc740fca694c 04-Sep-2010 Brian Carlstrom <bdc@google.com> @hide java.nio.{DirectBuffer,PlatformAddress}

Change-Id: Ib8992de0394c6fc340a457d16acca9bbb9117121
f692c56bfec3715f9c55fb9ea277ce83f28e503b 04-Sep-2010 Elliott Hughes <enh@google.com> Move some of the nio implementation into java.nio.

Another stepping-stone to simplifying the PlatformAddress/OSMemory situation.

Bug: 2935622
Change-Id: Ic5b941ee7c17d6b5aeda53c3c2cdf2c43cebff55
a3747f8f1659fdb49ee184bf705a8599952446c5 04-Sep-2010 Jesse Wilson <jessewilson@google.com> Replace InputStream.availalble() with File.length() where that is intended.

See http://b/issue?id=2768506

Change-Id: I5ba496f957ffd6307d17a2ce1b4cfe6e4eb9aada
e9d602406f18193a65570b9d45a08ea08ed576f0 04-Sep-2010 Elliott Hughes <enh@google.com> Merge "Remove nio cruft, move the implementation cost of 'free' where it belongs..." into dalvik-dev
1a53e27595c1999db3f0968440186aaf22a4ea3e 04-Sep-2010 Elliott Hughes <enh@google.com> Remove nio cruft, move the implementation cost of 'free' where it belongs...

...and inline some getBaseAddress calls. The JIT doesn't manage to do that, it
seems, but being the JIT is not really my purpose: I'm trying to kill
getBaseAddress.

Bug: 2935622
Change-Id: I3cd99cd131a2c09796f5ff5bb31332287db2130f
4778697a08f33a67e076436c4e30b97bf6505575 04-Sep-2010 Jesse Wilson <jessewilson@google.com> am bcee1dba: am e24632f5: am 4eb8ca7f: Fix the last remaining gaps in our Java 6 API.

Merge commit 'bcee1dbab816a3f32c642a7950ff824125896985' into dalvik-dev

* commit 'bcee1dbab816a3f32c642a7950ff824125896985':
Fix the last remaining gaps in our Java 6 API.
88bc533c9c98bfdf5cf75b47e2e53ce07c049b70 04-Sep-2010 Jesse Wilson <jessewilson@google.com> am e24632f5: am 4eb8ca7f: Fix the last remaining gaps in our Java 6 API.

Merge commit 'e24632f522e88be1a8e01ea04515fadcca45cdb0'

* commit 'e24632f522e88be1a8e01ea04515fadcca45cdb0':
Fix the last remaining gaps in our Java 6 API.
49595aaff77c19ae22e00aed2a037a5ace6f1597 04-Sep-2010 Jesse Wilson <jessewilson@google.com> am 4eb8ca7f: Fix the last remaining gaps in our Java 6 API.

Merge commit '4eb8ca7f1e5de2d208c5fcee8b11a7e50200cf17' into gingerbread-plus-aosp

* commit '4eb8ca7f1e5de2d208c5fcee8b11a7e50200cf17':
Fix the last remaining gaps in our Java 6 API.
3aec22001521295522abe94d173480a5def74a0e 04-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix the last remaining gaps in our Java 6 API.

This updates Policy and adds PolicySpi. Both come right from
Harmony and have been tested by Harmony's test suite.

This removes redundant abstract methods in SocketImpl; these are
inherited from the SocketOptions interface.

This makes an internal method in SocketPermission private.

See http://b/issue?id=2497395

Change-Id: I734529ac7e1980453acfe0d8e7209f49b6679652
4e419039f2e9807873a16015081627671c9fbf6c 04-Sep-2010 Elliott Hughes <enh@google.com> Merge the various kinds of PlatformAddress.

This is just a stepping-stone, not particularly interesting by itself.

Bug: 2935622
Change-Id: I561337b9e7de8a6f058b7d52e5d756bb455075e9
bd62e1a4d9a4d346a07fb83e6ce5f0894ecd1b68 03-Sep-2010 Elliott Hughes <enh@google.com> Use finalizers to free direct buffers.

Also switch to a cheaper scheme for avoiding double-frees (which could only
happen if library code is broken; at the moment the only caller is the
iovec-style stuff). This halves the cost of direct buffer access, at the
unimportant cost of not throwing an exception if we try to access a buffer
we freed while we still had a reference to it.

Also use named constants for the sizes of primitive types.

Also kill BufferFactory.

Bug: 2935622
Change-Id: I6021ce7531f49d8cff7635d6d2cc54851bacaf69
6a1986e271c40b7c12d94cda4daf0febe0f0b6d2 03-Sep-2010 Elliott Hughes <enh@google.com> Change NIOAccess to consistently use the position field rather than the position() method.

This is safe (which is lucky, since we're accessing the field directly
elsewhere). position() is final and just "return position;".

Bug: 2535509
Change-Id: I5c1f569ab318cb0ddb44e887b75fdc21ac270944
e43c903ec3c188cc73d337d79e5a916e634a664e 03-Sep-2010 Elliott Hughes <enh@google.com> Merge "Kill PlatformAddressFactory, and remove/simplify some other code." into dalvik-dev
e4e3e313b98f8d648404cf70880b15b69327e3c9 03-Sep-2010 Jesse Wilson <jessewilson@google.com> am 5ebfecbf: am c7c6c034: am b7155fd5: Fixing a broken pipe with HttpsURLConnection connection reuse.

Merge commit '5ebfecbf35aa5bf08dc5e6fc031199f5bd814557' into dalvik-dev

* commit '5ebfecbf35aa5bf08dc5e6fc031199f5bd814557':
Fixing a broken pipe with HttpsURLConnection connection reuse.
771917b1721f14ffb55ac1a96a2c6254d7941ccf 03-Sep-2010 Jesse Wilson <jessewilson@google.com> am c7c6c034: am b7155fd5: Fixing a broken pipe with HttpsURLConnection connection reuse.

Merge commit 'c7c6c034a3fb58116b7ac9fe4015063679038c94'

* commit 'c7c6c034a3fb58116b7ac9fe4015063679038c94':
Fixing a broken pipe with HttpsURLConnection connection reuse.
5e462cb6d8f6da42401f02c82f03f3d5fa2d4d96 03-Sep-2010 Jesse Wilson <jessewilson@google.com> am b7155fd5: Fixing a broken pipe with HttpsURLConnection connection reuse.

Merge commit 'b7155fd57239e986bbaba254a91aeb9600d60305' into gingerbread-plus-aosp

* commit 'b7155fd57239e986bbaba254a91aeb9600d60305':
Fixing a broken pipe with HttpsURLConnection connection reuse.
da46da19ead7aa621d503add2a53f35a838f2fe5 03-Sep-2010 Jesse Wilson <jessewilson@google.com> Fixing a broken pipe with HttpsURLConnection connection reuse.

We had a bug where we were peeking a byte from the raw socket
stream rather than the encrypted stream when we were attempting
to reuse an HTTPS connection. The raw stream field shouldn't
have been initialized, but setupTransportIO() did it while the
connection was being established.

This fixes setupTransportIO() to not initialize the fields
and isStale() to use the SSL fields if they exist.

See http://code.google.com/p/android/issues/detail?id=8625

Change-Id: Idd5b6f20e098adf436997829940707548896bedb
d7a88a703660a6a45d4ca36a5fe6c61116b305f2 03-Sep-2010 Elliott Hughes <enh@google.com> Kill PlatformAddressFactory, and remove/simplify some other code.

Now we create one PlatformAddress per direct byte buffer (or mapped byte
buffer), there's no need for object pooling.

Bug: 2935622
Change-Id: I84ef9d0b77774e1d2d80921b95b2f30383a0ab68
f0a95beb02f42ca004022329c36484139d8a7634 03-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix jtreg test failures when we weren't throwing on bad parameters." into dalvik-dev
c8762276c3906b513d35318a1f772bbbc573c9ec 03-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix jtreg test failures when we weren't throwing on bad parameters.

See http://b/2224959

Change-Id: I9f572d08328dda280a77287a228072d33fcbea85
3eeb2c9793956552f0fe0ff2ba3a38ce7d4b9bfb 03-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Suppress broken jtreg tests that expect command line parameters." into dalvik-dev
cb4569323d05d6b6cfefbde7e51350802d113675 03-Sep-2010 Jesse Wilson <jessewilson@google.com> Suppress broken jtreg tests that expect command line parameters.

Change-Id: I6aab06d22dd59b4c9ca1ffce7413e0f4adf472e1
8046e2489f809dbcca0089278b345bb10ccebe46 02-Sep-2010 Elliott Hughes <enh@google.com> Merge "Make DirectBuffer.getEffectiveAddress cheaper." into dalvik-dev
0e979290219cd7dd94eac1cfbcfa42558d764563 02-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix a findbugs bug where ZipEntry.clone() didn't call super.clone()." into dalvik-dev
ee8c1dd17a7f0b762ce02d7e38dd30d249677031 02-Sep-2010 Elliott Hughes <enh@google.com> Make DirectBuffer.getEffectiveAddress cheaper.

DirectBuffer.getEffectiveAddress is used to implement the JNI function
GetDirectBufferAddress. Currently it uses reference types unnecessarily,
and we have an object pool to reduce the cost of this. Switch to using
int instead.

I'll remove the pool in a later change.

Note that this change requires a corresponding change to the
GetDirectBufferAddress implementation in dalvik:
https://android-git.corp.google.com/g/64328

Bug: 2935622
Change-Id: Ia0c20bd58c5355550f6af840feb08acff14fd4e9
82a29dd8289369996daadec216a45a989c9e6ceb 02-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix a findbugs bug where ZipEntry.clone() didn't call super.clone().

See http://b/2099615

Change-Id: Ib1347aa5e35c62501d9d59eccfdfed098559d552
eb55bb01ff61bee5721d4e243d970bd511114d28 02-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Make fields final where possible." into dalvik-dev
32d3cf3ce4aeff287a011ff3464fd31b6a6ce16a 02-Sep-2010 Elliott Hughes <enh@google.com> Merge "Kill ThreadLocalCache." into dalvik-dev
6bba74159f6e18881538270202a907c31a69f49a 02-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Don't null out fields in ExemptionMechanism.finalize()." into dalvik-dev
d7064d5dc7847f7cb49f2be8b942e6f7c0544a51 02-Sep-2010 Jesse Wilson <jessewilson@google.com> Don't null out fields in ExemptionMechanism.finalize().

See http://b/issue?id=2099626

Change-Id: Iab79282b30bc2acbb39f8cfcfab2a45a5a8cf528
e33309c14bec367f7648bdf6f1f60570eaaa216a 02-Sep-2010 Elliott Hughes <enh@google.com> Kill ThreadLocalCache.

This has been a long time coming. The two public fields were only used when
writing a jar file manifest, which isn't a performance case. The class was
used very strangely in ObjectStreamClass; it seems to make more sense to just
inline the relevant code there.

Change-Id: I5c6fe307558038394a598a846f59098c77143d3a
52a99b5fbd9020cff198a82a36a3748fe9f06d6f 02-Sep-2010 Jesse Wilson <jessewilson@google.com> Make fields final where possible.

See http://b/issue?id=2099637

Change-Id: I2a237d876c7acbe629e69d5c31d05737908f4606
57005937c2ebcf224e82bf542245e97e40554a6b 02-Sep-2010 Elliott Hughes <enh@google.com> am 1f6597dc: am ff59a5c5: am 171dc20a: Use idiomatic Java "type[] id" syntax instead of "type id[]".

Merge commit '1f6597dc2b3340c5eca6f16d8681058f913d8744' into dalvik-dev

* commit '1f6597dc2b3340c5eca6f16d8681058f913d8744':
Use idiomatic Java "type[] id" syntax instead of "type id[]".
804b95f93ffa77245b19eb49ededa29e95b335df 02-Sep-2010 Elliott Hughes <enh@google.com> am ff59a5c5: am 171dc20a: Use idiomatic Java "type[] id" syntax instead of "type id[]".

Merge commit 'ff59a5c5b0977ba11442422b0a853452dfb289e8'

* commit 'ff59a5c5b0977ba11442422b0a853452dfb289e8':
Use idiomatic Java "type[] id" syntax instead of "type id[]".
145cfe12d6c04889d6165dc47a2f819a91711662 02-Sep-2010 Elliott Hughes <enh@google.com> am 171dc20a: Use idiomatic Java "type[] id" syntax instead of "type id[]".

Merge commit '171dc20afe5071d5cbfad7103903bfa2c1f8d00f' into gingerbread-plus-aosp

* commit '171dc20afe5071d5cbfad7103903bfa2c1f8d00f':
Use idiomatic Java "type[] id" syntax instead of "type id[]".
3b2e26ecb701fe82b3fd96ac1b88cbc1cc85f934 02-Sep-2010 Elliott Hughes <enh@google.com> Use idiomatic Java "type[] id" syntax instead of "type id[]".

I've left xalan and the other xml filth alone, as usual.

Change-Id: I6be274501fff73e67ca6b3c872704988e0e30486
b08d2c6050dd7cfe9fc866a0e39cd13406b06a06 02-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix racy socket.close() behaviour." into dalvik-dev
67d30965b8f9b7604bb08d6ba215837322dc4819 02-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix racy socket.close() behaviour.

This is a follow up to enh's comments on https://android-git.corp.google.com/g/64034

Change-Id: I7ea3c15c164cf45380e1868dc4ef85b8a9417cbe
8a248fecbdc72b306f4f8d6e9b78e84e3b9a96ee 02-Sep-2010 Brian Carlstrom <bdc@google.com> am 7ab77235: am 9cbb0f7a: am 7f0c06f7: Don\'t use StringBuffer where we don\'t need to.

Merge commit '7ab77235d8e82fed639eebbf93ac317ee9346498' into dalvik-dev

* commit '7ab77235d8e82fed639eebbf93ac317ee9346498':
Don't use StringBuffer where we don't need to.
938fb777e935cb352af6a101ddcb33402fb858ad 02-Sep-2010 Brian Carlstrom <bdc@google.com> am 9cbb0f7a: am 7f0c06f7: Don\'t use StringBuffer where we don\'t need to.

Merge commit '9cbb0f7a0022b823d664c8c20daecf2de584aecb'

* commit '9cbb0f7a0022b823d664c8c20daecf2de584aecb':
Don't use StringBuffer where we don't need to.
50312ceafa9a7feb1aa6d06204895b567054363f 02-Sep-2010 Brian Carlstrom <bdc@google.com> am 7f0c06f7: Don\'t use StringBuffer where we don\'t need to.

Merge commit '7f0c06f737b6f1f6b3a5bb30111f95dd0ca586a2' into gingerbread-plus-aosp

* commit '7f0c06f737b6f1f6b3a5bb30111f95dd0ca586a2':
Don't use StringBuffer where we don't need to.
c5fd4720343dab369533a0f7d3ba0bc6d4763b53 02-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Don't synchronize on non-final fields." into dalvik-dev
854ee7f72100dc713202f1d0e8da592c6b3204b4 02-Sep-2010 Elliott Hughes <enh@google.com> Put fields in the canonical order.

Change-Id: I2f19343fdc154ce2b5570f6507dd39b5582543c9
c1601af6eed7f822b172eeb100e458481ae3ee8e 02-Sep-2010 Brian Carlstrom <bdc@google.com> Don't use StringBuffer where we don't need to.

I've left xalan alone, because that's just one big steaming heap.

Change-Id: Ibf7b2b5e347196d4de857217b022003ccc409ac5
a40041d2d9d792f97e38fbe241cf222014b6094f 02-Sep-2010 Elliott Hughes <enh@google.com> am e2f3eced: am 91236d22: am 62066678: Make StringBuilder.append(float) and append(double) 2x faster.

Merge commit 'e2f3ecedda402fbec6ef0e3498e45ab3ea365ca1' into dalvik-dev

* commit 'e2f3ecedda402fbec6ef0e3498e45ab3ea365ca1':
Make StringBuilder.append(float) and append(double) 2x faster.
8577ae104277df8f4b5e6217c00490a482d07600 02-Sep-2010 Elliott Hughes <enh@google.com> am 0116e948: am e105541c: am f528b9df: Double the speed of StringBuilder.append(int) and append(long).

Merge commit '0116e948e00b19ffb3c43da7344484104138b8e5' into dalvik-dev

* commit '0116e948e00b19ffb3c43da7344484104138b8e5':
Double the speed of StringBuilder.append(int) and append(long).
d26af4d6335ee464b6a5060e6b78952a83c2dd49 02-Sep-2010 Elliott Hughes <enh@google.com> resolved conflicts for merge of a784637e to dalvik-dev

Change-Id: Iab49cb5f4b061981182257b37ce76914e302d4d0
70cdd38dcf74e58772b49596ef80ab9162e24b49 02-Sep-2010 Elliott Hughes <enh@google.com> resolved conflicts for merge of e79b4490 to dalvik-dev

Change-Id: Ib81594483409827fbe8e1ead4e291f1625c855ec
dec619dd14ef6f7da0a0190c38163ab4ffbc293d 02-Sep-2010 Elliott Hughes <enh@google.com> am 6b45cd03: am 8689d009: am 10a17e23: Speed up Float.toString (and Double.toString).

Merge commit '6b45cd03643b291efb24146c7b8ef9f3b9c5fd16' into dalvik-dev

* commit '6b45cd03643b291efb24146c7b8ef9f3b9c5fd16':
Speed up Float.toString (and Double.toString).
78ab888f51076c86fe448c63e6ab9b46dd4c627f 02-Sep-2010 Elliott Hughes <enh@google.com> resolved conflicts for merge of d6e0e84f to dalvik-dev

Change-Id: Ia9fb6f5612c98b2d832d089f1320e83821ddc6bb
61977fac7c5741d8dc2bcfabedb3a7b460f16b7a 02-Sep-2010 Elliott Hughes <enh@google.com> resolved conflicts for merge of bbdd4787 to dalvik-dev

Change-Id: Ief7c759de138017e8211ea1aed53615211f2abc1
5d9660af1b7bacd42bdda67a68d74a8f56bd88f0 02-Sep-2010 Elliott Hughes <enh@google.com> resolved conflicts for merge of 7f33d331 to dalvik-dev

Change-Id: Ie241ce529e2518e7f6387d5473eef3a6ce11edf3
a0a8bf481c74c7cff748a8f4bc5eb1ab54a10add 02-Sep-2010 Elliott Hughes <enh@google.com> am 91236d22: am 62066678: Make StringBuilder.append(float) and append(double) 2x faster.

Merge commit '91236d22cdf5dca974366891223ada1078500d1f'

* commit '91236d22cdf5dca974366891223ada1078500d1f':
Make StringBuilder.append(float) and append(double) 2x faster.
8d8db00da90f6374e1babe307cc7f9dc314cdd81 02-Sep-2010 Elliott Hughes <enh@google.com> am e105541c: am f528b9df: Double the speed of StringBuilder.append(int) and append(long).

Merge commit 'e105541c578878ca2f6d75da3933032bc905a9f2'

* commit 'e105541c578878ca2f6d75da3933032bc905a9f2':
Double the speed of StringBuilder.append(int) and append(long).
f862c048af1561d338371aac0ddd35a2d32bb758 02-Sep-2010 Elliott Hughes <enh@google.com> am 7e59598e: am ca12e576: Make StringBuilder.append(CharSequence) as cheap as append(CharSequence, int, int).

Merge commit '7e59598ee2f49fdd93d9c8c07f0a055e7ad788dc'

* commit '7e59598ee2f49fdd93d9c8c07f0a055e7ad788dc':
Make StringBuilder.append(CharSequence) as cheap as append(CharSequence, int, int).
02396c6a299f57a1d6339dba7cb4785ddb0db306 02-Sep-2010 Elliott Hughes <enh@google.com> am 59b955d9: am 82a495ad: Move Integer and Long\'s toString methods into a new class.

Merge commit '59b955d9911aff328932a465d20264b23a840bdd'

* commit '59b955d9911aff328932a465d20264b23a840bdd':
Move Integer and Long's toString methods into a new class.
dfe67cde50e64f8cf58903368fac067f0db2f76d 02-Sep-2010 Elliott Hughes <enh@google.com> am 8689d009: am 10a17e23: Speed up Float.toString (and Double.toString).

Merge commit '8689d009e01ac0ba2c505b42c9067760039eb97c'

* commit '8689d009e01ac0ba2c505b42c9067760039eb97c':
Speed up Float.toString (and Double.toString).
d9ddb97ac31dd4e731cdedf300ea3d44251c21a8 02-Sep-2010 Elliott Hughes <enh@google.com> am 7585076e: am 706de116: Minor tidy-up of Float.toString and Double.toString.

Merge commit '7585076ed2a498cbd2fa615be1e5cc01f4537ec0'

* commit '7585076ed2a498cbd2fa615be1e5cc01f4537ec0':
Minor tidy-up of Float.toString and Double.toString.
91f32a9f614eae29078207d48d13fcef2908b5d1 02-Sep-2010 Elliott Hughes <enh@google.com> am 3337a093: am d16c3144: Faster implementations of Math/StrictMath\'s copySign methods.

Merge commit '3337a093b96f4a36d2dc5629aaa2e742019bac35'

* commit '3337a093b96f4a36d2dc5629aaa2e742019bac35':
Faster implementations of Math/StrictMath's copySign methods.
b0a46dd4fb4d3f5e801cce1a508f44624ab694e4 02-Sep-2010 Elliott Hughes <enh@google.com> am 92ef6c9f: am 3e6f49bb: Double the speed of %.2f in Formatter.

Merge commit '92ef6c9f29dc10e4c75cb711d72067f82168c52f'

* commit '92ef6c9f29dc10e4c75cb711d72067f82168c52f':
Double the speed of %.2f in Formatter.
e48a52f84543f8f18f5a2f0d0dc93cce7c01599b 02-Sep-2010 Elliott Hughes <enh@google.com> am 62066678: Make StringBuilder.append(float) and append(double) 2x faster.

Merge commit '620666783267ed3a6f7f2b4309a66f1c1f18de53' into gingerbread-plus-aosp

* commit '620666783267ed3a6f7f2b4309a66f1c1f18de53':
Make StringBuilder.append(float) and append(double) 2x faster.
7b7e4933993a13ef6033264bee694d250ffd0481 02-Sep-2010 Elliott Hughes <enh@google.com> am f528b9df: Double the speed of StringBuilder.append(int) and append(long).

Merge commit 'f528b9df057fe7faf3db65a931f26b6caf214991' into gingerbread-plus-aosp

* commit 'f528b9df057fe7faf3db65a931f26b6caf214991':
Double the speed of StringBuilder.append(int) and append(long).
8f96381e48fb604977ecab6422895011122e6cfd 02-Sep-2010 Elliott Hughes <enh@google.com> am ca12e576: Make StringBuilder.append(CharSequence) as cheap as append(CharSequence, int, int).

Merge commit 'ca12e576434c86b430aa08f09a14012b71b2d7eb' into gingerbread-plus-aosp

* commit 'ca12e576434c86b430aa08f09a14012b71b2d7eb':
Make StringBuilder.append(CharSequence) as cheap as append(CharSequence, int, int).
1cf9816b4c674200d0a062394a78f982b7e99e8f 02-Sep-2010 Elliott Hughes <enh@google.com> am 82a495ad: Move Integer and Long\'s toString methods into a new class.

Merge commit '82a495ad44d76aac37f54bbbe7c31608d1054f84' into gingerbread-plus-aosp

* commit '82a495ad44d76aac37f54bbbe7c31608d1054f84':
Move Integer and Long's toString methods into a new class.
91106f788e4dd58259a1ed64610b43a6558fdee2 02-Sep-2010 Elliott Hughes <enh@google.com> am 10a17e23: Speed up Float.toString (and Double.toString).

Merge commit '10a17e23b22dc0ff6363d15bce67d668b6d44dd0' into gingerbread-plus-aosp

* commit '10a17e23b22dc0ff6363d15bce67d668b6d44dd0':
Speed up Float.toString (and Double.toString).
38b91b7b10f6ac401feb72093f0cedba02ed325c 02-Sep-2010 Elliott Hughes <enh@google.com> am 706de116: Minor tidy-up of Float.toString and Double.toString.

Merge commit '706de1164836051ab31cc69eb77a6bba1a723896' into gingerbread-plus-aosp

* commit '706de1164836051ab31cc69eb77a6bba1a723896':
Minor tidy-up of Float.toString and Double.toString.
ac7b14e717187db387b6d06d86da3b95895cb448 02-Sep-2010 Elliott Hughes <enh@google.com> am d16c3144: Faster implementations of Math/StrictMath\'s copySign methods.

Merge commit 'd16c314465f7f5905fe8852eaa09d4e7e14ec835' into gingerbread-plus-aosp

* commit 'd16c314465f7f5905fe8852eaa09d4e7e14ec835':
Faster implementations of Math/StrictMath's copySign methods.
d9f4dc76ca27910a6659552efc237066d106d26f 02-Sep-2010 Elliott Hughes <enh@google.com> am 3e6f49bb: Double the speed of %.2f in Formatter.

Merge commit '3e6f49bbb915b880afe104ec784c66bda55da450' into gingerbread-plus-aosp

* commit '3e6f49bbb915b880afe104ec784c66bda55da450':
Double the speed of %.2f in Formatter.
8688087123de4ddebac5ce5ae60f1d91decdcb99 02-Sep-2010 Elliott Hughes <enh@google.com> Make StringBuilder.append(float) and append(double) 2x faster.

Actually a bit more than 2x --- 40us down to 15us for "small" (but non-trivial)
floats.

Also StringBuffer.

[cherry-pick of 0d041e2cea528066bb87c7891ef746b977f18b9d from dalvik-dev into gingerbread]

Bug: 2243821
3dcc376740077f04b1e4c3e5b349ee593d577081 01-Sep-2010 Elliott Hughes <enh@google.com> Double the speed of StringBuilder.append(int) and append(long).

Also StringBuilder's evil twin, StringBuffer.

Also shave some time off "%d" formatting (10us out of 60us).

[cherry-pick of 933539af534f3cda9c38602f6009478a0cc5a21f from dalvik-dev to gingerbread]

Bug: 2302920, 2243821
8287b6276482095592259b2992f502b581169ec9 01-Sep-2010 Elliott Hughes <enh@google.com> Make StringBuilder.append(CharSequence) as cheap as append(CharSequence, int, int).

(Also give a few locals better names.)

[cherry-pick of 041880d62bdb2008b43b66c980ef208600d90098 from dalvik-dev to gingerbread]

Bug: 2243821
fe26ecf3dd2e29321b867bdebf6e70fc9c9e4743 31-Aug-2010 Elliott Hughes <enh@google.com> Move Integer and Long's toString methods into a new class.

I've reverted the old optimizations that used shifting and addition instead
of multiplication, because that's been slower for a while now. I've also
switched to more consistently using DIGITS. Otherwise, this code is unchanged.

I've also changed Float.toHexString to use StringBuilder.append(int) instead
of calling Integer.toString manually (with an eye to taking advantage of future
more efficient implementations of StringBuilder.append(int)).

[cherry-pick of 6151feb53344092a7fb7e1e3f417d23adaf2f6c2 from dalvik-dev to gingerbread; plus build fix]

Bug: 2302920
Change-Id: I4d65d98b79ac299208102f0753960727b77e81ce
cfb4ce163eee1b9f45c5ab5a1086650cce0e0944 27-Aug-2010 Elliott Hughes <enh@google.com> Speed up Float.toString (and Double.toString).

The special cases (NaN, infinities, and zeros) go from 30us to 1us.

There are basically three other paths through the code, depending on the value:

The small case goes from 60us to 30us.
The medium case goes from 70us to 31us.
The large case goes from 100us to 50us.

There's way less garbage produced, and now we're using StringBuilder, we're
in a position to take advantage of future optimization of
StringBuilder.append(int).

[cherry-pick of 2164031488f9788e5ee9ad2545b3aec34b65e06c from dalvik-dev to gingerbread]

Bug: 2934304
55690a118eae8bbb0a4934c14dae16ea7db5defa 27-Aug-2010 Elliott Hughes <enh@google.com> Minor tidy-up of Float.toString and Double.toString.

This patch looks larger than it is. I've moved duplicated constants out of
Math and StrictMath and into Float and Double where they belong. I've also
moved a table out of BigDecimal so I can reuse it in NumberConverter, which
I've renamed to RealToString.

The main active ingredient here is that there's no longer StringBuilder usage
to prepend '-'. This actually brings us down from 74ns to 62ns for an easy
case like 123.45f.

[cherry-pick of 910106e29fe98f14b2c36312a7498287273ba826 from dalvik-dev to gingerbread; plus build fix]

Bug: 2934304
Change-Id: Id79a6fb0d739e673b7428d240fc48bdae9b8bb43
c4ce920357220ec2096428ab1120e2c06c96b53d 25-Aug-2010 Elliott Hughes <enh@google.com> Faster implementations of Math/StrictMath's copySign methods.

These are only faster than the old native implementations now we have
intrinsics for float/int and double/long conversion, but given those,
they're about 4x faster.

We were already using Java for getExponent, the other obvious candidate
for an all-Java implementation.

[cherry-pick of a61c63c54ba46bb8a1dcbd888e3b29d6cedfb1ff from dalvik-dev to gingerbread]

Bug: 2935622
a602e3111cf952ac687cb0427c2255cabab22fd4 25-Aug-2010 Elliott Hughes <enh@google.com> Double the speed of %.2f in Formatter.

Primarily this works by going straight to the NativeDecimalFormat. This
cuts down on a bunch of objects we don't actually need. Changing
NativeDecimalFormat to not have a finalizer means we can also relieve
the GC of all the finalization work.

This also fixes a few test failures I ran across. The , flag and digit
localization aren't mutually exclusive, and BigDecimal (a) can't represent
NaN or either infinity, but (b) returns infinities from doubleValue if the
BigDecimal is out of double's range; this made our check for special
numbers in transformFromFloat wrong.

[cherry-picked 5f509be2576f2817856413301ca8135f6ee20b30 from dalvik-dev to gingerbread]

Bug: 2934304
24b8b857fd49f4e568f1ca3947f285697f770c12 02-Sep-2010 Elliott Hughes <enh@google.com> am 1da033c1: am b74f4fca: am 95c82c8a: Fix "java.net.preferIPv6Addresses".

Merge commit '1da033c1c02b821561f1e372a6832d388e2188c0' into dalvik-dev

* commit '1da033c1c02b821561f1e372a6832d388e2188c0':
Fix "java.net.preferIPv6Addresses".
279d33046003f3f185485003f710d82bd4e34032 02-Sep-2010 Elliott Hughes <enh@google.com> Merge "Make StringBuilder.append(float) and append(double) 2x faster." into dalvik-dev
eefaf57023363a3a8f1cf68d0c15d3687359c735 02-Sep-2010 Elliott Hughes <enh@google.com> am b74f4fca: am 95c82c8a: Fix "java.net.preferIPv6Addresses".

Merge commit 'b74f4fca74714f96fc8e1fb467ac835d33eb78eb'

* commit 'b74f4fca74714f96fc8e1fb467ac835d33eb78eb':
Fix "java.net.preferIPv6Addresses".
dbd1417ba794c27684bbb77bffa8890704c9826e 02-Sep-2010 Elliott Hughes <enh@google.com> Make StringBuilder.append(float) and append(double) 2x faster.

Actually a bit more than 2x --- 40us down to 15us for "small" (but non-trivial)
floats.

Also StringBuffer.

Bug: 2243821
Change-Id: I9537a4973e3269d5a038150b0216e045a2df7b50
217fa65273c6fe497c1ac4630935e5e36e157f88 02-Sep-2010 Elliott Hughes <enh@google.com> am 95c82c8a: Fix "java.net.preferIPv6Addresses".

Merge commit '95c82c8a020e48793dd5db33ba1a20f9ef01737a' into gingerbread-plus-aosp

* commit '95c82c8a020e48793dd5db33ba1a20f9ef01737a':
Fix "java.net.preferIPv6Addresses".
9853e9bf6b37ebae84bba531ea9bdef4873c0495 02-Sep-2010 Elliott Hughes <enh@google.com> Fix "java.net.preferIPv6Addresses".

I wrote getBoolean (a bogus method that shouldn't even exist) when I meant
parseBoolean.

Change-Id: Ib8c1cefdf0242fdc2b613850ec88ca35a1a83dea
45e23ebe6571646df0e9c43dba311582d1698a04 02-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing warnings in ObjectInputStream, including possible null dereferences." into dalvik-dev
d16f38dc84ea1155a644d5eabfd4ad0b727fac8b 01-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix classes that implement equals() but not hashCode()." into dalvik-dev
31891885bf652c2ae9b37713944f0028e1a62158 01-Sep-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing a dead store in Finished." into dalvik-dev
87066447e763a6d0fbca2fa2a9057a16ac0b7fc8 01-Sep-2010 Jesse Wilson <jessewilson@google.com> Fixing a dead store in Finished.

See bug 2099918.

Change-Id: I12f0a53bc5aeacea3ba97820dcd6525e1bf23405
bcaa08adbb658b7f2ee8e9914ba0bcbb0d8b759e 01-Sep-2010 Jesse Wilson <jessewilson@google.com> Fix classes that implement equals() but not hashCode().

See http://b/2099681

Change-Id: If358af98ccca44c544942b837c25e00e6553e916
2ce1a27c186b72e3bc211259ad6eb72d683e65db 01-Sep-2010 Jesse Wilson <jessewilson@google.com> Fixing warnings in ObjectInputStream, including possible null dereferences.

See http://b/issue?id=2099718

Change-Id: I74db9e216c0d2568823c313aeeb91fdef72ae00a
37dc33f58f645fe451a1ced2cf3df85803e51ad2 01-Sep-2010 Elliott Hughes <enh@google.com> Don't use StringBuffer where we don't need to.

I've left xalan alone, because that's just one big steaming heap.

Change-Id: I47e80399ebced922656e46dacd8dcbfc698e94f8
a14d98739f8bf24da91847ccf248dbc5b1f5b97a 01-Sep-2010 Jesse Wilson <jessewilson@google.com> Don't synchronize on non-final fields.

This fixes some Findbugs and IntelliJ warnings. See http://b/2099930

Change-Id: Icb0a92890657e7a56f339bc9bdd2d1b5ddfc663c
c16d5d8a20a504a2a11ae6bf291001c925544bec 01-Sep-2010 Jesse Wilson <jessewilson@google.com> am 7308c233: am 1ab2d77f: am 50ae3221: Configure HttpURLConnection to prefer gzipped content by default.

Merge commit '7308c233d7755cf5b30f205981aa8588a6cbd245' into dalvik-dev

* commit '7308c233d7755cf5b30f205981aa8588a6cbd245':
Configure HttpURLConnection to prefer gzipped content by default.
a14aa1b2f5eecc8ef87c52d10db0312a21357ef1 01-Sep-2010 Jesse Wilson <jessewilson@google.com> am 1ab2d77f: am 50ae3221: Configure HttpURLConnection to prefer gzipped content by default.

Merge commit '1ab2d77f5f9aaa29298a07e0222278dc47ed8011'

* commit '1ab2d77f5f9aaa29298a07e0222278dc47ed8011':
Configure HttpURLConnection to prefer gzipped content by default.
69f5ecd10003ec02f4b0b1ef5fa43849b6308afb 01-Sep-2010 Jesse Wilson <jessewilson@google.com> am 50ae3221: Configure HttpURLConnection to prefer gzipped content by default.

Merge commit '50ae32218918eae80298bd1ab8e4f588bbbabdb2' into gingerbread-plus-aosp

* commit '50ae32218918eae80298bd1ab8e4f588bbbabdb2':
Configure HttpURLConnection to prefer gzipped content by default.
0ab5fba29d8118c3b217467e6ac5b027b62fb0f6 01-Sep-2010 Jesse Wilson <jessewilson@google.com> Configure HttpURLConnection to prefer gzipped content by default.

This is not what the RI does. But the bandwidth savings is substantial,
and we can offer it almost for free.

See http://code.google.com/p/android/issues/detail?id=9390

Change-Id: I43c3fae8938f33809f2526d2d0e1cc5e08ae1202
b36c4ce9edc2f8c6b5324129d7b9f25e5a83458b 01-Sep-2010 Elliott Hughes <enh@google.com> Double the speed of StringBuilder.append(int) and append(long).

Also StringBuilder's evil twin, StringBuffer.

Also shave some time off "%d" formatting (10us out of 60us).

Bug: 2302920, 2243821
Change-Id: Ie354731d728ee1664f3b5b5868d79af395d71b08
ac4985083b1cadba5cfa232e81fbfe9940b508e3 01-Sep-2010 Brian Carlstrom <bdc@google.com> am cc18aa5a: am fcacf2e0: am 51ee38b9: New Java-based SamplingProfiler

Merge commit 'cc18aa5a484ced4037b1b095c518b8edf06b52e6' into dalvik-dev

* commit 'cc18aa5a484ced4037b1b095c518b8edf06b52e6':
New Java-based SamplingProfiler
eebd411dcfce55857626ecabba2da5c9b49c1e1d 01-Sep-2010 Brian Carlstrom <bdc@google.com> am fcacf2e0: am 51ee38b9: New Java-based SamplingProfiler

Merge commit 'fcacf2e0b74c2f5f3ed1bda9ddf20f1b0fccb5f5'

* commit 'fcacf2e0b74c2f5f3ed1bda9ddf20f1b0fccb5f5':
New Java-based SamplingProfiler
daa01c4abfbb6bf8b4692e694577569e30770bc9 01-Sep-2010 Brian Carlstrom <bdc@google.com> am 51ee38b9: New Java-based SamplingProfiler

Merge commit '51ee38b9c39b0c36bce728a797b2c5e637be3d2c' into gingerbread-plus-aosp

* commit '51ee38b9c39b0c36bce728a797b2c5e637be3d2c':
New Java-based SamplingProfiler
7ab4aad2600b2a10efa8d256f481a0758221dac7 24-Jul-2010 Brian Carlstrom <bdc@google.com> New Java-based SamplingProfiler

Summary:
- libcore: new Java based SamplingProfiler
- dalvik: remove old SamplingProfiler native bits
- frameworks/base: New placeholder SamplingProfilerIntegration
- vendor/google: remove old profiler snapshot parsing code

Details:

libcore

A new 100% Java SamplingProfiler. While it has more overhead that
the old native one, the new one can actually collect more than the
current PC and frame pointer, so you can get useful context of
where your app is spending time. It currently provides ASCII hprof
format output for use with tools like PerfAnal
dalvik/src/main/java/dalvik/system/SamplingProfiler.java

Unit test for the new SamplingProfiler
dalvik/src/test/java/dalvik/system/SamplingProfilerTest.java

Add core-tests-dalvik
JavaLibrary.mk

dalvik

Removing native code that supported the old SamplingProfiler
vm/Dvm.mk
vm/native/InternalNative.c
vm/native/dalvik_system_SamplingProfiler.c

frameworks/base

Placeholder SamplingProfilerIntegration. Later plans include
generating EventStackTrace protobufs.

New SamplingProfiler does not have a global instance, so
SamplingProfilerIntegration provides one in INSTANCE. Old binary
snapshot format is temporily replaced with ASCII hprof data.
core/java/com/android/internal/os/SamplingProfilerIntegration.java

Simplified interface for zygote profile snapshotting
core/java/com/android/internal/os/ZygoteInit.java

Current SamplingProfilerIntegration does not track event loop
explicitly, but hprof information does include thread information.
core/java/android/app/ActivityThread.java

vendor/google

Removing code for parsing old SamplingProfiler snapshot format
tools/samplingprofiler/Android.mk
tools/samplingprofiler/NOTICE
tools/samplingprofiler/profiler.iml
tools/samplingprofiler/profiler.ipr
tools/samplingprofiler/pull-snapshots.sh
tools/samplingprofiler/sorttable.js
tools/samplingprofiler/src/com/android/profiler/PrintHtml.java
2574fc72810081c998f241f884b507e220e66cd5 24-Jul-2010 Brian Carlstrom <bdc@google.com> New Java-based SamplingProfiler

Summary:
- libcore: new Java based SamplingProfiler
- dalvik: remove old SamplingProfiler native bits
- frameworks/base: New placeholder SamplingProfilerIntegration
- vendor/google: remove old profiler snapshot parsing code

Details:

libcore

A new 100% Java SamplingProfiler. While it has more overhead that
the old native one, the new one can actually collect more than the
current PC and frame pointer, so you can get useful context of
where your app is spending time. It currently provides ASCII hprof
format output for use with tools like PerfAnal
dalvik/src/main/java/dalvik/system/SamplingProfiler.java

Unit test for the new SamplingProfiler
dalvik/src/test/java/dalvik/system/SamplingProfilerTest.java

Add core-tests-dalvik
JavaLibrary.mk

dalvik

Removing native code that supported the old SamplingProfiler
vm/Dvm.mk
vm/native/InternalNative.c
vm/native/dalvik_system_SamplingProfiler.c

frameworks/base

Placeholder SamplingProfilerIntegration. Later plans include
generating EventStackTrace protobufs.

New SamplingProfiler does not have a global instance, so
SamplingProfilerIntegration provides one in INSTANCE. Old binary
snapshot format is temporily replaced with ASCII hprof data.
core/java/com/android/internal/os/SamplingProfilerIntegration.java

Simplified interface for zygote profile snapshotting
core/java/com/android/internal/os/ZygoteInit.java

Current SamplingProfilerIntegration does not track event loop
explicitly, but hprof information does include thread information.
core/java/android/app/ActivityThread.java

vendor/google

Removing code for parsing old SamplingProfiler snapshot format
tools/samplingprofiler/Android.mk
tools/samplingprofiler/NOTICE
tools/samplingprofiler/profiler.iml
tools/samplingprofiler/profiler.ipr
tools/samplingprofiler/pull-snapshots.sh
tools/samplingprofiler/sorttable.js
tools/samplingprofiler/src/com/android/profiler/PrintHtml.java

Change-Id: I4a7d7b86b45a806021249c83ab32e52d3d53f33c
6e370de1cd934aa6c06003e822451f57d7d1e594 01-Sep-2010 Elliott Hughes <enh@google.com> Make StringBuilder.append(CharSequence) as cheap as append(CharSequence, int, int).

(Also give a few locals better names.)

Bug: 2243821
Change-Id: Idcc6704b16bbea9f1460724f22ed7da076c9d185
6a4290beb8148763dab55074bc64816a362342ed 01-Sep-2010 Elliott Hughes <enh@google.com> Merge "Fix build (accidentally made an implementation detail public)." into dalvik-dev
0f26ad38fa4cf35ae501bd880b84b8cffc0b67a4 01-Sep-2010 Elliott Hughes <enh@google.com> Fix build (accidentally made an implementation detail public).

Change-Id: I86f30fc7e5224c283a26509da92e46dd19704d59
8ee092c52094eb92cafa73178fb48e61c05ea2bb 01-Sep-2010 Jesse Wilson <jessewilson@google.com> am cc479176: am 7927ab5a: am 5b65f4f2: Merge "Adding documentation for a API bug in FilterInputStream subclasses" into gingerbread

Merge commit 'cc479176939f13c99569e8919a92874b4ce3f535' into dalvik-dev

* commit 'cc479176939f13c99569e8919a92874b4ce3f535':
Adding documentation for a API bug in FilterInputStream subclasses
04e57a598ad1289fa315928c449367a66b8c63a9 01-Sep-2010 Elliott Hughes <enh@google.com> Merge "Move Integer and Long's toString methods into a new class." into dalvik-dev
60d676362f157d2083ac9b263bcf740df8689833 31-Aug-2010 Elliott Hughes <enh@google.com> Move Integer and Long's toString methods into a new class.

I've reverted the old optimizations that used shifting and addition instead
of multiplication, because that's been slower for a while now. I've also
switched to more consistently using DIGITS. Otherwise, this code is unchanged.

I've also changed Float.toHexString to use StringBuilder.append(int) instead
of calling Integer.toString manually (with an eye to taking advantage of future
more efficient implementations of StringBuilder.append(int)).

Bug: 2302920
Change-Id: I4244081456baf29aefbf974ca7220fdba5656e1d
d3603ea17f2c90c6e683982e2f30910a2ca64bd8 01-Sep-2010 Jesse Wilson <jessewilson@google.com> am 7927ab5a: am 5b65f4f2: Merge "Adding documentation for a API bug in FilterInputStream subclasses" into gingerbread

Merge commit '7927ab5a6ff861b480e63daa38a1120c634eede4'

* commit '7927ab5a6ff861b480e63daa38a1120c634eede4':
Adding documentation for a API bug in FilterInputStream subclasses
c8faa96e52a91c3aa9612485c90fb22f640dd7cc 01-Sep-2010 Jesse Wilson <jessewilson@google.com> am 5b65f4f2: Merge "Adding documentation for a API bug in FilterInputStream subclasses" into gingerbread

Merge commit '5b65f4f2917a11ef9d2798203f5dca55682d9e81' into gingerbread-plus-aosp

* commit '5b65f4f2917a11ef9d2798203f5dca55682d9e81':
Adding documentation for a API bug in FilterInputStream subclasses
55fb03d57826d831f321cd0db1a6f1caab857aaa 31-Aug-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding documentation for a API bug in FilterInputStream subclasses" into gingerbread
5304f42f6df6f8723ce99d58cac416e806cfda34 31-Aug-2010 Jesse Wilson <jessewilson@google.com> Adding documentation for a API bug in FilterInputStream subclasses

Change-Id: I76a3fdb51e9d0071efef013c6879eb2bc9e7977c
82c8373f056e64478682ded96fd83029d1cb2a6f 30-Aug-2010 Jesse Wilson <jessewilson@google.com> am 35111115: am 7c3b0dca: am 44f93609: Merge "Support "Connection: close" from both request and response." into gingerbread

Merge commit '3511111541e0c0af6058cc8f6eec7a25df1ebec6' into dalvik-dev

* commit '3511111541e0c0af6058cc8f6eec7a25df1ebec6':
Support "Connection: close" from both request and response.
ed9cf068765d562ff8d14cdfadfcddff5f9adc89 30-Aug-2010 Jesse Wilson <jessewilson@google.com> am 7c3b0dca: am 44f93609: Merge "Support "Connection: close" from both request and response." into gingerbread

Merge commit '7c3b0dcafcc82791ebc07b4089efc94cf2af6d7a'

* commit '7c3b0dcafcc82791ebc07b4089efc94cf2af6d7a':
Support "Connection: close" from both request and response.
a40e38f014ab9606138faaddfcdcbe7fa6769c8c 30-Aug-2010 Jesse Wilson <jessewilson@google.com> am 44f93609: Merge "Support "Connection: close" from both request and response." into gingerbread

Merge commit '44f93609c712c6bede186336ac289eac4d2b23e6' into gingerbread-plus-aosp

* commit '44f93609c712c6bede186336ac289eac4d2b23e6':
Support "Connection: close" from both request and response.
2a1f51d33635c5daa79361be104f432267ca1f9b 30-Aug-2010 Jean-Baptiste Queru <jbq@google.com> am 4c29949e: am 0b26c7b2: merge/ignore from open-source master - will be re-done manually

Merge commit '4c29949e28b7e473f74b23d286b8ec20f90a139c' into dalvik-dev

* commit '4c29949e28b7e473f74b23d286b8ec20f90a139c':
Make HttpURLConnection watch for Connection/close headers
800ab8a08b7702d054393d49bcf9c255d42ba494 30-Aug-2010 Jesse Wilson <jessewilson@google.com> Merge "Support "Connection: close" from both request and response." into gingerbread
c73f67618168756433907d996088d7e09849d66e 30-Aug-2010 Jean-Baptiste Queru <jbq@google.com> am 0b26c7b2: merge/ignore from open-source master - will be re-done manually

Merge commit '0b26c7b2263a591b135e230231a331e3c0f123b8'

* commit '0b26c7b2263a591b135e230231a331e3c0f123b8':
Make HttpURLConnection watch for Connection/close headers
a43e042651b5c9e96e8d8545d64c5349e4ab86f9 30-Aug-2010 Jesse Wilson <jessewilson@google.com> Support "Connection: close" from both request and response.

This is a rewrite of fix for the same problem in AOSP master:
https://review.source.android.com/16757

This expands on that fix by supporting "Connection: close" on
redirects by adding test coverage.

Change-Id: Ia0daa9d83cf9f557b4e9a99b2c51345c98c6db14
8d65d5685d7896276a152516ebcc6ca2f55824b3 30-Aug-2010 Jean-Baptiste Queru <jbq@google.com> merge/ignore from open-source master - will be re-done manually

Change-Id: Ic417ebb1ea70b693883843864cb4cee13155afce
1ce91169a8242ff97d194b2d531b9b399ee90542 28-Aug-2010 Elliott Hughes <enh@google.com> Merge "Remove the accessors hiding our IFileSystem and INetworkSystem." into dalvik-dev
3379f2fd48147f5c8778a86b13213bab0a37e29f 28-Aug-2010 Elliott Hughes <enh@google.com> Merge "Speed up Float.toString (and Double.toString)." into dalvik-dev
cb919bc5a0f853e91668f1f1ccfc459e3d4f9dad 27-Aug-2010 Elliott Hughes <enh@google.com> Speed up Float.toString (and Double.toString).

The special cases (NaN, infinities, and zeros) go from 30us to 1us.

There are basically three other paths through the code, depending on the value:

The small case goes from 60us to 30us.
The medium case goes from 70us to 31us.
The large case goes from 100us to 50us.

There's way less garbage produced, and now we're using StringBuilder, we're
in a position to take advantage of future optimization of
StringBuilder.append(int).

Bug: 2934304
Change-Id: Ib7441e064557973dd0c6247a149275d6367d55ea
7c04fb6d72abb9d2c7f68631918fab63e2fa73d5 28-Aug-2010 Elliott Hughes <enh@google.com> Remove the accessors hiding our IFileSystem and INetworkSystem.

These accessors aren't buying us anything, are costing us something, and have
encouraged caching of instances in fields all over the place. Lose all that
cruft.

I think we all agree that we want to merge IFileSystem and INetworkSystem at
some point, but I'll do that some other day.

Change-Id: I07696ec9650d0395ec31a71a74300e818a3fed91
e60fbea906fdb963e13ef69419ad1e3f3e3fcaad 28-Aug-2010 Jesse Wilson <jessewilson@google.com> am 1a9eae65: am 60d28a8a: am fc3bbd85: Merge "Search the application library path first." into gingerbread

Merge commit '1a9eae65fca69943268c3eb17187cf393c18c22a' into dalvik-dev

* commit '1a9eae65fca69943268c3eb17187cf393c18c22a':
Search the application library path first.
4d5a4db00ee3d68628763896f86ca977c44ac7a2 28-Aug-2010 Jesse Wilson <jessewilson@google.com> am 60d28a8a: am fc3bbd85: Merge "Search the application library path first." into gingerbread

Merge commit '60d28a8a005b576cdf41d12310c830152d1a413b'

* commit '60d28a8a005b576cdf41d12310c830152d1a413b':
Search the application library path first.
e056a7c05103d74239ab4d6dd414567c7ba35082 25-Aug-2010 Yan Yan <yan1.yan@sonyericsson.com> Make HttpURLConnection watch for Connection/close headers

Make HttpURLConnectionImpl watch for Connection/cose headers
in order to shut down the sockets at an earlier point and there
by save some battery.

Change-Id: Idb43258358369c497ac031d36ceb59880d81404f
4e6eb1c7dd41f7a527b2bb774409c7a892014a8c 27-Aug-2010 Elliott Hughes <enh@google.com> Fix build: I accidentally made java.lang.RealToString public.

Change-Id: Ide436af0b16f59a35c326cb67b3153681eeb39f9
fc442585a337ff85b82c1d98534181244b4463bc 27-Aug-2010 Jesse Wilson <jessewilson@google.com> am fc3bbd85: Merge "Search the application library path first." into gingerbread

Merge commit 'fc3bbd8563d0543acd5c8a16e02ed6e23b37c157' into gingerbread-plus-aosp

* commit 'fc3bbd8563d0543acd5c8a16e02ed6e23b37c157':
Search the application library path first.
dc8552808aaf849c7515e18f3ee336c31030716c 27-Aug-2010 Jesse Wilson <jessewilson@google.com> Merge "Search the application library path first." into gingerbread
9d9019f62cb9973890a5c58d10a52d7a9b8e186b 27-Aug-2010 Jesse Wilson <jessewilson@google.com> Search the application library path first.

In Froyo and earlier, we search the system library path first. This
makes it impossible for applications to provide newer versions of
native libraries when old versions are shipped on the device.

Change-Id: I0a154e32f62a28cf841b9e8d2dbd2d9cce6f3128
http://b/issue?id=2933456
5349bc8fb3e8710e08c21e737d17a1cf78cece56 27-Aug-2010 Elliott Hughes <enh@google.com> Minor tidy-up of Float.toString and Double.toString.

This patch looks larger than it is. I've moved duplicated constants out of
Math and StrictMath and into Float and Double where they belong. I've also
moved a table out of BigDecimal so I can reuse it in NumberConverter, which
I've renamed to RealToString.

The main active ingredient here is that there's no longer StringBuilder usage
to prepend '-'. This actually brings us down from 74ns to 62ns for an easy
case like 123.45f.

Bug: 2934304
Change-Id: I65461753247eeb9ff890ffe66b0bc79d66d2ec9c
55dc6ea6eb076e392d452351ffc9f532a2f85e6c 26-Aug-2010 Elliott Hughes <enh@google.com> Merge "Specialize on size rather than type in OSMemory." into dalvik-dev
a5627a7caee28fd63a7f00dad05b57d03c0ba689 26-Aug-2010 Elliott Hughes <enh@google.com> Specialize on size rather than type in OSMemory.

I'm working towards intrinsics for this stuff, so I want to minimize the number
I have to support. There are 7 types (byte, char, double, float, int, long,
and short) but only 4 sizes (1, 2, 4, and 8 bytes).

I've also finally benchmarked whether the "inlined memcpy"s really gain us
anything, and they do, so I've rewritten the sole remaining caller of the
templates (long) to have its own inlined memcpy too.

Plus a final tranche of naming consistency.

Bug: 2935622
Change-Id: Ieffd9723d0479aec6179b888d1c3b3496032e57a
2d7e82ce581551cc3de388c6201c17c3dd4d96f1 26-Aug-2010 Jesse Wilson <jessewilson@google.com> am c70b71d9: am 6450fbb8: am 73947686: Merge "Reduce duplication of tests in org.apache.harmony.luni.tests.java.lang." into gingerbread

Merge commit 'c70b71d9c7171b8b7742a2ea778eecdd7e26eee3' into dalvik-dev

* commit 'c70b71d9c7171b8b7742a2ea778eecdd7e26eee3':
Reduce duplication of tests in org.apache.harmony.luni.tests.java.lang.
15eff4ec4b21200a27c2aabaad899eee251171b5 26-Aug-2010 Jesse Wilson <jessewilson@google.com> am 6450fbb8: am 73947686: Merge "Reduce duplication of tests in org.apache.harmony.luni.tests.java.lang." into gingerbread

Merge commit '6450fbb89b64c97c0867d0d70ee7d550ab900772'

* commit '6450fbb89b64c97c0867d0d70ee7d550ab900772':
Reduce duplication of tests in org.apache.harmony.luni.tests.java.lang.
aebffe09eb6706d4ed0ba33e319ed62f8b657880 26-Aug-2010 Jesse Wilson <jessewilson@google.com> am 73947686: Merge "Reduce duplication of tests in org.apache.harmony.luni.tests.java.lang." into gingerbread

Merge commit '739476867cee2dca030309e55381dd2b7a93058e' into gingerbread-plus-aosp

* commit '739476867cee2dca030309e55381dd2b7a93058e':
Reduce duplication of tests in org.apache.harmony.luni.tests.java.lang.
e907c689fa81126e4d6e349f49245784583795b7 26-Aug-2010 Jesse Wilson <jessewilson@google.com> Merge "Reduce duplication of tests in org.apache.harmony.luni.tests.java.lang." into gingerbread
c4144a178d937029d155c743c765c7373a34f375 26-Aug-2010 Jesse Wilson <jessewilson@google.com> Reduce duplication of tests in org.apache.harmony.luni.tests.java.lang.

These classes contained tests duplicated in Harmony and libcore. I've
removed the duplicate tests and moved the libcore originals into the
libcore/ test directory.

Also fixing System.getEnv() to return a map that implements equals()
and hashCode(). This was breaking Harmony's ProcessBuilder test.

Change-Id: Iffdb0cc8f2ca3df206c8bc1f89ae16fc4e309f73
e0d0821fdbcbf5d3ea60fd60725b02771ecfebcd 26-Aug-2010 Elliott Hughes <enh@google.com> Fix build.

Change-Id: I3c38b8db4ce674eb6eba6452a4c80ed3f1e6aeb6
ea5419a0faa36a3b0b655f85933c234c90fa7734 26-Aug-2010 Elliott Hughes <enh@google.com> Merge "More consistent naming of the nio vector primitives." into dalvik-dev
7826a2f23e2f8be339b93a726fe20c3b65741214 26-Aug-2010 Ben Dodson <bjdodson@google.com> am 172d4583: Merge "Update for changes to @code processing"

Merge commit '172d4583c8ad2a2121bcb8315fa1cc317cd7ff04' into dalvik-dev

* commit '172d4583c8ad2a2121bcb8315fa1cc317cd7ff04':
Update for changes to @code processing
feccc90f57612b390391f8dc9a5948759338dcd5 26-Aug-2010 Elliott Hughes <enh@google.com> More consistent naming of the nio vector primitives.

Just name changes here.

Change-Id: I050b33ce836270435310041dd179ceaa98d789fa
a0f39a3029378a1e2f289b6e879b375cf7ac6472 26-Aug-2010 Ben Dodson <bjdodson@google.com> Merge "Update for changes to @code processing"
a1837ed1af50d797349770cca097a638ad0a995f 26-Aug-2010 Ben Dodson <bjdodson@google.com> Update for changes to @code processing

Change-Id: Ifb7dbe3105bdef15dadb84740845a71b019d62e3
8896e5a554f35577578c292e8c08bfeb9d5c99c0 26-Aug-2010 Brian Muramatsu <btmura@google.com> Add More Support_Locale Conditions to ScannerTest

Bug 2946181

Change-Id: Ib3bf57c9be2ab3b19b34ef90ffcb90da8a556117
faacd653f64121c82db4d9db48c285211b9531d6 25-Aug-2010 Jesse Wilson <jessewilson@google.com> am 31eaebc3: am 23b98862: am 172531a2: Fix several code hygiene problems in BigInteger.

Merge commit '31eaebc31869c077020261c897a5d1a3de57a0a2' into dalvik-dev

* commit '31eaebc31869c077020261c897a5d1a3de57a0a2':
Fix several code hygiene problems in BigInteger.
c1096300b0efcddc4829d9c565c9db83b3ad94be 25-Aug-2010 Jesse Wilson <jessewilson@google.com> am 23b98862: am 172531a2: Fix several code hygiene problems in BigInteger.

Merge commit '23b9886205a051f93c2082246cda4a181daf97e0'

* commit '23b9886205a051f93c2082246cda4a181daf97e0':
Fix several code hygiene problems in BigInteger.
dd76bd1c2efba2ad7be3978557f05370a3ad3ede 25-Aug-2010 Jesse Wilson <jessewilson@google.com> am 172531a2: Fix several code hygiene problems in BigInteger.

Merge commit '172531a275b620d879126a2d24d0074fe4f084a0' into gingerbread-plus-aosp

* commit '172531a275b620d879126a2d24d0074fe4f084a0':
Fix several code hygiene problems in BigInteger.
eeeb43a3c7e9305972c7cff48006677edaaaf037 25-Aug-2010 Elliott Hughes <enh@google.com> Remove some dead cruft.

Change-Id: I968fe2dda543430fb0c38f6c5bde7c55b9f4c314
7a1c4abe1c9e1ee63b0133319df924c39388db01 25-Aug-2010 Elliott Hughes <enh@google.com> Merge "Double the speed of %.2f in Formatter." into dalvik-dev
9a2905a144a060a0d910a738a9a8ccb5368ae3bc 25-Aug-2010 Elliott Hughes <enh@google.com> Double the speed of %.2f in Formatter.

Primarily this works by going straight to the NativeDecimalFormat. This
cuts down on a bunch of objects we don't actually need. Changing
NativeDecimalFormat to not have a finalizer means we can also relieve
the GC of all the finalization work.

This also fixes a few test failures I ran across. The , flag and digit
localization aren't mutually exclusive, and BigDecimal (a) can't represent
NaN or either infinity, but (b) returns infinities from doubleValue if the
BigDecimal is out of double's range; this made our check for special
numbers in transformFromFloat wrong.

Bug: 2934304
Change-Id: I5aa38fbb2f775c0ac6728f8a70c8874c134155c0
0cd611256a603303e63a64f23949aec61f1ec0fb 25-Aug-2010 Jesse Wilson <jessewilson@google.com> Fix several code hygiene problems in BigInteger.

These were pointed out in the code review for change 62669.

Change-Id: Icf0bb27d826988765c6d49f4887ac86f9b52dc6e
e99d7c605afd86ba0befa2a3ccaa330846f1a222 25-Aug-2010 Andy McFadden <fadden@android.com> am 49f68ec4: am 41ab4098: am 7740fdf4: Add SUSPENDED state.

Merge commit '49f68ec42676830d3c7c1b29dd4f2d8121801c04' into dalvik-dev

* commit '49f68ec42676830d3c7c1b29dd4f2d8121801c04':
Add SUSPENDED state.
b5b7c668c022e59add93f5115a0400de9fd16637 25-Aug-2010 Andy McFadden <fadden@android.com> am 41ab4098: am 7740fdf4: Add SUSPENDED state.

Merge commit '41ab4098b19b16a2561a93cd9cea6a2af0a7caf8'

* commit '41ab4098b19b16a2561a93cd9cea6a2af0a7caf8':
Add SUSPENDED state.
d9d599b85dad0d60215f8be1ecc8997997ee891e 25-Aug-2010 Andy McFadden <fadden@android.com> am 7740fdf4: Add SUSPENDED state.

Merge commit '7740fdf49bd3968f8a3f23b251db07291e2b0595' into gingerbread-plus-aosp

* commit '7740fdf49bd3968f8a3f23b251db07291e2b0595':
Add SUSPENDED state.
5d40435cd02f18e9327a7a76ecc36cb7849d29ae 24-Aug-2010 Andy McFadden <fadden@android.com> Add SUSPENDED state.

Goes with change 62657.

Bug 2667016.

(cherry-pick from dalvik-dev)

Change-Id: I8723f6fa21195978ef63e69e47677f273f73ef05
cf51a090046cb9c0630f1292277e7f66364baaa6 25-Aug-2010 Andy McFadden <fadden@android.com> Merge "Add SUSPENDED state." into dalvik-dev
1717534dd61c8331947fd8bb6bd32eee344bc2b0 25-Aug-2010 Jesse Wilson <jessewilson@google.com> am 1a320a05: am 99f3ca01: am e866b788: Fix BigDecimal.precision() to return the correct result.

Merge commit '1a320a0563bc683e4ed0aeacdd4a021a5fb0a65c' into dalvik-dev

* commit '1a320a0563bc683e4ed0aeacdd4a021a5fb0a65c':
Fix BigDecimal.precision() to return the correct result.
6561cba6d8e71f0b3b0f9ed21681ce65810295cc 25-Aug-2010 Jesse Wilson <jessewilson@google.com> am 99f3ca01: am e866b788: Fix BigDecimal.precision() to return the correct result.

Merge commit '99f3ca0101b5c4d37d68a99bd371802ed73a5dc9'

* commit '99f3ca0101b5c4d37d68a99bd371802ed73a5dc9':
Fix BigDecimal.precision() to return the correct result.
4914a66be21ffe34548b16d5703425c42647144e 25-Aug-2010 Jesse Wilson <jessewilson@google.com> am e866b788: Fix BigDecimal.precision() to return the correct result.

Merge commit 'e866b788d613e0566b85b799fff998a09371520f' into gingerbread-plus-aosp

* commit 'e866b788d613e0566b85b799fff998a09371520f':
Fix BigDecimal.precision() to return the correct result.
aee1e31f6d3e794c0dadddf757d14f1d63156c47 24-Aug-2010 Jesse Wilson <jessewilson@google.com> Fix BigDecimal.precision() to return the correct result.

http://b/issue?id=2947416

We had a bug where precision() returned the wrong value because it's
using Math.log10(), and that returns an approximate value. The buggy
precision() causes other methods like round() to behave incorrectly
as well.

Revealed by an unrelated test,
org.apache.harmony.math.tests.java.math.BigDecimalArithmeticTest#testDivideMathContextNonTrivial

Change-Id: I3564887f53bde9e91ce21c9b100ec977d26f2b35
92390244f93698bfb3f913cbced604290411347c 25-Aug-2010 Elliott Hughes <enh@google.com> am ec4016aa: am 574a2129: am d5a7f1e6: Fix a typo and remove a little cruft.

Merge commit 'ec4016aa2be38b1552af28ae96c0def02943b2b5' into dalvik-dev

* commit 'ec4016aa2be38b1552af28ae96c0def02943b2b5':
Fix a typo and remove a little cruft.
7a8038656838a0a2a07be2e204365f8fe561321f 25-Aug-2010 Elliott Hughes <enh@google.com> am 64255ed2: am c64816eb: am 758570a6: Remove fdlibm.h-related hacks now I\'ve cleaned the header file.

Merge commit '64255ed2e51e233181b82891342974e5839ff558' into dalvik-dev

* commit '64255ed2e51e233181b82891342974e5839ff558':
Remove fdlibm.h-related hacks now I've cleaned the header file.
09d4c4be82710cb26fdf7bf9b7305d91f2ec3d62 25-Aug-2010 Elliott Hughes <enh@google.com> am 574a2129: am d5a7f1e6: Fix a typo and remove a little cruft.

Merge commit '574a212907aedf8461e00e1eefe7ea163a70d10e'

* commit '574a212907aedf8461e00e1eefe7ea163a70d10e':
Fix a typo and remove a little cruft.
2c6709184ef753f491b4021e4b2acc3547912e50 25-Aug-2010 Elliott Hughes <enh@google.com> am c64816eb: am 758570a6: Remove fdlibm.h-related hacks now I\'ve cleaned the header file.

Merge commit 'c64816ebf5ff8c9b232b28012852a0a8dfd0ebd7'

* commit 'c64816ebf5ff8c9b232b28012852a0a8dfd0ebd7':
Remove fdlibm.h-related hacks now I've cleaned the header file.
3768fd076d0432432262399f547278940798a879 25-Aug-2010 Elliott Hughes <enh@google.com> am d5a7f1e6: Fix a typo and remove a little cruft.

Merge commit 'd5a7f1e61a6a7d6fcfabaa3e1d072c7f29bf922f' into gingerbread-plus-aosp

* commit 'd5a7f1e61a6a7d6fcfabaa3e1d072c7f29bf922f':
Fix a typo and remove a little cruft.
e449a5e001ac3b33ca9aad3d5960ef338e8dc1f3 25-Aug-2010 Elliott Hughes <enh@google.com> am 758570a6: Remove fdlibm.h-related hacks now I\'ve cleaned the header file.

Merge commit '758570a632c3651635f3e477585c636836f38ff2' into gingerbread-plus-aosp

* commit '758570a632c3651635f3e477585c636836f38ff2':
Remove fdlibm.h-related hacks now I've cleaned the header file.
d316dd333d18c191f93ab1b56abe5142d817bc74 25-Aug-2010 Elliott Hughes <enh@google.com> Fix a typo and remove a little cruft.

Change-Id: I5afe174ac1ad3b1321f61d6eb19f44dd96779131
36ba8b32557a745f95fc46f074c6c6967f6140fa 25-Aug-2010 Elliott Hughes <enh@google.com> Remove fdlibm.h-related hacks now I've cleaned the header file.

Change-Id: I2f5bec5346c1e8476bb13631e9a5fa3526a34d32
See: https://android-git.corp.google.com/g/62885
ac66aa3bf2237d649ca2dfe09f2fcd81b1d5bc94 25-Aug-2010 Elliott Hughes <enh@google.com> Merge "Faster implementations of Math/StrictMath's copySign methods." into dalvik-dev
a0401756b0f763b57fa89b2ba468a108cf1a6c70 25-Aug-2010 Elliott Hughes <enh@google.com> Faster implementations of Math/StrictMath's copySign methods.

These are only faster than the old native implementations now we have
intrinsics for float/int and double/long conversion, but given those,
they're about 4x faster.

We were already using Java for getExponent, the other obvious candidate
for an all-Java implementation.

Bug: 2935622
Change-Id: I77549c88b7448b6087a67b37f8c317579b4f92b8
0c7b0f87f21237b59e0b9e2d455120eb678ee822 24-Aug-2010 Andy McFadden <fadden@android.com> Add SUSPENDED state.

Goes with change 62657.

Bug 2667016.

Change-Id: I787783a126651fafbc973bcd910de106f045d159
01c2a5f1daafde5b0931ab600857efeb41e6f685 24-Aug-2010 Jesse Wilson <jessewilson@google.com> am 774ec3c8: am 13842b02: am 159b7cca: Merge "Fix concurrency issues in BigInteger." into gingerbread

Merge commit '774ec3c88529293b9fbcfe2982287618bdf2b202' into dalvik-dev

* commit '774ec3c88529293b9fbcfe2982287618bdf2b202':
Fix concurrency issues in BigInteger.
11a3d7d084ab30fec562b77592bb8339ad655c0b 24-Aug-2010 Brian Carlstrom <bdc@google.com> am e721ac62: am a8d1672a: am 48dfb27f: Restore PBE Ciphers and SecreyKeyFactories if underlying algorithm is supported for better PKCS12 support

Merge commit 'e721ac62db13847d3258928368f8d87471798e42' into dalvik-dev

* commit 'e721ac62db13847d3258928368f8d87471798e42':
Restore PBE Ciphers and SecreyKeyFactories if underlying algorithm is supported for better PKCS12 support
8ded8c0303feb9097b9b79e8e6f3669dd0903af7 24-Aug-2010 Jesse Wilson <jessewilson@google.com> am 7521d7bd: am 4aa8df8c: am 73035021: Relying on fdlibm\'s build to set the version type to IEEE.

Merge commit '7521d7bdbb17fbe331cf63cd7f1e6467b345e935' into dalvik-dev

* commit '7521d7bdbb17fbe331cf63cd7f1e6467b345e935':
Relying on fdlibm's build to set the version type to IEEE.
d4b2019263edff5f4617b7dc21604478c0a61c3a 24-Aug-2010 Jesse Wilson <jessewilson@google.com> am 13842b02: am 159b7cca: Merge "Fix concurrency issues in BigInteger." into gingerbread

Merge commit '13842b024f16755953f0435640ff86b0960e67ae'

* commit '13842b024f16755953f0435640ff86b0960e67ae':
Fix concurrency issues in BigInteger.
84b4c558dc6de10d35b37ff045f2800f8fc9df4c 24-Aug-2010 Brian Carlstrom <bdc@google.com> am a8d1672a: am 48dfb27f: Restore PBE Ciphers and SecreyKeyFactories if underlying algorithm is supported for better PKCS12 support

Merge commit 'a8d1672ae87b411277a646dd07f4604644c1c505'

* commit 'a8d1672ae87b411277a646dd07f4604644c1c505':
Restore PBE Ciphers and SecreyKeyFactories if underlying algorithm is supported for better PKCS12 support
b4a6eabffddc7c40f02e984b975a96b3f433f7f6 24-Aug-2010 Jesse Wilson <jessewilson@google.com> am 4aa8df8c: am 73035021: Relying on fdlibm\'s build to set the version type to IEEE.

Merge commit '4aa8df8ca178f6d71a3adafefd8537ffafecae67'

* commit '4aa8df8ca178f6d71a3adafefd8537ffafecae67':
Relying on fdlibm's build to set the version type to IEEE.
89cadf3678eaeeb9a3f8ae82b7fa13473a66afc7 24-Aug-2010 Brian Carlstrom <bdc@google.com> am d9a1ad19: am 97e681c3: am 5f2e6872: SSLSocket.read should throw SocketException not NullPointerException

Merge commit 'd9a1ad19cc67f76ec1dadd1c740b76a0083d853f' into dalvik-dev

* commit 'd9a1ad19cc67f76ec1dadd1c740b76a0083d853f':
SSLSocket.read should throw SocketException not NullPointerException
2c9bfdc6b29b63f7a6d9f78106460d5ac8da4509 24-Aug-2010 Elliott Hughes <enh@google.com> am d71b3630: am 2001d5f2: am 7023c8ff: Fix error in Float.floatToIntBits documentation.

Merge commit 'd71b3630b04781233f78f3acdf35047209d997b5' into dalvik-dev

* commit 'd71b3630b04781233f78f3acdf35047209d997b5':
Fix error in Float.floatToIntBits documentation.
4a3b3de321688a21aa66607dc5fbba1c2c86ee9b 24-Aug-2010 Brian Carlstrom <bdc@google.com> am 97e681c3: am 5f2e6872: SSLSocket.read should throw SocketException not NullPointerException

Merge commit '97e681c327d7f8f04b381289772bc0457e29854d'

* commit '97e681c327d7f8f04b381289772bc0457e29854d':
SSLSocket.read should throw SocketException not NullPointerException
03e571ece10a6c6628b56a93ef2a1cffd082c050 24-Aug-2010 Elliott Hughes <enh@google.com> am 2001d5f2: am 7023c8ff: Fix error in Float.floatToIntBits documentation.

Merge commit '2001d5f2d3fe7c899a8d2c66866cd91bd8f4025c'

* commit '2001d5f2d3fe7c899a8d2c66866cd91bd8f4025c':
Fix error in Float.floatToIntBits documentation.
1bfd6c276b8304ef73d8ad0a9fba757df7576061 24-Aug-2010 Jesse Wilson <jessewilson@google.com> am 7ee831c8: am a4b1d568: am ab973299: Merge "Updating expectations for Harmony tests that we have yet to fix" into gingerbread

Merge commit '7ee831c829239916e9248c367eac9d81735c27a1' into dalvik-dev

* commit '7ee831c829239916e9248c367eac9d81735c27a1':
Updating expectations for Harmony tests that we have yet to fix
977ba7f1d1a4689d57c270dba16781d64163fc39 24-Aug-2010 Jesse Wilson <jessewilson@google.com> am 833ad294: am 5c33fc0d: am 125f068f: Fix a bug when user sets "Content-Encoding: chunked" manually.

Merge commit '833ad294e6138102f055856dbd09663c1f118cbf' into dalvik-dev

* commit '833ad294e6138102f055856dbd09663c1f118cbf':
Fix a bug when user sets "Content-Encoding: chunked" manually.
1f5f28236c4bf5c953d1c05d36221fb07d017a82 24-Aug-2010 Jesse Wilson <jessewilson@google.com> am a4b1d568: am ab973299: Merge "Updating expectations for Harmony tests that we have yet to fix" into gingerbread

Merge commit 'a4b1d56835505c1f520341858386d2389740740d'

* commit 'a4b1d56835505c1f520341858386d2389740740d':
Updating expectations for Harmony tests that we have yet to fix
00f91bdd43249bec05d6932872952a7b0713a588 24-Aug-2010 Jesse Wilson <jessewilson@google.com> am 5c33fc0d: am 125f068f: Fix a bug when user sets "Content-Encoding: chunked" manually.

Merge commit '5c33fc0dc0697d36661ba3bb0042584f56e79b96'

* commit '5c33fc0dc0697d36661ba3bb0042584f56e79b96':
Fix a bug when user sets "Content-Encoding: chunked" manually.
7cab32ee0c241067c9ce114b7f286a32ad363480 24-Aug-2010 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of 78203c78 to dalvik-dev

Change-Id: I19b2165691cf23c0cd686bad96a6d084abad30ac
035145962ea4c2e57b69dd1b99120ebec35e10b0 24-Aug-2010 Brian Carlstrom <bdc@google.com> am df57d2c2: am 7fd25e85: Merge remote branch \'goog/dalvik-dev\' into dalvik-dev-to-gingerbread

Merge commit 'df57d2c2378d4a5922f3c3d4876f57883b78746d'

* commit 'df57d2c2378d4a5922f3c3d4876f57883b78746d': (33 commits)
Minor net cleanup.
Multicast cleanup.
Remove a bit more nio cruft.
Export the new countInstancesOfClass method.
Fix build. (Forgot to --replace.)
Some nio tidying.
path.size() does _not_ include space for the trailing NUL.
File names should match their contents.
Clean up more of our floating-point cruft.
Move the floating-point parsing into one file.
Fix last few uses of "type *id" to be "type* id".
Fix the build now warnings are errors, and comment all the weirdness.
Fix reading from an empty non-blocking pipe.
Remove most of our C-style casts.
Clean up our final native code warnings, and turn on -Werror.
Replace createDatagramSocket and createStreamSocket with one call.
Minor documentation improvements.
Use the declaring class loader when resolving types for reflection.
Remove createServerStreamSocket as a native special case.
Clean up some dead/useless code.
...
3265fca7a7cb0a88f26c617b9e2e264d40de567b 24-Aug-2010 Jesse Wilson <jessewilson@google.com> am 159b7cca: Merge "Fix concurrency issues in BigInteger." into gingerbread

Merge commit '159b7cca1b15134c66d3a10a3db15b6a4216282a' into gingerbread-plus-aosp

* commit '159b7cca1b15134c66d3a10a3db15b6a4216282a':
Fix concurrency issues in BigInteger.
8d22ebe020d492e9add63686928b1bcaddc36b66 24-Aug-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix concurrency issues in BigInteger." into gingerbread
72e92d6b6767c23cedbf9bc4bdbcbe41eaa472a7 24-Aug-2010 Jesse Wilson <jessewilson@google.com> Fix concurrency issues in BigInteger.

Also go over the class documentation and formatting and give it some long overdue
attention. The docs are still far from perfect! But this should get rid of the
most obvious problems.

See http://b/issue?id=2785595

Change-Id: Iea40975b95a850702a4cdc693f65e4eaff0dd8b0
7a21967a27bfe4da00a588494e88e1f6f1deee56 24-Aug-2010 Brian Carlstrom <bdc@google.com> am 48dfb27f: Restore PBE Ciphers and SecreyKeyFactories if underlying algorithm is supported for better PKCS12 support

Merge commit '48dfb27f884ddc5ada89c5b613d11a986f50513a' into gingerbread-plus-aosp

* commit '48dfb27f884ddc5ada89c5b613d11a986f50513a':
Restore PBE Ciphers and SecreyKeyFactories if underlying algorithm is supported for better PKCS12 support
fba4cb9aeae75404e98cbde80192573d9610275a 24-Aug-2010 Brian Carlstrom <bdc@google.com> Restore PBE Ciphers and SecreyKeyFactories if underlying algorithm is supported for better PKCS12 support

This restores the Password Based Encryption (PBE) algorithms when we
were including the underlying algorithms used (3DES, AES, DES, MD5,
RC2, SHA1, SHA256)

Specficially we leave out PBE definitions that include algorithms such
as MD2, RIPEMD, Tiger that are not in our BouncyCastle jar.

Bug: 2942581
Change-Id: Ibef31aad56fc24b4db82a43a69153553660af65d
3434778dd185ce733ef37113236feac53f851695 24-Aug-2010 Jesse Wilson <jessewilson@google.com> am 73035021: Relying on fdlibm\'s build to set the version type to IEEE.

Merge commit '73035021c50c1450ec7c27d3bba63b6495f0c858' into gingerbread-plus-aosp

* commit '73035021c50c1450ec7c27d3bba63b6495f0c858':
Relying on fdlibm's build to set the version type to IEEE.
2314167d360cd554aac2bbfa0c7816427feac9ea 24-Aug-2010 Jesse Wilson <jessewilson@google.com> Relying on fdlibm's build to set the version type to IEEE.

Change-Id: I6d54c3059ddcdcf66aaff93ad01daed40009a760
be3f71647e4bed5b50373136bc5106795eee2564 23-Aug-2010 Brian Carlstrom <bdc@google.com> am 5f2e6872: SSLSocket.read should throw SocketException not NullPointerException

Merge commit '5f2e6872311240319509aed64d9f58cd5b64719b' into gingerbread-plus-aosp

* commit '5f2e6872311240319509aed64d9f58cd5b64719b':
SSLSocket.read should throw SocketException not NullPointerException
bd8250c563be949184995e502e792744e9ec800c 23-Aug-2010 Brian Carlstrom <bdc@google.com> SSLSocket.read should throw SocketException not NullPointerException

OpenSSLSocketImpl now uses checkOpen similar to Socket's
checkOpenAndCreate to ensure that SocketExceptions are thrown if
certain operations are tried after the socket is closed.

Also added *_setUseClientMode_afterHandshake tests for SSLSocket and
SSLEngine. We properly through IllegalArgument exception in this case,
but it wasn't covered by the tests previously.

Bug: 2918499
Change-Id: I393ad39bed40a33725d2c0f3f08b9d0b0d3ff85f
28a8ae8553738979cf0b2193affd201eba1d2505 23-Aug-2010 Jesse Wilson <jessewilson@google.com> Relying on fdlibm's build to set the version type to IEEE.

Change-Id: I21a2c38b07c3779488bb09d4f62722928bb974b0
4784ac3aba55ae71150c8e33611477bfde61e878 23-Aug-2010 Elliott Hughes <enh@google.com> am 7023c8ff: Fix error in Float.floatToIntBits documentation.

Merge commit '7023c8ff547217ec58f062255a850e54bfefc681' into gingerbread-plus-aosp

* commit '7023c8ff547217ec58f062255a850e54bfefc681':
Fix error in Float.floatToIntBits documentation.
a530710d729bc150fa6bc47f05975a536c8a352c 23-Aug-2010 Elliott Hughes <enh@google.com> Fix error in Float.floatToIntBits documentation.

Change-Id: I33cd839c3fc18f9308efe214a66ed00284853726
4cbce08d5decffe2cf8a603dab0db3996ac1a1e1 23-Aug-2010 Brian Carlstrom <bdc@google.com> am 1b878d30: am f4d21046: am ccb503dd: Merge "Updating StandardNames for recent ARCFOUR and Blowfish additions" into gingerbread

Merge commit '1b878d300094f577ba062e0c3f349f6d34ca3880' into dalvik-dev

* commit '1b878d300094f577ba062e0c3f349f6d34ca3880':
Updating StandardNames for recent ARCFOUR and Blowfish additions
3a69b05983d5331fa61e967513c7b5ace54a5167 23-Aug-2010 Jesse Wilson <jessewilson@google.com> am 85f23692: (-s ours) am d2daa339: am 6c7b5b5f: Relying on fdlibm\'s build to set the version type to IEEE.

Merge commit '85f236925b842a91d8f5b834c18cc360f5a94355' into dalvik-dev

* commit '85f236925b842a91d8f5b834c18cc360f5a94355':
Relying on fdlibm's build to set the version type to IEEE.
7744851fe312dc9e0911e07ec5d9b1138599acbd 21-Aug-2010 Brian Carlstrom <bdc@google.com> am f4d21046: am ccb503dd: Merge "Updating StandardNames for recent ARCFOUR and Blowfish additions" into gingerbread

Merge commit 'f4d210466ea8b56235a2e94236bbb0dfdbf20ed6'

* commit 'f4d210466ea8b56235a2e94236bbb0dfdbf20ed6':
Updating StandardNames for recent ARCFOUR and Blowfish additions
7f07c93eec475b8e927fc8775883f83bfb7a20d9 21-Aug-2010 Jesse Wilson <jessewilson@google.com> am d2daa339: am 6c7b5b5f: Relying on fdlibm\'s build to set the version type to IEEE.

Merge commit 'd2daa3394d6fcbf13e9e26f4e0ae1e0d73537df6'

* commit 'd2daa3394d6fcbf13e9e26f4e0ae1e0d73537df6':
Relying on fdlibm's build to set the version type to IEEE.
96087865eeda7c56e50b41760783b52c29993905 21-Aug-2010 Jesse Wilson <jessewilson@google.com> am ab973299: Merge "Updating expectations for Harmony tests that we have yet to fix" into gingerbread

Merge commit 'ab9732992503cfb8a6732f28c60bd89e075b6e24' into gingerbread-plus-aosp

* commit 'ab9732992503cfb8a6732f28c60bd89e075b6e24':
Updating expectations for Harmony tests that we have yet to fix
b6992d8f799c3cb89660d635da73367eebee34df 21-Aug-2010 Jesse Wilson <jessewilson@google.com> Merge "Updating expectations for Harmony tests that we have yet to fix" into gingerbread
4eaae667bb65471807ec033c564f7da0729b58fb 21-Aug-2010 Jesse Wilson <jessewilson@google.com> am 125f068f: Fix a bug when user sets "Content-Encoding: chunked" manually.

Merge commit '125f068f0a6cd739beac97821c9421cf8317cc87' into gingerbread-plus-aosp

* commit '125f068f0a6cd739beac97821c9421cf8317cc87':
Fix a bug when user sets "Content-Encoding: chunked" manually.
114d8b0a2edeee43373f4e17229fa36f47be53ce 20-Aug-2010 Jesse Wilson <jessewilson@google.com> Fix a bug when user sets "Content-Encoding: chunked" manually.

We used to try to build a -1-sized ByteArrayOutputStream, which
failed miserably with an exception.

Change-Id: Ia6fa72c639a14c03f03b6f73083ce37ffab8b4e5
a5c4caedfeec287780843ae35383f73edcc1470e 20-Aug-2010 Jesse Wilson <jessewilson@google.com> Updating expectations for Harmony tests that we have yet to fix

Change-Id: Ifdc2cb5f007ac4ab4169833f9fb144c16b9a2888
7baab0b3f7daa1e468ffd6e93e48598fb2addbcd 20-Aug-2010 Brian Carlstrom <bdc@google.com> am 7fd25e85: Merge remote branch \'goog/dalvik-dev\' into dalvik-dev-to-gingerbread

Merge commit '7fd25e8506fbe2962323d757f54628c40c1b2c46' into gingerbread-plus-aosp

* commit '7fd25e8506fbe2962323d757f54628c40c1b2c46': (36 commits)
Minor net cleanup.
Multicast cleanup.
Remove a bit more nio cruft.
Export the new countInstancesOfClass method.
Fix build. (Forgot to --replace.)
Some nio tidying.
path.size() does _not_ include space for the trailing NUL.
File names should match their contents.
Clean up more of our floating-point cruft.
Move the floating-point parsing into one file.
Fix last few uses of "type *id" to be "type* id".
Fix the build now warnings are errors, and comment all the weirdness.
Fix reading from an empty non-blocking pipe.
Remove most of our C-style casts.
Clean up our final native code warnings, and turn on -Werror.
Replace createDatagramSocket and createStreamSocket with one call.
Minor documentation improvements.
Use the declaring class loader when resolving types for reflection.
Remove createServerStreamSocket as a native special case.
Clean up some dead/useless code.
...
b9bf7506b8b0438f4dc795685fb8b4bc8639912e 20-Aug-2010 Elliott Hughes <enh@google.com> Minor nio speedups (scalar operations only).

This patch speeds up nio scalar operations for all types larger than byte.
Basically just by trimming fat, pushing any byte-swapping down into Java,
and adding a boolean field to ByteOrder that basically caches the "do we
need byte swapping?" comparison.

For the worst case, byte-swapped doubles, this patch gives a 2x speedup.
At the other end of the spectrum, for native-order chars and shorts, this
patch gives a 20% speedup. Still, that's not bad for quite a reduction in
code.

Now I've tidied this up a bit, I have more of a plan. This is just the warmup.

Bug: 2935622

Change-Id: I3cfc4e61b12ea7a8f32fc497106ddc66474efe01
47deafe649a91afbf195b4fe3823206acae6b508 20-Aug-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix the exception thrown by getDeclaredFields if the class is unavailable." into dalvik-dev
030372a39f2221dc6aea0e83dbb64f0872421881 20-Aug-2010 Jesse Wilson <jessewilson@google.com> Fix the exception thrown by getDeclaredFields if the class is unavailable.

http://b/issue?id=2634005

Change-Id: I1ebad41a29c9527565efea539b8f2b31f117f370
4d7cb3e40524cbc1609364419b326bfde10cd5e9 19-Aug-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-gingerbread

Conflicts:
luni/src/main/native/java_lang_StrictMath.cpp

Change-Id: I82fcb4033fce8c7bb8d21b09f6abfa2638091af6
7ae651c1121c57751eb7697b1bfe8bb57a85b24f 19-Aug-2010 Brian Carlstrom <bdc@google.com> am ccb503dd: Merge "Updating StandardNames for recent ARCFOUR and Blowfish additions" into gingerbread

Merge commit 'ccb503dde5caa401ccb9d8947df8c620199dbdb2' into gingerbread-plus-aosp

* commit 'ccb503dde5caa401ccb9d8947df8c620199dbdb2':
Updating StandardNames for recent ARCFOUR and Blowfish additions
f74d02e8abf4c97143948f924c7b913a42c0eeaf 19-Aug-2010 Brian Carlstrom <bdc@google.com> Merge "Updating StandardNames for recent ARCFOUR and Blowfish additions" into gingerbread
58b1653d6aaa008113f831f9b684f1d8127a7945 19-Aug-2010 Brian Carlstrom <bdc@google.com> Updating StandardNames for recent ARCFOUR and Blowfish additions

Change-Id: I8c22e443b6929c41e984f0cb85480a57894b199d
8b890ce85327befab5de8cbf635252f6a749ec8c 19-Aug-2010 Jesse Wilson <jessewilson@google.com> am 6c7b5b5f: Relying on fdlibm\'s build to set the version type to IEEE.

Merge commit '6c7b5b5fe44cf23cf7ad42ce32abe1e29210622a' into gingerbread-plus-aosp

* commit '6c7b5b5fe44cf23cf7ad42ce32abe1e29210622a':
Relying on fdlibm's build to set the version type to IEEE.
9ce0008d3b48a20d889ee13ff1195245ca66e366 19-Aug-2010 Elliott Hughes <enh@google.com> Minor net cleanup.

Move two constants to where they belong, and fix a well-intentioned but broken
detail message (confusion between two locals: an InetSocketAddress and its
InetAddress --- when the latter is null, we want to print the former).

Change-Id: Ic6a29edb31c0cde11f03ec511a3a9a864fec957f
b4bdb67149b3ebece451e2664ea76fd51f658a76 18-Aug-2010 Jesse Wilson <jessewilson@google.com> Relying on fdlibm's build to set the version type to IEEE.

This is necessary to support dalvikvm on a Linux x86 host.

Change-Id: Ic85845f605616e4d3d2a3aa6bc317916d6217dac
2cf0b1baa034e65127ab87404110fc7d6abed106 18-Aug-2010 Jean-Baptiste Queru <jbq@google.com> am 27717d4d: am e595037c: resolved conflicts for merge of bc411e69 to gingerbread-plus-aosp

Merge commit '27717d4d722b98ce790a74a9bb030f5fdd99a8f6' into dalvik-dev

* commit '27717d4d722b98ce790a74a9bb030f5fdd99a8f6':
Fix compilation error: invalid conversion from 'const char*' to 'char*'.
10730cc13dc902cc8a2575e275e9b58abedd5666 18-Aug-2010 Jean-Baptiste Queru <jbq@google.com> am e595037c: resolved conflicts for merge of bc411e69 to gingerbread-plus-aosp

Merge commit 'e595037cf49109e9e20b47e6e191eda45e414008'

* commit 'e595037cf49109e9e20b47e6e191eda45e414008':
Fix compilation error: invalid conversion from 'const char*' to 'char*'.
04ac44d78c6538cbddabe742806921cc75b5042c 18-Aug-2010 Elliott Hughes <enh@google.com> Merge "Multicast cleanup." into dalvik-dev
0a1a3f83742d693a5276c26234c5c257dc729108 18-Aug-2010 Elliott Hughes <enh@google.com> Multicast cleanup.

This doesn't fix any bugs, but it does get rid of a lot of code. This is how
Stevens' book tells us we should be doing things.

Bug: 1610553
Change-Id: I00a79a6c34084ba018fb69c7f1123300a2698ce9
a0b89df05efe5320128b2adce262a1b4e4cfb5e5 17-Aug-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of bc411e69 to gingerbread-plus-aosp

Change-Id: Idfbfcc757b8900f0268c34519a4819a667e3fff1
f4015529a0eeb9d7d54758c0c630ae0d99e2bbbe 17-Aug-2010 Carl Shapiro <cshapiro@google.com> Merge "Export the new countInstancesOfClass method." into dalvik-dev
64d1fb2242fe3dd98c6fc1f458fe3e00f6ffda9d 17-Aug-2010 Elliott Hughes <enh@google.com> Remove a bit more nio cruft.

Collapse the unused MemorySpy hierarchy, and remove some dead code.
I've left all the dead rangeCheck stuff in in case we ever need it, but
maybe that should go too.

Change-Id: Ibff4e99f27e235453ae2983483e54878a679db34
5e681b20f6e0a87f12c82778c971ee4b583b2120 17-Aug-2010 Rene Bolldorf <xsecute@googlemail.com> Fix compilation error: invalid conversion from 'const char*' to 'char*'.

Change-Id: Icf57929ab5973fc89e45639649239344375a597d
2540bd7b6a1d4df942e08cbaf27e7364adb1b245 17-Aug-2010 Carl Shapiro <cshapiro@google.com> Export the new countInstancesOfClass method.

Change-Id: I87b69b2c04cf14e0971c57633e229b02c3547375
a2437235e0a5ae5b9da4fa554c6a114ced821452 17-Aug-2010 Elliott Hughes <enh@google.com> Fix build. (Forgot to --replace.)

Change-Id: Ide854318ba0bea43789d7773eb5923719b553169
f14716f654ed8885ea48f049e1be301caebf17c4 17-Aug-2010 Elliott Hughes <enh@google.com> Merge "Some nio tidying." into dalvik-dev
c143d50ab3843e96d3050324ae094c2b78d73d45 17-Aug-2010 Elliott Hughes <enh@google.com> Some nio tidying.

Remove indirection on OSMemory, and use public ByteOrder and MapMode types
throughout the implementation, rather than adding our own duplication. Also
remove some unnecessary Java methods that just forwarded to identical native
methods, and an unnecessary factory class for MappedByteBuffer instances.
Also get rid of ICommonDataTypes, most of which was unused cruft.

Change-Id: I3240b02bcc19941b1b1cbba351ae7f7c1cdfc5b4
b5a951a2f14718927be223e99c4bde61503277b8 17-Aug-2010 Brian Carlstrom <bdc@google.com> am bfc0713b: am 12e10c1c: b/2914872: fix concurrent initialization problem with peer certificate chain fields

Merge commit 'bfc0713bb26ec11c2000ba64439b3abdcb72a0bf' into dalvik-dev

* commit 'bfc0713bb26ec11c2000ba64439b3abdcb72a0bf':
b/2914872: fix concurrent initialization problem with peer certificate chain fields
41bd633cfc5ba8ee403b8d84774dedf8770dd968 17-Aug-2010 Brian Carlstrom <bdc@google.com> am 12e10c1c: b/2914872: fix concurrent initialization problem with peer certificate chain fields

Merge commit '12e10c1c6f9324693b1dad96ab57fada2b771f11'

* commit '12e10c1c6f9324693b1dad96ab57fada2b771f11':
b/2914872: fix concurrent initialization problem with peer certificate chain fields
d8ce4d58e7bbe391a65bf2f67893c1774c82d7b8 17-Aug-2010 Brian Carlstrom <bdc@google.com> b/2914872: fix concurrent initialization problem with peer certificate chain fields

Change-Id: Ib76dd826c8f3616d4a3aed608aef432a1b99f3d6
cb0bd43cd88202e95ce718c56802fb2cd21ad89b 16-Aug-2010 Elliott Hughes <enh@google.com> path.size() does _not_ include space for the trailing NUL.

We were getting this:

java.io.FileNotFoundException: /data/system/entropy.dat (No such file or directory

instead of this:

java.io.FileNotFoundException: /data/system/entropy.dat (No such file or directory)

D'oh!

Change-Id: I8545d157889fefe96934fdc1a01c785e42e84a2d
26364498b07a44eb1bfd62ffc0e2bb781532f255 14-Aug-2010 Elliott Hughes <enh@google.com> File names should match their contents.

Change-Id: I3440bb921c70834325dfe1b1177f81158186ec7b
d4eb3b0eb72d7739a8b0c1b32578f24df2b8cb38 14-Aug-2010 Elliott Hughes <enh@google.com> Clean up more of our floating-point cruft.

There was a ton of unused stuff here. I was hoping to kill all our
C-style casts so I could turn -Wold-style-cast on, but it looks like
our header files are too full of C-style casts for that to be practical
in conjunction with -Werror.

I'll get rid of the remaining C-style casts in the more heavily maintained
files at some point, but I'm calling it a day on the floating-point stuff
for now.

Change-Id: I93ce1c4a9db27674f4db1f329d6e7fa27e81ad72
e3f3d69f9da99216f9d38a83d71a1c4494a9c10d 14-Aug-2010 Elliott Hughes <enh@google.com> Move the floating-point parsing into one file.

This removes a little duplication, potentially makes it a little easier for us
to replace this at some point, and removes the embarrassing spelling mistake
in two files' names that's been annoying me since I joined.

Change-Id: Ifb428f073ff7c742f2807146ed99fc5740edd159
53ed4b61889b3339afc08d9e30f2e07f85d1008a 14-Aug-2010 Elliott Hughes <enh@google.com> Merge "Fix last few uses of "type *id" to be "type* id"." into dalvik-dev
cfd962fbba11e0f0b0fd1df89fc5b86c76de0cf8 14-Aug-2010 Elliott Hughes <enh@google.com> Merge "Fix the build now warnings are errors, and comment all the weirdness." into dalvik-dev
5f1756be69fec27b94d26ac19acb49c38c84dc84 14-Aug-2010 Elliott Hughes <enh@google.com> Fix last few uses of "type *id" to be "type* id".

We don't want anyone calling us unreformed C programmers...

Change-Id: I79b12245b206495ca747b4027b2bca423c27aec0
22d02cb69f8d58b0e3f91a10ec299be2ee3b5f59 14-Aug-2010 Elliott Hughes <enh@google.com> Fix the build now warnings are errors, and comment all the weirdness.

In short: "fdlibm.h" is disgustingly unhygienic.

Change-Id: Idcd98eae359c894cf66a6c588c7f39b14416ac72
eef04d1b12a6dbf900e5eaf96b1812febf5e99eb 13-Aug-2010 Elliott Hughes <enh@google.com> Fix reading from an empty non-blocking pipe.

The active ingredient here is getting rid of the lines that threw
InterruptedIOException in "OSFileSystem.cpp". I don't think that code was ever
right, but until I rewrote Pipe it wasn't possible to exercise that code.

The other changes are cosmetic, made while understanding this code well enough
to find the bug, plus a new test for this behavior.

Bug: 2901552
Change-Id: Id9cd3cdd6a97b225bbf7c352a6e0c535e9f9da1d
cde47ce44b0e56adef3c508984e834cb3851baac 13-Aug-2010 Elliott Hughes <enh@google.com> Remove most of our C-style casts.

After being burned by an incorrect C-style cast that cast away const, I've been
keen to remove them all and turn on -Wold-style-cast. This patch doesn't get us
that far, but it does kill the majority of our C-style casts. In turn, the
majority of the casts that it removes are the ones from our tables of native
methods to be registered.

The new NATIVE_METHOD macro also _enforces_ our convention of using the
"Class_nativeMethod" style of naming. Mostly this works out fine. In some
cases (most notably ExpatParser and ExpatAttributes) I've had to un-overload
a few functions, but I don't like overloading anyway, and in the particular
case of a native method, where the stack trace doesn't show a line number,
overloading makes it one step harder to work out which native method you're
actually in. So good riddance to that. The only unfortunate case is
Math.copySign, where there are two overloads corresponding to copysign(3)
and copysignf(3). I had to add an extra layer of indirection there. In my
defense, we've never shipped these functions before, they're unlikely to
become anyone's hotspot, and the right fix is to be doing such trivial work
on the Java side anyway, with intrinsics making the conversion between
float/double and int/long cheap.

This patch also replaces other C-style casts, primarily in
"OSNetworkSystem.cpp".

This patch also removes unnecessary uses of the "struct" keyword.

This patch also fixes a "may be used uninitialized" warning (now error) in
the sim build for "ICU.cpp".

The remaining C-style casts are in the hairy float-parsing code. That stuff --
and turning on -Wold-style-cast -- will have to wait for another day.

Change-Id: I9b3ee14aefd4676f980f6a7ca757595d78d80e6a
edc46bae4df95e287797968e245a703c6a634320 13-Aug-2010 Elliott Hughes <enh@google.com> Clean up our final native code warnings, and turn on -Werror.

Change-Id: I54bb29e357812b089e83f3a2a831c80f5114a27a
28858c6f25d36d3abae722443deb33878a34e4fa 12-Aug-2010 Elliott Hughes <enh@google.com> Replace createDatagramSocket and createStreamSocket with one call.

(Continuing our policy of having native methods' names correspond to the
underlying syscall, this one sadly gets the ugly name of "socket".)

Change-Id: Icf08e4e0637ee3ae9eab673d350860181f547250
0de11908191f2987d8f642910e4a64850e5776f9 12-Aug-2010 Elliott Hughes <enh@google.com> Merge "Minor documentation improvements." into dalvik-dev
5f0597e71ad523bae7e6949be018084450d0247a 12-Aug-2010 Elliott Hughes <enh@google.com> Minor documentation improvements.

Fix unqualified uses of SimpleDateFormat in TimeZone.java, explain how to use
getPercentageInstance (http://code.google.com/p/android/issues/detail?id=10333),
add an explicit test to make sure no-one accidentally "fixes" that
odd-but-correct behavior, and remove an example from the DecimalFormat
documentation that doesn't really clarify anything.

Bug: http://code.google.com/p/android/issues/detail?id=10333
Change-Id: I52f22d817c7c6c32ad38fb6953fbe909a76f8943
487156a26841deb0a6bee24a1d93e16c8be17519 12-Aug-2010 Elliott Hughes <enh@google.com> Merge "Remove createServerStreamSocket as a native special case." into dalvik-dev
17f0c5bb15fbad34d3d256609dfb29cc55a95582 12-Aug-2010 Jesse Wilson <jessewilson@google.com> Use the declaring class loader when resolving types for reflection.

Previously we were using the calling class loader, which was completely
unrelated to solving the problem at hand.

Also splitting the test for an issue unrelated to class loaders into
its own test.

Change-Id: I5fa9f34cac0d6a76db7fdf3e7bcbe19b57281971
59d43789be859ec40664a1e48252bbfaedcd3242 12-Aug-2010 Elliott Hughes <enh@google.com> Remove createServerStreamSocket as a native special case.

We can do everything in Java.

Change-Id: I7451319335a647fc25bd2d2403fa98bfc6b5c038
0a6dfce066f270cedd97c19a663fea78fc8f51e4 12-Aug-2010 Elliott Hughes <enh@google.com> Clean up some dead/useless code.

(The DatagramPacketTest.java change is unrelated, but it's been lurking in my
repository for weeks now.)

Change-Id: I65d3ad53dd30709b2daed3c5787cc38c6081ffea
962315db61dee54a6af174fd68ed8be3e4c49b9c 12-Aug-2010 Jesse Wilson <jessewilson@google.com> Sorting imports.

Change-Id: I8347bc625480a1c37a1ed9976193ddfedeb00bbc
63a59b680f155df761b1f45cc7a86efca46f1cec 11-Aug-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing ListOfTypes to not null-out its types." into dalvik-dev
1c2bf697cf70c5bef62937f288cef13e788b0ba5 11-Aug-2010 Jesse Wilson <jessewilson@google.com> Fixing ListOfTypes to not null-out its types.

http://code.google.com/p/android/issues/detail?id=6636

Change-Id: I164046e868fb72a76b8b2ad2729e97229129ea39
892c17b93deca26084e5f97c262844da3875274a 11-Aug-2010 Elliott Hughes <enh@google.com> Merge "Improve the performance of TimeZone.getTimeZone." into dalvik-dev
1bb072777729e82e7e6c95b860d1358fe7e4d906 11-Aug-2010 Elliott Hughes <enh@google.com> Improve the performance of TimeZone.getTimeZone.

Rewrite the code that reads time zone data so that rather than opening,
reading, and closing the file each time, we just keep the file mapped.

This patch actually removes functionality: we no longer support reading
individual Unix time zone data files.

Also stop cloning guaranteed-new instances returned by ZoneInfoDB.

Before:

benchmark us logarithmic runtime
TimeZone_getDefault 9.85 =
TimeZone_getTimeZoneUTC 211.40 =====================
TimeZone_getTimeZone_America_Caracas 437.87 ==========================
TimeZone_getTimeZone_America_Santiago 783.29 ==============================
TimeZone_getTimeZone_GMT_plus_10 181.80 ====================
TimeZone_getTimeZone_default 194.78 ====================

After:

benchmark us logarithmic runtime
TimeZone_getDefault 10.8 =
TimeZone_getTimeZoneUTC 70.9 =============
TimeZone_getTimeZone_America_Caracas 118.9 =================
TimeZone_getTimeZone_America_Santiago 797.5 ==============================
TimeZone_getTimeZone_GMT_plus_10 57.8 ============
TimeZone_getTimeZone_default 72.2 =============

(Note that these have very different scales.)

Bug: 2870945
Change-Id: Iae5aa86153006d4de8e7278d30bcaeef6a9ccab7
a481d52f3d0a5f7f3e42272a246cb9282b3183c2 11-Aug-2010 Jesse Wilson <jessewilson@google.com> Fix an obsolete test suppression

Change-Id: Id7cd798db349db1e25f7788c80a1bb0565d33468
787e6f0504d7215f252cdb04719e0c5a17734879 11-Aug-2010 Jesse Wilson <jessewilson@google.com> Moving tests to be under the libcore.* package.

This is indended to make it easier to run on VMs that restrict the packages
from which application classes can be loaded. For example, on the RI you need
to use the bootclasspath to load these tests.

Change-Id: I52193f35c5fcca18b5a3e1d280505b1e29b388af
7705c7580ba6c9a8924aa3484d8eef70f0ff77b7 10-Aug-2010 Elliott Hughes <enh@google.com> Merge "Minor TimeZone cleanup." into dalvik-dev
b8ba60b67dd20a103d5c3727a0b51d4a0ac40d39 10-Aug-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding a test for bug 10111 in getGenericSuperclass" into dalvik-dev
256580843e0455d353b4be77dcce6f6c6541e35d 10-Aug-2010 Elliott Hughes <enh@google.com> Minor TimeZone cleanup.

Getting ready to do some real work here, I thought I'd improve the
documentation and remove some cruft.

Bug: 2870945
Change-Id: I771badc8afa5c0a5f77880f64e1542d77672d984
84d0324de5eab1c2c29dcc83d198d44ae48c0919 10-Aug-2010 Jesse Wilson <jessewilson@google.com> Adding a test for bug 10111 in getGenericSuperclass

Change-Id: I0b9bc49482dd348d458eaef96b718209e5d90eb6
8f5b587ed295c82f64f1056b7e2bd3ee05d88068 10-Aug-2010 Elliott Hughes <enh@google.com> Merge "Make network I/O interruptible." into dalvik-dev
f2d50af39de315bdf2154a3a10b74806f0d75166 07-Aug-2010 Elliott Hughes <enh@google.com> Make network I/O interruptible.

Every thread about to block on network I/O registers its thread id and
the fd it's going to block on. In close, we scan the list and signal
every thread that's blocked on the fd we're closing. They wake up with
EINTR, see that their java.io.FileDescriptor has been invalidated (by
the close code), and infer that this EINTR is not to be retried: this
EINTR implies that they should throw.

This patch also fixes a couple of bugs in accept. We were trying (and,
obviously, failing) to reset SO_RCVTIMEO on fd -1 if the accept failed,
and then throwing an exception relating to that rather than the failed
accept(2). We were also not treating timeouts as a special case of
failure and throwing the appropriate SocketTimeoutException. (One has
to suspect that there's an errno-to-Exception function that we could
write that would work for all this native code.)

This patch also cleans up connect a little more. I've inlined doConnect
into its single caller, I've removed the bogus use of 100ms polling,
and I've rewritten the checking for success/failure to be based on the
advice in Stevens' "Unix Network Programming".

Bug: 2823977
Change-Id: I4f0cbd95be9ba25368be166008855a80c5d30845
514fb25ec256f480afb62b4ebb79c213069376ea 10-Aug-2010 Jesse Wilson <jessewilson@google.com> Merge "Test that InputStreamReader doesn't block unnecessarily." into dalvik-dev
f7007de4377d209c4bf07ebb2b66081bbb19eb3e 09-Aug-2010 Jesse Wilson <jessewilson@google.com> Test that InputStreamReader doesn't block unnecessarily.

See http://code.google.com/p/android/issues/detail?id=10252

Change-Id: I05f68151a35eb16b5c9165ac4ae211c92ddaacf1
31e59324f1461c277c6ea2369acd1e9e82ac997e 09-Aug-2010 Mike Lockwood <lockwood@android.com> am 4ea56d66: Create new files with permissions 0666 instead of 0777

Merge commit '4ea56d66e19d1450960ba26f60ca61a6804a3ba7' into dalvik-dev

* commit '4ea56d66e19d1450960ba26f60ca61a6804a3ba7':
Create new files with permissions 0666 instead of 0777
fc368d1effd863601c6519c0e52752ea0e300e0a 09-Aug-2010 Mike Lockwood <lockwood@android.com> Create new files with permissions 0666 instead of 0777

Change-Id: Ia37b12cac4baadd712dd29a1bc0692cb5163943e
Signed-off-by: Mike Lockwood <lockwood@android.com>
3cc62d31b3e97bcbd7c4052d827cc0faec900ecc 06-Aug-2010 Jesse Wilson <jessewilson@google.com> Support multihomed addresses in HttpURLConnection.

See http://b/2876927

Change-Id: I13138109d3648cf8a86d07136337b820c94b500a
086cbc5dc029b0a63887040083bec9ff237cbf61 06-Aug-2010 Elliott Hughes <enh@google.com> Merge "Rationalize and simplify our "connect" implementations." into dalvik-dev
c9aed937dd36327147cee67f9952e9db23e09c1c 05-Aug-2010 Elliott Hughes <enh@google.com> Rationalize and simplify our "connect" implementations.

We don't need to copy a context structure back and forth between native code
and Java: it didn't contain anything but temporaries anyway. We don't need a
convenience method for a blocking connect with no timeout. We don't need a
separate codepath for datagram and stream sockets' connect calls.

There are further simplifications that could be made, I think. I think we
could implement "connect" in Java in terms of "connectNonBlocking" and
"isConnected" (since that's how our native implementation works anyway).
I also think we can fix the 100ms polling too, though I haven't investigated
and that may require that we fix the general "interrupt on close" problem.

Change-Id: Ib5989fa05f5dd7dd24b681fab70f856cd0bc5c56
76564fc5e4b2dfb643a4e89c3a2b0c6aa86cfb40 06-Aug-2010 Mike Lockwood <lockwood@android.com> am 787bd9e6: Fix random permissions being set for new files.

Merge commit '787bd9e6c46da7e229db6450d94409d2c6da6c2b' into dalvik-dev

* commit '787bd9e6c46da7e229db6450d94409d2c6da6c2b':
Fix random permissions being set for new files.
06398f41341001db7911e22d5adc007841f0d6da 06-Aug-2010 Mike Lockwood <lockwood@android.com> Fix random permissions being set for new files.

When creating new files, set permission to 0777 and let the
umask adjust it for us if necessary.

Change-Id: I85cb895200f5a6e85d61e38c992fb9e9acda568c
Signed-off-by: Mike Lockwood <lockwood@android.com>
34c51118e57ca02e07fb6d02d8f5edabf9417135 05-Aug-2010 Brian Carlstrom <bdc@google.com> am 578c4cbb: am 753597d5: Merge remote branch \'goog/dalvik-dev\' into dalvik-dev-to-gingerbread

Merge commit '578c4cbbda479989790f1075f1e8f63fde1e2a92' into dalvik-dev

* commit '578c4cbbda479989790f1075f1e8f63fde1e2a92':
ee6344b6dbc9deda639e4271ac0acb741f7f9062 05-Aug-2010 Mike Lockwood <lockwood@android.com> am 9b211124: Remove restricted permissions in file and directory creation

Merge commit '9b211124283bfb808e902b91da4df3e291d9bb6c' into dalvik-dev

* commit '9b211124283bfb808e902b91da4df3e291d9bb6c':
Remove restricted permissions in file and directory creation
f2c4687a39e9ad9bd31fc808f5499e87fff436b5 05-Aug-2010 Brian Carlstrom <bdc@google.com> am 753597d5: Merge remote branch \'goog/dalvik-dev\' into dalvik-dev-to-gingerbread

Merge commit '753597d51e673c914930659b52952618c335dc4b'

* commit '753597d51e673c914930659b52952618c335dc4b':
Rewrite the nio Pipe to use a Unix pipe behind the scenes.
Stop GCC from outsmarting me.
Support for TLS Extensions enabled SSLSockets with fallback to vanila SSL
Remove "java.net.preferIPv4Stack" (which has been broken >= eclair).
Bring URLConnection.guessContentTypeFromName in line with Chrome.
Remove a bogus test that's been removed upstream.
Fix setTrafficClass.
Fix for poorly compiling documentation
Fix setSoLinger.
EnumMap.toString throws NPE
e71cec046032f3ed02598fe9bc6a5b03dd2d8123 05-Aug-2010 Mike Lockwood <lockwood@android.com> Remove restricted permissions in file and directory creation

This will allow us to use umask to control default permissions instead.
Since all application private files are created in a protected super-directory
this is now longer needed for the application security model.

BUG: 2856892

Change-Id: I8cce311016fdfacdb4bd8a28d1e674844aedb49a
Signed-off-by: Mike Lockwood <lockwood@android.com>
9fbdc3c2a43f514eb937edeb5e4698e5c58bceb2 05-Aug-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-gingerbread
93acfa6cd2890e5e84bd20bbe41e29ffc89a2f0e 04-Aug-2010 Elliott Hughes <enh@google.com> Add a comment I meant to include in PipeImpl.

Change-Id: I1e54c5b73fbc73fbc20f3782c207c04343849455
20b625f0e800fdcf726d28c6718d65b4576e0461 04-Aug-2010 Elliott Hughes <enh@google.com> Rename setNonBlocking to setBlocking.

This makes the boolean argument less confusing.

Change-Id: Ic226f6d3c5afe8e15a95e74917656424f8a448fe
35b4db5e8649bae036ecf86472c19d44f3cfbe0f 04-Aug-2010 Elliott Hughes <enh@google.com> Merge "Rewrite the nio Pipe to use a Unix pipe behind the scenes." into dalvik-dev
8b4fc97c7aee6f39c329f9bb256dfa67440d5ef1 04-Aug-2010 Elliott Hughes <enh@google.com> Rewrite the nio Pipe to use a Unix pipe behind the scenes.

We were using an AF_INET or AF_INET6 socket to implement the nio Pipe, which
was causing trouble for people on systems where IPv6 wasn't working yet.

This patch switches over to pipe(2). My first implementation used socketpair(2)
and retained the SocketChannelImpls, but it still seemed a bit off to be asking
for a full-duplex pipe to implement a unidirectional channel, and it required
hacks in the networking code to cope with the AF_LOCAL family, and in the
BlockGuard for the isLingeringSocket test.

This implementation uses pipe(2) and FileChannelImpl. It breaks a few tests, but
the tests are wrong, and it actually brings us closer to the RI's behavior of
throwing IOException "broken pipe" when writing to a broken pipe.

Rather than keep throwing junk into the FileSystem/NetworkSystem classes, and
resolving the question of which of those setNonBlocking belonged in (answer:
neither; this is a false Windows-style dichotomy that isn't helpful here), I've
added a new IoUtils with a few generally useful methods. The remainder of this
patch switches over existing code. We could probably make
FileDescriptor.descriptor private now I've exposed accessors, but this change
is large enough already...

Bug: 2735373
Bug: http://code.google.com/p/android/issues/detail?id=9431
Change-Id: I6b6d1e50bdddd435e71c31105a73c9d4fd135d7e
eaab9d4114d6d243cec551f08619cf632d446e4d 03-Aug-2010 Brian Carlstrom <bdc@google.com> Merge "Support for TLS Extensions enabled SSLSockets with fallback to vanila SSL" into dalvik-dev
cfdff3c203befb0819918ee5dcd6811346b2cf52 03-Aug-2010 Elliott Hughes <enh@google.com> Merge "Stop GCC from outsmarting me." into dalvik-dev
34687e40578dc8fa39d4e186f6fe49975909804e 03-Aug-2010 Elliott Hughes <enh@google.com> Stop GCC from outsmarting me.

I accidentally wrote:

memcpy(&result, cast<const T*>(srcAddress), sizeof(T));

instead of:

memcpy(&result, cast<const void*>(srcAddress), sizeof(T));

And GCC decided that, since doubles must be 8-byte aligned on ARM, this could be
translated into the very code I was trying to avoid:

e9d2 0100 ldrd r0, r1, [r2]

Fixing the cast fixes the generated code to use the direct access if my
explicit test shows that the address is aligned, but uses memcpy otherwise:

0: f012 0f07 tst.w r2, #7 ; 0x7
4: b507 push {r0, r1, r2, lr}
6: d102 bne.n e <_ZL18OSMemory_getDoubleP7_JNIEnvP8_jobjecti+0xe>
8: e9d2 0100 ldrd r0, r1, [r2]
c: e006 b.n 1c <_ZL18OSMemory_getDoubleP7_JNIEnvP8_jobjecti+0x1c>
e: 4611 mov r1, r2
10: 4668 mov r0, sp
12: 2208 movs r2, #8
14: f7ff fffe bl 0 <memcpy>
18: e9dd 0100 ldrd r0, r1, [sp]
1c: b003 add sp, #12
1e: bd00 pop {pc}

Change-Id: Ic0ddaca8bb24bea76f967ecfe2a159d8b0fe1216
cac019de64699edd36b8428aa0bb29249b69bc05 03-Aug-2010 Elliott Hughes <enh@google.com> resolved conflicts for merge of 7b3ebefc to dalvik-dev

Change-Id: I7bb0341107f0b3f5b568d151f062e30f61e5ee14
ce97814372a566974d664842d06adf50d60a5a97 23-Jul-2010 Brian Carlstrom <bdc@google.com> Support for TLS Extensions enabled SSLSockets with fallback to vanila SSL

See also b/1569612

Summary:
- OpenSSlSocket support for SNI, session tickets, compression
- URLConnection mimics Chrome behavior of trying connection with these enabled,
falling back to SSL w/o encryption on failure

Details:

libcore

URLConnection https retry

Change HttpConnection.getSecureSocket to enable non-standard features on first
connection attempt. On second attempt, we back off to SSLv3 from
TLSv1, mimicking Chrome's behavior.

luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpConnection.java

Change HttpsEngine.connect to implement SSL reconnect

luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/https/HttpsURLConnectionImpl.java

OpenSSL SSLSocket implementation

OpenSSLSocketImpl and OpenSSLServerSocketImpl now have an array of
enabled compression methods interface and implementation to
parallel that of procotols and ciphersuites.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java

OpenSSLSessionImpl now has a cache of the native
compressionMethod. Also replaced "gives" javadoc working with
"returns".

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java

OpenSSLSocketImpl session caching now needs to skip cached
sessions with mismatched compression requirements.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

OpenSSLSocketImpl.startHandshake now uses NativeCrypto to support
our non-standard extensions.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

NativeCrypto changes
- Added declaration of SSL options for tickets and compression.
- Added general "compression methods" interface
paralleling "cipher suites" and "protocols" interfaces.
- Added SSL_set_tlsext_host_name to set SNI (Server Name Indication) value
- Added SSL_get_servername to read SNI (Server Name Indication) value
- Added SSL_SESSION_compress_meth read negotiated compression method
- SSL_new makes sure to default compression to off for compatibility
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/native/NativeCrypto.cpp

Testing

Added URLConnectionTest.testConnectViaHttpsWithSSLFallback to make
sure we properly retry an https connection if the server
terminates unexpectedly. Fixed up
URLConnectionTest.testHttpsWithCustomTrustManager with new
expected certificate chain. Fixed a few mistaken
TestSSLContext.serverContext uses to clientContext

luni/src/test/java/java/net/URLConnectionTest.java

Added test_SSL_set_tlsext_host_name, test_SSL_get_servername,
test_SSL_SESSION_compress_meth. Added a number of missing fail()
calls in expected exception cases which caught one test with
mistaken expectations. Removed some unnecessary scopes. Fixed some
badly scoped catch blocks.

luni/src/test/java/org/apache/harmony/xnet/provider/jsse/NativeCryptoTest.java

Changed MockWebServer to support a new MockResponse propery of
disconnectAtStart, which immediately terminates the connection

support/src/test/java/tests/http/MockResponse.java
support/src/test/java/tests/http/MockWebServer.java

external/openssl

Restore -ZLIB to OpenSSL build. Note that NativeCrypto.SSL_new
disables compression by for default SSLSocket for compatibility.
android-config.mk
Force clean build with new CFLAGS
CleanSpec.mk

Change-Id: Iba6268f9096f2be43f0d30de151dd3fd0aea4a81
add9d31979f8ec15fe07642db3e31474d0c99e94 02-Aug-2010 Elliott Hughes <enh@google.com> Use the existing mime-type/extension mapping from frameworks/base.

(An accompanying change to frameworks/base switches that over so that both
android.webkit.MimeTypeMap and java.net.URLConnection use the same data.)

Bug: 2422917
Bug: http://code.google.com/p/android/issues/detail?id=10100
Change-Id: I37f008a00093efcf7b336ea0c206e8977544b0bf
9cd76511d8a06139983dc1dbb5c05fde71a7c394 31-Jul-2010 Elliott Hughes <enh@google.com> Remove "java.net.preferIPv4Stack" (which has been broken >= eclair).

Change-Id: I4733a0e266ff7c02c25033e79bcceff4d7357868
029287cd8f602a742c5a759b6526a8b4a322e368 31-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am 2ceb1614: Merge commit \'1a529c16\' into manualmerge

Merge commit '2ceb16144eefd78537059f0b6ad97267e843ae57' into dalvik-dev

* commit '2ceb16144eefd78537059f0b6ad97267e843ae57':
BlockGuard: don't complain about non-linger network close()
e330b5b65bfa4680ad9236608f8e9919c9a7acb3 31-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> Merge commit '1a529c16' into manualmerge

Conflicts:
dalvik/src/main/java/dalvik/system/BlockGuard.java

Change-Id: I13e177da1f307c0f784f783c934fa4a08f6407e0
e2f21b88e466e47eea8b1e7591ec64182a2eb6e9 31-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am 20705dde: BlockGuard: don\'t complain about non-linger network close()

Merge commit '20705dde359602364114b0cfb4135bc9fcf42038' into gingerbread-plus-aosp

* commit '20705dde359602364114b0cfb4135bc9fcf42038':
BlockGuard: don't complain about non-linger network close()
0a7b353bdf0f33cf6355d6c8834ed13a6a79184b 31-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> BlockGuard: don't complain about non-linger network close()

Change-Id: I4a5d6383f821d0c161206684ed14d7fd4781938b
37d4968a02a31ab0c5867398f97bc8e4fabc65e0 31-Jul-2010 Elliott Hughes <enh@google.com> Bring URLConnection.guessContentTypeFromName in line with Chrome.

Bug: http://code.google.com/p/android/issues/detail?id=10100
Change-Id: Ibd53f3450eda9c5dbad9e4b0b661cc98e8f578e4
ef72c83ce7e1ffca14ec10785b992da9ad6fc730 30-Jul-2010 Elliott Hughes <enh@google.com> Remove a bogus test that's been removed upstream.

Change-Id: Ib385a381944ee1a14c13e83ea6c9444c00c53982
0514921d111504d29841d5ed83638a7ec461b661 30-Jul-2010 Elliott Hughes <enh@google.com> Merge "Fix setTrafficClass." into dalvik-dev
1b160644b8082e9d0cda4d0df2a72a7140814532 29-Jul-2010 Elliott Hughes <enh@google.com> Fix setTrafficClass.

Pass the traffic class setting down to the kernel, rather than trying to
fake it in Java and then not actually using it at all in the native code.

There are two ways to set traffic class (aka type of service, or TOS):
per-packet or per-socket. The Java API is for the per-socket style, but
the old implementation had each SocketImpl intercept calls to
SocketOptions.setOption for SocketOptions.IP_TOS, stash the traffic class
in one of the SocketImpl's private fields, skip calling native code, and
then pass the traffic class to each native method that would need it to
implement the per-packet style. Unfortunately, each of those methods was
just ignoring the traffic class.

I've removed all this interception, so we now pass the traffic class straight
to the kernel via setsockopt(2), and we don't need to pass anything to the
individual per-packet calls.

The motivation for going the per-packet route appears to have been to work
around a lack of support for the per-socket route in old versions of Linux
and other OSes. It all works now, though, so there's no point making our
lives harder (and doing more work at runtime) to work around bugs and
infelicities that no longer exist.

I tested the new code manually with tcpdump, for both IPv4 (radio) and
IPv6 (wifi), and in both cases it looks like it's doing the right thing now.
We also still pass all of our tests, though none of them are capable of
recognizing whether we're actually doing anything useful anyway...

Change-Id: Ice241e088d25037123c73733a3f2bfade976fb31
0c097e68b8b37e4ef2ad57a7daf265deddb56f57 29-Jul-2010 Ben Dodson <bjdodson@google.com> Fix for poorly compiling documentation

Change-Id: I6077052df3cf6ba1f977aa312552ef8fe43bd56c
6c315dce3849f5ad311b2268d125415af6aab5ee 27-Jul-2010 Elliott Hughes <enh@google.com> Fix setSoLinger.

The bizarre use of Boolean or Integer (rather than just using -1) comes
from the RI. Third-party SocketImpl implementations may expect the RI's
documented behavior, so we should probably do the same.

I've also changed SocketChannelImpl.SocketAdapter to reuse Socket's
implementation of all the socket option getting/setting code, mainly so
we don't have two copies of all the weirdness.

I've also fixed a bug in the native getSocketOption code which returned
a Boolean rather than an Integer for IP_TOS/IPV6_TCLASS, though that code
is actually never called at the moment.

I've removed support for passing Byte values to setSocketOption. The RI
only uses Boolean and Integer.

Change-Id: I80ba63745f4c4f3ac357dc3f0b7cbf254a291bce
a834f845d678d80c51acce4f34ac753ccca67cd7 29-Jul-2010 Brian Carlstrom <bdc@google.com> am 06f47d3e: Merge remote branch \'goog/dalvik-dev\' into dalvik-dev-to-master

Merge commit '06f47d3e721e7032c97f80b3b2c7d25a8e6f2d21' into dalvik-dev

* commit '06f47d3e721e7032c97f80b3b2c7d25a8e6f2d21':
bc7c2bd40c56051ba1cdbdeb729eeb3762e76f98 29-Jul-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master

Change-Id: I9687c2ef06dc2bd1ba573bf40ec00236c25e558f
f197a65b114fc7339774979eeead3b46a3688301 29-Jul-2010 Ben Dodson <bjdodson@google.com> EnumMap.toString throws NPE

Fix for bug: 2787265

Change-Id: I56f9a2c7088f5263b26e93be1a3a28903c9e49cd
3b691adf2aaf98b1e7f87091a507963e0dbc993b 28-Jul-2010 Elliott Hughes <enh@google.com> Remove the unnecessary "Impl" suffix from setFloatArray.

Change-Id: I2eea809c7b441ed3c596e2b945e7897ccc15c10c
b6e18334daeeb8bb7d18add57391582fd9e5506e 28-Jul-2010 Elliott Hughes <enh@google.com> resolved conflicts for merge of 01a18c74 to dalvik-dev

Change-Id: Ib569414191a6e7b0e7aebb804fe1f4d57c5184a9
c64f3a3cf81e77cdc277c905a245a5b7b10834ee 28-Jul-2010 Elliott Hughes <enh@google.com> resolved conflicts for merge of fb4045a3 to master

Change-Id: I2100c70f6078108e7b646c393ac2e4b42ca8d066
4a58909c1e92985f75b5effbfa6ebd9452edb92a 28-Jul-2010 Owen Lin <owenlin@google.com> am bfb0099c: Improve putFloatArray performance

Merge commit 'bfb0099cc4c8eca744eeda0f20e5b3644f1a4cb9' into gingerbread-plus-aosp

* commit 'bfb0099cc4c8eca744eeda0f20e5b3644f1a4cb9':
Improve putFloatArray performance
9e1c54ef18e875f1a62b1f58b270e7ed4ee7d0ad 27-Jul-2010 Brian Carlstrom <bdc@google.com> Fix SecureRandom default service

Further profiling revealed a bug in the early performance fix which
was always returning null because it the Services.getService interface
expected SecureRandom.<algorithm>, not just SecureRandom.

However, the basic idea of using the precomputed Services approach was
sound. Services.refresh now calculates the default SecureRandom
services as a special case.

Confirmed that the RI also has this apparently undocumented behavior
of defaulting the SecureRandom to the highest priority provider that
has an available implementation.a

Change-Id: Icf3be52e5d9113b0940cd38522857ba7e339a60f
006a856972a6ad978a644be565f72d6e221bf6c5 27-Jul-2010 Elliott Hughes <enh@google.com> Let the kernel handle network timeouts by setting SO_RCVTIMEO.

As far as I can tell, the reason other implementations use select(2)
instead of SO_RCVTIMEO is that traditionally the latter wasn't implemented.
Stevens is unusually unspecific about the portability of SO_RCVTIMEO, but
the web says that Linux didn't support it until 2.4, and Solaris was late
and buggy too. Modern versions of Linux, Mac OS, and Windows all support
SO_RCVTIMEO, though, so portability should not be a concern for us.

This patch causes a regression; several of the blocking network I/O methods
that used to be interruptible by virtue of their select(2)-based manual
implementation of timeouts are no longer interruptible. Making all network
I/O interruptible is work in progress, covered by http://b/2823977.

Bug: http://b/2512069
Change-Id: I0a2812ca1537bd171c4205343d6b3b526b72b2b2
7e479a582c0181a9f1e7511c903267ad73f087a3 26-Jul-2010 Elliott Hughes <enh@google.com> Merge "Better detail messages for exceptions thrown when converting between byte[]/InetAddress." into dalvik-dev
b9e7d297854e293394a6e3e9611f300427833c42 26-Jul-2010 Elliott Hughes <enh@google.com> Better detail messages for exceptions thrown when converting between byte[]/InetAddress.

Change-Id: I0e87b0ed6487f8434435027ee70ec294c98617e8
5d2e9e3bcebba0e513e051ea309af934ca627cd8 24-Jul-2010 Brian Carlstrom <bdc@google.com> SecureRandom constructor performance improvement

The SecureRandom constructor was iterating all service providers to
find an implementation (the providers are in priority order). Changed
to use Service.getService which respects the priority but is a hash
lookup instead of a linear search.

This problem was brought to light when the Harmony provider was moved
after the BouncyCastle provider, making the search take much longer.

b/2748913

Change-Id: I44a4928bf80c81745d3bbbd510b48b3d0d6ad70e
ec51135fb4661ec7fb36965f09a4ea183e0a6dd7 11-Jun-2010 Owen Lin <owenlin@google.com> Improve putFloatArray performance

Change-Id: I04b43a2be6409329408d74af7ff0f0b2b60cc96d
62b583ece811c8c2a64dce659caa246a2652f6a7 24-Jul-2010 Elliott Hughes <enh@google.com> Fix available() to throw on a closed Socket's InputStream.

Change-Id: If9163301d18f7c0a11af08da6017840aa1bf4f38
040a0ef91c20e9a580f63155f9ded266c06d2f11 24-Jul-2010 Elliott Hughes <enh@google.com> Merge "Fix multicast TTL (and loopback)." into dalvik-dev
919a221238d60b336213597cab9a79fdf90ff525 24-Jul-2010 Jean-Baptiste Queru <jbq@google.com> am ee57aef0: resolved conflicts for merge of 67ca373a to master

Merge commit 'ee57aef0ce4d4460e1c4072f67014d68112528fe' into dalvik-dev

* commit 'ee57aef0ce4d4460e1c4072f67014d68112528fe':
Bugs when connecting a SocketChannel registered in a Selector
4e003b1cfe36805762b4d07716ef84f7458f2f3f 24-Jul-2010 Elliott Hughes <enh@google.com> Fix multicast TTL (and loopback).

We generally create AF_INET6 sockets. These work for both IPv6 and IPv4
communication. Typically, we'll be using them for IPv4. Unfortunately,
if we've only set IPPROTO_IPV6 socket options, they won't be used for
IPv4 communication. We need to set the IPPROTO_IP equivalents too. This
patch fixes our behavior for IP_MULTICAST_TTL/IPV6_MULTICAST_HOPS and
IP_MULTICAST_LOOP/IPV6_MULTICAST_LOOP.

Also switch to consistently using AF_ constants with socket(2). Stevens
recommends we just pretend the PF_ constants don't exist.

Also remove the useless REUSEADDR_AND_REUSEPORT constant, and fix some
of the C++ constant names to match the Java constant names.

Bug: http://code.google.com/p/android/issues/detail?id=9813
Change-Id: I31664198824291f2a13a7d72a9d64f12621e3415
cc1ca9449aba3bed70c0409b93deec03b0e3c1ef 23-Jul-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of 67ca373a to master

Change-Id: I01a4b6b0a73066e9a8119a66d07c43839079b4c9
63711bbf5213523dd9a6de1ed0327eb615ebcb05 23-Jul-2010 Marc Petit-Huguenin <petithug@gmail.com> am b960e1a9: Bugs when connecting a SocketChannel registered in a Selector

Merge commit 'b960e1a9d80af9536f77172cbe3932c3afc7e7e4' into gingerbread-plus-aosp

* commit 'b960e1a9d80af9536f77172cbe3932c3afc7e7e4':
Bugs when connecting a SocketChannel registered in a Selector
f2fcef269c5ed851266b92671da43c732c38a7ff 23-Jul-2010 Elliott Hughes <enh@google.com> Remove UCharacter's unnecessary layer of indirection.

Also fix this sim-eng build failure:

libcore/luni/src/main/native/org_apache_harmony_luni_platform_OSMemory.cpp: In function ‘jint OSMemory_flushImpl(JNIEnv*, _jobject*, jint, jlong)’:
libcore/luni/src/main/native/org_apache_harmony_luni_platform_OSMemory.cpp:334: error: invalid conversion from ‘const void*’ to ‘void*’
libcore/luni/src/main/native/org_apache_harmony_luni_platform_OSMemory.cpp:334: error: initializing argument 1 of ‘int msync(void*, size_t, int)’

Change-Id: Ia23c9af79c690254179139072b84bd0a35f17fba
252496776f648ae73129c72ed8d6fb2efeb203b8 23-Jul-2010 Elliott Hughes <enh@google.com> Remove more of our C-style casts, fix more of our native method names.

Change-Id: I08d7915e22faf091489171240d2f9bf8b3acecca
62f6a0d61e667a868d3a6c645d1d51a1b42b1639 17-Jul-2010 Marc Petit-Huguenin <petithug@gmail.com> Bugs when connecting a SocketChannel registered in a Selector

See http://code.google.com/p/android/issues/detail?id=6309

Bug fixed in org.apache.harmony.nio.internal.SelectorImpl by verifying
that there is a connection pending when adding a writable FD to the
internal list of readyKeys.

A unit test is also provided in java.nio.SelectorTest.

Change-Id: Icf47e81b3bcc299608d0672365daf797e44cdfdd
e0d67e3078e9391bda740a2466a432e28f394d3b 23-Jul-2010 Elliott Hughes <enh@google.com> Consistently use POSIX O_NONBLOCK instead of FIONBIO.

Change-Id: I395012f0e51e1928e720d09d0f44b7d5085b01a3
1b05d8536e8af95696af17b94db2acb005e515be 22-Jul-2010 Elliott Hughes <enh@google.com> Remove C-style casts from our expat JNI.

Also move more native methods' function names over to the predominant
"Class_methodName" orthography.

Change-Id: I12a7aa8c98726b478617b56a071196a38ada4e09
61819a615cd12fa9da5ba79d3ec699d9b6ac1253 22-Jul-2010 Elliott Hughes <enh@google.com> Merge "Remove many of our C-style casts." into dalvik-dev
bd085aafaa1195d3d680809854388364f468e1a6 20-Jul-2010 Brian Carlstrom <bdc@google.com> Bring SSLSocketImpl and SSLEngine in line with OpenSSLSocketImpl's cipher suites

Wrote an interoperability test between our OpenSSL and SSLEngine
based SSLSocket implementations. Used it to flush out problems between
the implementations, which mostly were in the non-native implementation.

Filling out the SSLEngine (and therefore non-native SSLSocket) support
led to the list of supported and default cipher suites now being the
same as out OpenSSL SSLSocket. Most of the work was making the the
NULL, RC4, and AES ciphers work with SSLEngine as well as some minor
bug fixes in related code.

Summary:
- changing test_SSLSocket_getSupportedCipherSuites_connect to try all
combinations of our two SSLContext/SSLSocket implementations
- fixed SSLEngine with *_WITH_NULL_* CipherSuites to use javax.crypto.NullCipher
- added *_AES_* cipher suites to SSLEngine (and therefore Java SSLSocketImpl)
- remove *_DH_* cipher suites which are not supported by the RI or our OpenSSL implementation
- fixed Java SSLSocket to not handshake on accept so will pass the basic SSLSocketTest
- added new KeyManagerFactoryTest while testing "DH_" cipher suite key types

This change depends on restoring bouncycastle's RC4 implementation (separate CL in external/bouncycastle)

Details:

Fixed SSLEngine with *_WITH_NULL_* CipherSuites by use javax.crypto.NullCipher

expectations/knownfailures.txt
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ConnectionStateSSLv3.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ConnectionStateTLS.java

Previously I had changed the string name of CipherSuites from
"TLS_..." to "SSL_..." where appropriate to match the RI. Since I was
doing maintenance on overall list, I renamed the CODE_TLS_... and
TLS_... static fields as well to match.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSessionImpl.java

Removed IDEA and RC2 CipherSuites to make it clear they are not
supported. While technically this happened as a side effect of the
assignment "supported = false" if the CipherSuite failed to load, we
truly intend not to support these. Also removed SSH_DH_* suites which
don't work with DSA keys and aren't supported by the RI or our OpenSSL
implementation.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java

Old connection state code assumed that if a cipher was blocked, the
block size was 8 bytes. This is not true for the 16 byte AES ciphers.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ConnectionState.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ConnectionStateSSLv3.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ConnectionStateTLS.java

No wonder our OpenSSL implementation incorrect did a startHandshake
when accepting the socket... it got it from the Java implementation.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLServerSocketImpl.java

Test for KeyManagerFactory (and KeyManager). TestKeyStore now creates
KeyManagers and TrustManagers from the keystore as a convenience for
KeyManagerFactoryTest (instead of having the code in the
TestSSLContext where we didn't keep a pointer to the created values).

luni/src/test/java/javax/net/ssl/KeyManagerFactoryTest.java
support/src/test/java/java/security/StandardNames.java
support/src/test/java/java/security/TestKeyStore.java
support/src/test/java/javax/net/ssl/TestSSLContext.java

Remove CIPHER_SUITES_SSLENGINE now that its the same as CIPHER_SUITES

luni/src/test/java/javax/net/ssl/SSLEngineTest.java
support/src/test/java/java/security/StandardNames.java

test_SSLSocket_getSupportedCipherSuites_connect now does
interoperability testing not just between the default SSLContext's
SSLSockets but between the four combinations of our two SSLContext. It
also now sends some test data bi-directionally between the client and
server.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Changed TestSSLContext.create to allow a different Provider for the
client and server SSLContexts.

luni/src/test/java/javax/net/ssl/SSLEngineTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java
support/src/test/java/javax/net/ssl/TestSSLContext.java

RC4 is now available in bouncycastle for the non-OpenSSL SSLContext to
use for parity with the OpenSSL implementation.

support/src/test/java/java/security/StandardNames.java

Changed TestSSLSocketPair to use Futures like NativeCryptoTest so its
easier to choose between client and server errors while debuging.

support/src/test/java/javax/net/ssl/TestSSLSocketPair.java

Removed bogus import

luni/src/test/java/org/apache/harmony/xnet/provider/jsse/NativeCryptoTest.java

Change-Id: I080c0343a3f86f27b7c191a7b80b585b9ca52d93
456745dcbaa75865123198bc267f3647f64e2241 22-Jul-2010 Elliott Hughes <enh@google.com> Remove many of our C-style casts.

Also move more native methods' function names over to the predominant
"Class_methodName" orthography.

Change-Id: I8f7fa5fe1fdf323e0ed910a0850595a8e5426e05
397f5ba2904effb6cd0217ac4347256405c52d4e 22-Jul-2010 Elliott Hughes <enh@google.com> Merge "Remove File's cached UTF-8 byte[]." into dalvik-dev
52386bdd9377a33e406035510f9ab6b6ce9ad211 22-Jul-2010 Elliott Hughes <enh@google.com> Remove File's cached UTF-8 byte[].

This doesn't really improve File.getCanonicalPath and its helpers much, but it
improves everything else, and feels like a step in the right direction.

Benchmarking shows only a tiny difference in the uncommon case of a reused
File, and a significant increase in performance in the more likely case of
a single-use File.

Before:

benchmark us
Exists 26.14
ExistsReuse 5.08

After:

benchmark us
Exists 13.90
ExistsReuse 5.23

Bug: 2281992
Change-Id: Ibc6fd2581983ae8a57bf4b7f49196c76ad41169e
211ce037ef5cfaa0b9714ef5be0caff380059ad5 21-Jul-2010 Jesse Wilson <jessewilson@google.com> Adding tests for HTTP connect and read timeouts.

Also a typo in an exception message in HttpURLConnectionImpl.

Change-Id: Ifa8b85e835eff6151a25c4a9ee83a7194de7656c
574d929188eb32f188dcb8d26cb9d5857006d1c0 21-Jul-2010 Jesse Wilson <jessewilson@google.com> Merge "Deduplicating HTTP tests with Harmony and get Harmony's tests passing." into dalvik-dev
4e4edeaf46acd142e4cd6acbd07285228c0306b0 21-Jul-2010 Jesse Wilson <jessewilson@google.com> Deduplicating HTTP tests with Harmony and get Harmony's tests passing.

This fixes a behaviour problem where we were sending the response
headers to the response cache rather than the request headers. It
also fixes a bug in handling of null header names.

This also cleans up some of the worst names in HttpUrlConnectionImpl.
The similarity between reqHeader and resHeader may have been a reason
for the problem above.

See bug 2352649, which complains about how our duplicated-with-Harmony
test connects to news.yahoo.com, quite unreliably. The latest version
of their test uses a local jetty server, which is far more reliable.

Change-Id: I701b3a1c999c63ea8dd929d8bd020717403fb75c
bedc075a721210e1628b62f266623c1c1584fec8 19-Jul-2010 Brian Carlstrom <bdc@google.com> New NativeCryptoTest, NativeCrypto.{SSL_set_client_CA_list, SSL_renegotiate}, fixes for other minor bugs exposed by test

Summary:
- New NativeCryptoTest covering NativeCrypto SSL APIs
- Added SSL_set_client_CA_list for server to specify acceptable client cert issues
- Added SSL_renegotiate for renegoiation testing
- Removed unneeded d2i_SSL_SESSION argument
- Added OpenSSLSocketImpl read/write bounds checking
- Added NULL checks on AppData to avoid native crashes on use of SSL before handshake

Details:
Corrected NativeCrypto thrown exceptions based on
NativeCryptoTest. Of note, we now throw NullPointerException
instead of SSLException for simple null issues in NativeCrypto.cpp

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java
luni/src/main/native/NativeCrypto.cpp

Created NativeCrypto.{encodeCertificates,encodeIssuerX509Principals} to
factor out some code out of OpenSSLSocketImpl that any user of
NativeCrypto.{SSL_use_certificate, SSL_set_client_CA_list} would
find useful.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Added SSL_set_client_CA_list to allow server to provide list of
issuers acceptable for client certifcates.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
luni/src/main/native/NativeCrypto.cpp

Added SSL_renegotiate to allow unit testing of SSL renegoiation.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/native/NativeCrypto.cpp

Removed d2i_SSL_SESSION size argument since it should be same as length of other argument

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java
luni/src/main/native/NativeCrypto.cpp

Added bounds checking to getInputStream.read(byte[], ...) and
getOutputStream().write(byte[], ...)

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Added NULL checks on AppData to avoid native crashes.

luni/src/main/native/NativeCrypto.cpp

New test of NativeCrypto SSL APIs

luni/src/test/java/org/apache/harmony/xnet/provider/jsse/NativeCryptoTest.java

Change-Id: I2fb7a40761e66320f73b02880e6e43def9594497
80a38673706eb9c45677b16c1b9be58de1afe81d 19-Jul-2010 Brian Carlstrom <bdc@google.com> Correct cacerts directory naming convention

Change-Id: I87cf5f213c63f3975bb1f76cfb59a161b8b8c2ab
ccb61c2d4ee0ec933f92701d85744002338e1c4d 19-Jul-2010 The Android Open Source Project <initial-contribution@android.com> am 821886ea: am 3d667044: am 16b704e4: add meta-files about 3rd party projects

Merge commit '821886eab89dd4c92e4b048dff1cb2c44a469df5' into dalvik-dev

* commit '821886eab89dd4c92e4b048dff1cb2c44a469df5':
add meta-files about 3rd party projects
c0fda8a109074069c15150f5c77d1afe7169ffb4 17-Jul-2010 Elliott Hughes <enh@google.com> Fix a buffer overrun when trimming the byte array.

Also fix the test that GetByteArrayElements succeeded: we were testing the
wrong local.

Bug: 2838496
Change-Id: I0aa950861eebc1fe2cd109b8940268458b12caa0
0fdcbd77f7ce8942743ffe6b2094907633942dda 17-Jul-2010 Elliott Hughes <enh@google.com> Merge "Fix a long-latent bug in the zip code, exposed by -Xjniopts:forcecopy." into dalvik-dev
aa6e33f8ef86e51c64159ce8c2cc0c3f3382d376 17-Jul-2010 Elliott Hughes <enh@google.com> Fix a long-latent bug in the zip code, exposed by -Xjniopts:forcecopy.

We were using ScopedByteArrayRO to access a byte[] read-write, and accidentally
relying on the fact that normally the VM will give us a pointer to the actual
array. A C-style cast that cast away const hid this obvious bug from the
compiler, so this patch also removes all the other C-style casts from the zip
code.

Change-Id: I15b2175af7d089ddc86448f54219abef2a9ef8cd
f5b68bffde2ed56ba66671cf6a9e2fceac46eb94 17-Jul-2010 Elliott Hughes <enh@google.com> Merge "Fix build (droiddoc @param error)." into dalvik-dev
96b1eee48ab818635d9a8a164a86ff8567f0ad44 17-Jul-2010 Elliott Hughes <enh@google.com> Fix build (droiddoc @param error).

Change-Id: I5996c9fd2c17e7b2fa8a44dd9b96beb65adc7ab1
a1a81050e6c9f15de6097ad36560714d51b474ad 16-Jul-2010 The Android Open Source Project <initial-contribution@android.com> am 3d667044: am 16b704e4: add meta-files about 3rd party projects

Merge commit '3d66704483f1b8ea8b6eea1939f02508c551fd62'

* commit '3d66704483f1b8ea8b6eea1939f02508c551fd62':
add meta-files about 3rd party projects
3e0e47d5a930f290e3785426bb94c8e851ab8413 16-Jul-2010 The Android Open Source Project <initial-contribution@android.com> am 16b704e4: add meta-files about 3rd party projects

Merge commit '16b704e46cf2d32dffc70a27fc4b78b20fbf795f' into gingerbread-plus-aosp

* commit '16b704e46cf2d32dffc70a27fc4b78b20fbf795f':
add meta-files about 3rd party projects
878af6f891745ef6efa5d2b8743c0b125725d48e 16-Jul-2010 The Android Open Source Project <initial-contribution@android.com> add meta-files about 3rd party projects

Change-Id: Ib22265632a3be569eeab0320021365b2d80a805e
2473ed713161db4c97e2daaadb24dc73c75a6531 14-Jul-2010 Brian Carlstrom <bdc@google.com> Fix PKCS12 and BKS KeyStore as well as SSL renegotiation

Summary:
- Added KeyStoreTest and fixed PKCS and BKS keystores to be fully functional
- KeyStore and KeyStoreImpl improvements in libcore and bouncycastle for more RI-like behavior
- SSL Renegotiation fix for new implementation

Details:

external/bouncycastle

TwoFish added back for BKS KeyStore. Like RC2, it not supported as
a general cipher, but instead used internally for KeyStore
implementation.

src/main/java/org/bouncycastle/crypto/engines/TwofishEngine.java
bouncycastle.config

Added back PBEWITHSHAANDTWOFISH, PBEWITHSHAANDTWOFISH-CBC,
PBEWITHSHA1ANDRC2-CBC, PBEWITHHMACSHA, PBEWITHHMACSHA1 to support
PKCS12 and BKS KeyStore implementations (as determined by new
KeyStoreTest)

src/main/java/org/bouncycastle/jce/provider/BouncyCastleProvider.java
src/main/java/org/bouncycastle/jce/provider/JCEBlockCipher.java
src/main/java/org/bouncycastle/jce/provider/JCEMac.java
src/main/java/org/bouncycastle/jce/provider/JCESecretKeyFactory.java

Don't throw an error when deleting a non-existing KeyStore entry. The
RI documentation (and behavior) says it throws an error when it fails
to remove an entry, not when the entry does not exist.

src/main/java/org/bouncycastle/jce/provider/JDKKeyStore.java
src/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java

Try to make BC's PKCS KeyStore have a more RI-like getCreationDate behavior

src/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java

Make BC's PKCS KeyStore failfast on setting non-supported key,
instead of failing later on get.

src/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java

Make BC's PKCS KeyStore handle setting a PrivateKey with an emtpy chain.

src/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java

Add more general avoidance of NullPointerExceptions on null aliases

src/main/java/org/bouncycastle/jce/provider/JDKPKCS12KeyStore.java

Added notes about changes improvements

patches/README

Regenerated patch with above changes

patches/android.patch

libcore

KeyStore improvements based on KeyStoreTest

- Fix UnrecoverableKeyException to be a subclass of
UnrecoverableEntryException, which was keeping the new
KeyStoreTest from compiling.

luni/src/main/java/java/security/UnrecoverableKeyException.java

- Fix to not convert UnrecoverableKeyException to KeyStoreException,
which was only being done because of the UnrecoverableKeyException
superclass bug.

luni/src/main/java/java/security/KeyStoreSpi.java

- Harmony KeyStore was being overly aggresive about throwing on null
alias arguments in cases where the RI was happy to pass them to the
KeyStoreSpi.

luni/src/main/java/java/security/KeyStore.java

- New test after PKCS12 regresion. It enumerates and excercises
all methods on all available KeyStore
implementations. Unfortunately, the main varieties of KeyStores
made this a lot more complicated than I was originally
expecting. It does clarifiy the differences between the RI and
BC KeyStore implementations, especially for PKCS12, where in
some ways the RI is more feature complete (setting key via
byte[]), but in other ways BC goes beyond some RI limitations
(allowing storage of certificates).

luni/src/test/java/java/security/KeyStoreTest.java

TestKeyStore improvements while writing KeyStoreTest
- Renamed "keyStorePassword" working usages to clarify if it really
means the "storePassword" on the whole KeyStore, or if it is a
"keyPassword" on individual keys.
- Moved TestKeyStore from javax.net.ssl to java.security

luni/src/test/java/javax/net/ssl/SSLContextTest.java
luni/src/test/java/javax/net/ssl/SSLEngineTest.java
luni/src/test/java/javax/net/ssl/SSLSessionTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java
support/src/test/java/java/security/StandardNames.java
support/src/test/java/java/security/TestKeyStore.java
support/src/test/java/javax/net/ssl/TestKeyStore.java
support/src/test/java/javax/net/ssl/TestSSLContext.java

Fixing up SSL renegotiation support. Now that we are not trying to
prevent renegotiation, make sure it is working correctly.

- Remove SSL_VERIFY_CLIENT_ONCE to take the default behavior of
re-requesting client certificate on renegotiation.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

- Updated comments to reflect renegotiation. Bug fix to not clear
out callback reference on handshake complete, since we need it for
renegotiation.

luni/src/main/native/NativeCrypto.cpp

Updated for PKCS12 KeyStore support

support/src/test/java/java/security/StandardNames.java

Added javadoc when writint KeyStoreTest

luni/src/test/java/java/security/ProviderTest.java

frameworks/base

Tracking changes to UnrecoverableKeyException superclass

api/8.xml
api/current.xml

Change-Id: I6349dbfc02896417595b52e364ade8000b567615
b49a37562a951f92a4404d05cd109a82666be602 16-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am 21710cc5: am 42660dc4: am dcaba04c: Few tweaks to BlockGuard\'s BlockGuardPolicyException.

Merge commit '21710cc5a3a0c7e3bd40e3621c9c9f14e97bf809' into dalvik-dev

* commit '21710cc5a3a0c7e3bd40e3621c9c9f14e97bf809':
Few tweaks to BlockGuard's BlockGuardPolicyException.
47dccd652adc997602a2a236792471bf19314000 16-Jul-2010 Joe Onorato <joeo@android.com> am 48e324f2: am 21640c4b: (-s ours) am de1d2252: The ICU data is no longer compiled directly into the shared library.

Merge commit '48e324f2396af7b49c21c09d8f6cf7a5d7d9eeb5' into dalvik-dev

* commit '48e324f2396af7b49c21c09d8f6cf7a5d7d9eeb5':
23833f34042fa41071c7bb678e52f586507a1bbb 16-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am 42660dc4: am dcaba04c: Few tweaks to BlockGuard\'s BlockGuardPolicyException.

Merge commit '42660dc4657a7b26014810843693e714324b4db5'

* commit '42660dc4657a7b26014810843693e714324b4db5':
Few tweaks to BlockGuard's BlockGuardPolicyException.
999a2c0c2d81eb45cce3fa3ff162dc10cf5022c1 16-Jul-2010 Joe Onorato <joeo@android.com> am 21640c4b: (-s ours) am de1d2252: The ICU data is no longer compiled directly into the shared library.

Merge commit '21640c4bf1ecda0428f2dc408fd293bc2e314aea'

* commit '21640c4bf1ecda0428f2dc408fd293bc2e314aea':
bb8ebbe6c9b315765ce9b35aa3e7a00404ce4e4f 15-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am dcaba04c: Few tweaks to BlockGuard\'s BlockGuardPolicyException.

Merge commit 'dcaba04c224cb5a5ed6af89251ac876ec2f48dfe' into gingerbread-plus-aosp

* commit 'dcaba04c224cb5a5ed6af89251ac876ec2f48dfe':
Few tweaks to BlockGuard's BlockGuardPolicyException.
f78dbc9740eefac352db9d329fa2bd5b87dee932 15-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> Few tweaks to BlockGuard's BlockGuardPolicyException.

Needed for work on StrictMode across binder calls. Will likely be
cleaned up more in the future, removing the magical stringification.
But this is currently needed at this stage.

Change-Id: I4b2b3e6a242ac62fa9847fc969749b4f2467bc71
6f070a81afc38d40eb905427cf20f93bdac612f3 15-Jul-2010 Jesse Wilson <jessewilson@google.com> Merge "Improving the performance of Class.getName() and Class.getMethods()." into dalvik-dev
d003008820f4f9e096b6b3077b07790f80133833 15-Jul-2010 Jesse Wilson <jessewilson@google.com> Improving the performance of Class.getName() and Class.getMethods().

Class.getName() was going to native code with every call. Caching
it in a field saves the native call and results in a large savings
in the new implementation of getAllMethods().

Class.getMethods() was allocating strings for every method as a hash
key for deduplicating overloads.

This table shows runtime with the optimization. The previous code
was hashing to deduplicate; the new code uses sorting.

run us linear runtime
hashing 4126.5 ===============
hashing+getName 3131.8 ===========
sorting 8062.4 ==============================
sorting+getName 2079.8 =======

Full details here, including some intermediate results:
http://microbenchmarks.appspot.com/run/jessewilson@google.com/java.lang.reflect.ReflectionBenchmark

Change-Id: I562785705847ab7af23dd57c98e593e7e0df284a
18f5f2c62be4beb0e078b6eb1d87582675f58521 15-Jul-2010 Elliott Hughes <enh@google.com> Simplify the network send(2) interfaces.

Similar to the change for the recv(2) code.

Unrelatedly, I've pulled out our exception-throwing helpers for reuse. This
was meant to be in a separate change, but I accidentally mixed it in.

Bug: 2823977
Change-Id: I314a4337189277b6eff65f7ccf9e897b5d0b73f2
bf4b3567d060aaa9b418750604325da4e092fc77 15-Jul-2010 Joe Onorato <joeo@android.com> am 3533ac4b: Resolved conflicts for merge of de1d2252 to master

Merge commit '3533ac4b1edc4e863385a0f29c83cfbf49142924' into dalvik-dev

* commit '3533ac4b1edc4e863385a0f29c83cfbf49142924':
The ICU data is no longer compiled directly into the shared library.
fb5b1f984d1ebdac08cb46d560a4ce671cfc7137 15-Jul-2010 Joe Onorato <joeo@android.com> Resolved conflicts for merge of de1d2252 to master

Change-Id: If44e4cfa8df812bceb8f39d9343530824cbf3b7c
9da9bfe864c9aeb58bb53635c877cfeb30b9c2da 15-Jul-2010 Joe Onorato <joeo@android.com> am de1d2252: The ICU data is no longer compiled directly into the shared library.

Merge commit 'de1d22525aaaa3eaafc2920acbeb8bd8ec013bcd' into gingerbread-plus-aosp

* commit 'de1d22525aaaa3eaafc2920acbeb8bd8ec013bcd':
The ICU data is no longer compiled directly into the shared library.
cbcff94b1bbce1c0069326252fe73c68134946d4 15-Jul-2010 Elliott Hughes <enh@google.com> Match the RI in the exception thrown by DatagramPacket's constructor.

We were failing an existing harmony test, so no new test necessary.

Change-Id: I056187225af52a2bc927da208f9d174f3249b5fa
9bace9c7c143c1785e31313b4a1d11d3b2580e74 14-Jul-2010 Elliott Hughes <enh@google.com> Make it possible to interrupt network reads.

This patch simplifies the network I/O interface, in particular for read/recv.

The bounds checking from OSNetworkSystem.read goes, since the caller already
checks. (If we want that checking in native code, we should add it uniformly.)

We also remove supportsUrgentData (which was always returning true), and remove
the sole caller, so we just try the operation and report failures if they happen
rather than trying to predict the failure (as the original code seemed to want
to do, and which is never a good idea).

The native code gains logic to recognize when the FileDescriptor has been
closed from another thread, though this logic remains largely unused at this
point. (There's comment-out code in "close" that does a shutdown(2) to wake
us up so we can recognize this situation.) I've switched code over to using
the new NetFd class, but haven't ensured that we handle the wakeups correctly.
(The "read" implementation being the notable exception.) For now, with the
shutdown(2) commented out, this shouldn't have any visible behavioral changes.
(And our tests don't spot any.)

Code that was using malloc(3)/free(3) to allocate temporary buffers, and copying
to and from those buffers has been rewritten to use JNI-provided pointers onto
the heap, as part of the general "don't lie to the garbage collector" push.

The implementations for the various old forms of recv have been collapsed into
one.

Bug: 2823977
Change-Id: I05cf742c44827a24df3c1ff59727013ee4636233
86d3de6dd5c09cb6a03d2bbf3bf5519b1764aa2e 14-Jul-2010 Elliott Hughes <enh@google.com> Remove the last few "Answer"/"Answers" from javadoc.

Change-Id: I753bd9bbfc1462d948929197f00668fa1e1237f2
5809ca12c32dc5097b4781a7cb7417f502b95827 14-Jul-2010 Joe Onorato <joeo@android.com> The ICU data is no longer compiled directly into the shared library.

Change-Id: If295333e3bf2a2005494fe2a7757caa439ae8a31
1d3d837a6e5b1f8a792fa049ce166e477ae5cb4a 08-Jul-2010 Brian Carlstrom <bdc@google.com> Improved client certificate and certificate chain support

Summary:
- openssl: add openssl support for specifying per key certificate chains
- libcore: properly implement client certificate request call back
- libcore: properly implement sending certificate chain
- libcore: properly implement retreiving local certificate chain
- libcore: added an SSLContext for non-OpenSSL SSLSocket creation

Details:

external/openssl

Improve patch generate support by applying all other patches to
baseline to remove cross polluting other patch changes into target
patch. Move cleanup of ./Configure output to import script from
openssl.config.

import_openssl.sh
openssl.config

Adding SSL_use_certificate_chain and SSL_get_certificate_chain to
continue to finish most of remaining JSSE issues.

include/openssl/ssl.h
ssl/s3_both.c
ssl/ssl.h
ssl/ssl_locl.h
ssl/ssl_rsa.c

Updated patch (and list of input files to patch)

patches/jsse.patch
openssl.config

libcore

Restoring SSLContextImpl as provider of non-OpenSSL SSLSocketImpl
instances for interoperability testing. OpenSSLContextImpl is the
new subclass that provides OpenSSLSocketImpl. JSSEProvider
provides the old style SSLContexts, OpenSSLProvider provides the
OpenSSL SSLContext, which includes the "default" context. Changed
to register SSLContexts without aliases to match the RI.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/JSSEProvider.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLProvider.java

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/DefaultSSLContextImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLContextImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java

Native interface updates to support OpenSSLSocketImpl improvements
- KEY_TYPES now expanded based on what we are being provided by OpenSSL.
keyType function now maps key type values received from
clientCertificateRequested callback.
- Removed remaining uses of string PEM encoding, now using ASN1 DER consistently
Includes SSL_SESSION_get_peer_cert_chain, verifyCertificateChain
- Fixed clientCertificateRequested to properly include all key
types supported by server, not just the one from the cipher
suite. We also now properly include the list of supported CAs to
help the client select a certificate to use.
- Fixed NativeCrypto.SSL_use_certificate implementation to use new
SSL_use_certificate_chain function from openssl to pass chain to
OpenSSL.
- Added error handling of all uses of sk_*_push which can fail due to out of memory
- Fixed compile warning due to missing JNI_TRACE argument
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/native/NativeCrypto.cpp
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Pass this into chooseServerAlias call as well in significantly revamped choseClientAlias

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Minor code cleanup while reviewing diff between checkClientTrusted and checkServerTrusted

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/TrustManagerImpl.java

Improvements to SSL test support to go along with client
certificate and certificate chain changes. TestSSLContext now has
separate contexts for the client and server (as well as seperate
key stores information). TestKeyStore now is more realistic by
default, creating a CA, intermediate CA, and separate client and
server certificates, as well as a client keystore that simply
contains the CA and no certificates.

support/src/test/java/javax/net/ssl/TestKeyStore.java
support/src/test/java/javax/net/ssl/TestSSLContext.java

Tests tracking API changes. Tests involving cert chains now now
updated to use TestKeyStore.assertChainLength to avoid hardwiring
expected chain length in tests. These tests also now use
TestSSLContext.assertClientCertificateChain to validate that the
chain is properly constructed and trusted by a trust manager.

luni/src/test/java/java/net/URLConnectionTest.java
luni/src/test/java/javax/net/ssl/SSLContextTest.java
luni/src/test/java/javax/net/ssl/SSLEngineTest.java
luni/src/test/java/javax/net/ssl/SSLSessionContextTest.java
luni/src/test/java/javax/net/ssl/SSLSessionTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java
support/src/test/java/java/security/StandardNames.java
support/src/test/java/javax/net/ssl/TestSSLEnginePair.java
support/src/test/java/javax/net/ssl/TestSSLSocketPair.java

frameworks/base

Tracking change of SSLContextImpl to OpenSSLContextImpl

core/java/android/net/SSLCertificateSocketFactory.java
core/java/android/net/http/HttpsConnection.java
tests/CoreTests/android/core/SSLPerformanceTest.java
tests/CoreTests/android/core/SSLSocketTest.java

Tracking changes to TestSSLContext

core/tests/coretests/src/android/net/http/HttpsThroughHttpProxyTest.java

Change-Id: Ie35ebce89966dfce62c316f7fe7252bf06935680
fdc26bd0312d0c8e4c006e8bb38e78535945b660 14-Jul-2010 Jesse Wilson <jessewilson@google.com> Merge "Cleanup HTTP retries." into dalvik-dev
df9c0594661d694703ea872656c5dbb3886de75a 13-Jul-2010 Jesse Wilson <jessewilson@google.com> Cleanup HTTP retries.

We now do the right thing when redirects point us at a different
host or a different scheme.

Also...

Invert the parameter to AbstractHttpInputStream.endOfInput()
and HttpURLConnection.releaseSocket() to be positive 'reuse'
rather than negative 'close'. It makes the code in that method
read better.

Combine discardResponse() and endRequest(). The new method is
discardIntermediateResponse(). Cleanup how we handle intermediate
responses, and how those connections get recycled.

Remove HttpURLConnection's cached fields for proxy addresses.
Instead just update the proxy field when those fields change.
This attempts to make it clear that the names represent the
connected address and not the origin server's address. (This
is different when a proxy is in use.)

Document a consistent interpretation of the inherited protected
field 'connected'. Unfortunately it does not mean connected.

Change-Id: I8d4b65bffa5aeba353186b60cf951232f7762a18
9c7c1c51b715706064bebe1ef4ac66c131af2658 13-Jul-2010 Andy McFadden <fadden@android.com> am 478f5f95: Allow heap dump requests with a FileDescriptor arg.

Merge commit '478f5f9576c399c30288cf79d6bbf65ca5feedfd' into dalvik-dev

* commit '478f5f9576c399c30288cf79d6bbf65ca5feedfd':
Allow heap dump requests with a FileDescriptor arg.
319f7d4c67c7ab78344194cd8eeb7254f448290c 12-Jul-2010 Elliott Hughes <enh@google.com> Fix Throwable.printStackTrace for exceptions without stack traces.

Also improve the documentation for fillInStackTrace.

Bug: http://code.google.com/p/android/issues/detail?id=9722
Change-Id: I9c539df136058e5300b33aa0d1104d567db71ad4
172be4411b981973aa3fcdf6960adca24711d3d6 10-Jul-2010 Andy McFadden <fadden@android.com> Allow heap dump requests with a FileDescriptor arg.

Part of a larger change to allow "am" to initiate hprof heap dumps.

Bug 2759474.

Change-Id: I33c41e6f2ce37d2c0348ea783ecaadc0eae33d36
c6b7af126f816ec9d9a9f6731cdb372df40f50af 12-Jul-2010 Elliott Hughes <enh@google.com> Improved System.getProperty documentation.

We were claiming to support properties we don't (and aren't required to), but
missing many that we do (and are required to).

Change-Id: I39e5c5beb2e341c690187557b4dd1bce369952da
6623e43718a0160fe3bf1813a6be9f3f7154d708 12-Jul-2010 Elliott Hughes <enh@google.com> Add null-pointer checking to ScopedPrimitiveArray.

This style worked well for ScopedUtfChars. It moves null-pointer checking
inside the class, thereby encouraging us to remember to check for the
unlikely out-of-memory failures too.

I've also broken up some tests that were trying to check multiple scoped
arrays at once. This idiom was broken because as soon as there's a pending
exception, it's a JNI error to even attempt to set up the next scoped
primitive array. In the absence of C++ exceptions, we have to check these
one by one.

Change-Id: I2f4b397ae2873597e309d86fcc5912f3fcf0f304
d3a3f6c20f686574108de1537baea08c78bd2ccc 10-Jul-2010 Elliott Hughes <enh@google.com> Use 'dst' (or an even more appropriate name where possible) rather than 'dest'.

(The ArrayIndexOutOfBoundsException for System.arraycopy already talks
about 'dst' and 'dstPos'.)

Change-Id: Iba9415dd4a9ec3b457938ea4469b4a0024bab6e4
65bbf63f5e0d87dfc6d636e3130e0d1f983503a4 09-Jul-2010 Elliott Hughes <enh@google.com> Merge "Stop Matcher from copying its input onto the native heap." into dalvik-dev
1d98c78af8fc0290be8839e8b55238961a5519cb 09-Jul-2010 Jesse Wilson <jessewilson@google.com> Address feedback from change 57066,
Rewrite the main request retry loop of HttpURLConnection.

Change-Id: I7e10e356614970971253f2e3f60d173a2e5433d4
e34cc92cf5f42f5d0cb70628edb896c33f1f3d59 09-Jul-2010 Jesse Wilson <jessewilson@google.com> Merge "Rewrite the main request retry loop of HttpURLConnection." into dalvik-dev
42ce1da432819af28c66b335227b9dffa5a62b69 09-Jul-2010 Carl Shapiro <cshapiro@google.com> Merge "Add a distinct field to thread pending references together." into dalvik-dev
5433507ee8157b07331031b2e2a988c8dbe91c77 09-Jul-2010 Jesse Wilson <jessewilson@google.com> Rewrite the main request retry loop of HttpURLConnection.

We had problems where HTTP auth failures weren't eligible
for automatic retries, particularly when HTTP post was
in use.

This fixes that problem and generally cleans up the HTTP
request loop. In particular:
- Be more careful about keeping state about whether
we've sent a request or a request header.
- Document the nuanced behavior around when headers are
transmitted.
- Simplify the daisy-chain of methods. Formerly we had
sendReqeust, writeRequest, doRequest, and doRequestInternal.
We now have more intention-revealing method names.
- Manage reentrant calls to doRequest(). Previously weird
things would happen, such as the following chain of calls:
doRequest()
doRequestInternal()
sendRequest()
readServerResponse()
maybeCache()
ResponseCache.put()
getHeaders()
doRequest()
Things are now more straight forward and retrieveResponse()
initializes everything.
- Throw HttpRetryException when we should.

Also moving inner HttpOutputStreams into their own classes and
splitting DefaultHttpOutputStream into ChunkedOutputStream and
RetryableOutputStream.

Change-Id: I5c1da717f0dee7ecc896e51701b702e535867417
6cb54fccae783c9e95482e58585719f375a9ee29 09-Jul-2010 Carl Shapiro <cshapiro@google.com> Add a distinct field to thread pending references together.

Presently, reference objects discovered during a trace are threaded
together using the queueNext field. This field is also used by the
reference queue class to thread together its enqueued objects.

When the garbage collector is run concurrently, a user may enqueue a
reference object simultaneously discovered by the trace. This will
corrupt the pendingNext values by aliasing to a reference queue.

To avoid this problem, a forthcoming VM change will use this new field
to thread pending references. If the garbage collector discovers that
a pending reference has been added to a reference queue it will short
circuit the reference processing of that object.

Change-Id: I280cc4a4fc4abd67dd80add1969aed12133c9369
5bcee5333f2c0f8ac770025ee1633be218b492e1 02-Jul-2010 Brian Carlstrom <bdc@google.com> TestKeyStore only use RSA by default & fixing SSLEngine client auth with DSA client and RSA server

Summary:

Goal here was to just make most tests faster by only having
TestKeyStore create RSA keys by default. However, when I did that
SSLEngineTest#test_SSLEngine_clientAuth started working, so I ended up
investigating a much deeper issue with DSA client authentication
against an RSA SSLEngine server.

Details:

Changed the TestKeyStore.get singleton to only contain RSA
keys. TestKeyStore.create now requires the caller enumerate what
keys they want if they need more than that or an alternative.

support/src/test/java/javax/net/ssl/TestKeyStore.java

Changed test_SSLSocket_getSupportedCipherSuites_connect to
explicitly request RSA and DSA keys since it needs both to try
connecting all possible cipher suites.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Fixing SSLEngine client authentication when server uses RSA but client uses DSA

Fixed java.net.ssl.SSLEngineTest#test_SSLEngine_clientAuth

expectations/knownfailures.txt

Added CiperSuite.authType field which contains the algorithm name
such as RSA, DSA, DH, that the client will use to authenticate the
server. Like the cipherName, hmacName, and hashName, this is
logically derivable from the the CiperSuite.KEY_EXCHANGE_*, but we
remember it to avoid repeatedly doing large cascading "if" tests to
determine which key algorithm should be used for each
case.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java

Fixed a number of client certificate authentication bugs in SSLEngine
- Changed ClientHandshakeImpl's in the SSL/Tls Certificate message
code to mirror ServerHandshakeImpl's implementation to properly
use chooseEngineClientAlias in the SSLEngine case.
- Changed to use the client certifcates key algorithm for computing
the signature for the SSL/TLS CertificateVerify
message. Previously we used the cipher suites negoitated key
exchange method, but if the client may select a certificate with
a different algorithm if the server provides a CA for another
algorithm.
- Also changed to use CipherSuite.isAnonymous in two places rather
than the inlined equivalent.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHandshakeImpl.java

Fixed client authentication to use the client's certificate (not
the server's) to do verify the CertificateVerify message signature.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHandshakeImpl.java

Fixed bug in DigitalSignature which did not Signature.update in
verifySignature, so it could never have properly authenticated DSA
signatures.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/DigitalSignature.java

Added CertificateMessage getAuthType convenience

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CertificateMessage.java

Made CertificateRequest certificate_authorities final, found we were double allocating it

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CertificateRequest.java

Cleaning up imports of HandshakeProtocol while working on its subclasses.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/HandshakeProtocol.java

Cleaned up while looking at X509KeyManager implementations while debugging.

support/src/test/java/org/apache/harmony/xnet/tests/support/X509KeyManagerImpl.java

Change-Id: I74b98754c11000cbfea416f1571c380c9c67abf3
f6226938fed402061e8f3910ae058a9a795ad522 08-Jul-2010 Elliott Hughes <enh@google.com> Remove dead code/unused variables from OSNetworkSystem.

This has never done anything, and we've no idea what -- if anything -- it was
meant to do, and it doesn't do anything upstream either, so out it goes...

Change-Id: I33a738700fd4811fe47089f0d0373ce9f0d525de
c948d477d09bd90877adf85d0e22bf1220f3cfec 08-Jul-2010 Elliott Hughes <enh@google.com> Clean up OSFileSystem.

I accidentally opened this file instead of OSNetworkSystem, but took the
opportunity to move null pointer checking down into the JNI, where it doubles
as OOM checking. I've also added missing null checks to the JNI.

(Strictly, ScopedPrimitiveArray doesn't yet do the right thing in all cases,
it's ScopedUtfChars that does. An improved ScopedPrimitiveArray will be along
shortly...)

Also some cosmetic tidying.

Change-Id: Ie4d3a217332dae67a12db370246c7d87fe7edae4
abbd66f239e59a04cd95e2ffc798420a61331d47 08-Jul-2010 Elliott Hughes <enh@google.com> Clean up File.createTempFile and make Math.random thread-safe.

File.createTempFile has long annoyed me: using a SecureRandom but then always
incrementing by one is silly. Using a new Random is more random, more scalable,
and slightly faster than reusing a SecureRandom according to my benchmark.

Relatedly, access to the Random used by Math.random wasn't synchronized, which
is a bug.

I've also fixed a typo in a comment in a test. Woo!

Change-Id: Ief72ec0e378ed3d5807c278c589f7b0e44c21d3e
10d1386f1b92cf5fbda9cf95dc8257995df7ae37 03-Jul-2010 Jesse Wilson <jessewilson@google.com> Fix new String(String) to copy the backing array.

Adding documentation explaining the backing array, and
how it interacts with this copy constructor and substring().

Change-Id: I1044bcb614645e3f12c0701d5a883de6a65496f1
4d85f73fbf926de7ec11809bc77b8b241ec449d0 02-Jul-2010 Elliott Hughes <enh@google.com> Stop Matcher from copying its input onto the native heap.

This uses ICU 4.6 API that we've manually backported to Android's ICU 4.4.

Bug: 2777924
Change-Id: I799b3e621a8c87d560495bc3d7b48f2e11de9c60
980c7863790ba36a06cd5d91cb9d801cbd1412b4 02-Jul-2010 Elliott Hughes <enh@google.com> Fix another couple of bugs in my native UTF-8 code.

If the initial allocation failed, we could still upset -Xcheck:jni by releasing
NULL. Also, if the length of the input was 0, we'd incorrectly never leave the
initial state of not having a byte[] allocated, and return the null array rather
than the empty array.

Change-Id: I316b63666c659f0190bad1e8c33856de31b1a10f
ee56a96e11ca246be45bb05291e85252f4a43f27 02-Jul-2010 Elliott Hughes <enh@google.com> Merge "Fix a JNI abuse caught by -Xcheckjni." into dalvik-dev
6353b03e1f350602f3e59121c3f773bbc4b3a0ef 02-Jul-2010 Elliott Hughes <enh@google.com> Fix a JNI abuse caught by -Xcheckjni.

Unlike delete and free(3) and just about every API new or old, JNI doesn't
actually let you free NULL.

Change-Id: Idc79071a1b49735118e9a28d382f19b9b9d42b42
77d6154cc8c367ac95c7eaf5f91f09b87328fd97 01-Jul-2010 Jesse Wilson <jessewilson@google.com> Buffering the decoding of chunked encoding and HTTP headers.

Also cleanup of HttpConfiguration (renamed HttpConnection.Address),
including removing some dead code.

Also adding performance-run support to MockWebServer to permit
benchmarking.

I benchmarked different buffer sizes, and a buffer as small as 16 bytes
halved the runtime on some HTTP requests. Ultimately I chose a 128 byte
buffer, since that's the point of diminishing returns.

The following report shows benchmark results for 5 different buffer
sizes. Notice how our previous unbuffered behaviour was particularly
inefficient.

bodySize transferEncoding responseHeaders bufferSize ms logarithmic runtime
0 FIXED_LENGTH MINIMAL 0 5.44 =
0 FIXED_LENGTH MINIMAL 16 5.17 =
0 FIXED_LENGTH MINIMAL 128 5.06 =
0 FIXED_LENGTH MINIMAL 512 5.19 =
0 FIXED_LENGTH MINIMAL 1024 5.27 =
0 FIXED_LENGTH TYPICAL 0 14.61 ===========
0 FIXED_LENGTH TYPICAL 16 7.35 ====
0 FIXED_LENGTH TYPICAL 128 6.48 ===
0 FIXED_LENGTH TYPICAL 512 6.97 ====
0 FIXED_LENGTH TYPICAL 1024 6.92 ====
0 CHUNKED MINIMAL 0 5.72 ==
0 CHUNKED MINIMAL 16 5.26 =
0 CHUNKED MINIMAL 128 5.27 =
0 CHUNKED MINIMAL 512 5.16 =
0 CHUNKED MINIMAL 1024 5.31 =
0 CHUNKED TYPICAL 0 14.81 ===========
0 CHUNKED TYPICAL 16 7.30 ====
0 CHUNKED TYPICAL 128 6.62 ===
0 CHUNKED TYPICAL 512 6.51 ===
0 CHUNKED TYPICAL 1024 6.50 ===
1024 FIXED_LENGTH MINIMAL 0 5.47 =
1024 FIXED_LENGTH MINIMAL 16 5.40 =
1024 FIXED_LENGTH MINIMAL 128 5.43 =
1024 FIXED_LENGTH MINIMAL 512 5.40 =
1024 FIXED_LENGTH MINIMAL 1024 5.37 =
1024 FIXED_LENGTH TYPICAL 0 14.83 ===========
1024 FIXED_LENGTH TYPICAL 16 7.42 ====
1024 FIXED_LENGTH TYPICAL 128 6.50 ===
1024 FIXED_LENGTH TYPICAL 512 6.50 ===
1024 FIXED_LENGTH TYPICAL 1024 6.51 ===
1024 CHUNKED MINIMAL 0 6.12 ==
1024 CHUNKED MINIMAL 16 5.51 =
1024 CHUNKED MINIMAL 128 5.55 =
1024 CHUNKED MINIMAL 512 5.60 ==
1024 CHUNKED MINIMAL 1024 5.50 =
1024 CHUNKED TYPICAL 0 15.00 ===========
1024 CHUNKED TYPICAL 16 7.56 =====
1024 CHUNKED TYPICAL 128 6.86 ====
1024 CHUNKED TYPICAL 512 6.73 ===
1024 CHUNKED TYPICAL 1024 6.60 ===
1048576 FIXED_LENGTH MINIMAL 0 25.27 =================
1048576 FIXED_LENGTH MINIMAL 16 25.36 =================
1048576 FIXED_LENGTH MINIMAL 128 25.86 =================
1048576 FIXED_LENGTH MINIMAL 512 25.25 =================
1048576 FIXED_LENGTH MINIMAL 1024 32.51 ===================
1048576 FIXED_LENGTH TYPICAL 0 36.65 =====================
1048576 FIXED_LENGTH TYPICAL 16 27.43 ==================
1048576 FIXED_LENGTH TYPICAL 128 26.88 =================
1048576 FIXED_LENGTH TYPICAL 512 26.94 =================
1048576 FIXED_LENGTH TYPICAL 1024 33.13 ====================
1048576 CHUNKED MINIMAL 0 77.02 ============================
1048576 CHUNKED MINIMAL 16 51.32 ========================
1048576 CHUNKED MINIMAL 128 50.98 ========================
1048576 CHUNKED MINIMAL 512 51.82 ========================
1048576 CHUNKED MINIMAL 1024 50.40 ========================
1048576 CHUNKED TYPICAL 0 88.99 ==============================
1048576 CHUNKED TYPICAL 16 53.94 ========================
1048576 CHUNKED TYPICAL 128 53.03 ========================
1048576 CHUNKED TYPICAL 512 52.14 ========================
1048576 CHUNKED TYPICAL 1024 50.90 ========================

Benchmark source code is here:
http://code.google.com/p/dalvik/source/browse/trunk/benchmarks/regression/URLConnectionBenchmark.java

Change-Id: Ie3e754ab8497e6200f8b6e7f9c63c40a7d4784e2
fc9ed2bca23a06499930ea3c83e979e06f6a4e93 01-Jul-2010 Elliott Hughes <enh@google.com> Fix sim build (missing #include <string.h> for memcpy).

Change-Id: I0526f17796bc98e2099c4ba0576d00819418a0bb
0600a2397ab42b3a386d4104704087180b335fe2 01-Jul-2010 Elliott Hughes <enh@google.com> Merge "Part 2 of the "new String"/String.getBytes performance work." into dalvik-dev
df7a9bc6503f8c6952f43b25d0bde6e5d0e2cbed 01-Jul-2010 Elliott Hughes <enh@google.com> Part 2 of the "new String"/String.getBytes performance work.

I didn't plan on a part 2, but my benchmark was bogus. I'd failed to take into
account the fact that the ICU code (which I was comparing against) has a higher
intercept but lower slope than the Java I replaced it with. This new code
offers the best of both worlds: low intercept (start-up cost) and low slope
(per-byte/char cost).

The bad news is that this means I'm adding more native code. In addition to the
improved benchmark, I'll commit a benchmark that contains the pure Java
implementations so we can see when the JIT advances to the point that we can
retire this native code.

Change-Id: Ibac24c2e3deed216bd492acf2fac7554d3f96d85
c9dc0641dd2d96bf7b0b527ebd14c5dcbba7333c 01-Jul-2010 Brian Carlstrom <bdc@google.com> Trim BouncyCastle *-OpenSSL algorithms

These were not previously removed because they were believed to be part
of Android OpenSSL native implementation.

Change-Id: I6dd5eb22c5758f5337dae66669104ea6aa7b4234
5bf12677583725a111da0177f38ab3f4fccc728d 30-Jun-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into mm
8b53080c97b1c680153b0e784cd839c7b6363e21 29-Jun-2010 Brian Carlstrom <bdc@google.com> Fixes to support new dalvik.googlecode.com benchmarks

The following new benchmarks where tested with the below changes:
- DigestBenchmark
- MessageDigestBenchmark
- SSLSocketBenchmark
- SignatureBenchmark

Fix package name of OpenSSLProvider

luni/src/main/java/java/security/security.properties

Restore Java (vs OpenSSL) SSLSocket wrappers on SSLEngine for benchmarking

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLServerSocketFactoryImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLServerSocketImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketFactoryImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketInputStream.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketOutputStream.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketWrapper.java

Restore HandshakeProtocol.socketOwner code for SSLSocket to function

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHandshakeImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/HandshakeProtocol.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHandshakeImpl.java

Remove unneeded OpenSSLMessageDigestJDK.getInstance since these are
registered via OpenSSLProvider and SHA224 which is not part of the RI.
We had already removed the BouncyCastle version of this.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLMessageDigestJDK.java
luni/src/test/java/tests/targets/security/AllTests.java
luni/src/test/java/tests/targets/security/MessageDigestTestSHA224.java
luni/src/test/java/tests/targets/security/SignatureTestSHA224withRSA.java

Change-Id: I7daae7f0d9f50acad6df9157eac1b0133af83062
eeaf13a64985e37a370894baa8eacf5b340f460d 29-Jun-2010 Jesse Wilson <jessewilson@google.com> Eagerly read the chunked header when doing so (probably) won't block.

Some streams stop reading early, which was causing data corruption
(already fix) and preventing stream reuse (fixed in this change).

Change-Id: I7456306a6242a3269648a4309c49735a7fee29c9
http://code.google.com/p/android/issues/detail?id=7059
5a7702a10a7cbd3a745c73aa4dee94d108c6ae84 29-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing chunked encoding to throw proper exceptions on malformed input." into dalvik-dev
220c8798777f6e241b6e3178c65099a2a747a04b 29-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing chunked encoding to throw proper exceptions on malformed input.

http://code.google.com/p/android/issues/detail?id=4030

This moves ChunkedInputStream and three others to be top-level
classes. These classes stand-alone; and moving them removes
visibility of much inner state in AbstractHttpInputStream.

Change-Id: I7ffc5b0e020b4f5218aa64c5320be2bec8941f7e
2589b28a9fe0c68564434008073afea514ffcb82 29-Jun-2010 Elliott Hughes <enh@google.com> Merge "Stop using CharsetDecoder when reading JAR manifests." into dalvik-dev
db68b963090c25908afe83f8d7ac9331f4bb1af0 29-Jun-2010 Elliott Hughes <enh@google.com> Stop using CharsetDecoder when reading JAR manifests.

This gives us simpler code and a 2x speedup reading the JARs in
/system/framework. No new test failures.

Bug: 2772041
Change-Id: I750616923580196614d75db6e9e38984a66651f2
2ba1a08124ca36279aca35fa6c2d91ab525a0037 26-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing response cache and connection reuse for HTTP client.

The code splits our HTTP input streams into four (!) inner
classes. The base class takes care of ensuring split() and
single byte reads get cached and call disconnect() as necessary.
Our code closes the cache when the stream is exhausted; this
is different from the RI which closes it when in.close() is
called.

When a fixed length input stream of length 0 is received,
we cache it immediately. This has behavior consequences for
CONNECT, which needs the otherwise-recyclable connection to
stick around.

This adds explicit shutdown capabilities to MockWebServer.
This is necessary now that we don't guarantee all enqueued
responses will be requested.

We still need test coverage for malformed chunk sizes.

Change-Id: Iaf866af4fc1d76faea559df267a4bde6fdfa1d83
168bed09c14a0c6824629d27efd2eae3d2b56936 26-Jun-2010 Brian Carlstrom <bdc@google.com> Merge "Allow libcore test build to be skipped with environment variable LIBCORE_SKIP_TESTS" into dalvik-dev
b9204bd3eaa84e16fa59ee2d6d1ada9100e0644d 23-Jun-2010 Brian Carlstrom <bdc@google.com> Remove libcore's dependency on bouncycastle

external/bouncycastle
- Change to be the primary build for bouncycastle sources (as opposed to part of libcore)
- Moved OpenSSLMessageDigest from libcore to OpenSSLDigest
It uses NativeCrypto API from core, but implements a bouncycastle specific interface
- restored registration of bouncycastle MessageDigests for SHA-1, SHA-256, MD5
OpenSSLProvider versions take precedence, but explicit provider of "BC" allows choice
- enabled native versions of SHA-384 and SHA-512
- pruned MD4 implementation

frameworks/base
- frameworks and CoreTests modules now depend on bouncycastle
- update preloades classes for NativeBN package change
- moved CryptoTest to libcore

libcore
- core now builds without bouncycastle sources
- core-tests, core-tests-support, core-tests-supportlib now depend on bouncycastle
- removed libcore/openssl directory, moving NativeBN to java/math
- minor cleanup of Provider, Security, Services style while working on ProviderTest
- added new OpenSSLProvider registered as first provider to have
priority over the others to ensure our native implementations are used
- moved BouncyCastle to have priority as a provider over Harmony
- JarVerifier and JarUtils now implicitly use OpenSSLMessageDigest
- Cleanedup OpenSSLSignature, implementation needs to be finished to move to OpenSSLProvider
- To avoid using PEMWriter from BouncyCastle, NativeCrypto now takes binary encoded certs and keys
This is more efficient as well avoiding the base64 decode/encode of the binary data
- removed SHA-224 to match the RI

packages/apps/CertInstaller
- CertificateInstaller module now depends on bouncycastle
this is the only app to depend on bouncycastle

system/core
- updated BOOTCLASSPATH

Change-Id: I6205366b12baec4331b4a76e2c85d8324bf64b2c
5ec5a232fba91bcc355c17ae5d4f4b9b1ee1268b 26-Jun-2010 Elliott Hughes <enh@google.com> Merge "Improve a test for a bug I fixed in froyo." into dalvik-dev
b92bb3bf0d57ae5e021d6b6c346b7edd380cf095 26-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing the failure message when FileTest tests symlinks on FAT filesystems." into dalvik-dev
4955f2153178580bf7751796589e3e15fb4bd794 26-Jun-2010 Elliott Hughes <enh@google.com> Improve a test for a bug I fixed in froyo.

Although the way I wrote the corresponding code should mean that it can't be
broken for non-ASCII characters, it's probably worth testing them explicitly.

Change-Id: I685ed86916737578d00548479932f163dc251ed0
18571fa6de58059a4c4ce011657145e4c9606ae3 26-Jun-2010 Elliott Hughes <enh@google.com> Merge "Rewrite java.util.regex to use ICU's C++ API." into dalvik-dev
b432c79398f3b9f97a60518edb2e8fba121c3e7d 26-Jun-2010 Elliott Hughes <enh@google.com> Rewrite java.util.regex to use ICU's C++ API.

I've also removed a bunch of dead code and changed the interface to reduce the
number of JNI transitions. Error checking is more uniform, various special
cases have been removed, and we pass all the tests referenced by
libcore/luni/src/test/java/tests/regex/AllTests.java for the first time.

This should also be a stepping-stone to fixing http://b/2777924, removing the
need to copy the input string to the native heap.

Bug: 2587040
Change-Id: I62685a2384db441cd02df159e117187f3175e10d
15e573e6fdaaef76ebc390256d8fc9370774ec93 25-Jun-2010 Barry Hayes <bhayes@google.com> Merge "Remove the vmData field from java.lang.ref.Reference." into dalvik-dev
a53196763f380e3677945019ab2fa94e6e5926fd 25-Jun-2010 Elliott Hughes <enh@google.com> resolved conflicts for merge of c9796042 to dalvik-dev

Change-Id: Ie42dae730a32e3d6cb01df21b5827861329d06b3
b787b29fc7f2949d6202937e4704c725ebb5fa10 25-Jun-2010 Elliott Hughes <enh@google.com> resolved conflicts for merge of 57de69cf to master

Change-Id: Ic255dd6a9180503f62ff273747ee7aded136345c
94431c4e981c82231d7a25ca89f0a2c124f36a56 25-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix buggy PriorityQueue test. .remove() is NOT specified to throw a ClassCastException when provided an incorrect type. It simply returns false. Verified by testing with mode host in Vogar." into dalvik-dev
77f7ea781fd00c8568ec9faefbbdd8c9ea7f65cf 25-Jun-2010 Jeremy Sharpe <jsharpe@google.com> Fix buggy PriorityQueue test. .remove() is NOT specified to throw a ClassCastException when
provided an incorrect type. It simply returns false. Verified by testing with mode host in
Vogar.

Change-Id: Ia52395b18ca10e1ec436225f59f635dcb8d27164
f25412ea2ed247af5d2d929f3388ed5b8a95a1f9 25-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing the failure message when FileTest tests symlinks on FAT filesystems.

The problem is worked-around by invoking vogar using --device-dir /data/vogar

Change-Id: I0fbb65565e7524e865416c1905b3168dec7dfd05
4ae39348991cc50641e46a0ecd9106dc7e6ca132 25-Jun-2010 Elliott Hughes <enh@google.com> am 04dd0d65: Ensure that ReflectionSecurityTest gets run even without vogar.

Merge commit '04dd0d658d3c6a96162310e074417063c1e8ae1f' into gingerbread-plus-aosp

* commit '04dd0d658d3c6a96162310e074417063c1e8ae1f':
Ensure that ReflectionSecurityTest gets run even without vogar.
5e36d850b360538e0548b5d606b4abdc442e357b 25-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Scrubbing tests marked @BrokenTest." into dalvik-dev
07cfbc6d6cad58545e8931fa17b88b57da4fa79f 25-Jun-2010 Elliott Hughes <enh@google.com> am ee07e6ff: am be9d4118: am e6909635: Merge "Rewrite the dalvik 060-reflection-security test as a junit test." into gingerbread

Merge commit 'ee07e6fff5dc9e9fc0d023fc4e415bfacd67be0a' into dalvik-dev

* commit 'ee07e6fff5dc9e9fc0d023fc4e415bfacd67be0a':
Rewrite the dalvik 060-reflection-security test as a junit test.
e3f0ee2075efc85f081c4d0b77b2fb8ac7ed57ba 25-Jun-2010 Elliott Hughes <enh@google.com> am be9d4118: am e6909635: Merge "Rewrite the dalvik 060-reflection-security test as a junit test." into gingerbread

Merge commit 'be9d4118e4e37b64ec70ff3535c0d612d402c2d2'

* commit 'be9d4118e4e37b64ec70ff3535c0d612d402c2d2':
Rewrite the dalvik 060-reflection-security test as a junit test.
ce5ceca6d07de1b74a2460c84feaba91b13fc028 25-Jun-2010 Elliott Hughes <enh@google.com> Ensure that ReflectionSecurityTest gets run even without vogar.

Gingerbread probably won't use vogar for testing, so we still need to
reference tests in the AllTests tree.

Bug: 2796887
Change-Id: I34656984e5c9f85164ff281b68c496346c794a64
67b25a0ebb85ddcc219cf9c69e653859c81a915f 25-Jun-2010 Elliott Hughes <enh@google.com> am e6909635: Merge "Rewrite the dalvik 060-reflection-security test as a junit test." into gingerbread

Merge commit 'e69096353b08a8302df3bc566528e2ece33ce695' into gingerbread-plus-aosp

* commit 'e69096353b08a8302df3bc566528e2ece33ce695':
Rewrite the dalvik 060-reflection-security test as a junit test.
0510487010e11f16823713ae48bf6458037f7ce6 25-Jun-2010 Elliott Hughes <enh@google.com> Merge "Rewrite the dalvik 060-reflection-security test as a junit test." into gingerbread
26583e73142df41fcb03106f86fe795587e1b079 25-Jun-2010 Jesse Wilson <jessewilson@google.com> Scrubbing tests marked @BrokenTest.

This rearranges the security test support infrastructure. We no longer
rely on many top-level classes defined in CipherHelper.java to provide
test support. Instead these each have their own top level class in our
test support package: support/src/test/java/tests/security. Similarly
for abstract classes intended to be subclassed by cipher-specific
tests.

Other test methods that were duplicated in Harmony have been removed.
We need to pay closer attention to Harmony failures because they are
now our only source of coverage for some of these tests.

Change-Id: I1a1ca8a046bc9b6a33d5fa3f55fecc0d39f72c16
d21efb51749730515f412ad88b33a5c52f673e92 25-Jun-2010 Elliott Hughes <enh@google.com> Rewrite the dalvik 060-reflection-security test as a junit test.

Note that the expectations here are slightly different from the original
dalvik test. This test passes on the RI, where checkPermission doesn't
appear to be called.

Bug: 2796887
Change-Id: I54d979e5d5d6370d7e97e1989c091f7f6b3db770
20ca111bef7a6f810fcd2d28cfe0793a1baa03a6 24-Jun-2010 Elliott Hughes <enh@google.com> Fix String.replace("", _).

Bug: http://code.google.com/p/android/issues/detail?id=8807
Change-Id: Id587df266a547ff17db4dbb32493bed394a7c51e
fcb454d17c5df16f52a0feb2e4aa264780eb4fa0 24-Jun-2010 Elliott Hughes <enh@google.com> Merge "Use Charset.defaultCharset() instead of "file.encoding"." into dalvik-dev
449f12bb262e8d9466d9afe2577f458d568510d9 24-Jun-2010 Elliott Hughes <enh@google.com> Use Charset.defaultCharset() instead of "file.encoding".

It's cheaper, simpler, and we've already found that all bets are off in the RI
if you try to change "file.encoding" at runtime anyway (in terms of whether any
given class notices the change).

Also revert a premature optimization that breaks tests; saving a single
comparison before calling code that takes tens of microseconds is
counterproductive. (I have a bug to make that code faster, but it's never
going to be fast enough to worry about a single comparison.)

Also use the canonical name of ISO-8859-1, and use Charsets.UTF_8 in yet
another place I missed.

Change-Id: Ic15c2bae2f2ed57968ee7e34652f564a1420b458
bd80b50c42be42934e3e28201f3478a25db922a8 24-Jun-2010 Brian Carlstrom <bdc@google.com> Allow libcore test build to be skipped with environment variable LIBCORE_SKIP_TESTS

Change-Id: I108f731c55e2ccff6fbe201614a169f89431a720
6b3ec5608ee1b006a2f2c73e427b0b5fd7a53fe7 24-Jun-2010 Elliott Hughes <enh@google.com> Fix build.

Change-Id: I468ea840f098f3c119ce01227151e86ba3fb5d90
5cd1b32e144f4ec2c2d33f7fe4dbbd0b7f2ab2f9 24-Jun-2010 Elliott Hughes <enh@google.com> A couple of intention-revealing renames I missed in the last commit.

Change-Id: Ifb16948b201d3f5e2359550d36ef66b213b0ac4c
19af2cc8fdf90e6c5e199945d5b5d54f12972a1d 23-Jun-2010 Elliott Hughes <enh@google.com> Add TimeZones.forLocale, plus some tidying.

The new feature here is TimeZones.forLocale and the accompanying JNI. I've also
taken the liberty of pulling the time zone stuff out of ICU.java and ICU.cpp,
and I've moved some of the ICU-related code I've written recently (NativeIDN,
NativeNormalizer, and NativePluralRules) into a new libcore.icu package.

I've also renamed various things so the implementation details use the same
terminology as the thing they're implementing.

Bug: 2790386
Change-Id: Ie39a2f5f7023e8e29864de15790be8a660f5cba6
ccc4f78e4ceb842669aed43baf9d64181c09ea74 23-Jun-2010 Barry Hayes <bhayes@google.com> Remove the vmData field from java.lang.ref.Reference.

It is no longer needed.

Change-Id: If0e8ff7438c31cc2f88be401d826b0efba308ff1
a05721cd09ced47447dc5fb47fb63d0495fbffea 23-Jun-2010 Elliott Hughes <enh@google.com> Add an expectation.

Change-Id: Ic28d57e90e36cbb40b66393acc53296d75d77277
af7bdde6cdfced083065ec9d1bd7c256e08e8209 23-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing various test failures in Harmony's ArrayListTest." into dalvik-dev
ee9ef8d6f187920ed88c13917e98e9de1fd84449 23-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing various test failures in Harmony's ArrayListTest.

Alongside this are some fixes to Harmony's test, which is too
aggressive about checking that exceptions have messages.

Change-Id: I1b71066d89855770d3f733e4065bd62050b0cb91
d08ef07d8cae228d64e3a2078d5c1411a8e65eeb 23-Jun-2010 Elliott Hughes <enh@google.com> Fix Math.atan2 documentation.

The StrictMath.atan2 documentation is already correct.

Bug: http://code.google.com/p/android/issues/detail?id=9260
Change-Id: Ibd86cf7fe73a120578840dce4126a902a827fb40
d78b74757cc47cf540e1a9ae32f86c06cb554d93 23-Jun-2010 Elliott Hughes <enh@google.com> Improve Formatter exception detail messages and fix test expectations.

Bug: 2788945
Change-Id: I959df2c338a4d85497a23705b553f0c749ef1070
8b9abb2ac854a94edc72c8fb931a4f979f88f113 23-Jun-2010 Elliott Hughes <enh@google.com> Merge "Minor java.util.regex.Pattern documentation fixes." into dalvik-dev
a3d645fdd806575ac6e3ba6d089522ce9af61096 23-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing duplicate tests in org.apache.harmony.luni.tests.java.util" into dalvik-dev
769f59910ab698ab8e9d45e7c14f6904ca192318 23-Jun-2010 Jesse Wilson <jessewilson@google.com> Removing duplicate tests in org.apache.harmony.luni.tests.java.util

Change-Id: I0144c425cc36769d5a84e5125a2567b702b585cf
e6cacd93261e2549c89b8fab5c837fb15b153497 23-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing ProcessBuilder.environment() to maintain a mutable copy." into dalvik-dev
8caeeb6be637b88b69f885e4dc5802d82663ac6f 23-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing ProcessBuilder.environment() to maintain a mutable copy.

Previously we were failing with "UnsupportedOperationException: Can't modify environment"
when trying to set the env on a forked process.

Change-Id: Id42b7d431574925bc29a2bd4e16667f3cca5fdb5
7dc9cfdfa652a09020afac5427ecba176fede013 23-Jun-2010 Elliott Hughes <enh@google.com> Minor java.util.regex.Pattern documentation fixes.

Change-Id: If6a4afc8c9365cfce42fcaef00f19b0597a068bf
776421bc29efb7c63d51c5e754863c98d9432538 23-Jun-2010 Elliott Hughes <enh@google.com> String should throw UnsupportedEncodingException if Charset.forName fails.

Bug: 2788958
Change-Id: I1be003c58338a63c34294dfe0498c3f5ede10996
e018f8e057e7b4afe415e0544e1d178655ad586f 23-Jun-2010 Elliott Hughes <enh@google.com> Merge "Stop using GetStringChars/ReleaseStringChars." into dalvik-dev
14fba0f8d52e4c96bdcb845fb14bc20cb00ffb31 22-Jun-2010 Elliott Hughes <enh@google.com> Stop using GetStringChars/ReleaseStringChars.

Also fix unused variable warnings in "ExpatParser.cpp".

This fixes one actual bug in the regular expression code where we weren't
returning after throwing an exception from JNI, in a case where executing
the remaining code in the native method would cause a crash.

Change-Id: Ib5ce7ea9a3b6476cf47bda2384d5ba43579c785a
fcf72f26a930085569ed6722945c9653bcf68cea 22-Jun-2010 Brian Carlstrom <bdc@google.com> Merge "add test to validate Provider properties" into dalvik-dev
4796a9d9c2163ff9e8d9e6519885b1a69e1db4c2 22-Jun-2010 Brian Carlstrom <bdc@google.com> add test to validate Provider properties

Change-Id: I9b3493f9cdd531cbb6bf416b2b6b8731e7511f7e
d89db33fc2b43181815e2bc80e57137d5d57ad1b 22-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing some test suppressions.

Removing tests duplicated with Harmony. Tests methods in such test classes
are moved to their own test classes in our test tree.

Removing all Pack200 tests; these don't make sense on a dalvik vm.

Change-Id: Ia2f6a542b4e3e3b50962c83dc2700bd4ee07f363
08096e816f67c7aeccd9e96ac9eb936286cf00fe 22-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Deduplicating failed tests in org.apache.harmony.luni.tests.java.lang." into dalvik-dev
1daeb6ce938c6e9960a2ff75c55e2baede3b90c8 22-Jun-2010 Jesse Wilson <jessewilson@google.com> Deduplicating failed tests in org.apache.harmony.luni.tests.java.lang.

Some tests were copied from Harmony and fixed in Dalvik. I've applied
fixes in our SVN copy of Harmony and removed the duplicate copies here.

Also improving error reporting for missing resource files. Some of our
serialization tests were failing due to missing files; the corresponding
Harmony tests succeed.

Change-Id: I73872b03674f8731ff237f575dcda66f9d53c06a
ee0250e259bcc7433649c28aec8cdcd0dbad4ef7 22-Jun-2010 Brian Carlstrom <bdc@google.com> Merge "Move IndexedPKIXParameters from external/bouncycastle to libcore to avoid cyclic build dependency" into dalvik-dev
d8ac8aef574177dcfb09c330d98f9f9c3c1f78a8 22-Jun-2010 Elliott Hughes <enh@google.com> Make valgrind stack traces more readable by using better names.

Change-Id: I91e79a07207bb8cc4ae1a58f9d1c28af2bb56a22
fe62df5a6a1c9da4acc3ddcd0dd3cd7ebb1a7d1b 22-Jun-2010 Elliott Hughes <enh@google.com> Stop using CharsetEncoder in File.newCString.

Also reuse Charsets.UTF_8.

Bug: 2772041
Change-Id: Ie1e910b519b365eb581b22b147bb97c5faf74b65
38bb3431a5e2af1164ced6a90141ff6ea0c56f82 22-Jun-2010 Elliott Hughes <enh@google.com> Fix build.

libcore/luni/src/main/native/org_apache_harmony_xml_ExpatParser.cpp: In function 'char* cloneStrings(const char**, int)':
libcore/luni/src/main/native/org_apache_harmony_xml_ExpatParser.cpp:1237: error: 'env' was not declared in this scope

While I'm here, I've inlined cloneStrings into its sole caller (where,
conveniently, 'env' is available).

Change-Id: I9cc5b5946e7ad636cf8ff938cac77411f21f3b99
98ae8fe69c782b0d5e1553e44d2311c5b482b03d 22-Jun-2010 Elliott Hughes <enh@google.com> Switch Base64 over to Charset.

Using Charset is faster and removes the need to handle impossible run-time
errors.

Change-Id: I0d0531b5f2c296725aa97ce4258264c694f640a5
946ba3ef740a4c7ceb95fbd0d3cb017b941661c0 22-Jun-2010 Elliott Hughes <enh@google.com> Merge "Simplify resource management in ExpatParser's JNI." into dalvik-dev
8c6981b0deab5dfbb646f56ce122af9bf80f057b 22-Jun-2010 Elliott Hughes <enh@google.com> Simplify resource management in ExpatParser's JNI.

valgrind complained about calling free(3) on a pointer allocated by new.
Tidy this code up to be a little more C++-like. valgrind appears happy now,
but there shouldn't be any functional changes.

Bug: 2785827
Change-Id: Ibbb79d52c7707ff6f86cc7444e00115c1b89b687
db753f9f55f9c44231d31dac5570933e1c751383 22-Jun-2010 Brian Carlstrom <bdc@google.com> Move IndexedPKIXParameters from external/bouncycastle to libcore to avoid cyclic build dependency

Change-Id: I65292321560c9f4551dc79fc7c6795f093638bbf
23089b605efab3e49a89401495a5e5bcaffca962 22-Jun-2010 Brian Carlstrom <bdc@google.com> Merge "Move StandardNames from javax.net.ssl package to the more appropriate java.security" into dalvik-dev
e8ff8d486c71f45802b597ef5def7b07bf180717 21-Jun-2010 Brian Carlstrom <bdc@google.com> Move StandardNames from javax.net.ssl package to the more appropriate java.security

Change-Id: I7ef73ae164fa001f279e8229b4869e72fd5a3a7d
d5f11e189da731b121af96b392274b02a8afe875 21-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Moving Android-authored test to our test tree." into dalvik-dev
663ece3de47c68ca704e1eb69f3a9bde8c53fe92 21-Jun-2010 Brian Carlstrom <bdc@google.com> Merge "Updating StandardNames for updated bouncycastle that is closer to the RI" into dalvik-dev
20f389877dc1c7d31d973124b29eabc46757c185 21-Jun-2010 Jesse Wilson <jessewilson@google.com> Moving Android-authored test to our test tree.

Change-Id: Icfca02a4afe8a0de1b96fdcde139a84ea28ed4c2
a3094f99cd2218afe9bc0c8f51e4b9e7701f4427 21-Jun-2010 Jean-Baptiste Queru <jbq@google.com> am 5b1fb173: resolved conflicts for merge of c4c9ba1d to master

Merge commit '5b1fb17362830a90aff5a9a5ad41d13a39bc7533' into dalvik-dev

* commit '5b1fb17362830a90aff5a9a5ad41d13a39bc7533':
New implementation for java.lang.Runtime's availableProcessors().
65c5274e34fa0df3515e40b3b1b013daeb3ace3a 21-Jun-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of c4c9ba1d to master

Change-Id: I9103e220058fbc348b821f321b5761ffd2d5800c
d71df426fa3a4fe48fe1b526d597ebf5c072b83e 21-Jun-2010 Brian Carlstrom <bdc@google.com> Updating StandardNames for updated bouncycastle that is closer to the RI

Change-Id: I684a4c99ab70855d7bf86c1825bdede6b2727d39
77e1a52f5c6eeaa20fc1694d143e5d8e9a08d0c8 21-Jun-2010 The Android Open Source Project <initial-contribution@android.com> merge from froyo-plus-aosp

Change-Id: I4ecdeaaaa39595ceff56f27aaadb20c50b0cf8be
bc88db571e67f901bbac4478666b925f6e86edef 20-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing URLStreamHandlerFactoryTest to be side-effect free.

This test was breaking the VM for subsequent HTTP tests.

Change-Id: I4542a97a8a9d438f478b111b5576b134461053bb
2fbf08b0524a731bd55e2b955c4908dcf26372dd 19-Jun-2010 Elliott Hughes <enh@google.com> Merge "Add support for ICU's PluralRules." into dalvik-dev
2e06c445a2b459a539a695f39653a01700d0a771 18-Jun-2010 Elliott Hughes <enh@google.com> Add support for ICU's PluralRules.

Note that this doesn't address the original submitter's complaint: ICU agrees
that zero isn't a special case in English. What this does is allow us to fix
getQuantityString to work with languages other than English and Czech (which
currently have hard-coded implementations in frameworks/base).

Bug: 2663392
Change-Id: I4cf80a61cd5183636381511d6b860d2059f788ee
2dd1482394d1160ca8f59fa616c8ca86c08a30ff 19-Jun-2010 Brian Carlstrom <bdc@google.com> Merge "javax.crypto tests moving to vogar" into dalvik-dev
55fa8f55f42f45ecab2b97e609c411e08b863534 18-Jun-2010 Brian Carlstrom <bdc@google.com> javax.crypto tests moving to vogar

Tested these with the coming BouncyCastle 1.45 upgrade.
Confirmed the failures happen on continuous build before the upgrade.

Change-Id: Idbd08d1641dbba9297840105ac018353dad5205a
5a3a6ec7dbebb54a86f6c978e275ddc89fea862c 18-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Implementing ZoneInfo.hasSameRules()." into dalvik-dev
47697f08b8c4f77892b1906ece7f9ea6f5847dcc 18-Jun-2010 Jesse Wilson <jessewilson@google.com> Implementing ZoneInfo.hasSameRules().

Moving TimeZoneTest to OldTimeZoneTest and removing test methods
that are duplicated between libcore and Harmony.

Also adding Objects.equals() to make implementing this easy,
and removing redundant time zone tests. I did a few searches
to find candidate code that could take advantage of this new
utility method and adopted it there.

Change-Id: I133298f1b36d755bd35c1ad0dc0ab366fd164270
29fb622222bf1ade22bfc61c683086a13dea836b 18-Jun-2010 Brian Carlstrom <bdc@google.com> Merge "Remove targets.*" into dalvik-dev
b4be0efe46d818af7ae0becbac651c7c8e3e03b5 18-Jun-2010 Brian Carlstrom <bdc@google.com> am 845cc081: libcore/luni/src/main/java/org/bouncycastle moved to external/bouncycastle/src/main/java/org/bouncycastle

Merge commit '845cc0816af30c6753dee2fb33f8c3ece638bd66' into dalvik-dev

* commit '845cc0816af30c6753dee2fb33f8c3ece638bd66':
libcore/luni/src/main/java/org/bouncycastle moved to external/bouncycastle/src/main/java/org/bouncycastle
1f17d46774f4f493426825ba4448dfbaaaa4a3e8 18-Jun-2010 Brian Carlstrom <bdc@google.com> Remove targets.*

Change-Id: I9b795477fb1f64f613c2d7cc48476284702fd429
b9c420e17026da54b757142df0e85c305553e2be 17-Jun-2010 Brian Carlstrom <bdc@google.com> libcore/luni/src/main/java/org/bouncycastle moved to external/bouncycastle/src/main/java/org/bouncycastle

Change-Id: I288db1607ad6f45dea71e7496d4d94c9707779f6
b824214c64eb7ba6f3876ada5495888577d829be 18-Jun-2010 Brian Carlstrom <bdc@google.com> Enable UTF-8 in libcore Java source

Bouncy Castle has UTF-8 javadoc, but we also want this for character examples

Change-Id: I734890ddafc49bcf2ce71c60947e9cf4c95712b2
72338badf181922ac1dbe93ca34144e21b26b928 18-Jun-2010 Brian Carlstrom <bdc@google.com> Add ProviderTest to verify expected algorithms from register Providers

This works on RI 6 but fails on with our version of BouncyCastle
derived from 1.34 because of the one missing class
org.bouncycastle.jce.provider.JCEMac$ISO9797_DES

It is still useful because it fixes the list of algorithms in
StandardNames to make sure we don't unintentionally add or remove
algorithms when we upgrade to BouncyCastle 1.45.

Change-Id: I51e42a59505797d823004a798413ee2299bd163f
d65d08c212663424c78717dd89243416077303c7 18-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing various problems with HTTPS proxies thru HTTP." into dalvik-dev
fd7fca42da929e0708808cf7e02e6c8ada630a42 18-Jun-2010 Elliott Hughes <enh@google.com> Merge "Minor bidi tidying." into dalvik-dev
bfd0c65194ed51ddeb525bbcdf0b20bd9ce77f75 18-Jun-2010 Elliott Hughes <enh@google.com> Minor bidi tidying.

Fix the bidi code to consistently use finally blocks to ensure we can't
leak native UBidi objects. Rename BidiWrapper to NativeBidi since it isn't
a class with a finalizer that wraps a UBidi: it's just a namespace for static
native methods.

Also remove the useless public constructor from NativeCollation.

Bug: 2772065
Change-Id: I441ff4811bb66c37daf270d74d5403b9848cce90
2686bb4494080250039d9c7cfbb15bb0515fa979 18-Jun-2010 Brian Carlstrom <bdc@google.com> Merge "libcore/luni/src/main/java/org/bouncycastle moved to external/bouncycastle/src/main/java/org/bouncycastle" into dalvik-dev
4cfb6f7d4ae602caf2b1bc88e454058e5be7f3e5 17-Jun-2010 Elliott Hughes <enh@google.com> Merge "Rewrite FileDescriptor and ProcessManager's JNI in terms of JNIHelp.h's API." into dalvik-dev
83811325d318a40acf98576bc850b860d203d1e4 17-Jun-2010 Elliott Hughes <enh@google.com> Rewrite FileDescriptor and ProcessManager's JNI in terms of JNIHelp.h's API.

This lets us remove JniConstants::fileDescriptorClass and rely on the cached
jclass in JNIHelp.c.

Change-Id: Ie9b067113050e95413c28befe0143a8bbf2113de
9ef1e4ca2bb416c71cbe04ef3a02ec297bb38dc9 17-Jun-2010 Brian Carlstrom <bdc@google.com> libcore/luni/src/main/java/org/bouncycastle moved to external/bouncycastle/src/main/java/org/bouncycastle

Change-Id: Ic8d81f1c057458e9fdf9b648c9d976a552b785b8
89de8f558a074e15e95b13fb1db9579de7821b66 17-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "We have a bunch of bogus tests that were failing in both dalvik and the RI." into dalvik-dev
ce9188064165114bf30022b132450e181a33ddb9 17-Jun-2010 Jesse Wilson <jessewilson@google.com> We have a bunch of bogus tests that were failing in both dalvik and the RI.

These tests are duplicates of Harmony tests; I'm going to remove them here
and then fix the problems in Harmony's suite.

Change-Id: I57bd38d03fd4839f7f4f531b66202e67a643d72e
fea4ea3b6683b1969ab8265771ac32efd3d2d2b6 17-Jun-2010 Elliott Hughes <enh@google.com> Merge "Remove dynamic calls to FindClass." into dalvik-dev
ed0df2f36cf6397d98c6f34b1f0d2c811826eac8 17-Jun-2010 Elliott Hughes <enh@google.com> Remove dynamic calls to FindClass.

Initially, I was just fixing a threading bug in NativeDecimalFormat.cpp where
we were bypassing GCC's built-in static initializer thread safety. This led me
to the question of how expensive FindClass is, which led me to creating a new
canonical cache of jclasses.

Here's the motivating benchmark, showing the cost of calling an empty regular
(non-native) method, an empty native method, a native method that calls
FindClass, a native method that calls FindClass and GetFieldID, and a native
method that calls FindClass and GetMethodID:

benchmark ns logarithmic runtime
NoArgsRegular 74 ||||||||||||||
NoArgsNative 428 XX|||||||||||||||||||
FindClass 3064 XXXXXXXXXXXXXXXX|||||||||||
FindClassGetField 3654 XXXXXXXXXXXXXXXXXXX|||||||||
FindClassGetMethod 5634 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Change-Id: I41ab2b347895f043a7e21d8fa19e4541e198c3fc
fce0d8beb38009fdd7c468998f35cd37f101ff36 17-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing dead classes from AllTests." into dalvik-dev
e4f93c5bef7683d721be0c40ac65548684f6301a 17-Jun-2010 Jesse Wilson <jessewilson@google.com> Removing dead classes from AllTests.

Change-Id: I676da29cbf9cbf3ac528a950d679c51fdd74975d
7750b15e0cb6ca15e5bc1e6e179870faffa6006d 17-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing SerializationStressTests that are duplicated from Harmony." into dalvik-dev
707c389af493ff4c675e3176d71b0698031c00ec 17-Jun-2010 Jesse Wilson <jessewilson@google.com> Removing SerializationStressTests that are duplicated from Harmony.

These tests are out of date and Harmony has a more correct copy.

Change-Id: I573310e126991ce264811a96d0aa6468f7979bbf
ce1e458eaecec37f2bd7413cc518149dcc33236a 16-Jun-2010 Elliott Hughes <enh@google.com> Merge "Apply harmony patch for https://issues.apache.org/jira/browse/HARMONY-6271." into dalvik-dev
2797b9c47b1aaac5b7a12c8ae4bb522131bd5127 16-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 32a84bfe: am 65bfb219: am 7983be97: Sprinkle BlockGuard checks on DNS lookups.

Merge commit '32a84bfee7611f4553de46465a7fc00ecff99b81' into dalvik-dev

* commit '32a84bfee7611f4553de46465a7fc00ecff99b81':
Sprinkle BlockGuard checks on DNS lookups.
e310151d434dd49dd3f4eb4af5ade6aa1d87ce6c 16-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 65bfb219: am 7983be97: Sprinkle BlockGuard checks on DNS lookups.

Merge commit '65bfb2194248a27d8bf35b39c9d0e234fd329d7d'

* commit '65bfb2194248a27d8bf35b39c9d0e234fd329d7d':
Sprinkle BlockGuard checks on DNS lookups.
e158cd0fccadafc22af9d97846d3c725ca163828 16-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 7983be97: Sprinkle BlockGuard checks on DNS lookups.

Merge commit '7983be972905950b4a4e7d66df908f083c81ee29' into gingerbread-plus-aosp

* commit '7983be972905950b4a4e7d66df908f083c81ee29':
Sprinkle BlockGuard checks on DNS lookups.
74b3498b6e34cf4ce6d8aacf58cbf2dd39f480da 16-Jun-2010 Elliott Hughes <enh@google.com> Apply harmony patch for https://issues.apache.org/jira/browse/HARMONY-6271.

Bug: https://issues.apache.org/jira/browse/HARMONY-6271
Change-Id: I6d6be2fa89ebbe4b759420edf17418af9cea9d4d
4bf800a5ffc6c4b9fb705cc3f4d0980b3991f6e2 16-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Sprinkle BlockGuard checks on DNS lookups.

Change-Id: Ib1ac2ce633fc1277ab8b6f11da37a739d0995cfe
2cbc35f74f1b3888c655b68c1a186be8da4d08db 16-Jun-2010 Brian Carlstrom <bdc@google.com> Change openssl related tests to be runable with vogar as opposed to run-core-tests

external/openssl/README.android documents tests for checking for
regressions on openssl upgrades and changes. That documentation is
being updated from using run-core-tests to vogar. This CL fixes the
tests to work with vogar, specifcally:
- remove AllTests
- Fix HttpsURLConnectionTest to not modify default HostnameVerifier
- Removed SideEffects annotation from HostnameVerifierTest now that HttpsURLConnectionTest is fixed

Change-Id: Ie5908dfe8c61a1b806ffaf344b851ff25495ebcb
32ed4e9f7337204f811897ceaaedda41a5b8ffbe 16-Jun-2010 Brian Carlstrom <bdc@google.com> Merge "Update run-core-tests classpath" into dalvik-dev
04fe3ea720d3c923a7a1cdd2a809510d641f3f29 16-Jun-2010 Elliott Hughes <enh@google.com> Use Integer.valueOf rather than "new Integer" (et cetera) from JNI.

Also factor it out rather than keep duplicating it.

Change-Id: I6349668f4676f1e0a7dd6fdc101dd1784c5465fb
62c2583cde95777fed8354f336d89794b976d877 16-Jun-2010 Elliott Hughes <enh@google.com> Use ServiceLoader in Charset.

Also more internal tidying to remove unnecessary levels of indirection, and
reduce the amount of time we spend under a lock in forName and friends.

Bug: 2567593
Change-Id: I1a309d8b685fe1b78eec6b94114061407dd382ae
d9b79516d758796c4a7ccaa51b0743b65dfc5e28 15-Jun-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I761577485f193896f1e72ed97011b7743fecaec1
40363a81743f9495ea0bed20452c7b2b32ee9e0c 15-Jun-2010 Elliott Hughes <enh@google.com> Remove a duplicate expectation.

(Maybe vogar should make this a loud warning rather than a failure?)

Change-Id: I9f178348c0ecbb432b26e3c98a5fb7b388a95ebc
dcdf2d23b383a13a8dd81f14198d7345fd4a09f2 15-Jun-2010 Brian Carlstrom <bdc@google.com> Update run-core-tests classpath

Change-Id: Ie5a988f01eacec67717cf1d529f7d0cd538e874c
fb9c6c0e8b2f85f41366e96e83eb20b6393b29c2 15-Jun-2010 Elliott Hughes <enh@google.com> More test expectation fixes.

Add three more broken tests, and fix expectations that used '.' instead of '#'.
It would be nice if vogar would warn about non-pattern test names that aren't
actually found in the test suite.

Change-Id: I07d460744a8d9e40364b6d36b25da8e3d569fdb5
10f783b096f4dbec3b11d54a992782fd7b9b1a18 15-Jun-2010 Elliott Hughes <enh@google.com> Merge "Various broken tests." into dalvik-dev
5737dfa4ad2f84f969a3e962279897b243a96b33 23-Mar-2010 Mikael Ohlson <mikael.ohlson@stericsson.com> New implementation for java.lang.Runtime's availableProcessors().

This patch adds a native implementation for availableProcessors(),
replacing the hardcoded "always return 1" implementation.

It uses sysconf(_SC_NPROCESSORS_ONLN) to get the number of online
processors.

Signed-off-by: Christian Bejram <christian.bejram@stericsson.com>
450007470158b91d740980408297ca585a895a0b 15-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing various problems with HTTPS proxies thru HTTP.

- reading extra bytes from the server depending on available()
- not sending the port with the proxy request
- returning a read-til-the-end stream instead of a read-0-bytes-stream
on CONNECT requests
- fixing MockWebServer to omit the unnecessary \r\n after
the response body
- tests no longer mask the issue by unambiguously reading characters.
Trailing newlines aren't discarded!
- New tests when content-length and content disagree. The RI fails
the test when the transfer-encoding is not chunked.

Change-Id: I888569844d323bc770cd5bb95ac71c740dd5e720
43c3548ea3af4cfca2fa19e12f3f85d3ae311077 15-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am a34eaa0b: Fix merge from Gingerbread which broke the build.

Merge commit 'a34eaa0bf798bd8816c4a4d946e4e4878cc46abd' into dalvik-dev

* commit 'a34eaa0bf798bd8816c4a4d946e4e4878cc46abd':
Fix merge from Gingerbread which broke the build.
cd0b2482c20a71e56b1be7a6b5735631b3601eed 15-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Fix merge from Gingerbread which broke the build.

The INetworkSystem interface has changed in master.

Change-Id: I7ab850821ba5c9e98124216dd66265570afa5196
6fcc55c84dcb60e85b51370e92f7188f61bff423 15-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am d3ff6bb5: am 2eed1da5: am b5e5b53f: Merge "Add WrappedNetworkSystem to Blockguard for StrictMode work." into gingerbread

Merge commit 'd3ff6bb57d2e86bfac9bb3c958d98bb0d371714c' into dalvik-dev

* commit 'd3ff6bb57d2e86bfac9bb3c958d98bb0d371714c':
Add WrappedNetworkSystem to Blockguard for StrictMode work.
97f5753b9e8c3acf25c62db3571183c20965c815 15-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 2eed1da5: am b5e5b53f: Merge "Add WrappedNetworkSystem to Blockguard for StrictMode work." into gingerbread

Merge commit '2eed1da5004c1f014c39f191a863c638a931cb66'

* commit '2eed1da5004c1f014c39f191a863c638a931cb66':
Add WrappedNetworkSystem to Blockguard for StrictMode work.
c3d43ed816cc239f77c0ae81ec6878ca98749ff5 15-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am b5e5b53f: Merge "Add WrappedNetworkSystem to Blockguard for StrictMode work." into gingerbread

Merge commit 'b5e5b53fd0ab8f2cefdf8ec40e36d8e763fb7694' into gingerbread-plus-aosp

* commit 'b5e5b53fd0ab8f2cefdf8ec40e36d8e763fb7694':
Add WrappedNetworkSystem to Blockguard for StrictMode work.
f8c77c28f535435c85d71593bdc64867bc976de9 15-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Merge "Add WrappedNetworkSystem to Blockguard for StrictMode work." into gingerbread
b4c57638ef70b65218ad693e27576b2956e82399 15-Jun-2010 Elliott Hughes <enh@google.com> Various broken tests.

I'll commit a vogar bug fix to the public repository too.

Change-Id: I3c18a1b8f74303aab65f67940ff41539f9620df1
45e0d36039654951656e7d53454e5bcf3fb23779 15-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Add WrappedNetworkSystem to Blockguard for StrictMode work.

Change-Id: Idde4b6f878fad5e8bd90fa929cb434c9a130fbcb
739c288afd998e48d5f961cb36238c8beec6fb28 15-Jun-2010 Elliott Hughes <enh@google.com> Merge "More charset-related cleanup/optimization." into dalvik-dev
b1310d08ecb73f16402f916eb3156a6d115b82c8 15-Jun-2010 Elliott Hughes <enh@google.com> More charset-related cleanup/optimization.

This patch adds a Charsets class that lets us avoid a hash lookup and an extra
level of method call indirection when calling String.getBytes or "new String"
for a well-known guaranteed charset. It also fixes callers to take advantage.

This also adds a special case to "new String" for the UTF-8 charset to avoid
needless duplication if we guessed the correct buffer size (which we will for
input that happens to be US-ASCII too).

The ModifiedUtf8 class gives a more meaningful name for Utils.convertUTF8WithBuf.

This also removes a dead link and un-tinyurl'ed another.

Change-Id: I02712f53dee16feb3b1db2c14536dc055126cd04
d21d6684543aa37eeaa27a0eaeaac995482363e4 14-Jun-2010 Elliott Hughes <enh@google.com> am 3c998caa: resolved conflicts for merge of 637d3aef to master

Merge commit '3c998caacc0ded3b97e0c53b039a30cde2b27389' into dalvik-dev

* commit '3c998caacc0ded3b97e0c53b039a30cde2b27389':
Make System.setSecurityManager throw in the actual gingerbread.
f11f4103ef863053313e5d97e78fdd0fd532af4d 14-Jun-2010 Elliott Hughes <enh@google.com> resolved conflicts for merge of 637d3aef to master

Change-Id: I025453c1064214ce2707239437b8c752b920e776
8c9ee4e81331e7f347a5f62117c56480faf70737 14-Jun-2010 Elliott Hughes <enh@google.com> am bea3f6b6: Make System.setSecurityManager throw in the actual gingerbread.

Merge commit 'bea3f6b6201e37f1acd31eb2a8f9aeebf40b3302' into gingerbread-plus-aosp

* commit 'bea3f6b6201e37f1acd31eb2a8f9aeebf40b3302':
Make System.setSecurityManager throw in the actual gingerbread.
796d1a6b2f75bf9af3fd7b39429521f3dfb7014b 14-Jun-2010 Elliott Hughes <enh@google.com> Make System.setSecurityManager throw in the actual gingerbread.

We thought we'd done this in gingerbread, but what gingerbread is changed
under out feet. There's no expectations files in the new gingerbread, so
I'll make the corresponding change in master. (Master currently expects
UnsupportedOperationException, despite the fact that master has already
been changed to throw SecurityException.)

Bug: 2585285
Change-Id: I8044b1f36b51307a24b012a6de8da848a9fabfae
eb95335dbeff26c4690d5beb60af26aa83f33e17 14-Jun-2010 Elliott Hughes <enh@google.com> am 44e44644: Fix our expectations to match the acutal exception System.setSecurityManager throws.

Merge commit '44e44644c7fc3b2ad8d3a04a32501b94214f8ab2' into dalvik-dev

* commit '44e44644c7fc3b2ad8d3a04a32501b94214f8ab2':
Fix our expectations to match the acutal exception System.setSecurityManager throws.
af095366fe43238fc1bcd76aa3474ad0788ed861 14-Jun-2010 Elliott Hughes <enh@google.com> Fix our expectations to match the acutal exception System.setSecurityManager throws.

Change-Id: I5e9dfc8c9bbeee44ca8805bd7089d5b190b3d533
42846a677f00e3e30f7d5f643b392a3c060a7e66 14-Jun-2010 Elliott Hughes <enh@google.com> Merge "Fix serialization of DateFormatSymbols after https://android-git.corp.google.com/g/54091." into dalvik-dev
8a22b2dc0901cc588c0275dce975fb8e62f1076b 13-Jun-2010 Guang Zhu <guangzhu@google.com> am 83244e5b: update emma build path due to libcore location change

Merge commit '83244e5bec9d489a097251c3df8cd22b36f4f648' into dalvik-dev

* commit '83244e5bec9d489a097251c3df8cd22b36f4f648':
update emma build path due to libcore location change
a46fc833987397c617e924aba9fe8ac2c6f66ee8 13-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding testcases for HttpsURLConnection and through a proxy." into dalvik-dev
dae4c86e69b5b97ffaddcb267566a5afbedb51a1 12-Jun-2010 Guang Zhu <guangzhu@google.com> update emma build path due to libcore location change

Change-Id: Ib9484dd4caca75ae662be9baa887adb387f583fc
e10e938e5538ed00acf705daf7327be89533de93 12-Jun-2010 Elliott Hughes <enh@google.com> Fix serialization of DateFormatSymbols after https://android-git.corp.google.com/g/54091.

I added non-RI fields, but didn't make them transient. This patch fixes that (so we write
RI-compatible serialized forms), and copes with reading in RI-compatible forms (that don't
have the stand-alone names) by falling back to the regular names.

Bug: http://b/2633414
Change-Id: I03f6fae78f09fc9cb9235d16cb982944069ef292
2d23a37286b732264b5819f3424f821425dcb0b9 12-Jun-2010 Jesse Wilson <jessewilson@google.com> Adding testcases for HttpsURLConnection and through a proxy.

One failure is here: http://b/issue?id=2761326

Change-Id: If1918a2e59bd4335e38ce3ec4214dfccd24ee798
a0893ed38294f9a4d90a49cf7dcced9ff8e2bd9f 12-Jun-2010 Elliott Hughes <enh@google.com> Improve MessageDigest documentation.

As explained in the bug, I don't think we can/should fix this potential
native crash, but we can and should improve the documentation to explain
how you're _supposed_ to use MessageDigest.

Bug: http://code.google.com/p/android/issues/detail?id=8709
Change-Id: I1cbab5995e5673d5386e21270ac52b6f90b9f421
28f764a1c3586824dc12f752ad0341803edb31b7 12-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Test for DOM node iteration thru siblings." into dalvik-dev
dde5ff905672cb1c3595ddcb425b8d2095e50d9a 11-Jun-2010 Jesse Wilson <jessewilson@google.com> Test for DOM node iteration thru siblings.

This passes.
http://code.google.com/p/android/issues/detail?id=8944

Change-Id: Ia7f0c8f750bef71d7f2bf9e277eda82b8c1a7b38
e7e46887881819b14a28276dc0a220adc48b70cc 11-Jun-2010 Elliott Hughes <enh@google.com> Make BigInteger thread-safe.

We were sharing an openssl BN_CTX between threads, which is unsafe. Stop
doing that, creating BN_CTXes on demand (which seems to be what openssl
does internally). For 1024-bit integers, this makes division faster,
multiplication slower, and makes no convincing difference to gcd. I
instrumented a build to report any time one of the methods that needs
a BN_CTX gets called, and couldn't find anywhere they're used during
boot or https browser usage. (These things do use BigInteger; they just
don't use the methods this change affects.)

Bug: 2652542
Change-Id: I98c94b41df95566cb4c8598f299911e641f72f63
eae29305f4cd999799e7668348c278f2d33e49d1 11-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing some miscellaneous jtreg failures in pipes." into dalvik-dev
b9ad9e32e2235f04fc8afbf4ff381190ae5745f2 11-Jun-2010 Elliott Hughes <enh@google.com> Merge "Support stand-alone month and weekday names in SimpleDateFormat." into dalvik-dev
b8ae87a366c35814f2893c33923e8c1578f2c7e2 11-Jun-2010 Elliott Hughes <enh@google.com> Support stand-alone month and weekday names in SimpleDateFormat.

Also rewrite the SimpleDateFormat documentation.

Bug: 2633414
Change-Id: I8fcc3b1f73dd6f264dd292852a8ab0c5a2742f5b
a9c4c0a67ce878cb6c24672478f0fb438e8347f6 11-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing some miscellaneous jtreg failures in pipes.

Change-Id: I52c69b027a1e7636ec0ee8d83b3c8d938bec71f2
http://b/issue?id=2224976
dbfef035c89db2f2eb20c41b817b9329cebef21d 11-Jun-2010 Elliott Hughes <enh@google.com> www.ietf.org is the canonical home for RFCs.

Change-Id: Ib83ff61230649757917346645f6cf47d9df3f348
b1eb5e19b408d6427ed91d860c499b6484b5aa76 11-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding HTTPS and proxy support to our mock webserver." into dalvik-dev
7e5a96748a74e620b61b39e9ed866e3a25bde7c9 09-Jun-2010 Jesse Wilson <jessewilson@google.com> Adding HTTPS and proxy support to our mock webserver.

Also exposing core-tests-support for use by tests in frameworks/base.
I'm not particularly happy about this, but it seems to be the best
way to share test support code between the two build targets.

Change-Id: I5e8dcac90fc5d9be791e46c2606498978212108e
52eb1dcd895be8f692fb117e8e0568109311b385 10-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 590b9943: am 22437bcb: am 9aa3d668: Add BlockGuard PolicyViolation accessors.

Merge commit '590b99434696edf3f14843c85406eaf197dbc044' into dalvik-dev

* commit '590b99434696edf3f14843c85406eaf197dbc044':
Add BlockGuard PolicyViolation accessors.
e18960f851aaca2bc36205ac5e041de62235eae8 10-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 22437bcb: am 9aa3d668: Add BlockGuard PolicyViolation accessors.
6012b9321fa00e7b31d876b766320e832559e0b0 10-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 9aa3d668: Add BlockGuard PolicyViolation accessors.
dfe3e30f104bb900373260ff97ce35833eb043cf 10-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Add BlockGuard PolicyViolation accessors.

Change-Id: Ifc313c130024a5dac4498b0a4c92a5a16fb75b7f
e9240c92a1c1a4c55aec98083ed68e54b11ce2ec 09-Jun-2010 Elliott Hughes <enh@google.com> Optimize String.getBytes for ISO-8859-1, US-ASCII, and UTF-8.

This is 10x faster for UTF-8 and 20x for US-ASCII/ISO-8859-1.

Change-Id: Ie34c8d0522175c9e0a0433fe42bc1c2b1d328b49
6f9bb6fe94f43887d7e789fd6b79de77a155674e 09-Jun-2010 Elliott Hughes <enh@google.com> Merge "Remove a duplicate of Charset.defaultCharset (from a deprecated method)." into dalvik-dev
ce700df6a2b64ae96d7813d91bb84b22bb395134 09-Jun-2010 Elliott Hughes <enh@google.com> Remove a duplicate of Charset.defaultCharset (from a deprecated method).

Change-Id: Ia7be1cfb2f7c3e891cd421fea4f814e62a1bc283
432c083d3c3e79f1305c9f0be192bfc4ae253fa4 08-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 08b02183: am 1173ba30: am 025fc4d9: BlockGuard Exception class should have been static.

Merge commit '08b0218345e35e979cc6dd27e6862a3f7c5f035e' into dalvik-dev

* commit '08b0218345e35e979cc6dd27e6862a3f7c5f035e':
BlockGuard Exception class should have been static.
38e1ae1085ec7a1494a9da3baab85207a383db15 08-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 1173ba30: am 025fc4d9: BlockGuard Exception class should have been static.
0a9800ad5e43ea74d2b5a48a900c24ba78e221a2 08-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 025fc4d9: BlockGuard Exception class should have been static.
6de5c942865ad256551cf4c4157c2f51f61d09f7 08-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> BlockGuard Exception class should have been static.

Change-Id: Ib8e3fee69684d4418f551d0a0f68916dcf2d949b
238adf55bbc7b36be6638de1d326166d1cce1359 08-Jun-2010 Elliott Hughes <enh@google.com> Make Charset.defaultCharset cheap.

This is a slight behavioral change, but this is how the RI works: changing
"file.encoding" after startup has no effect there either.

Change-Id: I0fd44edd3aedcfd7f72cda572bb2ff3c44ad3ab9
5d394b563a2c870abcaa53d6ad23c06be1adff69 08-Jun-2010 Elliott Hughes <enh@google.com> Improve Charset.forName/"new String" performance.

Lookup String's default charset once at class initialization. Stop
creating a new empty char[] every time we create an empty string. Fix
the documentation not to lie about using ISO-8859-1 in all kinds of
places we don't (and where the RI doesn't specify that we should).
Fix the performance of the String(byte[]...String) and String(byte[]...Charset)
constructors to be equivalent rather than wildly different (and not in the way
anyone would reasonably expect). Canonicalize the requested charset's name
so that we can uniformly optimize all aliases of those charsets we
special-case, rather than just those few aliases we used to hard-code.

Tidy up the String.getBytes methods in preparation for optimization (in a later
patch).

Fix the performance of Charset.forName to be amortized constant time regardless
of what name is used, in recognition of the fact that Unicode TR#22 section 1.4
means that there are a potentially infinite number of valid pseudo-aliases for
any charset (at least two of which are relatively common in libcore itself, so
I'd imagine plenty are used in the wild too). Some slight synchronized-related
tidying, and more reuse of public API (because one day I'd like to improve the
locking situation deeper down in this code).

In HistoricalNameUtil.java, remove ugliness.

In File.java, use "new String" rather than junk from Util.

In RandomAccessFile.java, reuse convertUTF8WithBuf instead of the otherwise
unused convertFromUTF8 convenience method.

In Util.java, remove now-dead code and comment some code that looks like it
should be killed but is actually unique and necessary. (I'll probably move
this into an intention-revealing class in my next patch. "Util", FFS! "UTF8",
FFS!)

Also add a couple of tests to StringTest.java to show that my improved String
documentation is true, and that some bogus code that I removed was indeed
bogus.

Change-Id: I746f990172c51c30aa5f5037346644552a224841
81bdc256380bfeed4d10829a49f89e4d11134d4d 07-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing a bug wherin exceptions weren't being reported for generic methods." into dalvik-dev
af11dc86c869fd1020baac3c40de16d8a39107e0 07-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing a bug wherin exceptions weren't being reported for generic methods.

Change-Id: Ic695ce127c8b4d59508f888028102fb8410e1600
http://b/issue?id=2742467
c9aab87c9e4161102e2f5bb1cab6f778a604207f 07-Jun-2010 Elliott Hughes <enh@google.com> am c7787cfa: Merge "ICU4.4.1 upgrade 1. Replaced the temp Android patch for BigDecimal support with ICU APIs. 2. Changed ICU.cpp for resource re-structure in ICU4.4 release. 3. Fixed the test data for NumberFormat test caused by the locale data changes."

Merge commit 'c7787cfacfb9800f57c4506db1ba773460335af2' into dalvik-dev

* commit 'c7787cfacfb9800f57c4506db1ba773460335af2':
ICU4.4.1 upgrade
e12e61fc530bb79d50298d25bf609f1ea156cb9c 07-Jun-2010 Elliott Hughes <enh@google.com> Merge "Test all the UTF-16/UTF-32 charsets." into dalvik-dev
30ec4bc73e58a687aa76d38895be37e1fb717d1f 05-Jun-2010 Elliott Hughes <enh@google.com> Test all the UTF-16/UTF-32 charsets.

Bug: 2742564
Change-Id: I98b67c414f8f340056d5db74c7e463236a4918ff
7e3abf297c1c4a2e7a859e44083907bf03374575 07-Jun-2010 Elliott Hughes <enh@google.com> Merge "ICU4.4.1 upgrade 1. Replaced the temp Android patch for BigDecimal support with ICU APIs. 2. Changed ICU.cpp for resource re-structure in ICU4.4 release. 3. Fixed the test data for NumberFormat test caused by the locale data changes."
838b00d58426e003d16aad3ddd716b803c71011e 07-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding a few missing type parameters to reflect classes" into dalvik-dev
fabaf023f8ae8ec496dc9492acabbabbe79dd766 05-Jun-2010 Jesse Wilson <jessewilson@google.com> Filling in missing Java 6 APIs for AccessController.

This keeps with our current policy: gracefully handle security manager
doPrivileged calls, but don't permit user-defined security managers.

Change-Id: Ie77274e1c82c2baddad74fe467d3a7b80d9dc379
34d7edc8a91f78d387953a0c9e4d572db44dda22 07-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Tests for Method.getGenericExceptionTypes() failures." into dalvik-dev
1ef253e18506d772a6006938eef37fe83b54b0c0 05-Jun-2010 Jesse Wilson <jessewilson@google.com> Adding a few missing type parameters to reflect classes

Change-Id: Idae3034c37f3eaff6921d5cf01541abee85762f2
44b9baf1ca7a0e4a35a0079af9bd383780052b92 05-Jun-2010 Jesse Wilson <jessewilson@google.com> Tests for Method.getGenericExceptionTypes() failures.

See http://b/2742467

Change-Id: I7188c053284017f8ce9e3d789f03badcec80d39e
f80af2205fc18cbf1d50c4a72a3ff1ca623f4741 05-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing the last API deltas between Dalvik and Java 6." into dalvik-dev
ce141e4c7f32125ee89602df39247a23b592a911 05-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Scrubbing broken tests and removing unnecessary organization AllTests.java files." into dalvik-dev
ab75c53fe6e35300b5b2b8bf93023d077e42659f 05-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Remove reflection in DatabaseMetaDataTest and replace with simply checking the static fields manually." into dalvik-dev
db2fc8e009b7fe96b6ddf9cd4db74d556f69854e 05-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "fix testSetQueryTimeout test by fixing SQLite JDBC driver in a few ways to conform to the spec." into dalvik-dev
16488ca0099787c202308a3fb3036ffa1a06c5b4 05-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing the last API deltas between Dalvik and Java 6.

This addresses some problems with generic type signatures (missing <?>)
and new factory methods for XML factory classes.

Change-Id: I9cd886e38b8bc9d495ae4e5ed70f71f27ac3f0cc
82990bbd03c4691a05eaa5cb9d58fbbe5b09fe6f 05-Jun-2010 Jeremy Sharpe <jsharpe@google.com> Remove reflection in DatabaseMetaDataTest and replace with simply checking the static fields
manually.

Change-Id: I0e15e3d5b6c496849bb8b9f4efb95d032cf814f3
1eb14211d55adc833f0826ae7e96ff5478e7e3e6 04-Jun-2010 Jeremy Sharpe <jsharpe@google.com> fix testSetQueryTimeout test by fixing SQLite JDBC driver in a few ways to conform to the spec.

There's some other goofy stuff there, like unlimited timeouts, for instance, don't seem to be
implemented at all.

Also enhance the test to more completely cover the different failure cases.

Change-Id: I4f4f1074c6673011039f3d0f8a07d8c753c825d7
rc/main/java/SQLite/JDBC2z/JDBCStatement.java
277f1ee57538a9d83968d6b3839b7dd04051533f 03-Jun-2010 claireho <chinglanho@gmail.com> ICU4.4.1 upgrade
1. Replaced the temp Android patch for BigDecimal support
with ICU APIs.
2. Changed ICU.cpp for resource re-structure in ICU4.4 release.
3. Fixed the test data for NumberFormat test caused by the locale
data changes.

Change-Id: I307e798f1a135a5024a693d23363733d020ed22f
606517ce43d65fdde4b1c690b714850f55fb7ec7 04-Jun-2010 Jesse Wilson <jessewilson@google.com> Scrubbing broken tests and removing unnecessary organization AllTests.java files.

I've deleted as many tests as possible that duplicated coverage in Harmony.
We're now running their tests directly against our codebase and having two
copies of every test is quite painful; particularly when the tests need
maintenance.

The AllTests files aren't necessary, our test harness can automatically find
tests and run them without external organization. This strategy is also more
reliable, since often the AllTests files are out of sync.

Change-Id: I3ee052f8839e9b146ba47f945812f5937d878110
35282a350133a172a89c1504b07414b9787b1243 04-Jun-2010 Elliott Hughes <enh@google.com> Bullet-proof the lseek/read in Inflater.setFileInput.

Also document why that non-API method exists, and that we don't have
benchmarks to support the claimed optimization.

Also be more consistent about setting LOG_TAG, and fix a few old-school
copyright headers.

Change-Id: If9fdc4583eaf91275ed44e2dc56174819d1913d0
770128638a1d723853ac8bbbd6498e5c067868d6 04-Jun-2010 Elliott Hughes <enh@google.com> Simplify our use of ucnv_close.

ucnv_close -- like most modern "free" APIs -- ignores NULL. It also calls each
callback giving it a convenient opportunity to clean up, which lets us get rid
of some particularly nasty code that was trying to do the cleanup forcibly from
outside.

Change-Id: I77ccf37235a222f38d897516d1226a026d8cc50b
30b1fcc973a39d9ad332fe538bec0d6dd197558e 03-Jun-2010 Elliott Hughes <enh@google.com> Merge remote branch 'goog/master' into mm2

Change-Id: I3a9d2142423dd38260ce3b0d97ca7ad750cca5c3
51eabd8ac645a457feea8357ee2f7bc9b693973c 03-Jun-2010 Elliott Hughes <enh@google.com> Fix javadoc error found by sdk build.

Can we build this target on our dalvik-dev continuous build too, so we catch
errors like this on our own branch before breaking master? What is the target?

Change-Id: I677220b3a95c2b053572a7d6dc916e1ecfcb61c4
06e59d3448b8b510bbee26206cafab1dafc4651d 03-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of e916ffd2 from kraken to master

Change-Id: Ie072d918eb0607d8d713ea885cbf0d353f809332
10f19520d8a48720fe8cbdfb3448f946a04cde18 03-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding tests to exercise the "buffer error" problem in bug 2734751." into dalvik-dev
b2cefe6e565f5f110e008abc108a8616d9cc1d6d 03-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am 8396b3fb: Introducing the beginning of "BlockGuard".
d7ead12b648058a250b2444cc53d44a110b366a6 03-Jun-2010 Jesse Wilson <jessewilson@google.com> Adding tests to exercise the "buffer error" problem in bug 2734751.

Change-Id: I55cf7ebf0976a95f4653a416a389d1d801ed5a00
http://b/issue?id=2734751
fd330db23d21584b5f365cb9f7d78558a18595b3 02-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Introducing the beginning of "BlockGuard".

From the JavaDoc (even though this is a @hide class):

Mechanism to let threads set restrictions on what code is allowed
to do in their thread.

This is meant for applications to prevent certain blocking
operations from running on their main event loop (or "UI")
threads.

Note that this is all best-effort to catch most accidental
mistakes and isn't intended to be a perfect mechanism, nor provide
any sort of security.

This is just the start. Future CLs will wire this up in the framework
(giving developers some way to enable it, either via a tiny framework
API, or via their AndroidManifest.xml), add network and Binder
support, etc.

Change-Id: I212e1c8b9fa2bb9e495103e0c2fe6a998dc1f8d0
0f0f29fd011c1ff37a657bce6a15afc8f6b0c844 03-Jun-2010 Elliott Hughes <enh@google.com> Merge remote branch 'goog/dalvik-dev' into mm

Change-Id: I6905802cfe7cda73bb6f52fe0cc79767b4645e82
cd1b97d9c78f4cf89c733b669f2443ed70c88deb 03-Jun-2010 Elliott Hughes <enh@google.com> Merge "Fix EUC-JP (and friends) to be better than before." into dalvik-dev
04d22b0d4e67e03afe11923f5f4eb06fc3c5aab1 03-Jun-2010 Elliott Hughes <enh@google.com> Fix EUC-JP (and friends) to be better than before.

In froyo, EUC-JP, SCSU, and Shift_JIS all worked because we mangled their
replacement byte sequences to 0x3f, which didn't make a lot of sense but
which silenced the RI's mandated checks on valid replacement byte sequences.

This patch subverts the checking for ICU-supported charsets, and lets us
use the best byte sequences for the job.

Also new tests, and rewritten documentation for CharsetEncoder.

Bug: 2732849
Change-Id: Ia104a0bd2adc9c99bfeb550abfd7d5336c412c86
8ae0e1a44e727813a0927745dd1dbd3e0542ace8 03-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing a bug in inflate where refilling a file doesn't update the zip stream.

See bug http://b/issue?id=2734751

Change-Id: Iff5f7e564518805151a60f56d6f19a584c9e0b44
4538aff6d563d32cd1c5d2f7b349809384a0a540 29-May-2010 Jeremy Sharpe <jsharpe@google.com> Update sqlite java 6 driver to coincide with changes made upstream.

Some of these changes are kind of arbitrary, but where it didn't matter I went with the upstream
version to make future merges easier.

Changes NOT made upstream are still marked with android-changed, but I updated the rest of them.

Tried to fix whitespace as much as possible. Tell me if I missed any.

Change-Id: I3396bd26d2cc00306b3867cea49d100430691bd1
rc/main/java/SQLite/JDBC2z/JDBCDatabaseMetaData.java
rc/main/java/SQLite/JDBC2z/JDBCResultSet.java
rc/main/java/SQLite/JDBC2z/JDBCStatement.java
rc/main/native/sqlite_jni.c
6497c266ee68a1a7d544acf4d22baf5470da14bb 02-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing file leaks in SelectorImpl." into dalvik-dev
860fddae7d9336c66a58538bdda4fa232479694c 02-Jun-2010 Jesse Wilson <jessewilson@google.com> Fixing file leaks in SelectorImpl.

There were two core problems:
source.close() and sink.close() weren't being called by SelectorImpl
ServerSocketChannelImpl was opening a stream socket into a file descriptor,
only to have its PlainServerSocketImpl clobber that file descriptor later
when create() was called.

Alongside fixing these problems I've done some style cleanup. None
of which should impact behavior.

Change-Id: I39eead3fbdc0290e83784e8b50861aeef7020513
429ea4965c1e3d3a55a131cdf2504e051ed09e06 02-Jun-2010 Elliott Hughes <enh@google.com> Merge "Add UTF-32BE/UTF-32LE/UTF-32 decode/encode tests." into dalvik-dev
42541539d880d88bfbad83160e8af2279bdb27b2 02-Jun-2010 Ben Murdoch <benm@google.com> Fix NPE in HttpURLConnectionImpl.

I observed this NPE in master (does not repro in Froyo) in the Browser when trying to save an image
as home screen wallpaper. The code path in the Browser uses java.net.URL.openStream() which goes into
HttpURLConnectionImpl and crashes when trying to use the default cookie handler. The other reference
to the cookie handler in this file does a null check before using it, so it seems reasonable to add one
here too.

Change-Id: I587b7fca6551ccf7be9dcbdf3978ee9e0fc22b0a
bfd7da8f83a6a194ecf2aff0e4e6fff3265005db 02-Jun-2010 Elliott Hughes <enh@google.com> Tidy up some junk in CharsetEncoderICU.

I claimed to have removed this earlier, but didn't "git add" the file.

Change-Id: I0298b7f356278a031a40390309822981f6cedfbb
223cf85143bf646c59f390d925657915c1753fc9 02-Jun-2010 Elliott Hughes <enh@google.com> Fix sim-eng build with missing #include.

Change-Id: I77d9841f7112235096c54ac70479ad09f2b0559d
3349feeaf2d87390245df9ff6e8f3d4e96101138 02-Jun-2010 Elliott Hughes <enh@google.com> Add UTF-32BE/UTF-32LE/UTF-32 decode/encode tests.

Change-Id: I80d45ac0e98b17eea7d27caabccb50859289a50e
4fc62427e995f533f68fbad8ae8270747b015552 02-Jun-2010 Elliott Hughes <enh@google.com> Refactor some of the OSNetworkSystem stuff to more appropriate homes.

Also rewrite PlainDatagramSocketImpl.peek in terms of existing primitives
rather than requiring its own. I still don't see how it can get called, but
at least now it doesn't require its own native code.

Bug: 2686833

Change-Id: I0453add66dab4c7095ee2a3f51a49efbd1205598
0bf651051b31d476986a2e2b1eed69d1e150658d 02-Jun-2010 Elliott Hughes <enh@google.com> Merge "Rewrite Charset.contains to push the UConverter allocation/deallocation down to C++." into dalvik-dev
0d21fcec6895d635b32a3bc367120e4da7c61881 01-Jun-2010 Elliott Hughes <enh@google.com> Rewrite Charset.contains to push the UConverter allocation/deallocation down to C++.

This also fixes the resource management so we can't leak decoders/encoders if
a constructor throws. (I thought I had a bug for fixing all classes with
finalizers in this way, but I can't find it.)

Bug: 2726958
Change-Id: I169242786cbbe8665aad151ca8f3946bc8c61603
fe0ed34d4f94d50f0405dedc8f21439a5b29a66c 02-Jun-2010 Jesse Wilson <jessewilson@google.com> resolved conflicts for merge of ce588a3a to master

Change-Id: I711a9afb47d478d75fc26247271eb09bb9aa7b3b
a3be2a07675a7925fce07cbfd52b503b95e4a0ea 01-Jun-2010 Elliott Hughes <enh@google.com> Fix a mistake in the new Charset documentation: UTF-16 swallows BOMs.

Introduced in https://android-git.corp.google.com/g/52835.

Change-Id: I4c8ede55cbec84e25bc8cd522af1f56c79f4369a
511dcd26a38fb35f76d5d16f2eda4cac19cbb6d0 01-Jun-2010 Elliott Hughes <enh@google.com> Merge "Add tests to confirm that Charset behaves as the RI documentation claims." into dalvik-dev
224817bb5e1174b24a973166e20c787bd0ccdce2 01-Jun-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing HttpURLConnection to work without a CookieHandler." into dalvik-dev
59cc9794c52edcff0fd1651e47b07d6b9bd26cc1 28-May-2010 Elliott Hughes <enh@google.com> Add tests to confirm that Charset behaves as the RI documentation claims.

Also improve our Charset documentation.

Note that we fail these new tests, but ICU 4.4 has what we need to fix
this.

Bug: 2702411
Change-Id: I6195dd807e33acdee96138a1d16dde95a786a322
86e7c2a9c0238151a579e33eb6c413e6638e2254 29-May-2010 Elliott Hughes <enh@google.com> Merge "Remove the last exception message catalog." into dalvik-dev
583beee4d993b0ccc8d569ca09e36c77d9988052 29-May-2010 Elliott Hughes <enh@google.com> Remove the last exception message catalog.

Bug: 1251121
Change-Id: I45931b9ff908531bda06d6569a4e9618986f821b
208f0857db66db7a1c946c359badd96efd2a5c6d 29-May-2010 Brian Carlstrom <bdc@google.com> Rename core-tests-luni to core-tests-luni for cts dependency

Change-Id: I6a739028c4c7bcda12b905116166e119720e69c2
d5567f3fa2462d45421ea1f780efe53e1f6693a6 29-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Further small fixes to increase API compatibility with RI v6." into dalvik-dev
926a50ff42687ba1fd8216f16bf7bc569dddde03 29-May-2010 Jesse Wilson <jessewilson@google.com> Fixing HttpURLConnection to work without a CookieHandler.

This was a huge regression that thankfully many of our tests pointed out.

Change-Id: I12db314cfe732402889d9cf7f1864789f3711686
d0aa46c363dd8c0d855d89ec87a16782d314a658 28-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Tag large tests so that they run to completion in our build." into dalvik-dev
e4497dd1416c1408c0fbec2fc4f47b12ca03cdde 28-May-2010 Jake Hamby <jhamby@google.com> am 1bd949eb: Delete duplicate test files for JDK 1.6 compatibility.
211aac07975d041cb83a0f78b455cc674caefb0c 28-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix sql unit tests recently added to todo.txt." into dalvik-dev
e4bba66fba660ea96d84072cdc989e760aa862db 28-May-2010 Jesse Wilson <jessewilson@google.com> Tag large tests so that they run to completion in our build.

Change-Id: Ic8fc1364c7b596ce1872fab2df14f31e45554bb3
a0fab738934b8fbad362ba3d1515f9f877740cad 28-May-2010 Jesse Wilson <jessewilson@google.com> Further small fixes to increase API compatibility with RI v6.

Highlights:
code was moved from SSLContextImpl to its superclass.
took X500Principal code from Harmony

Tested with Harmony's tests.api.javax.security.auth.x500.X500PrincipalTest.

Change-Id: I89b46d4b47e692a5461916cca972e05de95f3280
a38c8ff80fc33e35848834d7f72e6db5e6c56f0a 28-May-2010 Jeremy Sharpe <jsharpe@google.com> Fix sql unit tests recently added to todo.txt.

Also change name of todo.txt to icebox.txt.

Change-Id: Ied9bce333fef83b0228d955f58abd4dbead4a315
1c07a8b50e57c2c7d9d42c8c7aa04802827537b4 28-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Filling in APIs from RI 6 that we missed." into dalvik-dev
a57dff17411d0a0b27bd026c33d20bed3b37fe0a 28-May-2010 Jesse Wilson <jessewilson@google.com> Filling in APIs from RI 6 that we missed.

Change-Id: I7f98bbbb3c68efee61b88acc3bc25f2c9990b519
990c8930ac41b46ef39bd6ea332e3703c0a1c2bc 28-May-2010 Brian Carlstrom <bdc@google.com> Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master

Conflicts:
JavaLibrary.mk
luni/src/main/java/java/lang/System.java
luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpURLConnectionImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
luni/src/test/java/java/net/URLConnectionTest.java
support/src/test/java/tests/TestSuiteFactory.java
x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Change-Id: I1038f749c8c9bd640aae7ca96627810936454883
f955f07c7126b0d3ccf94b533f6b41d96ab1e6aa 28-May-2010 Elliott Hughes <enh@google.com> Merge "Javadoc improvements." into dalvik-dev
cc6c40c7d454d18d131dc64c002be8db9c6a334d 27-May-2010 Elliott Hughes <enh@google.com> Javadoc improvements.

Bug: 2718660
Change-Id: Ifae8541d269ac0fa5581802a8d78453af19a0e10
923e2e4b653500d4b56f5f7c9aa92d3e840edefb 28-May-2010 Jake Hamby <jhamby@google.com> Delete duplicate test files for JDK 1.6 compatibility.

JDK 1.6's jar utility fails with a "duplicate entry" error due to
identical test files in multiple locations. This change fixes the
build on JDK 1.6 by deleting the extra copies of the test files.

Change-Id: Iad27b9a345e7b455c1576989e948088fe00e1116
870a8a2f6f6696de7cae848dde3f0f47d893cab2 28-May-2010 Jesse Wilson <jessewilson@google.com> Fixing Class.getMethod() to support synthetic methods from covariant return types.

Change-Id: I569d5d68888975f2828c8ab56b015fd323ad9114
08176881a249eb498bdef5695ce9761f2434a766 28-May-2010 Jesse Wilson <jessewilson@google.com> Adding a failing test that demonstrates some reflection problems.

Change-Id: Ieb5ec91a75ef42f8eceb065fc969cf0c426e6a98
d3c39651070002622aa7bc5ca23165a52dead476 27-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing many test failures with the new cookie implementation." into dalvik-dev
64e9182fd9b0d1ceb956a267f27da5b363fd8d5c 27-May-2010 Jesse Wilson <jessewilson@google.com> Fixing many test failures with the new cookie implementation.

Highlights:
- don't send cookies with nonmatching ports or secure attributes
- default the port when "port" with no value is received
- make CookieStore threadsafe
- make CookieStore retain only host in URIs
- fix concurrent mod bug when removing expired cookies
- support null URIs in the CookieStore (unfortuantely)
- parse more date formats; even ridiculous date formats
- match ".google.com" to "google".
- support single quotes in attribute values
- exploit @hide to add a new API, URI.getEffectivePort()

Alongside this change I've fixed several test problems in dalvik-prebuild's
copy of both the Harmony tests and the jtreg tests. Most of the fixes involve
commenting out bogus assertions.

Change-Id: I71f09110b48d8ca4f3538fd21c8dde7ffdd35a6a
f8313e95f42d54765dd5d59e436eceb157e31700 27-May-2010 Brian Carlstrom <bdc@google.com> Remove duplicate test from knownfailures

Change-Id: I09b93b1ae055a44d736d0fd143684a587f2269cb
69ca8b9d944d96c4fc95ef469e42439d989aea3b 27-May-2010 Elliott Hughes <enh@google.com> Make NativeBN's filename match the class name.

Change-Id: I28dae1dfc62bd1cf134aad46e6c051eafb005723
8eed128d6d990a068f907eeb5c59aaa7f46046ec 27-May-2010 Elliott Hughes <enh@google.com> Merge "Enhance ScopedUtfChars to include the null check most callers were missing." into dalvik-dev
e03b3b703679d1dcb34cd7986ada60031b6b09f2 27-May-2010 Elliott Hughes <enh@google.com> Enhance ScopedUtfChars to include the null check most callers were missing.

Also switch most non-users over to ScopedUtfChars.

Also ensure all users check that ScopedUtfChars was successful in getting the
chars.

Also rewrite ObjectInputStream and ObjectOutputStream without duplication.

Change-Id: I929d00fe3ff50b303cba4a2cf2269355e9fef5f9
2472309c17abad6409b10fc11855d75c06746f52 27-May-2010 Brian Carlstrom <bdc@google.com> whitespace fix

Change-Id: I7edef11a0f8b03a5fa85b3c0e15d3ac84caa35c5
72b607e5c9c280d1102ad3dc4efadb9a79f25fa9 27-May-2010 Brian Carlstrom <bdc@google.com> Add missing package on ambiguous class name and cast on ambiguous type

Change-Id: I470c929f67ecaffa91d5a67c87f1ed5358cfd84c
9972ff9bc664ca3aadd33aa06d935db0c9167ef4 21-May-2010 Brian Carlstrom <bdc@google.com> RI 6 support for javax.net.ssl

Summary:
- RI 6 support for javax.net.ssl
- SSLEngine fixes based on new SSLEngineTest
- fix Cipher.checkMode bug recently introduced in dalvik-dev

Details:

Fix Cipher.checkMode that was preventing most javax.net.ssl tests from working

luni/src/main/java/javax/crypto/Cipher.java

RI 6 has introduced the concept of a "Default" SSLContext. This is
accessed via SSLContext.getDefault() and also
SSLContext.getInstance("Default"). Harmony had its own
DefaultSSLContext but it was not created via an SSLContextSpi. It also
was a single shared instance whereas the new RI6 Default SSLContext
shares internal SSLSessionContext instances between different Default
SSLContexts.

Refactored the old code into an SSLContextImpl subclass that
allows it to be created via SSLContext.getInstance. SSLContextImpl
ensures that we only ever create one set of SSLSessionContext
instances for the Default context.

luni/src/main/java/javax/net/ssl/DefaultSSLContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/DefaultSSLContextImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java

Added SSLContext.getDefault and SSLContext.setDefault

luni/src/main/java/javax/net/ssl/SSLContext.java

Replace dependencies of old DefaultSSLContext with use of SSLContext.getDefault

luni/src/main/java/javax/net/ssl/SSLServerSocketFactory.java
luni/src/main/java/javax/net/ssl/SSLSocketFactory.java

Register "SSLContext.Default" as DefaultSSLContextImpl class for SSLContext.getInstance()

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/JSSEProvider.java

Added constant for new "Default" standard name and added it to
SSL_CONTEXT_PROTOCOLS. New tests based on SSL_CONTEXT_PROTOCOLS
made it clear that neither Android or RI support SSLv2 so removed
it from SSL_CONTEXT_PROTOCOLS and SSL_SOCKET_PROTOCOLS. Added
constant for TLS as well which was previously scattered all over
tests. Remove SSLv2Hello from SSL_SOCKET_PROTOCOLS for Android
since with OpenSSL disablign SSLv2 means you can not use
SSLv2Hello either.

support/src/test/java/javax/net/ssl/StandardNames.java

Added tests for SSLContext.getDefault and
SSLContext.setDefault. Changed existing tests to work on all
protocols including new "Default".

luni/src/test/java/javax/net/ssl/SSLContextTest.java

RI 6 has introduced the notion of SSLParameters which encapsulate SSL
the handshake parameters of desired cipher suites, protocols, and
client authentication requirements.

The main new class SSLParameters is basically just a bag of fields
with accessors and a couple simple constructors. The only things
of note are that it clones all String arrays on input and output
and the setters for the two boolean fields ensure that only one is
true at a time.

luni/src/main/java/javax/net/ssl/SSLParameters.java

Added SSLContext.getDefaultSSLParameters and
SSLContext.getSupportedSSLParameters which simply delegate to the
SSLContextSpi.

luni/src/main/java/javax/net/ssl/SSLContext.java

Added abstract SSLContextSpi.engineGetDefaultSSLParameters and
SSLContext.engineGetSupportedSSLParameters.

luni/src/main/java/javax/net/ssl/SSLContextSpi.java

Added engineGetDefaultSSLParameters and
engineGetSupportedSSLParameters implementation. The RI documents
in SSLContextSpi that these are implemented by default by creating
a socket via the SSLContext's SocketFactory and asking for the
enabled/supported cipher suites and protocols respectively, so
that is what is done. The doc mentions throwing
UnsupportedOperationException if there is a problem, so we do that
as well.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java

Added {SSLEngine,SSLSocket}.{getSSLParameters,setSSLParameters}
which are analogous.

luni/src/main/java/javax/net/ssl/SSLEngine.java
luni/src/main/java/javax/net/ssl/SSLSocket.java

Added SSLParametersTest

luni/src/test/java/javax/net/ssl/SSLParametersTest.java
luni/src/test/java/javax/net/ssl/AllTests.java

Added SSLContext.get{Default,Supported}SSLParameters tests

luni/src/test/java/javax/net/ssl/SSLContextTest.java

Added SSLSocket.{getSSLParameters,setSSLParameters} tests and added
some extra asserts to test_SSLSocketPair_create based on experience
with test_SSLEnginePair_create.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Dummy implementation of new SSLContextSpi for test classes.

support/src/test/java/org/apache/harmony/security/tests/support/MySSLContextSpi.java
support/src/test/java/org/apache/harmony/xnet/tests/support/MySSLContextSpi.java

Other minor RI 6 API changes:

RI 6 removed Serializable from HandshakeCompletedEvent and SSLSessionBindingEvent

luni/src/main/java/javax/net/ssl/HandshakeCompletedEvent.java
luni/src/main/java/javax/net/ssl/SSLSessionBindingEvent.java

RI 6 added generic types to the KeyStoreBuilderParameters List
constructor and accessor as well as to
SSLSessionContext.getIds. Fixed tests to compile with generic types.

luni/src/main/java/javax/net/ssl/KeyStoreBuilderParameters.java
luni/src/main/java/javax/net/ssl/SSLSessionContext.java
luni/src/test/java/tests/api/javax/net/ssl/KeyStoreBuilderParametersTest.java

SSLEngine improvements. Since I was changing SSLEngine, I wrote an
SSLEngineTest based on my SSLSocketTest to do some simply sanity
checking. It expose a number of issues. I've fixed the small ones,
marked the rest as known failures.

Renamed some TLS_ cipher suites to SSL_ to match JSSE standard
names. These were all old suites no longer supported by RI or
OpenSSL which is why they were missed in an earlier cleanup of this
type in this class. Also fixed SSLEngine supported cipher suites
list not to include SSL_NULL_WITH_NULL_NULL which is not a valid
suite to negotiate.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java

SSLEngine instances can have null host values, which caused a
NullPointerException in the ClientSessionContext implementation.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java

SSLEngine tests were failing because SSLParameters was throwing
NullPointerException instead of IllegalArgument exception on null
element values. Fixed null pointer message style while I was here.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java

Fixed SSLEngine instances to default to server mode like RI

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java

Fixed KEY_TYPES based on SSLEngine implementation. Removed dead
code NativeCrypto.getEnabledProtocols which was recently made
obsolete. Cleaned up null exception messages to follow our convention.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java

Added SSLEngineTest which parallels SSLSocketTest in its
coverage. Similarly added TestSSLEnginePair which loosely parallels
TestSSLSocketPair.

luni/src/test/java/javax/net/ssl/SSLEngineTest.java
luni/src/test/java/javax/net/ssl/AllTests.java
support/src/test/java/javax/net/ssl/TestSSLEnginePair.java

SSLEngineTest betters exposed the differences between SSLSocket and
SSLEngine supported cipher suites. StandardNames now has an
CIPHER_SUITES_SSLENGINE definition which denotes what is missing
and what is extra and why in the SSLEngine implementation.

support/src/test/java/javax/net/ssl/StandardNames.java

Created StandardNames.assert{Valid,Supported}{CipherSuites,Protocols}
to factor out some code test code that is also used by new tests.

support/src/test/java/javax/net/ssl/StandardNames.java
luni/src/test/java/javax/net/ssl/SSLSocketFactoryTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Remove SSLSocketTest known failure and add new SSLEngineTest known failures

expectations/knownfailures.txt

SSL_OP_NO_TICKET change was recently merged from master which required some fixes.

For the moment, sslServerSocketSupportsSessionTickets always returns false.

support/src/test/java/javax/net/ssl/TestSSLContext.java

Fixed flakey test_SSLSocket_HandshakeCompletedListener which had a
race because the client thread look in the server session context
for an session by id potentially before the server thread had a
chance to store its session. Made noticable because of
SSL_OP_NO_TICKET recently merged from master (before this code
path was host only, not device)

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Fix checkjni issue where we need to check for pending exception in
OpenSSL callback. Possibly introduced by recent merge of
SSL_OP_NO_TICKET from master.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Expectation updates

Remove SSLSocketTest known failure and add new SSLEngineTest known failures

expectations/knownfailures.txt

Tag test_SSLSocket_getSupportedCipherSuites_connect as large

expectations/taggedtests.txt

Misc changes:

opening brace on wrong line

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Long line cleanup while debugging

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/HandshakeProtocol.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketFactoryImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketFactoryImpl.java
support/src/test/java/javax/net/ssl/TestKeyStore.java

Removed bogus import

luni/src/test/java/javax/net/ssl/SSLSessionContextTest.java

Comment clarify while debugging

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Ctor -> Constructor in comment

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLEngineImpl.java

Fixed naming of SocketTest_Test_create to TestSocketPair_Create to match renamed classes

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Change-Id: I99505e97d6047eeabe4a0b93202075a0b2d486ec
dacb4b231c17a48edd123fd6667fb989d976afde 25-May-2010 Elliott Hughes <enh@google.com> Remove @hide from Java 6 API.

I've left the two new spi packages @hidden, because I think we shouldn't
support them without convincing demand from developers (and I don't
believe there could be such a thing --- they just don't make sense, and
if we add anything, it should be the ability to provide extra ICU data).

Also fix a handful of javadoc syntax errors in Arrays.java and TreeMap.java.

Bug: 2497395
Change-Id: I4176b72daff0face4ed6c7ee1d1f4267d52006b4
17c83b1a74c906c9a36257a3a99cd1e3730b002e 14-May-2010 Jeremy Sharpe <jsharpe@google.com> Implement Java 6 SQL API. Javadoc is still messy and some unit tests
need to be updated to reflect newly implemented parts of the API.

Change-Id: Icee718ef997d29aa08fc78b101f87532dc89167f
rc/main/java/SQLite/Database.java
rc/main/java/SQLite/JDBC2y/JDBCConnection.java
rc/main/java/SQLite/JDBC2y/JDBCDatabaseMetaData.java
rc/main/java/SQLite/JDBC2y/JDBCPreparedStatement.java
rc/main/java/SQLite/JDBC2y/JDBCResultSet.java
rc/main/java/SQLite/JDBC2y/JDBCResultSetMetaData.java
rc/main/java/SQLite/JDBC2y/JDBCStatement.java
rc/main/java/SQLite/JDBC2y/TableResultX.java
rc/main/java/SQLite/JDBC2z/JDBCConnection.java
rc/main/java/SQLite/JDBC2z/JDBCDatabaseMetaData.java
rc/main/java/SQLite/JDBC2z/JDBCPreparedStatement.java
rc/main/java/SQLite/JDBC2z/JDBCResultSet.java
rc/main/java/SQLite/JDBC2z/JDBCResultSetMetaData.java
rc/main/java/SQLite/JDBC2z/JDBCStatement.java
rc/main/java/SQLite/JDBC2z/TableResultX.java
rc/main/java/SQLite/Stmt.java
c6ca03a9b8ca9d0a6f67a47ce7233903941bfe72 26-May-2010 Jesse Wilson <jessewilson@google.com> Setting expectations for some failing regex tests.

Change-Id: I1ea9fb9641cbf7ceb471643dc1591460673f0252
b35c62f16acb2d019fb2e6360d2bee6b8522c55a 21-May-2010 Jeremy Sharpe <jsharpe@google.com> Fix NullPointerException from TreeMap immutable entry methods by checking the return values for null before wrapping them with new SimpleImmutableEntrys.

Change-Id: Ib8a78dd13b8b2895acd5f0016bc353f763ea50be
18d3c519a629d7eb925b7f6d1ced75c44fc9999b 25-May-2010 Elliott Hughes <enh@google.com> Merge "Remove the luni localized exception messages." into dalvik-dev
657c61c3ff1bd1188e8cecd28d733cf21b737b5b 25-May-2010 Elliott Hughes <enh@google.com> Remove the luni localized exception messages.

Also fix a bug I introduced in KXmlSerializer: s.isEmpty() is not
equivalent to "".equals(s) if s is allowed to be null.

Bug: 1251121
Change-Id: I41a0a98ffb49f214041c9110f824d327af5c34e8
5bcb3d63b66fc5a0ba62234927022b988e60c9c5 25-May-2010 Jesse Wilson <jessewilson@google.com> Working through jtreg failures in java.util.

TreeMap.clone() failed on an empty treemap.
Some EnumSet tests needed to be suppressed or given an extended timeout.

Change-Id: I98240910f5fdbe3226ef1071f99a8cac37e2c7ef
b8674cedd24d0f8e5393fd0e2099d3272a87fd55 25-May-2010 Jesse Wilson <jessewilson@google.com> Reduce the visibility of HttpCookie.isFullyQualifiedDomainName().

This is a genuine bug caught by apicheck. Yay apicheck.

Change-Id: I8f9cb60d42d7cba1b65b3173660ef51cd8427622
2f37158cc55bbad036aa3aaa0d1b66703c10042c 25-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Redo HttpCookie.parse()." into dalvik-dev
8c94eb86f5c52a273df6c810d5c8c72e973e7174 21-May-2010 Jesse Wilson <jessewilson@google.com> Redo HttpCookie.parse().

The previous code failed on quoted strings like ;Port="80,8080".
It also had weird behavior, like not supporting Expires headers
when the requesting locale wasn't English.

Tested with Harmony's tests and our CookieTest.

Change-Id: I271817b6febd30248f55f834cdcc2e3d5dfcd4c2
722b4105e3ab418c31b15513be2adcbfbf993a3a 24-May-2010 Elliott Hughes <enh@google.com> Merge "Remove more localized exception messages." into dalvik-dev
c12159334ce2ce664506dfddf7a4476571d24700 24-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing binary search for large arrays of reference types." into dalvik-dev
3cab8972eac00f8edd40664361350d8cdd177e11 24-May-2010 Jesse Wilson <jessewilson@google.com> Fixing binary search for large arrays of reference types.

Change-Id: Ibf2b49fd2cf1538a1a369fa36f2a1c8275e33677
f1cb585884c3d13bcb856cf8dd0f24b0839c9936 23-May-2010 Jesse Wilson <jessewilson@google.com> Massively removing compilation failures from expected results.

This will prevent our continuous build from failing when a jtreg
test points out a difference between our API and the RI. We have
more appropriate tools for this so the change is okay.

Change-Id: I541fef2698164cd6725aa455c3ea3aeb72c369da
35159203ed8de87309d282fd8b92e8f0c0161ddd 22-May-2010 Elliott Hughes <enh@google.com> Remove more localized exception messages.

I also accidentally mixed two unrelated changes in here: replacing "".equals
and equals("") with String.isEmpty, and removing some dead code in
org.apache.harmony.luni.util.Util.

Change-Id: I0aaad43290b083085b3095b624caf096de487223
2ccfa42858b99a5d65ad2c4be713830cffb381a2 22-May-2010 Brian Carlstrom <bdc@google.com> Merge "Manual recreation of dalvik change 720d1e962e248a30f81c1493081ff4c01e35c839 in libcore" into dalvik-dev
189e85794485cea5b405d1f99c1c25a2f50a80fa 22-May-2010 Brian Carlstrom <bdc@google.com> Manual recreation of dalvik change 720d1e962e248a30f81c1493081ff4c01e35c839 in libcore

Disable SSL Session Ticket extension for OpenSSLSocket

Due to compatability issues with some sites, disable this SSL extension which wasn't present in Eclair. See also:

b/2682876 Some ssl sites cause "A secure connection could not be established" error

Change-Id: Ife94f65a063011f09553877a9fb71f42ecc76f5e
a4affa981a5a6f8da7dac951b1051750c2375b04 22-May-2010 Elliott Hughes <enh@google.com> Remove more localized exception messages.

Change-Id: I88eba4180e66d328c23a266f133b96d53cf62d40
b6071a4c1f58ee77ddb0ca4cc70fea2a2be42729 22-May-2010 Elliott Hughes <enh@google.com> Fix build.

Change-Id: I61d838fdb9147b1e488cf6c9ea0aa1e1e87f935e
f2010cbb52f30455832370b7d89c4193d212edbf 21-May-2010 Elliott Hughes <enh@google.com> More messages.properties removal.

Change-Id: Ie90ca910b1d9f23565f8929c63186879932a4dc3
4c96a962166482e6035331dbf0eb2dff89fb82ab 21-May-2010 Elliott Hughes <enh@google.com> Finish removing Get/Release Critical, tidying up "NativeConverter.cpp".

Use our new abstractions to finally let the code show through the cruft.

Bug: 2663177
Change-Id: I872e8fea11ae77d5059181374cb2ff7e7d73573e
a92dc344f3dd5c1851442b48c5319544cd3be093 21-May-2010 Elliott Hughes <enh@google.com> Merge "Add write-back ScopedPrimitiveArrays (and use them)." into dalvik-dev
91d301d733c713306eb0d6bb8815b1abacdd97dc 21-May-2010 Elliott Hughes <enh@google.com> Add write-back ScopedPrimitiveArrays (and use them).

I've left the remaining Get/Release Critical calls in "NativeConverter.cpp"
for the next patch, even though getting into position to fix them is part of
the point of this patch.

Change-Id: I99e15a3cf3919008343ae4dc856c86ced233e07a
e5dcba9bfbb39f88911502d075bfc0613125573d 21-May-2010 Jesse Wilson <jessewilson@google.com> Adding more expectations for test failures found running in sim mode.

The recently added expectations matching based on result rather than
test name leaves some opportunities to reduce duplication in the
expecations file. I haven't done that here.

Change-Id: I860c28c1fdaf8f97339100769e3aa3d9aa718179
934bcbf8d64d8d5b309d59d5eac981617c0d0401 21-May-2010 Elliott Hughes <enh@google.com> Merge "Fix more Charset/CharsetDecoder/CharsetEncoder bugs." into dalvik-dev
a8ff8703413ee571b4114ceeafc625975f2e199f 21-May-2010 Elliott Hughes <enh@google.com> Fix more Charset/CharsetDecoder/CharsetEncoder bugs.

Another round of Get/Release Critical removal led me to some code that couldn't
possibly be right, and wasn't. This patch fixes a large number of our
Charset-related bugs, including ones that previous hacks were added to paper
over. With this patch, we have three failures, all "new", but all there since
the start, and relating to the fact that our UTF-16 and UTF-32 encoders don't
write big-endian output on little-endian devices (for which I've raised
http://b/2702411).

Bug: 2663177
Change-Id: I70dfa55f88a3f635528be3ad27b2a5fc1bfb70fc
20c0479a95c169ebdd82e614cb79edaf55ec8bea 20-May-2010 Jeremy Sharpe <jsharpe@google.com> Adding a bunch of @KnownFailures to a new expectations file, expectations/knownfailures.txt.

Change-Id: I8182d90730473a2d29d264f46fda573c9337a366
8357f058797d07386b4a08685ca4faa040c2a09b 20-May-2010 Brian Carlstrom <bdc@google.com> Enable Diffie-Hellman cipher suites

Enable Diffie-Hellman cipher suites in NativeCrypto (and in
StandardNames to match for testing). This means we now have the same
default cipher suite list as RI 5.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
support/src/test/java/javax/net/ssl/StandardNames.java

Enabling DH made it obvious that the RI check for enable cipher suites
on SSLServerSocket.accept was not as stringent as first
thought. Apparently they don't care if all enabled cipher suites have
certificates/keys, just that at least one of them will work, even if
its anonymous. Factored out the logic to check this into
checkEnabledCipherSuites for clarity along with the supporting
checkForPrivateKey. Also only check if the socket is in server mode,
since its fine to have nothing configured for server acting as a
client for handshake purposes.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java

The real work to enable Diffie-Hellman was to use
SSL_CTX_set_tmp_dh_callback to set a callback to get DH
parameters. There are two ways to create the parameters. The first is
to use DH_generate_parameters_ex which is very slow (minutes) as is
recommended as install time option. The second is to use
DSA_generate_parameters_ex followed by DSA_dup_DH, which is faster for
a single call, but must be done every time, so slower overall. We
currently take the second approach to just have DH working.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Changed ephemeral RSA keys to be stored per SSL in AppData, not in a static global.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Fix LS_ to TLS_ typo in commented out constant. Removed easy to miss wrapping in array definition.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java

Renamed CipherSuites defaultPretendant to defaultCipherSuites which
led to renaming the CipherSuites constants to follow the coding style.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHandshakeImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/DigitalSignature.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHandshakeImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerKeyExchange.java

Change-Id: Ia38de48cabb699b24fe6e341ba79f34e3da8b543
fa5d34cf5f2c141cf510919776181b6b5a8b3a7f 20-May-2010 Brian Carlstrom <bdc@google.com> Merge "Add RSA ephemeral callback for SSL_RSA_EXPORT_WITH_RC4_40_MD5 support (and move to UniquePtr)" into dalvik-dev
c25dfe6464392701d57ce4c5643b2e9b296db74d 20-May-2010 Brian Carlstrom <bdc@google.com> Add RSA ephemeral callback for SSL_RSA_EXPORT_WITH_RC4_40_MD5 support (and move to UniquePtr)

Summary:

Used SSL_CTX_set_tmp_rsa_callback to provide a callback for supplying
ephemeral RSA key for export cipher SSL_RSA_EXPORT_WITH_RC4_40_MD5
(aka EXP-RC4-MD5)

As part of this added rsaGenerateKey and while doing that started
adding UniquePtr deleters for BN and RSA and then just decided to do
the rest of the file.

Details:

Added tmp_rsa_callback to provide emphemeral RSA keys

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Removed last KnownFailure in my JSSE tests.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Switching to UniquePtr to manage SSL types.
Found a couple places not error checking along the way.
Removed LOGE from throw* methods since jniThrowException does that.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Change-Id: I27413c0073cd2cc405c83d35a0772c7901ce25c6
9c87f72f51dd1224fea1d84ef3ecc067d7d4011e 19-May-2010 Elliott Hughes <enh@google.com> Fix CharsetEncoder.replaceWith, and simplify our implementation.

All I wanted to do was remove some more Get/Release Critical calls,
but I stumbled across some code that couldn't possibly be right.

Bug: 2663177
Change-Id: I82e240fe27ff9fcfe7f036c2d7708a9e55afa3ee
3c0b21006c63bd00ddb2a061fc7966e0d5829bf9 19-May-2010 Mike Lockwood <lockwood@android.com> Fix problem with const result from strrchr()

Needed for simulator build on newer Ubuntu distributions.

Change-Id: I9130bc91c4fdda58933ff57fabeaadc04a6dc67d
Signed-off-by: Mike Lockwood <lockwood@android.com>
663d04004976a3b640b8d43d5a4e67e4938b3c9c 19-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix the HTTP client to read from the cookie store on HTTP requests." into dalvik-dev
26fa5e78057c2e92449cc340d80c3aa9197fbbc5 19-May-2010 Jesse Wilson <jessewilson@google.com> Fix the HTTP client to read from the cookie store on HTTP requests.

The forthcoming follow up is to write to the cookie store on HTTP responses.

Change-Id: I346136d4a4409a003c391c8dfbcf755af19b708d
562e564ae5713f619c8fbbb386acb86c8e0b93bc 19-May-2010 Brian Carlstrom <bdc@google.com> Rename expected exception to "expected" for test clarity

Change-Id: Iee93ceed527ce7f5430cb2ef19bed846e847fb83
1b2f067397cabc07d9e8b94d69f2dcbfea35f48f 19-May-2010 Brian Carlstrom <bdc@google.com> SSLSocket.startHandshake should throw SSLProtocolException on handshake protocol error

Added throwSSLProtocolExceptionStr and used it in the SSL_ERROR_SSL case.
Also replaced 0 with SSL_ERROR_NONE in throwSSLExceptionWithSslErrors calls for clarity.
Improved throwSSLExceptionWithSslErrors to show ERR_get_error information in SSL_ERROR_NONE case.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Removed penultimate KnownFailure. Updated comment to use more official Kerberos reference URL.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Change-Id: I2fb847ba92a3464029d1103fadf05ec16126bda9
1711ca0ac530b93166d136c89c0c3189caa76cfe 19-May-2010 Guang Zhu <guangzhu@google.com> am 581c814c: (-s ours) am 6ba9c651: manually squashing commits from master (DO NOT MERGE)
92f46c52fbf1ee5b467621d1da0ce174ff63d539 19-May-2010 Guang Zhu <guangzhu@google.com> am 6ba9c651: manually squashing commits from master (DO NOT MERGE)
ac08ea0f44fbfccfaa44b158ab65871c253912c5 19-May-2010 Elliott Hughes <enh@google.com> Merge "Fix BidiWrapper to not ask for arrays it's used read-only to be written back to the Java heap." into dalvik-dev
92d72ad2628944a9974cdaf886b190e8c93e1dbd 19-May-2010 Brian Carlstrom <bdc@google.com> Merge "SSLServerSocket accept should make sure enabled cipher suites have supporting private keys" into dalvik-dev
fd42e9a857e9f7273fa088760399f62302a5ebeb 19-May-2010 Brian Carlstrom <bdc@google.com> SSLServerSocket accept should make sure enabled cipher suites have supporting private keys

Make CipherSuite static fields final (noticed because I tried to use some in a switch statement).
Also renamed "cuites*" to "suites*" and fixed UNKNOUN to UNKNOWN

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java

SSLServerSocket now matches the RI behavior of throwing an
SSLException for missing keys for non-anonymous cipher suites.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java

Fixed one KnownFailure

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Change-Id: I1ccbf93cfc5aa5951b1f33881446d93c380b6e68
cea3862195bed5cc25dbf9a4f88dc476c677645f 19-May-2010 Elliott Hughes <enh@google.com> Fix BidiWrapper to not ask for arrays it's used read-only to be written back to the Java heap.

Bug: 2663177
Change-Id: Id77df49a1839ce1daa25ba9998be25342c4c8b06
3b235f40a48c3044ee99bd693f97a142bb2dd7fe 19-May-2010 Elliott Hughes <enh@google.com> Remove more uses of Get/Release Critical.

Bug: 2663177
Change-Id: I87325ca8bb064b6be6c3cc3c885a8b18cceaa36c
231341ba4d015adf8dc61ba0bd8ae2d29d041146 18-May-2010 Elliott Hughes <enh@google.com> Merge "Add error checking in setZoneStrings and improve the documentation." into dalvik-dev
c1144313fa8cfed1a288a1bdc997c303db25d0e0 18-May-2010 Elliott Hughes <enh@google.com> Add error checking in setZoneStrings and improve the documentation.

Also some internal tidying, and a few more test expectations.

Change-Id: Ic183baecab7d12151fcdb3b73842c345075b173c
53cb554599f7d7cbde26ba6a5ca44dd222df3feb 18-May-2010 Brian Carlstrom <bdc@google.com> SSLSocketFactory.connect(Socket...) should allow port of -1

SSLSession.getPeerPort is supposed to return -1 when the port is
undefined so now we initialize it to that value.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java

Avoid creating InetAddress to store the OpenSSLSessionImplWrapper host
and port arguments since it was causing an exception on an port value
of -1 and was just used to go back to the original host and port when
creating the SSLSession, which is allowed to return a port value of -1.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Remove last of KnownFailures for SSLSocketFactory

luni/src/test/java/javax/net/ssl/SSLSocketFactoryTest.java

Update classpath for newly seperated out junit jars

run-core-tests

Change-Id: I646a8f23c3d6ae01f1dd38e40bc9c32d436e6254
ad36a16c12218706c94290973623fc5f09f677d4 14-May-2010 Guang Zhu <guangzhu@google.com> manually squashing commits from master (DO NOT MERGE)

Change-Id: I4d4287a7d91ba39e97fd907eae9fd0c93e026d02
I8e65d375: no emma instrumentation on core-test
I09725483: include emma into core library on conditional flag
68ea072eb197db39259cc5ae173f906b86e1fb26 18-May-2010 Brian Carlstrom <bdc@google.com> Merge "Client certificates should only be set on request from server" into dalvik-dev
3a4c968be7dbfecb22c187e238051b895939cc82 18-May-2010 Brian Carlstrom <bdc@google.com> Client certificates should only be set on request from server

Client certificates should only be set into the SSL* when requested by
the server so that after the handshake is completed the client can
inspect its SSLSession to see what certificate if any was
requested. Previously the value was always non-null even if the server
didn't request the certificate.

- Created RAND_seed and RAND_load_file out of the NativeCrypto.SSL_new
- NativeCrypto.SSL_new now simply performs SSL_new and does not
deal with certificates, private keys, or random seeds.
- Removed helper version of NativeCrypto.SSL_new
Moved code to OpenSSLSocketImpl.setCertificate
- Created SSL_use_certificate, SSL_use_PrivateKey, SSL_check_private_key from SSL_new.
These are used not just on server handshake but also via clientCertificateRequested callback.
- Merged CertificateChainVerifier and HandshakeCompletedCallback into new SSLHandshakeCallbacks
while adding new clientCertificateRequested callback from OpenSSL C code to Java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

In addition to supporting NativeCrypto.java changes, also changed
to_SSL_CTX and to_SSL_SESSION to allow null checking and throwing
NullPointerException. Changed these and to_SSL to log exception on
JNITrace, taking these logs out of individual functions. There
were a lot of null checks missing previously, mostly in
to_SSL_SESSION cases.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

All KnownFailures now fixed.

luni/src/test/java/javax/net/ssl/SSLSessionTest.java

Three more KnownFailures now fixed.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Change-Id: Iddcd5512e8395d947d3b894f03e3a059e63afe8a
c28c7dfb04b9f74908d345096811456a686948df 18-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Moving junit out of core.jar and into core-junit.jar." into dalvik-dev
e466234be268c31399a8307ec0c2decd890f48f8 18-May-2010 Elliott Hughes <enh@google.com> Make ScopedLocalRef more convenient, and use it more widely.

Even though every reference type is a jobject, it's useful to be able to use
more specific types.

Change-Id: Id8056d0e18380675c90f08c4173a8b34b4d5d983
c74a18c6a52c05f1afec00b6d8fd1e20f92bb575 18-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Testing that URLConnection uses CookieManager for send and receive." into dalvik-dev
2ff6928d506e2ade40428b55a3030909b00dae7c 18-May-2010 Jesse Wilson <jessewilson@google.com> Testing that URLConnection uses CookieManager for send and receive.

These all fail on Dalvik because we haven't wired these together.
On the RI, everything passes except for the two tests that check
parsing for multiple cookies in a single HTTP header.

Change-Id: Idb10c5b51b7ae5ca400dc564f2926f0d5792093d
b70001e1c368589c76103b0b01586894aee36346 18-May-2010 Elliott Hughes <enh@google.com> Fix the exception thrown by Matcher.region.

Caught by a harmony test; the RI documentation agrees.

Change-Id: Ia7239033a35f6b952163d753ed36c5c8122dc171
defd05817a8c770a033f7de0f0b885d95cd1c5db 18-May-2010 Elliott Hughes <enh@google.com> Merge "Expand upon the old ScopedByteArray, and start removing some of the Get/ReleaseCritical calls." into dalvik-dev
138dadc4793d7afaa4f12565b77b26b00e67c7fd 18-May-2010 Elliott Hughes <enh@google.com> Expand upon the old ScopedByteArray, and start removing some of the Get/ReleaseCritical calls.

This adds Scoped*Array classes for all primitive types, and switches all
read-only users of arrays over. At the same time, all read-only users of
Get/ReleaseCritical get switched to non-critical access.

Bug: 2663177
Change-Id: I5542cea3e24faa987ced463fcb695b9598da94af
6a21f11e4707004969ace5fe781c252ab4ca03ec 18-May-2010 Brian Carlstrom <bdc@google.com> Change Harmony CipherSuite to use JSSE names

Change text names of Harmony CipherSuite's (used by SSLEngine and some
places with OpenSSL code) to match JSSE names.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/CipherSuite.java

Added StandardName constant for SSL_NULL_WITH_NULL_NULL

support/src/test/java/javax/net/ssl/StandardNames.java

Marked test as working with above fix, changed to use newly defined constant.

luni/src/test/java/javax/net/ssl/SSLSessionTest.java

Change-Id: Id48d2adcbbff71306296f1fdf8ff970c618fdcc6
74a394e6ca51b895039bc1f642e4a594823c5481 18-May-2010 Brian Carlstrom <bdc@google.com> Supported cipher suites improvements

Added new test_SSLSocket_getSupportedCipherSuites_connect to make sure
all cipher suites we claim work actually do. It clearly exposed that
although a large number of cipher suites are supported by libssl.so,
they are not properly wired up into the OpenSSL JSSE
implementation. In particular Elliptic Curve has been disabled in our
version Bouncy Castle does not work. In addition Diffie-Hellman does
not work because we need to further integration work with OpenSSL via
SSL_set_tmp_dh_callback or SSL_set_tmp_dh. Finally,
SSL_RSA_EXPORT_WITH_RC4_40_MD5 doesn't work but that is being left as
KnownFailure for more immediate cleanup based on ServerHandshakeImpl's
handling of KeyExchange_RSA_EXPORT as part of having OpenSSL call us
back for certificates dynamically.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Refactored TestSSLContext.createKeyStore to create TestKeyStore which
now factors out TestSSLContext.createKeys from the old createKeyStore
method, which allows createKeys to be called multiple times for
different key algorithms (for example DSA in addition to RSA). Also
added a reusable singleton instance to cut down on test execution
time.

support/src/test/java/javax/net/ssl/TestKeyStore.java

Removed publicAlias/privateAlias from TestSSLContext since we now
include both RSA and DSA key pairs in they KeyStore by default. Added
TestSSLContext.assertCertificateInKeyStore methods to help tests the
previously used the alias fields fields. TestSSLContext.create API
changed as well since the alias names are no longer
required. TestSSLContext.createClient now needs to iterate over all
server certificates when setting up its TrustManager instead of just
grabbing one by alias name.

support/src/test/java/javax/net/ssl/TestSSLContext.java
luni/src/test/java/javax/net/ssl/SSLContextTest.java
luni/src/test/java/javax/net/ssl/SSLSessionTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java

TestSSLSocketPair.connect now allows optional inclusion of server
cipher suite list.

support/src/test/java/javax/net/ssl/TestSSLSocketPair.java
luni/src/test/java/javax/net/ssl/SSLSessionContextTest.java

Turning off Elliptic Curve and Diffie-Hellman which are not currently
working. Updating test expectations to match.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
support/src/test/java/javax/net/ssl/StandardNames.java

Turn on registration of ECDSA and DSA since this part is currently
functional (and excercised by TestKeyStore.create())

luni/src/main/java/org/bouncycastle/x509/X509Util.java

Improve logging by including SSL pointer in error messages, which
makes it easier to relate these errors to JNI_TRACE messages.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Change-Id: I014d001a6a21a46c360678a346d3a3c8232f4d53
db8354025af95cd9f2b829aef119a0f76d2aa61c 14-May-2010 Jesse Wilson <jessewilson@google.com> Moving junit out of core.jar and into core-junit.jar.

Adapted from master:
https://android-git.corp.google.com/g/50612

Change-Id: I24cde108f1dd70532ff217545445cdc0b2650a48
6d43322d1119db67d83d5a7244df9aece9d5ae69 15-May-2010 Brian Carlstrom <bdc@google.com> Merge "Remove ScopedGlobalRef (and other cleanups)" into dalvik-dev
6159f6a383cf4a0062f3d22c8a387c5d30e1e69c 15-May-2010 Brian Carlstrom <bdc@google.com> Remove ScopedGlobalRef (and other cleanups)

ScopedGlobalRef caused more trouble that it was worth. Rather than
trying to fix it to require updating of the JNIEnv, remove it to
remove the temptation for others to use it.

Also update SSL_set_ciphers_lists to use ScopedLocalRef and add HTML
anchors to Standard names javadoc JSEE references.

Change-Id: Ic3ed1bae3f29ee971d4461de31395b78c4949090
67eb0d301168466e57f50e8ff352e0c9eda91730 15-May-2010 Elliott Hughes <enh@google.com> More cleanup of "hycomp.h".

This makes sure we ask the system whether it's big- or little-endian, and
doesn't make assumptions about the sizes of built-in types.

This fixes a regression I introduced last week with the previous cleanup,
affecting the double/string conversions. We still fail some of those tests,
but now we're back to only failing the ones we've always failed...

Change-Id: I343c363b01fc34b32a4d5afbc153bfe4c0161137
32c2712fc72ff48a3426c5e8615ead633f2878dc 15-May-2010 Elliott Hughes <enh@google.com> Add an expectation for another bogus exception priority test.

Change-Id: Ib71559b5fec38a82543c59536325e9c27e8ff6f7
5bc70fb7fd1a66ffa3659078094f57dc0ea0c65d 15-May-2010 Elliott Hughes <enh@google.com> Remove dead code.

Change-Id: Ib9732c712a50a3bc9ed186464586a0f407e27287
fefb4c275ba02d7b4d08f33beef4089f03e54122 15-May-2010 Elliott Hughes <enh@google.com> Merge "Fix getInetAddress/getPort/getLocalAddress/getLocalPort." into dalvik-dev
3eeca6dab175b9ef9559063ab893c6f495ffb4d0 14-May-2010 Elliott Hughes <enh@google.com> Fix getInetAddress/getPort/getLocalAddress/getLocalPort.

Responsibility is split between Socket, SocketImpl, PlainSocketImpl,
SocketChannel, SocketChannelImpl, and SocketChannelImpl.SocketAdapter, and
we need to keep them synchronized. Our hands are somewhat tied by the fact
that the RI exposed way too much. I think, now I understand the relationships
a bit better, that we can probably rewrite this cluster of classes to be
simpler, but I don't want to bite off more than I can chew right now, and
this does fix the known problems.

This patch also makes us more compatible with the RI by making getLocalAddress
after the socket has been closed return the address we used.

By strange coincidence, harmony addressed this at the same time I was looking
at it (see http://svn.apache.org/viewvc?rev=944119&view=rev) but I feel they're
going in the wrong direction and making the relationships even more complicated.
I have run their new tests in addition to my own, though.

Bug: 1952042
Bug: http://code.google.com/p/android/issues/detail?id=1933
Bug: http://code.google.com/p/android/issues/detail?id=3123
Change-Id: Icb7793fb5d868e0d1f1b8b3d5da88c32fb973744
4be45c8441902ace8d08e196f72f49b5aae4b079 14-May-2010 Brian Carlstrom <bdc@google.com> Use JSSE cipher suite names and restore JSSE SSLSessionContext semantics

Summary:
- Switch to using JSSE cipher suite names
- SSLSessionContext implementation cleanup
- Updated tests

Details:

Switch to using JSSE cipher suite names
- We maintain backward compatability for enabling cipher suites using
OpenSSL names for old code that did so without checking for the
presence of the names in the supported list.
- We now have a well defined list of the supported cipher suites which
are sorted in priority order as specified in JSSE documentation so
that callers doing:
s.setEnabledCipherSuites(s.getSupportedCipherSuites())
will get something reasonable.
- We now have a default cipher suite list that is chose to match RI
behavior and priority, not based on OpenSSLs default and priorities.

Details:
- Added NativeCrypto OPENSSL_TO_STANDARD and STANDARD_TO_OPENSSL
mapping between naming conventions. STANDARD_TO_OPENSSL is a
LinkedHashMap so enumerating it gives the proper order for
SUPPORTED_CIPHER_SUITES.
- SSL_get_ciphers and SSL_set_cipher_list are removed, we now use
our own SSL_set_cipher_lists (defined seperately in
external/openssl/patches/jsse.patch) to set the set and order of
cipher suites. SSL_CTX_get_ciphers is also removed because we no
longer rely on the OpenSSL for the default cipher suites
behavior.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Add cipherSuite and protocol field caches for native values,
mapping the cipherSuite to a JSSE name from the OpenSSL name
returned by SSL_SESSION_cipher.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java

Fixed a long standing bug where we reused sessions found in the
client host/port cache even if the old protocol and cipher suite
where no longer compatible with what was specified by
setEnabledCipherSuites and setProtocols. Also fixed a recently
introduced bug where lastAccessedTime was being set on a cached
session even if it was not reused, found by fixed the above.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Move most of SSLSessionContext implementation from subclasses to
AbstractSessionContext. This was primarily to align the
implementations of how different sessions id for the same host and
port were handled for RI compatability. client subclasses now focuses
on handling its host/port based cache and both deal with their own
persistent cache details.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/AbstractSessionContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Tests

Added some variants of assertSSLSessionContextSize to simplify tests code.
Broke test_SSLSessionContext_setSessionCacheSize_oneConnect out of
test_SSLSessionContext_setSessionCacheSize_dynamic. Renamed
test_SSLSessionContext_setSessionCacheSize_basic to
test_SSLSessionContext_setSessionCacheSize_noConnect to match name
of _oneConnect. _dynamic was cleaned up a bit as getting it working
was the only goal of this change list. Fixed to filter
SSL_RSA_EXPORT_ ciphers since our test certificate key length is
too long for those. Lower test requirement to 3 unique cipher suites.

luni/src/test/java/javax/net/ssl/SSLSessionContextTest.java

Added checks that cipher suites and protocols have standard names.

luni/src/test/java/javax/net/ssl/SSLSessionTest.java

Removing known failures related to cipher suite naming. Fixed bug
of using assertNotNull instead of assertTrue. Added extra
size/length check which would have found the
assertNotNull/assertTrue issue.

luni/src/test/java/javax/net/ssl/SSLSocketFactoryTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Fixing test the explicitly worked around broken cipher suite naming.

luni/src/test/java/tests/api/javax/net/ssl/SSLSessionTest.java

Updated standard cipher suites to RI 6 list, which also now
specifies ordering, which we now align with.

support/src/test/java/javax/net/ssl/StandardNames.java

Unrelated

Remove more now obsolete jars from the test classpath

run-core-tests

Change-Id: I45c274a9327c9a1aeeccb39ecaf5a3fbe2903c8f
fc6495757da037e7d5b53c2617e06a91a95c866e 11-May-2010 Jeremy Sharpe <jsharpe@google.com> Fix bug in TreeMap. All methods that returns Entrys must return immutable Entrys, except entrySet(), which returns a set of mutable Entrys. Currently, the Entrys from entrySet() are immutable. Adds some new unit tests to verify this behavior.

Change-Id: I1149185412cd60d8e9c888179c43f5bef5057a69
d2a4f34b03f74ee1fc94008282f95678da224241 14-May-2010 Brian Carlstrom <bdc@google.com> am 80d9f5fb: am 35fefe12: am 7aab1c32: Manual merge of dalvik change (720d1e96) from froyo to libcore froyo-plus-aosp
8aa8dba6436656da865782a69e4d19ded3c330f1 14-May-2010 Brian Carlstrom <bdc@google.com> am 35fefe12: am 7aab1c32: Manual merge of dalvik change (720d1e96) from froyo to libcore froyo-plus-aosp
43ee66fddd40de83b174dfadeb8b1d1d8dd51d38 14-May-2010 Brian Carlstrom <bdc@google.com> am 7aab1c32: Manual merge of dalvik change (720d1e96) from froyo to libcore froyo-plus-aosp

Merge commit '7aab1c32a8c021257cf8b856a6d8cd4fb826a1fc' into kraken

* commit '7aab1c32a8c021257cf8b856a6d8cd4fb826a1fc':
Manual merge of dalvik change (720d1e96) from froyo to libcore froyo-plus-aosp
4b92af903e7439b11d6a4d52da292923a39e4abf 14-May-2010 Brian Carlstrom <bdc@google.com> Manual merge of dalvik change (720d1e96) from froyo to libcore froyo-plus-aosp

Change-Id: I45be5875806e9d9e85d9039f0d769f671d5c8b3a
e91f590d8b768d1ee044803bc7db862082dada31 14-May-2010 Nick Kralevich <nnk@google.com> am 691747c4: am 8e808260: Get rid of warnings when compiled with -Wformat-security
dd3a3c1264999036da7d757190e3a3c934ba6836 14-May-2010 Nick Kralevich <nnk@google.com> am 8e808260: Get rid of warnings when compiled with -Wformat-security
dd589ed98bfd57d92dcf8eb6035409a3c7259ad3 14-May-2010 Nick Kralevich <nnk@google.com> Get rid of warnings when compiled with -Wformat-security

Change-Id: Ia6dd7f8a08914b6995c7f3fb190e69ab02beb882
022fc5186df9935a56d3d85df0be457430ae33ad 13-May-2010 Elliott Hughes <enh@google.com> Remove all trailing whitespace from the dalvik team-maintained parts of libcore.

Gentlemen, you may now set your editors to "strip trailing whitespace"...

Change-Id: I85b2f6c80e5fbef1af6cab11789790b078c11b1b
5d1c84c5f6bea82d902ac25bc12e6ccde224e857 13-May-2010 Elliott Hughes <enh@google.com> Convert tabs to spaces.

Change-Id: I16cfbd2faac6b565b78b5dd97e2345323a36f652
45f27ae0ade0858595f473838c2c6862d1812940 13-May-2010 Elliott Hughes <enh@google.com> Remove //$NON-NLS-\d$ cruft.

Mostly done by perl(1), with manual cleanup of the few misspelled instances.
This makes our trailing whitespace slightly worse, but I'll fix all that with
a follow-on change.

Change-Id: I0b4ca98819be6f9519c4ba980d759bd1ee1a0303
5d80342c3e6de1b4d3ba979fe714685763d0fcd5 13-May-2010 Elliott Hughes <enh@google.com> Fix *Channel to check that they're not trying to write into a read-only ByteBuffer.

Previously only DatagramChannel made the effort. Note that I also found another
customer for calculateTotalRemaining, and that the near-duplicate I'm removing
used an incorrect bound in its for loop.

Change-Id: Ia618ce271657a7fe7b3a0050dc089350d61e3398
87d9f8a42af6501f01e40a98a3f00fdf41733fde 13-May-2010 Jesse Wilson <jessewilson@google.com> DO NOT MERGE: Split test targets into different .jars for master.

This cherry picks the critical parts of enh's original change:
7ee3a061452c5a7e5c8e661219a1f08a14171858

This is a stopgap fix; eventually when dalvik-dev's changes
are committed to master this should be obsolete.

Change-Id: Ieb04253fb7387ffa37452992c8a5af739fbbc45f
18e7dfff9a64921840bb0ee276c447612af0088a 13-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Moving junit out of core.jar and into core-junit.jar."
c81304eab41c4f425630827c04cbe1ad67bf915f 13-May-2010 Elliott Hughes <enh@google.com> Slightly reduce duplication in FileChannelImpl/SocketChannelImpl.

Based on a harmony change.

Change-Id: I92a043d2a246aac74829cb38efeadf4886bf2ec3
0bd7397f2d96b2d846654dfdeb08b6aa4fee27d5 13-May-2010 Elliott Hughes <enh@google.com> Minor file system changes.

Use fstat(2) instead of three seek(2)s to get the length of a file.

Java's readv should return -1 at EOF rather than 0.

The size() == 0 check in FileChannelImpl was (apparently) bogus.

(These changes are basically the same as harmony changes, and fix existing
harmony tests, so no new tests.)

Change-Id: I302611f777e91571b95654e03d0a3a41e1f97968
a64dd4223f15e1d4997591b9b8127c1c2edfc86c 12-May-2010 Elliott Hughes <enh@google.com> Merge "Apply http://svn.apache.org/viewvc?rev=936696&view=rev." into dalvik-dev
63b0b513c63055fc7edd30a5a706153d86f01744 12-May-2010 Elliott Hughes <enh@google.com> Apply http://svn.apache.org/viewvc?rev=936696&view=rev.

Change-Id: I24080d57d69d7763f67def2ec5c06583beda6c59
5aa1a28d4cbbff5609643d13ff76a541dec55fe7 12-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding checks to make sure the HTTP method is consistent with its body." into dalvik-dev
cc0ab8e2e39eca288879126d7eb8ed4fd976e788 12-May-2010 Elliott Hughes <enh@google.com> Reduced the amount of memory used by the TimeZone display names.

Bug: 2672057
Change-Id: I2f31ff3b5fbbf5cf8e16c89ef78a5246c6c3733a
cc238beb42bfb9a5f3987d9473858fbc43e9f067 12-May-2010 Elliott Hughes <enh@google.com> Merge "Documentation improvements." into dalvik-dev
c87a10c2af130a22cd184d3deba24496cedae297 12-May-2010 Brian Carlstrom <bdc@google.com> Merge "SSLSession and SSLSessionContext timeout improvements" into dalvik-dev
e62984a667755a7f0bad9c57723f52bf013e4e89 11-May-2010 Elliott Hughes <enh@google.com> Documentation improvements.

Remove a bunch of content-free "package.html" files, and rewrite the Pattern
documentation.

Change-Id: Ieb4eee940dbbeab21828b8d7b2f172732f9dd6de
8ccf510d8e8ebb514708b95781b6ad58f9bf30f2 11-May-2010 Brian Carlstrom <bdc@google.com> SSLSession and SSLSessionContext timeout improvements

Fix getIds Enumeration to filter invalid sessions.
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/AbstractSessionContext.java

Implement SSLSessionContext.setSessionTimeout to remove newly
invalid sessions as specified by the RI documentation. getSession
interfaces now filters invalid sessions from results.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Added OpenSSLSocketImpl.creationTime instance field cache to avoid
repeated native calls since this is now used for all isValid tests.
Fixed broken isValid implementation:
- compared seconds to milliseconds
- direction of comparison backwards
- used last accessed time instead creation time as clarified in RI 7 documentation.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java

Unrelated

Replace java.io.* java.util.* imports with properly expanded versions:

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/AbstractSessionContext.java

Change-Id: Ib02218df414f014f1d260f7acc067e5647fb700b
ca940be5dccc713524480b0a337eae1eee67acd6 11-May-2010 Jesse Wilson <jessewilson@google.com> Civil disobedience. Use the SecurityManager to justify not supporting setSecurityManager().

With this approach, the system boots with a special security manager that
permits everything except setting another security manager. This prevents
applications from installing a more strict security manager, which allows
us to avoid doing security checks throughout libcore.
http://b/issue?id=2585285

Change-Id: I7f38ac6bf5e2637e07790d34c6ccbbaf9874f4b0
8f2aa84304c2793f3eb902e00dbc370669ff4b7a 11-May-2010 Jeremy Sharpe <jsharpe@google.com> Fix a bug in PriorityQueue where compareTo() is used instead of equals() in the remove() method.

According to the documentation for PriorityQueue, equals() must be used.

Fixed one unit test (which needed the incorrect behaviour in order to pass). Verified that the old test fails against Sun's libraries, and the new one passes (and fails against ours until the change is applied).

Change-Id: I93e7d3435d5cdc4432969585064df704f92d6ae5
718ff35a01423978010902f8baa0da4e377a5b40 11-May-2010 Brian Carlstrom <bdc@google.com> SSLSessionContexts should throw NullPointerException on getSession(null)

Add an explicit null check to ensure failure on a null argument to getSession to match the RI

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Remove KnownFailures resolved by above fix as well as clarifiying SSL
session cache expections on Android vs the RI. The KnownFailures were
also hiding some latent issues to do SSL session tickets, so fixed
those up as well.

luni/src/test/java/javax/net/ssl/SSLSessionContextTest.java

Added constants for expected SSL session cache behavior for RI vs Android

support/src/test/java/javax/net/ssl/TestSSLContext.java

Change-Id: Ic6285192cf76c0a5c3fa45a24eaa504ed0babff5
3a8378af64ffde93915b463bf9eb822b76ca033d 10-May-2010 Brian Carlstrom <bdc@google.com> SSLContext.getClientSessionContext and getServerSessionContext should work before SSLContext.init

Moved initialization of SSLContextImpl clientSessionContext and
serverSessionContext from engineInit time (in SSLParameters
constructor) to constructor time, making them final. This is to
fix javax.net.ssl.SSLContextTest which was failing because it
tried to access this before init was called, which worked fine on
the RI. The SSLParameters now simply takes the preallocated
session contexts as arguments. SSLParameters.getDefault() now
needs to create its own session contexts when an SSLContext is not
used, which is how Harmony does it.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java

Removed KnownFailure from SSLContextTest as its 100% working.

luni/src/test/java/javax/net/ssl/SSLContextTest.java

Changed persistentCache fields of ClientSessionContext and
ServerSessionContext from final to private and added a public
setter. This replaces passing the persistentCache implementation
in via the constructor. For momentarily backward compatibility
with frameworks/base, the now deprecated 5 argument engineInit
method now uses these setters for backward compatability. The
SSLParameters previously took these persistent caches as arguments
in order to pass them to the session context contructors, but as
SSLParameters no longer creates these, they are no longer relevant.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java

While moving the call of the AbstractSessionContext constructor
from SSLParameters to SSLContextImpl after removing the persistent
cache arguments, I realized there was no longer any reason to take
any arguments. I pushed the initization of sslCtxNativePointer to
the point of declaration.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/AbstractSessionContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Change-Id: Ied2903a2f369bf4e521e702bf58f32f21cb97d17
4cfffd2e786ec392ff967c577c6ad545a66b8783 10-May-2010 Jesse Wilson <jessewilson@google.com> Adding checks to make sure the HTTP method is consistent with its body.

From the post-review comments here:
https://android-git.corp.google.com/g/51054

Change-Id: I67be25a6648a2df02a888a0ae8559c05614de20c
6a7b02139223da1b123c85d4810c32c881cb4808 10-May-2010 Jesse Wilson <jessewilson@google.com> Merge "New MockWebServer for HTTP testing." into dalvik-dev
6183510d21e4227415441ee30ae4a52e92837d28 08-May-2010 Jesse Wilson <jessewilson@google.com> New MockWebServer for HTTP testing.

Unlike the Support_TestWebServer, this server is dumb but scriptable.
It's intended to make it easier to test uncommon HTTP behavior, such
as an intermediate HTTP proxy.

Change-Id: Iac07e0b4788eeaa172d5c55d8ed9e034d98aa8e6
5d31ef569e170cf5db65af5fc4cbe12316502f3e 08-May-2010 Brian Carlstrom <bdc@google.com> Add missing include needed for simulator build

Change-Id: Ie457e719020d31a52ae3557db645a85b2f3b2f08
09d0d0228ca2cb7faffe61c6a1edabc940feb020 08-May-2010 Brian Carlstrom <bdc@google.com> Merge "Moving most libcore .c files to .cpp" into dalvik-dev
0006cdce0f241bb0faf9ae8b43231e66c3cbdcda 08-May-2010 Brian Carlstrom <bdc@google.com> Moving most libcore .c files to .cpp

This change moves most of the libcore .c files to .cpp enough for them
to compile. This was largely motivated by the desire to avoid using
things like __attribute__ ((unused)) in .c files to supress warnings
in a recent change.

Change-Id: Ib967d9e16764ff805764e81362f945332080a06c
6e25a0dfa8951a20f36bcabf0e74868e1b878eb0 08-May-2010 Elliott Hughes <enh@google.com> Trivia.

Remove unused parameters from NetworkInterface's native methods.

Remove commented-out static initializers.

Fix FileChannel.force so that force(true) doesn't do _less_ than force(false).
Note that force(true) still doesn't do _more_ than force(false) because bionic
doesn't implement fdatasync(2). I've raised a bug against bionic about that.

Change-Id: Ia5e827638606a7919e3bcf324810747ee6bcbb9a
496f62339fc346cb365331f76e1ce87f9f5c623e 08-May-2010 Elliott Hughes <enh@google.com> Fix sim build, remove static initalizers from Deflater/Inflater.

Change-Id: I56a453a1382559cdcf9f22c6a185db7178fbe098
ab8df904ee22e76a55e49b4a83948ee0ae4e432e 07-May-2010 Brian Carlstrom <bdc@google.com> Enable -Wall -Wextra for libcore and cleanup all but one warning

Change-Id: Ied76662c470ba878cec61189acf29f5cbbd4ccd4
43d72c32b5bfc8b8b065b7daf2a58512759bb5a0 07-May-2010 Elliott Hughes <enh@google.com> Merge "Clean up the zlib-related native code." into dalvik-dev
f518f78ab7af4f526ddcbe5ded0cf42e1b9f0fa4 07-May-2010 Elliott Hughes <enh@google.com> Clean up the zlib-related native code.

All the dude wanted was to get rid of Get/Release*Critical... First, though I
needed to switch the C files over to C++, and getting them to compile with a
stricter compiler made me realize how much of this stuff is unnecessary junk.
Eventually, I managed to get rid of all the "hy" and "sieb" crap, and you can
actually see what's going on now.

As usual, this reduces duplication and fixes leaks. I've also fixed a bug where
we'd never update inCap, meaning that we'd always allocate a new buffer and
never reuse the existing one even if it was large enough.

Bug: 2663177
Change-Id: I71fcbf9ff958ebf71ef3063d50ea34c28c30dd26
19bdff009663d2c6fd4b13ab721dc8ce906a2eb4 07-May-2010 Kenny Root <kroot@google.com> Move ScopedJavaUnicodeString to include/

Change-Id: I51a2cdd80e910996f3143a7b699c3d4b408d105a
7f74745515d4c88391709fd23b19e7d8176bc9d6 07-May-2010 Brian Carlstrom <bdc@google.com> am 2becef4f: am 62b71fdc: am 14e73c0d: manual "merge" of dalvik change 264952af into libcore
cd0b522aabf266fa1f3e206e97301ce1d33facc4 07-May-2010 Brian Carlstrom <bdc@google.com> am 62b71fdc: am 14e73c0d: manual "merge" of dalvik change 264952af into libcore
0e339c0c45abc6ab4603f253038d6aba73360669 07-May-2010 Brian Carlstrom <bdc@google.com> am 14e73c0d: manual "merge" of dalvik change 264952af into libcore

Merge commit '14e73c0d77a7ba94f439bec4cdaf360cc6e725bb' into kraken

* commit '14e73c0d77a7ba94f439bec4cdaf360cc6e725bb':
manual "merge" of dalvik change 264952af into libcore
df2344404960a5aed1a4d92e4c5c6a11e63b600c 07-May-2010 Brian Carlstrom <bdc@google.com> manual "merge" of dalvik change 264952af into libcore

Change-Id: I7925a11870231b85abbd8f754f5edd34835605a9
2db07f928adc7f4a09ee3ae9a7a7d5c333e74336 07-May-2010 Brian Carlstrom <bdc@google.com> Merge "Moving OpenSSLSocketImpl native code to NativeCrypto (and other clearnup)" into dalvik-dev
b5d3a236093ebeca84fc7adcde6ebeb025f0b8bd 06-May-2010 Brian Carlstrom <bdc@google.com> Moving OpenSSLSocketImpl native code to NativeCrypto (and other clearnup)

Summary:
- Finished consolidating OpenSSL native code into NativeCrypto
- fixing local vs global ref bug with AppData
Added new ScopedGlobalRef as part of this fix
- fixed many historical memory leaks identified during code review
- fixed lack of error checking on allcoation with OpenSSL *_new routines
- Added to_SSL_CTX and to_SSL_SESSION to match to_SSL (renamed from getSslPointer)
- Replaced most uses of GetByteArrayElements with ScopedByteArray
(including cases where we we using ReleaseByteArrayElements(..,...,0) instead of JNI_ABORT)
- Replaced uses of GetStringUTFChars with ScopedUtfChars

Details:

Finished consolidating OpenSSL native code into NativeCrypto

OpenSSLSocketImpl NativeCrypto
---------------------------------------
nativeread SSL_read_byte
nativeread SSL_read
nativewrite SSL_write_byte
nativewrite SSL_write
nativeinterrupt SSL_interrupt
nativeclose SSL_shutdown
nativeverifysignature verifysignature

Also removed dead code that was wrapping SSL_get1_session

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Fixed NativeCrypto_SSL_write and NativeCrypto_d2i_SSL_SESSION to use
JNI_ABORT on release to avoid copy back of unchanged data (via ScopedByteArray).

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

While running the usual tests:
adb shell run-core-tests tests.xnet.AllTests javax.net.ssl.AllTests
there was an abort from the JNI checking because in the recent
handshaking change, local refs were kept in AppData and then reused in
later calls. Added new ScopedGlobalRef to handle the book keeping of this.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
include/ScopedGlobalRef.h

Fixed various leaks on old error paths spotted by reviewer.

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Tracking move of verifySignature, a non-SSL bit of code that was lurking in OpenSSLSocketImpl

luni/src/main/java/org/apache/harmony/security/provider/cert/X509CertImpl.java

Change-Id: If1e409782bc99dc684039cfe3f53f8244e29346e
33555479c438a69218f47e68b55329df9f8464fa 06-May-2010 Elliott Hughes <enh@google.com> Merge "Fix SimpleDateFormat's unsafe Date handling." into dalvik-dev
e6d8d960efccadac15238d2e6cb6f0a1fd5b7a6f 06-May-2010 Elliott Hughes <enh@google.com> Fix SimpleDateFormat's unsafe Date handling.

Bug: 2483056
Change-Id: Ib9581ba035c3185b534fa2885c2239c56b8117e0
6b1ab04b9325e5dd12262b7efee5f0bd80d61db8 06-May-2010 Jesse Wilson <jessewilson@google.com> Setting expectations and fixing failures from scrubbing Harmony tests.

The tests found a few small problems (yay) but required many suppressions.
Later we might want to convert the suppressions into fixes for the
corresponding tests.

Change-Id: I29f2f9cef7e2c878aba8303b44c9b990de0777dd
845d68e21bf68848f960ccf19abcdd6ffe5d67b3 06-May-2010 Elliott Hughes <enh@google.com> Improve File.renameTo documentation.

Bug: http://code.google.com/p/android/issues/detail?id=8172
Change-Id: I497f23ee9e320c43e525040a9da3f470c33894fb
386561ecfaa4829d4e690d3caa5d554dfdb74a8a 06-May-2010 Elliott Hughes <enh@google.com> Trivia.

Fix my test to do what I intended (and what the comment claims), and privatize
Platform's privates.

Change-Id: Icedc8aed50d6ec69c69e4b00786e40b7c4071b91
713c156bcc5e4a78eda8b2c88863c87d6aab326e 06-May-2010 Elliott Hughes <enh@google.com> Merge "Remove the "Answers" javadoc barbarism." into dalvik-dev
38dcfba0c80f27c01e28fbe4560dd83721297a5f 06-May-2010 Jesse Wilson <jessewilson@google.com> Merge "A test for unexpected finalization on objects that failed creation." into dalvik-dev
91246fe74ed6b9b8856bcf072ed80f11824758fa 06-May-2010 Jesse Wilson <jessewilson@google.com> A test for unexpected finalization on objects that failed creation.

Change-Id: Idec898d766cabb947ec905ecf0a97040c776d149
http://b/issue?id=2645458
ed0c46f4a10c8c8a953eb46250c018081abee233 06-May-2010 Elliott Hughes <enh@google.com> Remove the "Answers" javadoc barbarism.

I didn't realize how little of it was left, or I'd have done this earlier.

Change-Id: Ic4c23c3779bbee0ed4a8117584c5332e04536b5d
aa00f95a21cdf5951e1962ff6455419f173fc497 06-May-2010 Elliott Hughes <enh@google.com> Merge "Fix HttpURLConnection to not cache failures." into dalvik-dev
f28ba812de56973101cfdec6d496cefd24a5173d 05-May-2010 Elliott Hughes <enh@google.com> Fix HttpURLConnection to not cache failures.

Found while investigating http://code.google.com/p/android/issues/detail?id=7787,
which turned out to be caused by unclear documentation. I've improved the
documentation somewhat, and stopped offering failed responses to the cache.

Bug: http://code.google.com/p/android/issues/detail?id=7787
Change-Id: Iec69769344af92345392c7ced817b0c823963524
4f40da35ee4f442fbf8ab2ab0688afdf1ea3eab9 05-May-2010 Brian Carlstrom <bdc@google.com> Moving OpenSSLSessionImpl native code to NativeCrypto

OpenSSLSessionImpl NativeCrypto
-------------------------------------------------------
getId SSL_SESSION_session_id
getPeerCertificatesImpl SSL_SESSION_get_peer_cert_chain
getCreationTime SSL_SESSION_get_time
getProtocol SSL_SESSION_get_version
getCipherSuite SSL_SESSION_cipher
freeImpl SSL_SESSION_free
getEncoded i2d_SSL_SESSION
initializeNativeImpl d2i_SSL_SESSION

Change-Id: I4538df52280266711986a577b14868af3ea0ed62
0a9b32d1e4f26ff1db859c4044073d54220e6531 05-May-2010 Dianne Hackborn <hackbod@google.com> am 5c27511b: am 873ccdf8: Make API to look up library by path public.
2dfe62228bf3fd09f6d91a6ad6ac33dd8dbcd3c6 05-May-2010 Elliott Hughes <enh@google.com> Merge "Remove use of non-errno error codes in OSNetworkSystem." into dalvik-dev
0e2fb869e96603f3b364f542a8c638eae1f59fad 05-May-2010 Brian Carlstrom <bdc@google.com> Remove unnecessary NativeCrypto "OpenSSL error" warning

The following errors were noticed running tests.AllTests:

D/NativeCrypto( 507): OpenSSL error 168235011: error:0A071003:dsa routines:DSA_do_verify:BN lib
D/NativeCrypto( 507): OpenSSL error 168235011: error:0A071003:dsa routines:DSA_do_verify:BN lib
D/NativeCrypto( 507): OpenSSL error 168235011: error:0A071003:dsa routines:DSA_do_verify:BN lib
D/NativeCrypto( 507): OpenSSL error 168235011: error:0A071003:dsa routines:DSA_do_verify:BN lib
D/NativeCrypto( 507): OpenSSL error 168235011: error:0A071003:dsa routines:DSA_do_verify:BN lib

D/NativeCrypto( 507): OpenSSL error 168235011: error:0A071003:dsa routines:DSA_do_verify:BN lib
D/NativeCrypto( 507): OpenSSL error 168235011: error:0A071003:dsa routines:DSA_do_verify:BN lib

I tracked these down to the following tests respectively:

org.apache.harmony.archive.tests.java.util.jar.JarFileTest.test_JarFile_Modified_SF_EntryAttributes
org.apache.harmony.archive.tests.java.util.jar.JarFileTest.test_JarFile_Modified_SF_EntryAttributes
org.apache.harmony.archive.tests.java.util.jar.JarFileTest.test_JarFile_Modified_SF_EntryAttributes
org.apache.harmony.archive.tests.java.util.jar.JarFileTest.test_JarFile_Modified_SF_EntryAttributes
org.apache.harmony.archive.tests.java.util.jar.JarFileTest.test_JarFile_Modified_SF_EntryAttributes

org.apache.harmony.archive.tests.java.util.jar.JarInputStreamTest.test_JarInputStream_Modified_SF_EntryAttributes_getNextEntry
org.apache.harmony.archive.tests.java.util.jar.JarInputStreamTest.test_JarInputStream_Modified_SF_EntryAttributes_read

However, these errors are just because of expected SecurityException
because jar files are being modified and the signatures are no longer
valid.

Commented out the warning, leaving it for future debugging if
needed. In addition passed context in for use in message for
disambiguating source of error.

libcore/luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Change-Id: I3e41994a30c19a859a1eaed4ef80eb25b9670f52
37b19b7a6cf1f325e3e0c3aebe1244551b6bab22 05-May-2010 Dianne Hackborn <hackbod@google.com> am 873ccdf8: Make API to look up library by path public.
3514d2c4914ca6ce856aa7cac67a9700d73848e7 05-May-2010 Elliott Hughes <enh@google.com> Remove use of non-errno error codes in OSNetworkSystem.

This code's confusing enough without being so idiosyncratic. I've also changed
the native method so it returns a boolean rather leaking errno values in Java.

Where the original code used ENOTCONN, I've reverted to the native API's
EINPROGRESS for clarity. I've also used TEMP_FAILURE_RETRY to avoid manually
messing about with EINTR.

While I was here, I fixed a TODO about not needlessly passing a
sockaddr_storage by value, and removed a dead part of the old getsockopt code
I'd forgotten to remove.

Change-Id: I3c62fb80e33747619961ff39a0867422769126c4
63077b80e8910f47acd647b9bb567697547504e0 05-May-2010 Brian Carlstrom <bdc@google.com> Addressing post-submit comments regarding OpenSSL handhake changes

Following up on feedback from earlier change https://android-git.corp.google.com/g/50435

Added new test_SSLSocket_startHandshake_noClientCertificate to
make sure handshaking works when no client certificates are
present after issues raised by hwu during code review.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Improve TestSSLContext.create* options
- added javadoc comments to help distinguish different versions
- fixed bug of not passing in keyStorePassword in create()
- added new createClient(server) method to create a TestSSLContext
that trusts the provided server TestSSLContext's certificate for
use by test_SSLSocket_startHandshake_noClientCertificate
- made createKeyStore optionally create a more minimal keystore if
aliases are not present
support/src/test/java/javax/net/ssl/TestSSLContext.java

Fixed argument names in SSL_*_mode methods names as pointed out by hwu

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java

Added comment to explain purpose of OpenSSLSessionImpl.resetId.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java

Two changes to OpenSocketImpl
- Added logging on runtime exception catch around
HandshakeCompletedListener execution to closely mirror RI
behavior.
- Cleaned up peerCertificate check to not just be on the client path.

luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Addressed enh's comments about using clearEnv and when to delete AppData

luni/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Change-Id: I34f54e3e41a5d53d81fdc22aa34ca4de4ee9826f
4880963634d55637734dc1f492112328a096aa73 05-May-2010 Jesse Wilson <jessewilson@google.com> Moving junit out of core.jar and into core-junit.jar.

Previously it wasn't possible to start a dalvikvm without
a copy of JUnit on the boot class path.

Change-Id: I52f924207efe0a115e69616111807c6738d1a17f
https://android-git.corp.google.com/g/#change,50609
https://android-git.corp.google.com/g/#change,50610
https://android-git.corp.google.com/g/#change,50611
2ce561ba8fabda5aec5ea957ca695b465cb1ffb2 03-May-2010 Peter Hallam <peterhal@google.com> Merge awt-kernel, icu, luni-kernel, prefs, security-kernel, x-net into luni
Merge xml except xmlpull and kxml into luni
3561c54f459bcb37e48d3924faccc72319e54501 05-May-2010 Jesse Wilson <jessewilson@google.com> Merge "Improving the doc for java.util.Timer" into dalvik-dev
4fc4893a77359507db7e1676557e931f06ca2bcd 05-May-2010 Jesse Wilson <jessewilson@google.com> Improving the doc for java.util.Timer

Change-Id: Ie6fd0f7509a2dbf84255aebb02b8216c98201dc4
55bf8071fe5107cfbe90fd0aa81407daf4486b19 05-May-2010 Dianne Hackborn <hackbod@google.com> Make API to look up library by path public.

Change-Id: Iebe6cb5e9b464330a240d77f5162479513ebadb0
c4943bff3ac93db29900b2a5ab9e3fb3bb7f9530 04-May-2010 Brian Carlstrom <bdc@google.com> Merge "Remove workarounds from JSSE tests now that SSLServerSocket.accept no longer tries to handshake" into dalvik-dev
d684df8a5fa956b8d544c33682421b3d88f0d638 04-May-2010 Brian Carlstrom <bdc@google.com> Remove workarounds from JSSE tests now that SSLServerSocket.accept no longer tries to handshake

Change-Id: I1188c34901b4c2c42d6b88e798e2eda24b0bfc4c
d6738f158ccf06efc6c030c31775f519e6a0c167 04-May-2010 Elliott Hughes <enh@google.com> Merge "Fix IPv6 multicast TTLs." into dalvik-dev
38aa3785898d9da64201756ddfd835fefd8fed05 04-May-2010 Elliott Hughes <enh@google.com> Fix IPv6 multicast TTLs.

There's a Linux kernel bug we need to work-around for now. This patch adds that
workaround and tidies up the getSocketOption implementation.

This also fixes a bug I introduced in the last patch where setSocketOption
would reject InetAddress parameters.

Change-Id: Ie309b693520fed8306d346d5b4492c42e8967721
09b48ba2bbacdfbe92f583de95c50b814024f640 04-May-2010 Brian Carlstrom <bdc@google.com> Merge "OpenSSLSocket handshake overhaul" into dalvik-dev
a44c398486ff3620b24649764b4ba2c4f4a48ae4 02-May-2010 Brian Carlstrom <bdc@google.com> OpenSSLSocket handshake overhaul

Summary:
- SSLSocket.startHandshake now generalized to handle both client and
server handshaking as well as client/server role reversal
- handshake_cutthrough.patch is properly integrated with support
delayed handshake completion now integrated with delayed updates to
session cache and callbacks to HandshakeCompletedListeners
- Many fixes to SSLSession, which is the end product of the handshake
- Generally more RI and SSLEngine compliant behavior.
- More native code deletion through unification of client/server
handshake, unification of client/server certificate chain
verification, etc. More native code moved from various OpenSSL
classes to cleaner NativeCrypto interfaces that more directly mirror
the OpenSSL interfaces.

Details:

Delay SSL_new call until handshake time when we know for sure whether
the OpenSSLSocket will be used in client or server mode and we can
allocate the SSL_new from the apppriate client or server SSL_CTX used
for session caching.

Now that no SSL is allocated for an OpenSSLServerSocketImpl,
store enabledProtocols and enabledCipherSuites in instance String
arrays. Use new NativeCrypto.checkEnabled* methdods for argument
validation. OpenSSLServerSocketImpl passes these enabled arrays to
a new OpenSSLSocket constructor during accept(). Removed finalizer
from OpenSSLServerSocketImpl since it no longer has any native
storage and socket is already closed by PlainSocketImpl finalizer.

X-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

OpenSSLSocket major overhaul to properly implement handshaking
including switching client and server roles and session ID caching
with handshake_cutthrough.patch.
- now implements NativeCrypto.HandshakeCompletedListeners for
properly timed callback when handshake_cutthrough.patch delays
handshake completion until first SSLSocket.getInputStream()
read.
- similar enabledProtocols/enabledCipherSuites changes as
OpenSSLServerSocketImpl since we need to store the state
somewhere other than an openssl SSL struct until we are sure if
we are doing a client or server handshake.
- added handshake completed field so that startHandshake can tell
if handshake was completed during SSL_do_handshake or will be
completed later by a call to HandshakeCompletedCallback.handshakeCompleted.
- removed nativegetsession as the equivalent value is now returned by SSL_do_handshake
- removed nativecipherauthenticationmethod as the value is now passed to verifyCertificateChain
- startHandshake is now a wrapper that forces a fully synchronous handshake
- startHandshake(boolean) is the the most changed method in this
changelist, combinding both the old startHandshake logic, but
also the OpenSSLSocketImpl.accept code as well. Notable
differences from the old code:
* now responsible for SSL_new
* single code path for client/server handshaking dealing with SSLSession caching
* now handles server certificate requests previously in
OpenSSLServerSocketImpl, since a client can request to act
like a server and therefore need to be able to make suck
demands on its peer.
* supports turning off handshake_cutthrough at a callers request
via explicit call to startHandshake()
* certificate verification happens during an upcall from openssl
during SSL_do_handshake to verifyCertificateChain for both
client and server cases. previously there was not quite right
upcall support on the server side and post-handshake checking
on the client, which did not allow for a proper alert to be
sent to the peer informing them of the issue, which the RI and
SSLEngine code do.
* Similarly, setEnableSessionCreation(false) did not send an
alert to the peer as the RI and SSLEngine code in the client
case. In the server case, nothing was previously done.
* The use of local certificates was not determined from
introspecting the SSL struct post-handshake. This is now
partially implemented and will be completed in a later change.
- SSLSocket.{shutdownInput,shutdownOutput} are now restored to the
proper behavior of throwing UnsupportedOperationException.
- Gutted OpenSSLSocketImpl finalizer. The comment explains in
detail the trouble of having the finalizer do anything more than
touch its the instances own state due to unpredictable order of
finalization and the future possability of parallel
finalization.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

SSLSession fixes
- Made OpenSSLSessionImpl.sessionContext non-final so it could be
nulled by SSLSession.invalidate to match RI behavior.
- As noted in AbstractSessionContext discussion, removed
OpenSSLSessionImpl constructor that took SSLParameters, instead
we take the possibly null localCertificates
directly. OpenSSLSessionImpl.getLocalCertificates now simply
returns the localCertificates member variable instead of
incorrectly trying to query the KeyManager for certificates that
may not have been used.
- OpenSSLSessionImpl now caches its native ID to avoid numerious
native calls but also now provides as resetId which will update
the cache when a delayed handshake happens due to the
handshake_cutthrough.patch
- Fixed bug in getPeerPrincipal that it wasn't calling
getPeerCertificates to initialize peerCertificates field.
- freeImpl is now 'public static' in preparation for move to NativeCrypto.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java

The old SSLSessionImpl class that is still used for representing
the invalid session now returns
isValid => false
and
getProtocol => "NONE"
to match the RI.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSessionImpl.java

NativeCrypto improvements
- Adding NativeCrypto.SSL_{get,set,clear}_mode similar to
NativeCrypto.SSL_{get,set,clear}_options along with
SSL_MODE_HANDSHAKE_CUTTHROUGH constant which is used to
explicitly disable/enable the Android handshake_cutthrough.patch
behavior.
- Added missing NativeCrypto.SSL_clear_options and used to properly
implement NativeCrypto.setEnabledProtocols.
- Added NativeCrypto.checkEnabledProtocols and
NativeCrypto.checkEnabledCipherSuites helpers to implement
exception compatability with the RI. While some of this code is
refactored from existing NativeCrypto code, it is now also used
by OpenSSLServerSocketImpl and OpenSSLSocketImpl which maintain
their own String[]s of what is enabled until startHandshake time. (see below)
- Changed NativeCrypto.findSuite to use foreach style loop for clarity.
- Moved OpenSSLServerSocketImpl nativesetclientauth and
SSL_VERIFY_* constants to NativeCrypto.SSL_set_verify
- Added NativeCrypto.SSL_set_session based on part of old OpenSSLSocketImpl.nativeconnect
- Added NativeCrypto.SSL_set_session_creation_enabled to properly implement
SSLSocket.setEnableSessionCreation(false) which uses new
external/openssl/patches/jsse.patch functionality.
- New NativeCrypto.SSL_do_handshake consolidates
OpenSSLSocketImpl.{nativeconnect, nativeaccept} while properly
implementing SSLSocket.setUseClientMode(false) for clients and
SSLSocket.setUseClientMode(true) for servers.
- New NativeCrypto.SSL_get_certificate is determine if local
certificate requested by peer. While functional, currently
NativeCrypto.SSL_new always sets a value via SSL_use_certificate
instead of relying on a callback set via SSL_CTX_set_client_cert_cb.
- Changed NativeCrypto.CertificateChainVerifier.verifyCertificateChain
to throw a checked CertificateException to match TrustManager.{checkServerTrusted,
checkClientTrusted}. It also takes an authMethod so avoid the need to call
the old OpenSSLSocketImpl.nativecipherauthenticationmethod.
- Added NativeCrypto.HandshakeCompletedCallback which has its
handshakeCompleted method called from OpenSSL when the now
delayed handshake_cutthrough.patch handshake is completed so
SSLSession caching can be delayed until a session ID is available
and to provide a better time for HandshakeCompletedListeners to
be notified.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Some other changes specific to the naitve side of the code
- Added JNITRACE calls (enabled at compile time with JNI_TRACE)
for future debugging.
- throw SSLException subclass of IOException instead IOException
itself for better RI compatability
x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp
- changed from old struct app_data to new class AppData at enh's request

Remove dubious usage of SSLParameters within AbstractSessionContext
to pass through to OpenSSLSessionImpl constructor for use in
calling getLocalCertificates for sessions created from a byte array
with AbstractSessionContext.toSession. Our
AbstractSessionContext.toBytes doesn't currently include the local
certificates in its output, so it cannot be expected to have in toSession.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/AbstractSessionContext.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java

Test maintenance

openssl 1.0.0 adds support for RFC 4507 session tickets which
remove the need for server side session state. These tests needed
to be updated for this new behavior. If IS_RI is true, they still
follow the old behavior.

luni/src/test/java/javax/net/ssl/SSLSessionContextTest.java
luni/src/test/java/javax/net/ssl/SSLSessionTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Update KnownFailures and add specific comments at point of failure
about what remains to be fixed.

luni/src/test/java/javax/net/ssl/SSLSessionTest.java

Added tests to cover the use of standard cipher suite
names. Historically Android has used OpenSSL string constants for
cipher suite names, but JSSE actually specifies supported and
expected names.

luni/src/test/java/javax/net/ssl/SSLSocketFactoryTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Create new support/src/test/java/javax/net/ssl with old Helper
support code pulled from javax.net.ssl tests:
SSLContextTest.Helper -> TestSSLContext
SSLSocketTest.Helper -> TestSSLSocketPair
SSLSessionTest.Helper -> TestSSLSessions
Also added new StandardNames here, which contains a collection of
expected constants for test validation.

luni/src/test/java/javax/net/ssl/SSLContextTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java
luni/src/test/java/javax/net/ssl/SSLSessionTest.java
support/src/test/java/javax/net/ssl/TestSSLContext.java
support/src/test/java/javax/net/ssl/TestSSLSocketPair.java
support/src/test/java/javax/net/ssl/TestSSLSessions.java
support/src/test/java/javax/net/ssl/StandardNames.java

Removed some now fixed KnownFailures and unneeded !IS_RI
code. Marked some [Un]KnownFailures where exceptions are thrown
and visible in the output but aren't correctly causing the test to
fail. Fixed assertNonNull to assertTrue in
test_SSLSocketTest_Test_create. Added
stress_test_SSLSocketTest_Test_create to track down test
flakiness, leading to rewrite of SSLSocket finalization.

luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Reenable javax.net.ssl.AllTests now that it is does not hang

luni/src/test/java/tests/AllTests.java

Improve error messages while debugging overflow problem.
Added new assert when debugging new RFC 4507 behavior.
Removed KnownFailure annotation for now working test case.
x-net/src/test/java/tests/api/javax/net/ssl/SSLSessionTest.java

Client code changes

Now that startHandshake implies synchronous vs Android's default async handshake, remove unneeded explict calls to SSLSocket.startHandshake

luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpConnection.java

Removed IBM 1.4.x codepath that involved startHandshake

x-net/src/main/java/javax/net/ssl/DefaultHostnameVerifier.java

Unrelated

Remove unneed SSLSocket.setUseClientMode while removing unneeded SSLSocket.startHandshake

luni/src/main/java/org/apache/harmony/luni/internal/net/www/protocol/http/HttpConnection.java

Removed warnings due to now missing modules in classpath

run-core-tests

Change-Id: I6e149ae259b3feccdfb0673209c85cfeb60befc8
037431ce6ede5ceaa0e8a959ca3a9cc987004ffb 04-May-2010 Elliott Hughes <enh@google.com> Remove an unused field and tidy up a test.

Change-Id: I23fdfe9b0470f8e1f1744660457542a999a13054
0172025689e90578a84cf0ba3318c16e52578296 03-May-2010 Elliott Hughes <enh@google.com> Fix MulticastSocket.setTTL.

Fixes two jtreg failures. I assumed the problem was with the native code, so I
simplified that until I'd convinced myself it was now correct. Then I found a
sign-extension bug in the Java side.

Change-Id: I398cecbe8e9245cb45c27f35eff3a0cd2995394e
7be9955fe6740c515cc48cb062f94407078041f6 03-May-2010 repo sync <enh@google.com> am 605c303c: am 32e2163c: am 385ee637: resolved conflicts for merge of f3565212 to froyo-plus-aosp
509babba02e97c8e2f4fc36abf659893ee65e3b0 03-May-2010 Jean-Baptiste Queru <jbq@google.com> am aff8b608: am d6f5d85c: am a70e2647: Adapt to new location of libcore
1d7eb8b222af7c94f39e7087f7c2685ec07cd268 03-May-2010 repo sync <enh@google.com> am 32e2163c: am 385ee637: resolved conflicts for merge of f3565212 to froyo-plus-aosp
b6d88c671f518768d6a5a755603e8f24afd99237 03-May-2010 Jean-Baptiste Queru <jbq@google.com> am d6f5d85c: am a70e2647: Adapt to new location of libcore
855f340297aaf7bd9afcd1a57bc83c0aa79591c4 03-May-2010 repo sync <enh@google.com> am 385ee637: resolved conflicts for merge of f3565212 to froyo-plus-aosp

Merge commit '385ee6370db97d951fdd9708ab85ba345bf68981' into kraken

* commit '385ee6370db97d951fdd9708ab85ba345bf68981':
resolved conflicts for merge of f3565212 to froyo-plus-aosp
98ecfa538fbaef0c27eda19ec8bdccccef6bd141 03-May-2010 Jean-Baptiste Queru <jbq@google.com> am a70e2647: Adapt to new location of libcore

Merge commit 'a70e264763b073e1f30867f96fce936d25cf1de0' into kraken

* commit 'a70e264763b073e1f30867f96fce936d25cf1de0':
Adapt to new location of libcore
25f205f6c28e04f259cf764fd628e351d2430393 01-May-2010 repo sync <enh@google.com> resolved conflicts for merge of f3565212 to froyo-plus-aosp

Change-Id: I2c1dacb28eefd2c57f798dabc9fdc23b3b9ff0dc
ac88fc158b18ad62c06e584f62388fb467aaf841 01-May-2010 Jean-Baptiste Queru <jbq@google.com> am de4018f4: am a33a62a5: Adapt to new location of libcore
9289a7865759c83916897878d19d849f0bff401c 01-May-2010 Jean-Baptiste Queru <jbq@google.com> am cccb7888: Adapt to new location of libcore
8886dd04a40b4a9a66109054399f41fd2eb400b9 30-Apr-2010 Jean-Baptiste Queru <jbq@google.com> Adapt to new location of libcore

Change-Id: Icb940f5f6d5985b913567519d1870ab1de573322
83056d0cb128f4de048ac899e14c6b974e2745f9 30-Apr-2010 Jean-Baptiste Queru <jbq@google.com> am a33a62a5: Adapt to new location of libcore
8cda74d6a6bf11f113c4704afe44b2f8e1e544d5 30-Apr-2010 Jean-Baptiste Queru <jbq@google.com> Adapt to new location of libcore

Change-Id: I74a3bf67ecab010607f7ce1c71659c4370a9d291
a25ae1c5c8e7e789e6517b24bb7abce3d5674651 30-Apr-2010 Jean-Baptiste Queru <jbq@google.com> Adapt to new location of libcore

Change-Id: Ia2481cb4f3462ab72a1ac6cb891ddab593b93a9d
c06afbdc8070df1d1f2e150097ad01b8d3984dc3 30-Apr-2010 Jean-Baptiste Queru <jbq@google.com> Adapt to new location of libcore

Change-Id: Icfecb1c02b22ced425f030a4b1b86664e2d83fa3
cb5d42743c92112b6917899a9f54d1acdab9e897 30-Apr-2010 Jean-Baptiste Queru <jbq@google.com> Adapt to new location of libcore

Change-Id: I0dcadda241e7fd2a7429f9dd43d1ff5e945e5467
b448335e325400ec205e1664a0ee4622167d1e15 30-Apr-2010 Ben Cheng <bccheng@android.com> Use unsigned comparison for stack pointers.

Bug: 2613607
Change-Id: I6a8abd69fbf9cb9f8ec9d9febf1ea42fd631fe9c
6fc1108162ea874824409e4efd4fa353aadb8c22 30-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding public API for cookies." into dalvik-dev
00beb50fbe5763db1145c5cd1b47eebaa0ba05f0 29-Apr-2010 Andy McFadden <fadden@android.com> Rework common_periodicChecks.

The function was rewritten to optimize the common path. The control flow
now matches the C version, which tests for debugger/profiler even if the
previous test for suspension came up true.

This also adds a minor optimization on the test for debugger attachment,
allowing us to skip a load from memory if the process is simply not
debuggable. (The optimization isn't yet enabled because a similar change
must be made to the x86 asm code.)

The VM apparently hadn't been built without debugging/profiling support
for a while, so this fixes those places (necessary to be able to test
all forms of the new code).

Bug 2634642.

Change-Id: I096b58c961bb73ee0d128ba776d68dbf29bba924
8f8c0a9fc306dbebeda75625cc688018c7a5d504 29-Apr-2010 Jesse Wilson <jessewilson@google.com> Adding public API for cookies.

We still need to wire this into the HTTP connection classes.
http://b/issue?id=1608781
b6581def9fdc6f8b07c2090b621623527deae35b 29-Apr-2010 Andy McFadden <fadden@android.com> Merge "Dalvik Zip rewrite." into dalvik-dev
1e400c77d040d63486a2d1f9806fb640f80e4166 24-Apr-2010 Andy McFadden <fadden@android.com> Dalvik Zip rewrite.

Change the way zip archives are handled. This is necessary to deal with
very large (~1GB) APK files, for which our current approach of mapping
the entire file falls over.

We now do the classic scavenger hunt for the End Of Central Directory magic
on a buffer of data read from the file, instead of a memory-mapped section.
We use what we find to create a map that covers the Central Directory only.
For most uses in the VM this is all we really need, since we just want
to check file attributes vs. the optimized DEX to see if we're out of date.

If the caller is interested in unpacking the file contents, we have to
do an additional file read to discover the size of the Local File Header
section so we can skip past it. We also now do a file-to-file extraction
using read() calls instead of a buffer-to-file extraction on mmap()ed data.
No difference in performance (as measured by first-boot dexopt).

Since this is more of a rewrite than an update, I also took the opportunity
to change buffer size variables from "long" to "size_t", and normalized
return values to int (some were using bool, which is common in the VM but
was mixed in the zip code). Failure messages are now all LOGW with the
word "Zip" up front (didn't want to change log tag away from "dalvikvm").

Also, removed a not-quite-right check in the "map part of a file" code,
and clarified that the file offset is absolute.

For bug 2620103.

Change-Id: I745fb15abb541376f467969ffe422222676f1e5f
592ff497c7ad0a805519630272dcaf84b5a061d2 29-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing a few TreeMap bugs found by the latest Harmony tests." into dalvik-dev
bb3ccf3f04d5cdbef2fd299cde525f7f697d8472 29-Apr-2010 Andy McFadden <fadden@android.com> Merge "Use unsigned compare for stack overflow." into dalvik-dev
ed7c92efc0567ec3d4e12534f9d872570702d8fb 29-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing a few TreeMap bugs found by the latest Harmony tests.
64e6d2a25f2474d1038e564242506e9c08bf8c36 29-Apr-2010 Elliott Hughes <enh@google.com> Optimize rem-int/lit too.

Bryan hitting the bug in my div-int/lit optimization (that caused it to
try to rewrite rem-int/lit too) shows that I was wrong in assuming % wasn't
worth doing because it wouldn't be hot enough.

Before:

benchmark ns logarithmic runtime
RemainderIntByConstant2 44 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
RemainderIntByConstant2048 34 XXXXXXXXXXXXXXXXXXXXXX|||||
RemainderIntByConstant8 44 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
RemainderIntByVariable2 40 XXXXXXXXXXXXXXXXXXXXXXXXXXX||

After:

benchmark ns logarithmic runtime
RemainderIntByConstant2 13 XXXXXXXXX|||||||||||
RemainderIntByConstant2048 16 XXXXXXXXXXXX||||||||||
RemainderIntByConstant8 16 XXXXXXXXXXXX||||||||||
RemainderIntByVariable2 40 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Bug: 2614702
Change-Id: I719fc8765feececd5b73c3cb2e44dd3cf20c45ce
7b0ec636508c21f93ca4c00a28e19919cecb725b 29-Apr-2010 Andy McFadden <fadden@android.com> Use unsigned compare for stack overflow.

When checking for stack overflow we're using a comparison that is treating
the pointers as signed values. If we manage to get a stack straddling
0x80000000, this will not work correctly.

Bug 2613607.

Change-Id: I5d178db86e93a3bb1e6a417e88d7cb1770d285bb
cebafd14d677a0a4fb5e9eac86de79f3cb38d88f 28-Apr-2010 Elliott Hughes <enh@google.com> Don't accidentally convert % into /...

Fix a JIT bug I introduced the other day by not paying attention to the exact
dalvik opcode being optimized.

Change-Id: Ic0518645a5436e2903c2a34ef46d0205f23d571b
e314df3ed5118d004b3bf8c2beb595924ce0edf9 28-Apr-2010 Elliott Hughes <enh@google.com> Merge "Add a regression test for http://code.google.com/p/android/issues/detail?id=7935." into dalvik-dev
1bff191bc4e1264c9fbe4991dceab61334ebb428 28-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Filling out implementations of java.util." into dalvik-dev
41363ad6db3fad25ce34d2920c6ac5e86f2c1bab 28-Apr-2010 Jesse Wilson <jessewilson@google.com> Filling out implementations of java.util.

The new code comes straight from Harmony. None of the below classes
were divergent from Harmony so the change was quite straightforward.

The changes have been tested against Harmony's test suite and jtreg.
I haven't added any new tests to our suite, but I don't need to.
e08ded37e694e57855e85e9005352b3ad8fb7bd1 28-Apr-2010 Elliott Hughes <enh@google.com> Add a regression test for http://code.google.com/p/android/issues/detail?id=7935.

Bug: http://code.google.com/p/android/issues/detail?id=7935
Change-Id: I5d1b46687f0f257e24870fe34f05b6e7dceed346
8cbcc03d6150beef0ea69684a9d957ca7e3e0257 28-Apr-2010 Elliott Hughes <enh@google.com> Add a regression test for another DST-less locale.

Bug: http://code.google.com/p/android/issues/detail?id=8016
Change-Id: I260760ebc37251ccff766b78d22853d961a2694f
d39b162bee1171ce7bed99b77b263e288fa30570 28-Apr-2010 Elliott Hughes <enh@google.com> Merge "Remove almost all of the temporary allocations." into dalvik-dev
893f8f85ad28679ce2d4a969dc912323bf547120 28-Apr-2010 Guang Zhu <guangzhu@google.com> am cfb71ee5: (-s ours) no emma instrumentation on core-test

Merge commit 'cfb71ee5d72b7514d05b782c780d20cc5e6f73cb' into dalvik-dev

* commit 'cfb71ee5d72b7514d05b782c780d20cc5e6f73cb':
no emma instrumentation on core-test
26ef4d9b150c8031d4cdc5ed09b7c0871da1e76f 28-Apr-2010 Elliott Hughes <enh@google.com> Remove almost all of the temporary allocations.

The main source of garbage when running the tests is now
OutputStream.write(int)'s creation of temporary single-byte byte arrays, but
no performance-conscious caller should be using that. In sensible cases, we
now produce very little garbage.

Change-Id: I13b5c8aef9a48c6aca33b039af2b13d5613a5f05
03bf0dfc60c4292c87632d8845d495aa81b0d18b 28-Apr-2010 Guang Zhu <guangzhu@google.com> no emma instrumentation on core-test

* applying emma instrumentation causes OOM in dx
* test packages don't need emma instrumentation anyway, it's the
package under test that needs to be processed by emma

Change-Id: I8e65d3750aae716c52fb98d0b8cd41a748344516
d2904e393bd5cb8486e1db6698a52a2e6c491386 28-Apr-2010 Elliott Hughes <enh@google.com> Merge "Fix HttpURLConnection.setFixedLengthStreamingMode." into dalvik-dev
ba5c59e0232fe31409dac0f6432383329e971a37 28-Apr-2010 Elliott Hughes <enh@google.com> Fix HttpURLConnection.setFixedLengthStreamingMode.

Add better testing of chunked and fixed-length modes, and fix fixed-length mode
so it doesn't try to buffer all the output (which is the last thing you want
because the only point of that mode is to explicitly disable as much buffering
as possible).

Bug: http://code.google.com/p/android/issues/detail?id=3164
Change-Id: Ie0adc374b9c8093ab55211222cec0eeab0e27e96
c5679ea7f67f6c5a2ddfc550543b45417b6665c9 26-Apr-2010 Peter Hallam <peterhal@google.com> merge more modules into luni
1e4f0f85d8ec626224eac17541ee4fa739ff4974 27-Apr-2010 Elliott Hughes <enh@google.com> Merge "Optimize idiv-int/lit for powers of 2." into dalvik-dev
25cafe85008d9ff765a0ec53537ea3dd59352a5e 27-Apr-2010 Jesse Wilson <jessewilson@google.com> Restore test expectations inadvertently deleted with vogar.
7e832128df1002b9b08af9871d4c97c3f10523a1 27-Apr-2010 Elliott Hughes <enh@google.com> Optimize idiv-int/lit for powers of 2.

before:

DivideIntByConstant10 32 XXXXXXXXXXXXXXXXXXXXXXXXXXXX|
DivideIntByConstant100 32 XXXXXXXXXXXXXXXXXXXXXXXXXXXX|
DivideIntByConstant100_HandOptimized 34 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DivideIntByConstant2 32 XXXXXXXXXXXXXXXXXXXXXXXXXXXX|
DivideIntByConstant2048 22 XXXXXXXXXXXXXXXXXXX|||||||
DivideIntByConstant8 20 XXXXXXXXXXXXXXXXX||||||||
DivideIntByVariable10 21 XXXXXXXXXXXXXXXXXX|||||||
DivideIntByVariable2 21 XXXXXXXXXXXXXXXXXX|||||||

after:

benchmark ns logarithmic runtime
DivideIntByConstant10 32 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DivideIntByConstant100 32 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DivideIntByConstant100_HandOptimized 33 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DivideIntByConstant2 11 XXXXXXXXX|||||||||||
DivideIntByConstant2048 13 XXXXXXXXXXX|||||||||||
DivideIntByConstant8 13 XXXXXXXXXXX|||||||||||
DivideIntByVariable10 21 XXXXXXXXXXXXXXXXXXX|||||||
DivideIntByVariable2 22 XXXXXXXXXXXXXXXXXXXX||||||

Bug: 2614702
Change-Id: I9dde73d80580446a362cdcc9b82959a4b6bfb384
f04a0e753d30424cba128176e8fa1fb64f767470 26-Apr-2010 Elliott Hughes <enh@google.com> Merge "Fix =/== bug." into dalvik-dev
16b1bd7d8117a932987280c8acb2a81ac2d694c9 26-Apr-2010 Elliott Hughes <enh@google.com> Fix =/== bug.

Change-Id: I42c1ede0289334b7837d468763fecc61fc4a8bea
b912c5dcf9d378198b36e3424623764a18202449 26-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "More merging of nio into luni" into dalvik-dev
ebab3d25e3b6974875eb7771653c7d16636e0ecf 26-Apr-2010 Jesse Wilson <jessewilson@google.com> Removing vogar from Dalvik's git tree; the source is now on code.google.com.

http://code.google.com/p/vogar/
14dc64303b0735eea4cf38cc98685549845abea2 26-Apr-2010 Raphael <raphael@google.com> am b59dd513: am 5793d439: am 3e557951: am 42452494: Fix dexdump to build in Windows SDK under Linux

Merge commit 'b59dd51399f17f60c5e2c9909331887417b0778c' into dalvik-dev

* commit 'b59dd51399f17f60c5e2c9909331887417b0778c':
Fix dexdump to build in Windows SDK under Linux
148c3466f2239af5e8094d598439bcae9557b868 26-Apr-2010 Raphael <raphael@google.com> am 5793d439: am 3e557951: am 42452494: Fix dexdump to build in Windows SDK under Linux
162d51c958225ff5b364686d7641b2a42e988dbc 24-Apr-2010 Raphael <raphael@google.com> am 3e557951: am 42452494: Fix dexdump to build in Windows SDK under Linux

Merge commit '3e557951fa772390551d50c85ddd584e4370fb15' into kraken

* commit '3e557951fa772390551d50c85ddd584e4370fb15':
Fix dexdump to build in Windows SDK under Linux
65108e96dc5ac0797f61a3b62e5a542df313790d 24-Apr-2010 Raphael <raphael@google.com> am 42452494: Fix dexdump to build in Windows SDK under Linux

Merge commit '4245249472f7172de80874190559f6d2ef9c3803' into froyo-plus-aosp

* commit '4245249472f7172de80874190559f6d2ef9c3803':
Fix dexdump to build in Windows SDK under Linux
abe055fdfde434cb757bc619b6eb33b5e06a0966 24-Apr-2010 Elliott Hughes <enh@google.com> Merge "Dead code/cruft removal in the collation code." into dalvik-dev
d4c64fcac73d9865c71011edb4d6566583157bf9 24-Apr-2010 Elliott Hughes <enh@google.com> Dead code/cruft removal in the collation code.

I've also renamed ScopedUtfChars::data to ScopedUtfChars::c_str, by analogy
with std::string (since this method has always been more like c_str than data).

This also fixes a few leaks on error paths.

The old code used to go all the way into native code to return a constant hash
code of 1, so I've removed all that and switched to the idiomatic bogo hash
code (with the idiomatic comment).

Change-Id: I25da8c422155860b5ab348786d369c6c7598135c
4d1674e69d638450f35c326d00d9c6c27007366f 23-Apr-2010 Peter Hallam <peterhal@google.com> More merging of nio into luni

Change-Id: Ib4356b3cd57490df8ff246ea6a4bc1c269ba848b
30492a54be6eff8877fe21be7158e50587a7b85c 14-Apr-2010 Raphael <raphael@google.com> Fix dexdump to build in Windows SDK under Linux

(Merged from master Change I0e57c81d)
24ab20aad1e12404c0629b83132077201c3c5721 23-Apr-2010 Andy McFadden <fadden@android.com> am 29af77bf: am ca88104b: am 770379e1: am 6efd4463: Fix a deadlock in the breakpoint code.

Merge commit '29af77bfa00ac560680dea99cf0893fccc257176' into dalvik-dev

* commit '29af77bfa00ac560680dea99cf0893fccc257176':
Fix a deadlock in the breakpoint code.
d81c74a6fcece3ecdbdacbf144c19ea0044026bb 23-Apr-2010 Andy McFadden <fadden@android.com> am ca88104b: am 770379e1: am 6efd4463: Fix a deadlock in the breakpoint code.
5cb9a7d1c39bb11725775907569cf0b6a2d96481 23-Apr-2010 Andy McFadden <fadden@android.com> am 770379e1: am 6efd4463: Fix a deadlock in the breakpoint code.

Merge commit '770379e17e694ec6e08f1edb690a5e33ab81c684' into kraken

* commit '770379e17e694ec6e08f1edb690a5e33ab81c684':
Fix a deadlock in the breakpoint code.
64ffe51117f9c0abaf081a01382867fd013b0d2e 23-Apr-2010 Carl Shapiro <cshapiro@google.com> Merge "Import the copying collector." into dalvik-dev
21a80efc28dc91ae02d0497c28b93bed7278288c 16-Apr-2010 Carl Shapiro <cshapiro@google.com> Import the copying collector.

Change-Id: I48ef17afd9e5e8453e560a96d307f4f949d4ab5e
3b8128c398bfd15ef6154c48478f9934cacc346b 23-Apr-2010 Andy McFadden <fadden@android.com> am 6efd4463: Fix a deadlock in the breakpoint code.

Merge commit '6efd446399ba7a9bb68bf8ddb5a458072a1381b0' into froyo-plus-aosp

* commit '6efd446399ba7a9bb68bf8ddb5a458072a1381b0':
Fix a deadlock in the breakpoint code.
1c62e1ac80490a259d16550fe738bd095494faad 23-Apr-2010 Andy McFadden <fadden@android.com> Fix a deadlock in the breakpoint code.

In froyo we started using "hard" breakpoints, where we replace the
existing opcodes with breakpoint instructions. This requires some
coordination to avoid confusing the verifier. The previous approach
allowed the breakpoints to be inserted, and "undid" them while the
verifier ran; this worked, but caused us to be holding a lock for
an extended period.

The new approach just avoids altering the bytecode of unverified
classes, and then "flushes" the breakpoint set out between the time
when verification completes and class initialization starts. This
removes the possibility of blocking with the lock held, and makes
everything much simpler.

For bug 2615063.

(cherry-pick from dalvik-dev)

Change-Id: I75f19b0cc71fc0babb50ab299c6c5a865e06c919
ba3b7731a6f8f0dc10a2fd86bb2d207aa294499c 23-Apr-2010 Andy McFadden <fadden@android.com> Merge "Fix a deadlock in the breakpoint code." into dalvik-dev
5e56fb23573f85f329bc2cd466dc4ecea5ca7ef8 23-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing some logging tests, see http://b/issue?id=2487338" into dalvik-dev
8a576e71676c344fd059985f38699d126b54aecf 23-Apr-2010 Andy McFadden <fadden@android.com> Fix a deadlock in the breakpoint code.

In froyo we started using "hard" breakpoints, where we replace the
existing opcodes with breakpoint instructions. This requires some
coordination to avoid confusing the verifier. The previous approach
allowed the breakpoints to be inserted, and "undid" them while the
verifier ran; this worked, but caused us to be holding a lock for
an extended period.

The new approach just avoids altering the bytecode of unverified
classes, and then "flushes" the breakpoint set out between the time
when verification completes and class initialization starts. This
removes the possibility of blocking with the lock held, and makes
everything much simpler.

For bug 2615063.

Change-Id: I7f43e09a755fba27b335454659b3f04e8b2179ac
41c781d5b06d596717e82069533811c1c485d6fc 23-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing some logging tests, see http://b/issue?id=2487338
135f9adc44ccbe0e54835d138b9c4fd66395a911 23-Apr-2010 Jesse Wilson <jessewilson@google.com> Remove unnecessary IPv6 and IPv4 parsing from URI.

Cleanup URI and InetAddress exception localization.
eb659c1c71ffb3d79e53947f40b1d276aa89683f 23-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing java.lang.NullPointerException at java.net.URI$Helper.isValidDomainName" into dalvik-dev
3125219ca901b51f1fa2a5c1635fb089fd95723d 22-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing java.lang.NullPointerException at java.net.URI$Helper.isValidDomainName

See http://b/issue?id=2604061
59b3f3949bd507c2151e6e39ef3e5ff54a9ab829 22-Apr-2010 Elliott Hughes <enh@google.com> Merge "java.text.RuleBasedCollator fixes." into dalvik-dev
977501059854b0b662075f34ec38515d396e58ec 22-Apr-2010 Elliott Hughes <enh@google.com> java.text.RuleBasedCollator fixes.

Add expectations for broken harmony tests, add our own equivalent (but correct)
tets, and fix the bug turned up by the correct tests: the icu4jni
RuleBasedCollator was using toString to convert a CharacterIterator to a
String, resulting in iteration over the result of Object.toString (the class
name and identity hash code) rather than the characters of interest.

Also shut javac up about non-ASCII characters in Locale.java.

Bug: 2608742
Bug: 2608750
Change-Id: I2171789058c8116eacd7e5815bd483f0bc07c69b
1db939965b89fb86d273594027c29ec103e26a78 22-Apr-2010 The Android Open Source Project <initial-contribution@android.com> am ed4035bc: am d2203aa0: am 1beb43af: merge from open-source master

Merge commit 'ed4035bca3233c7a40c4d5679c3f7dfea9516c7e' into dalvik-dev

* commit 'ed4035bca3233c7a40c4d5679c3f7dfea9516c7e':
Improve the implementation of countOnes function to use only 12 operations.
0da64a0cf10363dc0084f12c7da46dced4f2a6d9 22-Apr-2010 The Android Open Source Project <initial-contribution@android.com> am d2203aa0: am 1beb43af: merge from open-source master
9b002fa817698d2fcf43507a2ab1bb18fd719f48 22-Apr-2010 The Android Open Source Project <initial-contribution@android.com> am 1beb43af: merge from open-source master

Merge commit '1beb43af9350d47016c0e3ec55c1b2d4230cae7e' into kraken

* commit '1beb43af9350d47016c0e3ec55c1b2d4230cae7e':
Improve the implementation of countOnes function to use only 12 operations.
8033dcc13a6f4af05511e1d28ec8ebc3931e95b4 22-Apr-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: Ia08d4f55f5cdced2878777e0812c8cbbf26bb0d6
8aade5329805ce42ad3510e62073c8212c7a8218 22-Apr-2010 Elliott Hughes <enh@google.com> Update to the latest upstream collator tests.

I've pulled out the not-obviously-insane stuff we added, though I don't
know how useful it is. This change is mainly about reverting our broken
changes to these tests.

Bug: 2608750
Bug: 2608742
Change-Id: Ia4d0a7b12bfc5dfc3fad4b72254918acf74b418d
49e73952cc7f00edf4bc388b626474bcc343f4ef 22-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Suppress all failures in setSecurityManager() with vogar." into dalvik-dev
092acb3080fa1cbe1b35c2ddcf771af61200e3f7 21-Apr-2010 Jesse Wilson <jessewilson@google.com> Suppress all failures in setSecurityManager() with vogar.
ec99365732a816ddf30d4ad5e427e3e6c9cd1d08 21-Apr-2010 Elliott Hughes <enh@google.com> am 3825d34f: am d4b6f6aa: am 1dd42bb9: Fix NetworkInterface on sholes/ppp.

Merge commit '3825d34f9cd5057504ced60962638ffb54f14e38' into dalvik-dev

* commit '3825d34f9cd5057504ced60962638ffb54f14e38':
Fix NetworkInterface on sholes/ppp.
d6bbac117a62df7b84ca2b0b6ec716c42a5db8c5 21-Apr-2010 Elliott Hughes <enh@google.com> am d4b6f6aa: am 1dd42bb9: Fix NetworkInterface on sholes/ppp.
261de053df8c9b8c46e87459a603241684cff7e8 21-Apr-2010 Elliott Hughes <enh@google.com> am 1dd42bb9: Fix NetworkInterface on sholes/ppp.

Merge commit '1dd42bb9da388c55191449b848f9d82dc4673229' into kraken

* commit '1dd42bb9da388c55191449b848f9d82dc4673229':
Fix NetworkInterface on sholes/ppp.
a3b69ba283604a71585a6307abf10b44f7b22ce1 21-Apr-2010 Elliott Hughes <enh@google.com> Merge "Fix Locale.getDisplayName for unlocalizable languages/countries/variants." into dalvik-dev
127d55c7b53dff97240281350cee4819154c8cd1 21-Apr-2010 Elliott Hughes <enh@google.com> Fix NetworkInterface on sholes/ppp.

We need to use IFA_LOCAL to get the interface addresses; IFA_ADDRESS is the
remote address (which is usually the same as IFA_LOCAL, but not in the ppp
case).

Tested on sholes, where it fixes the test used in the bug; also tested on
passion, where it doesn't break the already-working test.

Bug: 2575983
Change-Id: Ib334a002dc099daeeb05cbc341fe233d4d11d2f7
faa8fbb853860c567915d81ada20b36336a3a497 21-Apr-2010 Andy McFadden <fadden@android.com> Merge "Add some .odex info to dexdump output." into dalvik-dev
c9b7bc7cf54c8055450459963a2ea627c9f7c5c2 21-Apr-2010 Elliott Hughes <enh@google.com> Fix Locale.getDisplayName for unlocalizable languages/countries/variants.

This does not address the interpretation of script identifiers, but does bring us
in line with the RI's behavior. That's why the test doesn't use the example from
the bug.

Bug: 2611311
Change-Id: I54af89aaf418cd520dc6ebdb1e27dc1ac373f70f
c6f2e2c6fcfc44b8f9d7cc57aad5c0a22639df91 21-Apr-2010 Jesse Wilson <jessewilson@google.com> Rewrite the HTTP connection pool used by HttpURLConnection.

This started off as incremental changes, but it ended up going
far enough that it earned the "rewrite" badge.

System.getProperty() is not called for every HTTP connection.
This is slightly controversial, but the old code had to bend
over backwards to support dynamic pool changes, and it didn't
even support the case when the pool shrank but not to 0.

The new code doesn't do I/O within static synchronized blocks.
This should reduce contention described here: http://b/issue?id=2606547

Also: simpify implementation, prettier names, more focused doc.
484347d9b707f036ee89ae446b956bda12045d63 21-Apr-2010 Carl Shapiro <cshapiro@google.com> am 0691c470: am 6f7ec8e6: am 28f4d74b: Merge "Remove dangerous logging code from unlockMonitor. It is unsafe to dereference a potentially corrupt lock word to retrieve additional information about the lock state. This code was added to debug a transient error and ha

Merge commit '0691c4701cf8cd32db1bc034dc5f544a807aeb3d' into dalvik-dev

* commit '0691c4701cf8cd32db1bc034dc5f544a807aeb3d':
Remove dangerous logging code from unlockMonitor. It is unsafe to
bd54bed04240ab3cc1967a6a4221859ac45b8e99 21-Apr-2010 Guang Zhu <guangzhu@google.com> am 7e3d5fcd: Merge "include emma into core library on conditional flag"

Merge commit '7e3d5fcddef15bf2dff71c2fe5ee794536819973' into dalvik-dev

* commit '7e3d5fcddef15bf2dff71c2fe5ee794536819973':
include emma into core library on conditional flag
a6051dd627a0ac15b0bf2a44e6cdcb5495c9ef45 21-Apr-2010 Huahui Wu <hwu@google.com> am 91be9e67: am 9cfe27bd: am 8068ea8d: Update the ssl test so the client reads something from the server. This is needed when cut-through feature is needed as in b/2586347. Dr. No approved in http://b/issue?id=2511073 .

Merge commit '91be9e671d7db5444aa8fa5f0101867ba8a73075' into dalvik-dev

* commit '91be9e671d7db5444aa8fa5f0101867ba8a73075':
Update the ssl test so the client reads something from the server.
3b534dfc7b2fa19c8f1d00d45098e143afa0db5e 20-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing TimeZone.setDefault() documentation.

Set expectations for date formatting to tolerate "GMT-07" in the
output. The alternative is to emit an ambigous date string.
Applications that want pretty date formatting should use the
proper facilities: SimpleDateFormat, etc.

This problem was detected by org.apache.harmony.luni.tests.java.util.DateTest.test_toString
8efdc86bcbf696bd1982dc3aba61c85f0b4a1ff3 21-Apr-2010 Carl Shapiro <cshapiro@google.com> am 6f7ec8e6: am 28f4d74b: Merge "Remove dangerous logging code from unlockMonitor. It is unsafe to dereference a potentially corrupt lock word to retrieve additional information about the lock state. This code was added to debug a transient error and has since been
3c975dadeed14c79a7dfde0224e0fa7c1a10e9f4 21-Apr-2010 Carl Shapiro <cshapiro@google.com> am 28f4d74b: Merge "Remove dangerous logging code from unlockMonitor. It is unsafe to dereference a potentially corrupt lock word to retrieve additional information about the lock state. This code was added to debug a transient error and has since been removed from

Merge commit '28f4d74b59e9e40278c4f1fe797d8c75f51b5326' into kraken

* commit '28f4d74b59e9e40278c4f1fe797d8c75f51b5326':
Remove dangerous logging code from unlockMonitor. It is unsafe to
afe92b4549f32c81a5f2073f691f86e0126f0b30 21-Apr-2010 Carl Shapiro <cshapiro@google.com> Merge "Remove dangerous logging code from unlockMonitor. It is unsafe to dereference a potentially corrupt lock word to retrieve additional information about the lock state. This code was added to debug a transient error and has since been removed from other branches." into froyo
8009cce7de2953ca10c739aac3b43065acf32b4f 21-Apr-2010 Carl Shapiro <cshapiro@google.com> resolved conflicts for merge of ee25fc06 to dalvik-dev

Change-Id: Ib8c3c62b3b791a8087d7e6298006a6221726cf78
193d9b6795b59647d4459f0f5b1ae3e067e17a9f 21-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing reset() on SAXParser and DocumentBuilder, and cleaning up nearby tests." into dalvik-dev
216c3abc66093c86f4f66af2a65657891331d3d6 20-Apr-2010 Andy McFadden <fadden@android.com> Add some .odex info to dexdump output.

"dexdump -f" will now show the contents of the optimized DEX header if
one is present. A "table of contents" for the auxillary data is also
displayed.

As an added bonus, stop being lazy and sanitize the DEX magic before
printing it (it has an embedded newline and \0).

Change-Id: If9c5278785062cd0f44fc3d3ea0725ef0009932a
cd4f0ec129969c6fb8418c58966969a4538420c1 20-Apr-2010 Guang Zhu <guangzhu@google.com> Merge "include emma into core library on conditional flag"
e479847f9151da66ff5a446cbe3de71bd50b5241 20-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing reset() on SAXParser and DocumentBuilder, and cleaning up nearby tests.

Also fixing vogar to support a directory of test expectations, so we
can group them by file rather than colocating failures we want to fix
with those that we don't.
653e1ee3ece85f3ba54578b769411f9b45fb970f 20-Apr-2010 Elliott Hughes <enh@google.com> Merge "Fix a BigInteger(String) bug I introduced yesterday." into dalvik-dev
4ad585c5508249fd7a68a396d6c02d0e2d6682bb 20-Apr-2010 Andy McFadden <fadden@android.com> Merge "Make plain "-Xint" work." into dalvik-dev
1d5ae47a52c755175770c478cf01b4dfa657ac7f 20-Apr-2010 Elliott Hughes <enh@google.com> Fix a BigInteger(String) bug I introduced yesterday.

I broke parsing of integers in bases greater than 10.

Change-Id: I94c4a75c613a1cd8105b7477e68275a81d04d01b
bd4c148053901f5f9d699dbb9c2fb1f2cd06a68e 20-Apr-2010 Andy McFadden <fadden@android.com> Make plain "-Xint" work.

Change-Id: I7a09a886df9722b60a861969f3e1a1a45988068a
2045dc871cc015cf8a5637bff0bba5d68ace1a85 18-Apr-2010 Cosmin Cojocar <cosmin.cojocar@gmail.com> Improve the implementation of countOnes function to use only 12 operations.

Change-Id: I01b62606a0c87b2937572f8cb7beafc956867353
d54f53fb6f335399a9db1a9649fcdf721b38a8b7 20-Apr-2010 Huahui Wu <hwu@google.com> am 9cfe27bd: am 8068ea8d: Update the ssl test so the client reads something from the server. This is needed when cut-through feature is needed as in b/2586347. Dr. No approved in http://b/issue?id=2511073 .
e54ae949ad5e21f442f70cae3908bdc47aa8bf8a 20-Apr-2010 Huahui Wu <hwu@google.com> am 8068ea8d: Update the ssl test so the client reads something from the server. This is needed when cut-through feature is needed as in b/2586347. Dr. No approved in http://b/issue?id=2511073 .

Merge commit '8068ea8daa37ac1e4d55c2ebd15bf9dda3d7891e' into kraken

* commit '8068ea8daa37ac1e4d55c2ebd15bf9dda3d7891e':
Update the ssl test so the client reads something from the server.
0a3b03356e9725332bfac1c1cdf47155210655e2 20-Apr-2010 Huahui Wu <hwu@google.com> Update the ssl test so the client reads something from the server.
This is needed when cut-through feature is needed as in b/2586347.
Dr. No approved in http://b/issue?id=2511073 .

Change-Id: Id84724873522fe0435dbda342616da02783f7d6b
5ae73e802b14165122031a44b9079498ff285f2a 20-Apr-2010 Brian Carlstrom <bdc@google.com> Merge "Merge commit 'a0a3ad10' into manualmerge" into dalvik-dev
1614aec4a94b0e5912df8997796ed8be06f7b9c1 20-Apr-2010 Carl Shapiro <cshapiro@google.com> Remove dangerous logging code from unlockMonitor. It is unsafe to
dereference a potentially corrupt lock word to retrieve additional
information about the lock state. This code was added to debug a
transient error and has since been removed from other branches.

Change-Id: I5aabae531c52532929e8dbb71bdcc6cb7cee64f9
8af5d899cb23c7653c3f5182a963bbd6b5259c04 20-Apr-2010 Carl Shapiro <cshapiro@google.com> am 831eec93: am b8fcf57f: Fix remaining small issues with the lock sampling.
da4cc0bc8b4e0dec484e7928493623312ff9083e 20-Apr-2010 Carl Shapiro <cshapiro@google.com> am b8fcf57f: Fix remaining small issues with the lock sampling.

Merge commit 'b8fcf57f13b4d37950cfbd72a6af401941d7bdd8' into kraken

* commit 'b8fcf57f13b4d37950cfbd72a6af401941d7bdd8':
Fix remaining small issues with the lock sampling.
f17a94941621fa64031832d0cfd8dc2010e7a71d 20-Apr-2010 Carl Shapiro <cshapiro@google.com> Since we no longer make use of formatted I/O in the unlock monitor
exception case, revert to using dvmThrowException which does not treat
the description string as an output format.

Change-Id: Ice1dc04cb6d1e887af718022cc0b03c6d90f9a19
a2c359be4dacac44c9a19c362d81a3b262b27948 17-Apr-2010 Carl Shapiro <cshapiro@google.com> Fix remaining small issues with the lock sampling.

* Eliminate the now unused lockprofsample flag. The sample percentage
has been a function of the wait time an threshold since the previous
change.

* Eliminate some trailing whitespace that creeped into the previous
change.

* Eliminate the trailing newline from the event buffer. Because the
buffer pointer was not incremented this character was not seen in
the event log anyway.

* Document the lockProfThreshold global.

Change-Id: Ia1c1fcf862d76f5631601e05e7941e5171fab097
e704a5d8966d516d1f65eeb55d9a1874f3109e87 20-Apr-2010 Brian Carlstrom <bdc@google.com> Merge commit 'a0a3ad10' into manualmerge

Conflicts:
libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Change-Id: I23508e348c5de4103e9dda619ca230d0575f57ca
b972096698a5ea1489434e54d8b84bcd18ed2065 20-Apr-2010 Carl Shapiro <cshapiro@google.com> am 5005a521: am 612fa566: am af69cf8d: Fix several issues with the lock sampling code. This change obsoletes the lockProfSample flag.

Merge commit '5005a5210b941d18b7742469ba622b1c8a754b1e' into dalvik-dev

* commit '5005a5210b941d18b7742469ba622b1c8a754b1e':
Fix several issues with the lock sampling code. This change obsoletes
145f1e4b591e8351697e2cfe0bb89e5e0eaeb78b 20-Apr-2010 Carl Shapiro <cshapiro@google.com> am bd4eaf95: am 54c9323e: am 6b4ba58e: Add a mechanism to long a sample of long running lock acquisitions.

Merge commit 'bd4eaf959e21f3e048366141896ce262f22e0e2c' into dalvik-dev

* commit 'bd4eaf959e21f3e048366141896ce262f22e0e2c':
Add a mechanism to long a sample of long running lock acquisitions.
dd4fb6ed65c2c6c163a3e6b3af043b12518eb39f 20-Apr-2010 Jesse Wilson <jessewilson@google.com> am a731357c: (-s ours) am a8984fe8: (-s ours) am ddc0d4c2: (-s ours) DO NOT MERGE. Suppressing tests that fail in CTS\' test runner.

Merge commit 'a731357c0cadaca3863f6fd0de1b8ffb39464220' into dalvik-dev

* commit 'a731357c0cadaca3863f6fd0de1b8ffb39464220':
DO NOT MERGE. Suppressing tests that fail in CTS' test runner.
9136d75cf51271059d231f043c820881531270b8 20-Apr-2010 Elliott Hughes <enh@google.com> Fix U_FILE_ACCESS_ERROR RuntimeException in String.getBytes("GB18030").

Bug: 2606807
Change-Id: Ie639ce6380e42e0eed2a7e360504f86a22f1fed8
152139e5e03070d2ad0fd26f769e998b8943049d 19-Apr-2010 Elliott Hughes <enh@google.com> Fix several BigInteger failures.

From Java 7 on, BigInteger also accepts a leading "+" in its string
constructors.

BigInteger has always claimed to accept non-ASCII digits, but our
implementation never has.

BigInteger.isProbablePrime is defined to return true for certainty <= 0,
but OpenSSL (on which we're based) takes the opposite stance.

Change-Id: I00bfc591a4d583460f71b7eec3de91bf6b03cd87
d36c3c55f78817030173ae45d9aa7ba2224eb0ec 19-Apr-2010 Elliott Hughes <enh@google.com> Merge "Speed up %d for locales with non-ASCII digits." into dalvik-dev
34f4c8801deb3e0822829592faf6bc98eb849f56 19-Apr-2010 Elliott Hughes <enh@google.com> Speed up %d for locales with non-ASCII digits.

The small "localizeDigits" part of this change is the big speedup. It takes
%d in the "ar" Locale from 5x more expensive than "en_US", to just a small
percentage more expensive.

The big part of this change: removing the useless Transformer and FloatUtils
classes touches many lines (mostly just changing the level of indentation),
and only has a small percentage effect on performance. The motivation for
this is actually primarily that it makes the code easier to read, and makes
it easier to share code.

Change-Id: I07e86a3ee448510d9ae36579a9af283349f777f1
28d9e6375e0f72caa011f5aab7fbbc03aa13e2fd 19-Apr-2010 Brian Carlstrom <bdc@google.com> Merge "openssl-1.0.0 upgrade"
2ff2e35af43acb6136a8ca3958b52c47ac178f56 19-Apr-2010 Jesse Wilson <jessewilson@google.com> Tidying up the error reporting.

We were spamming our logs with a bunch of redundant messages,
particularly surrounding timeouts. This should reduce the log
output to only the useful stuff when a test takes too long
to complete.

Also not blowing away the full XML report when a few tests
get lost along the way.
23ea6851ebc64cbe8ecd5965561d867c132b9493 18-Apr-2010 Elliott Hughes <enh@google.com> Remove a dangling import, and another unused Messages.java.

Also tidy up our two awt.font classes.

Change-Id: I931d348eef7265190f76c31f74c9a5d9ec5d6597
2194c1ac7b2eb0e213b7c4162d19e8042314d69a 18-Apr-2010 Elliott Hughes <enh@google.com> Merge "Remove the nio Messages.java I missed, and the three now-unused imports." into dalvik-dev
30f949198de8bf23fb2ed5ccd2fd1548bd7b7369 18-Apr-2010 Elliott Hughes <enh@google.com> Remove the nio Messages.java I missed, and the three now-unused imports.

I seem to be having trouble deleting files lately...

Change-Id: I019acd19aa61acdeeee1ab6f7fb8a063a41a5534
76a201786a42477d2ed1218df9e8323a0d3dc9dd 18-Apr-2010 Jesse Wilson <jessewilson@google.com> Small vogar changes in response to the review for change 49052.
ec52c1ec1a1427e2a9cbcafbcfcbd90ed3feab4a 17-Apr-2010 Brian Carlstrom <bdc@google.com> Merge "Teaching vogar to run prebuilt .jar files." into dalvik-dev
943af6915401cd8bc8fe22d4881c46a6aba5de9c 17-Apr-2010 Elliott Hughes <enh@google.com> Merge "Remove "messages" from the logging, math, and nio_char modules." into dalvik-dev
650d76e1520be82da1dab68c45add58cb8f6df36 17-Apr-2010 Elliott Hughes <enh@google.com> Remove two dead files.

java_lang_Character.cpp has long been dead; I killed AndroidSystemNatives.h
this afternoon. I'm not sure how their "git rm"s didn't get included in my
earlier patch.

Change-Id: Iaa73935846a474dbd25792ed0176ccea092e9f7c
85c4d35447aada275577424b2f3fcdbd36c497ab 17-Apr-2010 Elliott Hughes <enh@google.com> Remove "messages" from the logging, math, and nio_char modules.

Change-Id: Ib61b132ce17fdd37956889e855bda35956f8ae62
05f4dfaea1fd1fdc36f7facf199244ceaeada17a 17-Apr-2010 Jesse Wilson <jessewilson@google.com> Teaching vogar to run prebuilt .jar files.

Also trying to simplify some internals. We always build to
intermediate .jar files now.

I've renamed TestFinder to RunnerSpec and fixed its users.
32947242de27353e792ea9777f3ce87f14694134 17-Apr-2010 Elliott Hughes <enh@google.com> Merge "Move the libcore registration out of libnativehelpers and into libcore." into dalvik-dev
ac896cc782f58440f0bca1c53ed2c49ed38b97d0 17-Apr-2010 Carl Shapiro <cshapiro@google.com> am 612fa566: am af69cf8d: Fix several issues with the lock sampling code. This change obsoletes the lockProfSample flag.
16dea52412b32bf31ddb8cb6b922a25bcc6f136d 17-Apr-2010 Carl Shapiro <cshapiro@google.com> am af69cf8d: Fix several issues with the lock sampling code. This change obsoletes the lockProfSample flag.

Merge commit 'af69cf8d062a42300852ddee6bcb9f189f5a1b83' into kraken

* commit 'af69cf8d062a42300852ddee6bcb9f189f5a1b83':
Fix several issues with the lock sampling code. This change obsoletes
1ecdaf1d9a34cbc43235c3718a756ef25d809389 17-Apr-2010 Carl Shapiro <cshapiro@google.com> Merge "Refinements to array and class object size computation." into dalvik-dev
902ae2e379ade865d512af28ab2a892b84300361 17-Apr-2010 Carl Shapiro <cshapiro@google.com> Refinements to array and class object size computation.

* Rename dvmArrayObjectLength to dvmArrayObjectSize. In the context
of arrays length may refer to the length of the array data and not
the size of the array object instance.

* Add a new method dvmClassObjectSize which computes the total size of
a class object including its static fields.

Change-Id: I693ec8e66dfa5df35c9f35474c80411ea917c899
0602eb90356e5f85bd63416b3aff1afdd2406453 17-Apr-2010 Elliott Hughes <enh@google.com> Move the libcore registration out of libnativehelpers and into libcore.

Bug: 754114
Change-Id: Iaa03def509c10cbaa12fd2128584b93d4be4a6b7
6070d796c676f85eba62f90b41a1e8acc66c5982 17-Apr-2010 Carl Shapiro <cshapiro@google.com> Fix several issues with the lock sampling code. This change obsoletes
the lockProfSample flag.

Change-Id: Idb1846fc3db4ff73678a0dae46aabbb5dbb8b957
75b1f335e457f233c1c38bc3f7f23624f02323e1 17-Apr-2010 Carl Shapiro <cshapiro@google.com> Merge "Remove an unused enum." into dalvik-dev
a7aae7bcc518cad8a1d654fc689d6ec07cdbf147 17-Apr-2010 Carl Shapiro <cshapiro@google.com> Remove an unused enum.

Change-Id: I792a5a6b890ac37b3e1fa1f3e4a6413b7621d115
97734323e53fccb887672efce57a3983778b5a73 16-Apr-2010 Elliott Hughes <enh@google.com> Merge LocaleData and Resources, rename Resources to ICU.

Also move our ICU tests into our little tree of tests.

Bug: 2596471
Change-Id: I73b53d74c26ef9bf670f12cac58b51ba61eefead
b2569c3c99e0773a49d06bf89ada75ffbb2c0945 16-Apr-2010 Brian Carlstrom <bdc@google.com> merging FRF15 for dalvik-dev

Change-Id: Ic8c9dea280d38cba8e55f962f0d8df843aea8e35
3376295e83830c1cdf876ee171648839f4cefd9d 16-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing TreeMap serialization issues." into dalvik-dev
2ec164fb9a98b115a60343acf63f33e64c994ef5 16-Apr-2010 Elliott Hughes <enh@google.com> Change DecimalFormatSymbols to have a field per symbol.

I'd been wanting to do this for some time, but cleaning up the recent
performance changes I made to Formatter was the final straw.

Change-Id: I6d516de66a0bed5e759bca590b4cc124ce2eb712
76650867677076683839d176495c8b04ced6bd7a 16-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing TreeMap serialization issues.

When I was testing this on the JDK I had my own TreeMap on
the classpath, which caused my tests to pass even when they
shouldn't have.

The new serialization data was generated by the JDK's
collections, both v5 and v6. The tests pass on both Dalvik
and the JDK.
b1125062ba65a71a8b36148c6a6f5439d2cd5bfc 16-Apr-2010 Carl Shapiro <cshapiro@google.com> am 54c9323e: am 6b4ba58e: Add a mechanism to long a sample of long running lock acquisitions.
d674a72ce0361de35c079bec17547f7917ee1b11 16-Apr-2010 Elliott Hughes <enh@google.com> Merge "java.util.Formatter: fix localization of numbers." into dalvik-dev
670deee4c5112a085560e86191c074539ed2200c 15-Apr-2010 Elliott Hughes <enh@google.com> java.util.Formatter: fix localization of numbers.

Bug: 2301911
Change-Id: Ic594702a80bdef2e8fd97e52fd5fa301def19cac
5638d2c1753ff9eccf1be40c5d3f15ba5d0aadf4 15-Apr-2010 Brian Carlstrom <bdc@google.com> openssl-1.0.0 upgrade

external/openssl

Updated version to 1.0.0
openssl.version

Updated small records patch for 1.0.0. This is probably the most significant change.
patches/small_records.patch

Removed bad_version.patch since fix is included in 0.9.8n and beyond
patches/README
patches/bad_version.patch
openssl.config

Changed import_openssl.sh to generate armv4 asm with the 1.0.0
scripts, not our backported 0.9.9-dev backported version in
patches/arm-asm.patch.
import_openssl.sh
openssl.config
patches/README
patches/arm-asm.patch

Added -DOPENSSL_NO_STORE to match ./Configure output
Added -DOPENSSL_NO_WHIRLPOOL (no-whrlpool) to skip new optional cipher
android-config.mk
openssl.config

Fixed import to remove include directory during import like other
imported directories (apps, ssl, crypto)
import_openssl.sh

Updated UNNEEDED_SOURCES. Pruned Makefiles which we don't use.
openssl.config

Updated to build newly required files
patches/apps_Android.mk
patches/crypto_Android.mk

Disable some new openssl tools
patches/progs.patch

Automatically imported
android.testssl/
apps/
crypto/
e_os.h
e_os2.h
include/
ssl/

dalvik

Change makeCipherList to skip SSLv2 ciphers that 1.0.0 now returns
so there are not duplicate ciphersuite names in getEnabledCipherSuites.
libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Updated OpenSSLSocketImpl_cipherauthenticationmethod for new
SSL_CIPHER algorithms -> algorithm_auth (and const-ness)
libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Update to const SSL_CIPHER in OpenSSLSessionImpl_getCipherSuite (and cipherauthenticationmethod)
libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

test_EnabledCipherSuites on both SSLSocketTest and
SSLServerSocketTest caught the makeCipherList problem. However the
asserts where a bit out of sync and didn't give good messages
because they didn't actually show what was going on. As part of
debugging the issue they found, I tried to make align the asserts
and improve their output for the future.

libcore/x-net/src/test/java/tests/api/javax/net/ssl/SSLServerSocketTest.java
libcore/x-net/src/test/java/tests/api/javax/net/ssl/SSLSocketTest.java

vendor/google

Add const to X509V3_EXT_METHOD* for 1.0.0 compatibility
libraries/libjingle/talk/base/openssladapter.cc

Change-Id: I9e848c79772211d3956f8561ec526339b30e24a4
8ed7fba063587b6415b840ac5fa9f8999d6989e7 16-Apr-2010 Carl Shapiro <cshapiro@google.com> am 6b4ba58e: Add a mechanism to long a sample of long running lock acquisitions.

Merge commit '6b4ba58ec937bfacba626112c46ebd003efbed21' into kraken

* commit '6b4ba58ec937bfacba626112c46ebd003efbed21':
Add a mechanism to long a sample of long running lock acquisitions.
d7b1c866fa5d3c6e68916a8eac08bd71e824aab8 15-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "From scratch implementation of a Navigable TreeMap." into dalvik-dev
f0b4dbf25913685c34b32c0b574ff8d4179a54ae 15-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge commit 'da18d995' into manualmerge

Conflicts:
libcore/luni/src/test/java/tests/api/java/io/PipedInputStreamTest.java
d10df943f0f46862b01e61aaff33c0b89cd0b2b7 15-Apr-2010 Raphael <raphael@google.com> am d9b87a91: Fix dexdump to build in Windows SDK under Linux

Merge commit 'd9b87a918dfe98793faa08cb59012f652b4b8561' into dalvik-dev

* commit 'd9b87a918dfe98793faa08cb59012f652b4b8561':
Fix dexdump to build in Windows SDK under Linux
04dd7c53bb14a5ce76f3d8aba2dea845334fcd24 06-Apr-2010 Jesse Wilson <jessewilson@google.com> From scratch implementation of a Navigable TreeMap.

Between Java 5 and Java 6, Harmony's implementation ballooned
from ~2400 lines to ~5900 lines. This implementation is a more
compact ~1700 lines.

This implementation and its views have been rigorously tested
using Google Collections' test framework in addition to the
tests of our own suite.
0437f890eb57531ed62b8353bc506367fa7a7e6c 15-Apr-2010 Jesse Wilson <jessewilson@google.com> am a8984fe8: (-s ours) am ddc0d4c2: (-s ours) DO NOT MERGE. Suppressing tests that fail in CTS\' test runner.
299b126a3e693ea1b04525f7239b111556dfdc83 15-Apr-2010 Jesse Wilson <jessewilson@google.com> am e09ba122: Fixing PipedInputStreamTest to fill the buffer before dying on a dead reader.
c3fc938a6cc97491896e6cb066401e51fc453cf5 10-Apr-2010 Carl Shapiro <cshapiro@google.com> Add a mechanism to long a sample of long running lock acquisitions.
c97bf91bb425adac7c20f8fd000dc6b5d635ca23 14-Apr-2010 Raphael <raphael@google.com> Fix dexdump to build in Windows SDK under Linux

Change-Id: I0e57c81dcfc53d7065d420129d75ac32cda040e2
7f26b429ea52a7d06e0318d94422a956ed498ab7 15-Apr-2010 Jesse Wilson <jessewilson@google.com> am ddc0d4c2: (-s ours) DO NOT MERGE. Suppressing tests that fail in CTS\' test runner.

Merge commit 'ddc0d4c2f8d3fea4ddaf6e611ffd73a1169447e8' into kraken

* commit 'ddc0d4c2f8d3fea4ddaf6e611ffd73a1169447e8':
DO NOT MERGE. Suppressing tests that fail in CTS' test runner.
1b4aa4af780e56bae4fc78a6c7bb72b68c7f4756 14-Apr-2010 Jesse Wilson <jessewilson@google.com> DO NOT MERGE. Suppressing tests that fail in CTS' test runner.

These tests have been verified to work successfully in run-core-tests.
We plan on unifying CTS and Dalvik's test running infrastructure in this
quarter so that we don't need such unfortunate hacks.

Test failures: http://b/issue?id=2564250
Fix test runner: http://b/issue?id=2215226

Change-Id: I3df2f4de10705dc470e397da2d0f014141573da1
7013d7affbda1833ec2a1d0aa85a18e0592d2701 14-Apr-2010 Elliott Hughes <enh@google.com> Merge "Remove "Messages" from the nio, prefs, sql, text, and x-net modules." into dalvik-dev
d4db9b8b6145b41f2376f6f94efdf97fbfa48015 14-Apr-2010 Elliott Hughes <enh@google.com> Remove "Messages" from the nio, prefs, sql, text, and x-net modules.

Also remove an file of unused messages from luni, and inline one of luni's
other files. (There are plenty more.)

Also remove some German translations of bouncycastle messages (that are
actually in English anyway).

Change-Id: I9c565f6f2201a5d877eba5bf0af4ffad7b769984
4591d3ab8c38526799c7cb000f238e38c875b07c 14-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing PipedInputStreamTest to fill the buffer before dying on a dead reader.

Change-Id: Ie34a8bec7b2a34d2933225d6d4e04e0643dbcf99
8abc42f7de0ce25a7c2cd9cd700fb1bc02d544b9 14-Apr-2010 Carl Shapiro <cshapiro@google.com> Fix a typo and unbreak the build.

Change-Id: Ib05e4d7602f3614e9eb792bd29ff7288de574e84
d714a3142bba686b608fc04f75f3285d20ab068a 14-Apr-2010 Carl Shapiro <cshapiro@google.com> resolved conflicts for merge of f0c514ce to dalvik-dev

Change-Id: Ie9274ee7a4e767e197f53bd350c835fedbca3ae9
fc9e0675753c1e5565d98ff03ae5f7b2104fcfa1 14-Apr-2010 Elliott Hughes <enh@google.com> Use the same documentation in all the methods that take a format string.

Change-Id: I8e7d06df72a7b8db9edd17aa2748800329e837fa
056f5ac1e65e49d044a10fe524ef8a31dc2aea2b 14-Apr-2010 Elliott Hughes <enh@google.com> Remove "Messages" from the annotation module.

Change-Id: I6253fa192bb45fc06db99937aca30ee4dd0bb201
baa740691142d95c58161a42bbbab138a3ca8999 13-Apr-2010 Elliott Hughes <enh@google.com> Improve documentation about the user's default locale.

Add a bit of text to Locale's class documentation, and include a link from
every method that uses Locale.getDefault(). Also try to consistently say
"user's default locale", as a subliminal hint that this isn't necessarily
the developer's locale, nor en_US.

Bug: 2593000
Change-Id: Ieebe864ed6b9fecbfef5d5415269299739cedd1b
41ac46cf95d79cd8e53f083b68fe49e5f5a6de98 10-Apr-2010 Carl Shapiro <cshapiro@google.com> Add a mechanism to long a sample of long running lock acquisitions.

Change-Id: Ic91c5f213bcfd72c6f630ef5102da2c6c7cc8ce4
6fc30c163c9844dca968f3d638922bd623fff22a 13-Apr-2010 Elliott Hughes <enh@google.com> Fix String.toLowerCase and toUpperCase.

Rather than try to cope with Lithuanian, let's just hand that one to ICU4C.
I've removed my hand-crafted Azeri/Turkish lowercasing too, in favor of ICU.
Presence of a high surrogate (which implies a supplemental character) is a
good reason to hand over to ICU too.

On the uppercasing side, I've kept our existing hard-coded table and just
added code to defer to ICU for Azeri, Lithuanian, and Turkish (plus
supplemental characters). I don't like the tables, but I don't have proof
that they're incorrect.

Bug: 2340628
Change-Id: I36b556b0444623a5aacc1afc58ebb4d84211d3dc
e2af8edd1ff2463f6f20fc7195129644e05b8ca0 12-Apr-2010 Elliott Hughes <enh@google.com> Fix supplementary character support.

Fixes all known bugs in our handling of supplementary characters. This change
introduces a performance regression on the assumption that it won't be released
without a corresponding JIT change to enable the code to be inlined back to
pretty much what it used to be.

Bug: 2587122
Change-Id: I3449c9718bbe32ebe53b6c10454ae1dc82105b59
340f410b0925685d11300acf4ad8dfdf495bfe3e 12-Apr-2010 Elliott Hughes <enh@google.com> Merge "Throw the same exceptions as the RI from String methods." into dalvik-dev
3746b2df24ccf18d513ae7c4bf665327fac249a2 11-Apr-2010 Brian Carlstrom <bdc@google.com> Merge commit '7dbf57f6' into manualmerge

Conflicts:
libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Change-Id: I7cf63f6a1ca7c7604301cb8bb947633ad704a2c0
aaa0c974c0e9afadd37c50fb74d816442e1d873f 10-Apr-2010 Elliott Hughes <enh@google.com> Throw the same exceptions as the RI from String methods.

String has its own StringIndexOutOfBoundsException subclass of
IndexOutOfBoundsException. We can run more tests if we behave
the same.

The RI only admits to IndexOutOfBoundsException, though,
so our documentation and throws clause shouldn't change.

Change-Id: Ib87777f8a42d4bcac21e8f8f00f4dcbc0ada4201
c666af393220c6c301291163ad2447e3af4a753c 10-Apr-2010 Brian Carlstrom <bdc@google.com> am 5fdfbeff: Fix SSL_shutdown error reporting to print a proper error instead of "Ok"
e173d4eabeaf7711c11d93f9f64fed983f85b78c 10-Apr-2010 Elliott Hughes <enh@google.com> Merge "Fix build by turning a comment into a doc comment. Clarify logic." into dalvik-dev
5fe9c21cbc3612056480c6c8d8f6ffcc48895104 10-Apr-2010 Elliott Hughes <enh@google.com> Fix build by turning a comment into a doc comment. Clarify logic.

Now I see what jessewilson was trying to say earlier; rewrite the post-loop
code to say what I guess it was aiming at, which is avoiding an add followed
by a remove in the not completely uncommon case where limit == 0 and the
regular expression is a terminator rather than a true separator ('\n', say).
(Normally the regular expression is a true separator so there will be no
trailing empty string even though limit is 0: "a,b,c".split(","), for example.)

Also, String.isEmpty is our fasest way of recognizing the empty string;
certainly better than equals("").

Change-Id: I82f4ec49fa58efc178e342cf55d4dfbbdad01c75
2748d829ed0825274928a7b278e6c8889f6e45d0 10-Apr-2010 Elliott Hughes <enh@google.com> Merge "Make String.split 10x faster." into dalvik-dev
5166b92a6d062d5a3a0dc68a2107709cc460dbd1 10-Apr-2010 Brian Carlstrom <bdc@google.com> Fix SSL_shutdown error reporting to print a proper error instead of "Ok"

There are other problematic error reporting cases to be fixed later, but this one seems to be the frequently occuring.

Change-Id: Ia5910cffb60cc694066be03d43ac1bb7eab47357
04ebcde0bd691c02d6c24252d1c2369236d51a96 10-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Latest java.util.concurrent from the JSR 166 project." into dalvik-dev
337800f6a14fede396efb0bdb01ba7726b364b98 10-Apr-2010 Elliott Hughes <enh@google.com> Make String.split 10x faster.

Almost all uses of String.split in the Android codebase use trivial single
literal character separators. This patch optimizes that case to avoid the
use of regular expressions entirely.

The 10x speedup isn't the whole story, because the speedup is really
proportional to the number of separators in the input. 10x is easily
achievable, but the speedup could be arbitrarily high.

Before:

benchmark us logarithmic runtime
PatternSplitComma 84.8 XXXXXXXXXXXXXX||||||||||||||
PatternSplitLiteralDot 85.0 XXXXXXXXXXXXXX||||||||||||||
StringSplitComma 166.3 XXXXXXXXXXXXXXXXXXXXXXXXXXXX|
StringSplitHard 173.6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
StringSplitLiteralDot 167.7 XXXXXXXXXXXXXXXXXXXXXXXXXXXX|

After:

benchmark us logarithmic runtime
PatternSplitComma 18.9 XXX|||||||||||||||||||||
PatternSplitLiteralDot 19.0 XXX|||||||||||||||||||||
StringSplitComma 18.8 XXX|||||||||||||||||||||
StringSplitHard 174.2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
StringSplitLiteralDot 18.8 XXX|||||||||||||||||||||

(The benchmarks starting "Pattern" use a precompiled Pattern for performance.
Those starting "String" use String.split and would traditional entail a
temporary Pattern. As you can see, creating Patterns is very expensive for
us, and each one throws a finalizer spanner in the GC works too. The new
fast path avoids all this. I'll commit the benchmark -- along with all the
others I've ever used -- to http://code.google.com/p/dalvik this afternoon.)

Tests? We actually pass _more_ tests after this patch, because the increase
in performance means we don't hit timeouts.

Change-Id: I404298e21a78d72cf5ce6ea675844bf251e3825b
bc00f8f4b1710fb87b9c98eca42f85f92a601338 09-Apr-2010 Brian Carlstrom <bdc@google.com> Disable our new javax.net.ssl tests until hangs are resolved

While the hangs all seem to happen during handshaking, there is more
than one root cause. Until I have things working reliably, disabling
the tests to avoid fouling up the continuous build.

Change-Id: Ia57cac2e49284a1050a72d9ea77813307eff5ea8
6f4e14e058a2c64b62b555410b512e14ca3139a0 08-Apr-2010 Jesse Wilson <jessewilson@google.com> Latest java.util.concurrent from the JSR 166 project.

Code was downloaded from CVS on 2010-april-7 at 10:00pst
http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/main/java/util/concurrent/

The new interfaces and ArrayDeque class are all from Harmony.
411bb4726ff7203349f89288db1bcfed9dcacf6f 09-Apr-2010 Elliott Hughes <enh@google.com> Merge "An InlineNative for String.isEmpty, so it's not slower than length() == 0." into dalvik-dev
6c5eaac87a60959f299376348824292fc6207d05 09-Apr-2010 Andy McFadden <fadden@android.com> Merge "Move the furniture around some more." into dalvik-dev
aa65f7b5bfd504314f3ab2445ba493848a8f38bf 08-Apr-2010 Andy McFadden <fadden@android.com> Move the furniture around some more.

Mostly just moving things around, with minor changes to behavior.

- Instead of walking through all classes twice (once for verification,
once for optimization), we now walk through them once and do both
operations on a given class before moving on to the next.
- If verification and optimization were disabled, the VM used a special
"no fork + exec" path. It adds complexity for little benefit, so
it's gone.
- Reduced the amount of stuff being passed as arguments through multiple
layers of functions. Notably, a pointer to a read-only lookup table
is now accessed via a global.
- The PROFILE_FIELD_ACCESS define now just blocks the quickening of
field accesses instead of blocking all optimizations. (Not sure this
is worth keeping around.)

Change-Id: I7f7c658e3b682c7251cdf17cae58d79bd04ba2a0
5530dfb407862430a7defc07e1c189149f3043ce 06-Apr-2010 Elliott Hughes <enh@google.com> An InlineNative for String.isEmpty, so it's not slower than length() == 0.

Before:

benchmark ns logarithmic runtime
IsEmpty 115 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
LengthEqualsZero 21 XXXXX||||||||||||||

With C intrinsic:

IsEmpty 30 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
LengthEqualsZero 20 XXXXXXXXXXXXXXXXXXXX||||||

With assembler intrinsic:

IsEmpty 15 XXXXXXXXXXXXXXXXXXXX||||||
LengthEqualsZero 21 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

(All times on passion.)

Change-Id: Ifcc37fe7b8efdd377675a448e0085e490d6767bc
fd7cc07c8495524c467d1260d3acf0b6821d4e78 08-Apr-2010 Elliott Hughes <enh@google.com> Merge "resolved conflicts for merge of 19252faf to dalvik-dev" into dalvik-dev
5122ef77aec3cf6e5e13c09a8381b1b7b67c8ac8 08-Apr-2010 Elliott Hughes <enh@google.com> Merge "Show a summary of failures at the end of a vogar run." into dalvik-dev
1dea557dce03536c91ea4ececafd42934167522f 08-Apr-2010 Elliott Hughes <enh@google.com> resolved conflicts for merge of 19252faf to dalvik-dev

Change-Id: Ibf429f9d9d048c01cb8f33b15e8b404d83138b74
c7532ea883fbf92cbf992eab8584107dbee7060d 08-Apr-2010 Brian Carlstrom <bdc@google.com> Merge "Fixing javax.net.ssl test failures on RI" into dalvik-dev
2c62c4c79e0c4fd011c1515162fd281298cfa8c7 08-Apr-2010 Elliott Hughes <enh@google.com> Show a summary of failures at the end of a vogar run.

Super-useful when running a large batch of jtreg tests, and also useful
for comparing against an earlier run (though hopefully we'll have a better
solution for that eventually).

Change-Id: I144f72ea1ae5240393b0b33193d7773537b7ee20
7e83b02c38970d2d021039d1a8b42e3274480fbe 08-Apr-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's new java.util.zip API." into dalvik-dev
e5e7683b83300152236fa5dc67e4177458eb3f5e 08-Apr-2010 Brian Carlstrom <bdc@google.com> Fixing javax.net.ssl test failures on RI

vogar wasn't working at checkin on the host so I couldn't easily
retest these changes that came from the code review. Sure enought
there were some problems.

SSLSocketTest now uses a condition variable to synchronize between
the HandshakeCompletedListener and the main thread since the RI
does the callback asynchronously.

Back to ussing Arrays.equals for comparing Session ID byte[] since
Object.equals does not work.

Change-Id: I667b60dc065438efe4e3728d7a44b446ebc15e64
f45c2a66e83a0617eab586f7a00fa316e9288de3 08-Apr-2010 Elliott Hughes <enh@google.com> Add Java 6's new java.util.zip API.

This passes all but four of the harmony tests. The others fail because our
Deflater works differently to theirs; we already fail the corresponding
Deflater test.

The only jtreg test for ZipError neither passes nor fails: it appears that
this can only be thrown on Windows.

Bug: 2497395
Change-Id: I79687495da42507dda692c890ec939bdbc9be2b3
eef65972cf7d09a15f26b7b278b5b88e802c5c53 08-Apr-2010 Elliott Hughes <enh@google.com> Disable System.setSecurityManager.

We plan on removing SecurityManager checks, which are expensive and non-useful,
especially because Android doesn't use SecurityManager itself. As a first step,
let's ship a release where it's no longer possible to set a SecurityManager.

Bug: 1320501
Change-Id: I88664dbc1d8b087579d54003a1aaed7b3d8412be
2421ba7be1b6a794742196deb98a9820177781ae 08-Apr-2010 Jesse Wilson <jessewilson@google.com> am 214e2855: am 5dde0c4d: Merge "Adding support for hash \'#\' comments to our JSON parser." into froyo

Merge commit '214e285536e18e762c3207fecf97dacdd22e472e' into dalvik-dev

* commit '214e285536e18e762c3207fecf97dacdd22e472e':
Adding support for hash '#' comments to our JSON parser.
9775613a4265b2da46812b5a358895fa5de3589c 08-Apr-2010 Andy McFadden <fadden@android.com> am abfb34bc: am c7b7edf7: Merge "Trivial doc change: froyo is 2.2." into froyo

Merge commit 'abfb34bcda2e2320121850a9cb5b10e8f10e9833' into dalvik-dev

* commit 'abfb34bcda2e2320121850a9cb5b10e8f10e9833':
Trivial doc change: froyo is 2.2.
5906f7c9425d6fce84448754e80b78b2c051ae99 06-Apr-2010 Andy McFadden <fadden@android.com> Trivial doc change: froyo is 2.2.

Change-Id: Icce3770dd318ec8853d5120c13a85656ed1171ea
47aa14d552a71f06075d0320d087994ee0a32b1b 07-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing a vogar issue where outcomes weren't making their way into XML." into dalvik-dev
c2b773955cfe07a8b633657e44a8805f845aaa1a 07-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Bring the latest Caliper (r102) into vogar." into dalvik-dev
4a17e3c54ea871361e0c0ae968af259419d402d8 07-Apr-2010 Jesse Wilson <jessewilson@google.com> Bring the latest Caliper (r102) into vogar.
a9a71466a151fde0c72c0ccfc3ccb1185bdf0626 07-Apr-2010 Jesse Wilson <jessewilson@google.com> Fixing a vogar issue where outcomes weren't making their way into XML.
2be9e3edaa665e18db66e4eb57ff621dec1616c4 07-Apr-2010 Andy McFadden <fadden@android.com> Merge "Correct long-standing thread status change bug." into dalvik-dev
4f9c46a76005b27b3680302421f68a962d5e64d7 07-Apr-2010 Andy McFadden <fadden@android.com> Merge "Rearrange some things." into dalvik-dev
decfedef1e17df643f869372e207cbd6d984ca60 07-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding support for command line args to vogar-initiated processes." into dalvik-dev
9438cfd8044495e219c12c86e36f9f178e72b3e2 07-Apr-2010 Elliott Hughes <enh@google.com> Fix build by adding missing imports.

Change-Id: I433778b02d3ad67090ee88444700f79b3138d778
246fb64226b4272efabf52308730682d891dd828 07-Apr-2010 Jesse Wilson <jessewilson@google.com> Adding support for command line args to vogar-initiated processes.

Also adding monitor timeouts for use by the continuous build.
From the huge number of files in this relatively simple CL, it's
becoming clear that we need to simplify vogar's internals!
18def7a396880f986122dc86521cb348d8fa4a3e 07-Apr-2010 Elliott Hughes <enh@google.com> Merge "Actually use ServiceLoader in places where we had a hard-coded equivalent." into dalvik-dev
ba49122ecba279afa264a6fa40a731c424f5e0f4 07-Apr-2010 Jesse Wilson <jessewilson@google.com> am 5dde0c4d: Merge "Adding support for hash \'#\' comments to our JSON parser." into froyo
27e21ab48bf06e991acb236de60497ae6e22143f 24-Mar-2010 Andy McFadden <fadden@android.com> Rearrange some things.

This splits DexOptimize into DexPrepare (which deals with file shuffling
and fork/exec) and Optimize (which does the actual quickening of
instructions). The Optimize functions are now effectively private to
the "analysis" directory.

Twiddled some comments.

No substantive code changes.

Change-Id: Ia51865b259fb32822132e2373997866e360ca86a
3cf248c7523872f97fffdc729544d6ee07893650 07-Apr-2010 Elliott Hughes <enh@google.com> Actually use ServiceLoader in places where we had a hard-coded equivalent.

I've also removed a file that was causing us to use this code unnecessarily
at run-time to explicitly specify the built-in default PreferencesFactory.

I haven't touched Charset, but should come back and fix that too at some
point.

Change-Id: I3a2145041d048078bdb55ae7b8fa4ec9d8726922
363e51b09f8fa6791f58d983481364132ddff839 07-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding support for hash '#' comments to our JSON parser." into froyo
407167cb8044315cbab74f62233b4b1e13f5a502 07-Apr-2010 Carl Shapiro <cshapiro@google.com> Clean-up the monitor unlock routine. Remove the comment adjacent to
the mon NULL check. As we know, that condition can occur if there was
a mishandling of the lock word. Also, remove the format statement
that attempted to print out the monitor state. In non-assert builds
this may cause a SIGSEGV as the monitor pointer may be invalid.

Change-Id: Ic4eb2d4180ac51b606a728ec7cd781af46f7b47e
526699d85a3b2690da10f10e17526087500fdfd1 06-Apr-2010 Jesse Wilson <jessewilson@google.com> Adding support for hash '#' comments to our JSON parser.

Neither the JSON RFC nor the documentation of Crockford's
implementation mention these comments, but somehow the
old parser used to support these. And so we shall also.

See bug 2571423.

Change-Id: I77d64c5ec53278d8df5fe1873404f1241320504b
bf10a8b3846aacf7447f6c8bcb8aa9128af576d2 06-Apr-2010 Andy McFadden <fadden@android.com> am c7b7edf7: Merge "Trivial doc change: froyo is 2.2." into froyo
95e3cc8f39b4ab7ccf85bb11f5017e6ec512e3bf 06-Apr-2010 Andy McFadden <fadden@android.com> Merge "Trivial doc change: froyo is 2.2." into froyo
48e59308960659845a6170a70d60ab3fe62bf778 06-Apr-2010 Andy McFadden <fadden@android.com> Correct long-standing thread status change bug.

If the stars aligned correctly (or you were running valgrind), it was
possible for a thread to change its status to RUNNING immediately after
having its suspend count incremented. The problem is that the thread
initiating the suspension regards the target thread as being in (say)
VMWAIT with sCount=1, which means its safe to kick off a GC. The target
thread thinks it's happily in RUNNING and can go do whatever it wants.

The fix is to move the status change so that it's guarded by the
suspension count mutex.

This shouldn't affect performance. The number of instructions executed
is about the same.

Also, the "self can be NULL" feature of dvmCheckSuspendPending had very
few customers, so we now skip that check and just require it to be set.

For bug 2309331.

Change-Id: Id512e16e321515a467c20b382c85017cef9cea4d
a43e9f84c9c7e59f80782e404bba0cef1626f9eb 06-Apr-2010 Andy McFadden <fadden@android.com> Trivial doc change: froyo is 2.2.

Change-Id: Icce3770dd318ec8853d5120c13a85656ed1171ea
28b30499b7aadf17fb48f1654552f915b722b250 06-Apr-2010 Brian Carlstrom <bdc@google.com> Merge "Rewrite JSSE code to use one openssl SSL per SSLSocket an one SSL_CTX per SSLSessionContext" into dalvik-dev
2edfb442233ae67d96d77652d140cc0e40753117 06-Apr-2010 Carl Shapiro <cshapiro@google.com> Merge "Minor code clean-up. Fix a placeholder comment that I left in the code. Change a comment that was added at my request to be less verbose. At the same time, repurpose an unused variable to hold the field offset so the field access code flows without wrapping." into dalvik-dev
3520bc7ca5c5abe34a0c7b528486e32d2ff54297 03-Mar-2010 Brian Carlstrom <bdc@google.com> Rewrite JSSE code to use one openssl SSL per SSLSocket an one SSL_CTX per SSLSessionContext

Summary:

b/1758225: Revisit OpenSSL locking
Removed the locking original put in to address b/1678800 which
had been causing problems for the HeapWorker thread which was
timing out waiting for the lock in the finalizers while other
threads were connecting.

b/1678800: Reliability tool: Crash in libcrypto @ https://opac.ntu.ac.uk
Properly fixed the native crash by avoid sharing SSL_SESSION objects
between SSL_CTX objects

Testing:
- adb shell run-core-tests --verbose tests.xnet.AllTests
- adb shell run-core-tests --verbose javax.net.ssl.AllTests
- Test app that reloads https://opac.ntu.ac.uk

Details:
Each AbstractSessionContext now has an associated SSL_CTX,
referenced through the sslCtxNativePointer. SSL_CTX on the native
side defines the scope of SSL_SESSION caching, and this brings the
Java SSLSessionContext caching into alignment with the native
code. OpenSSLSessionImpl now uses AbstractSessionContext instead
of SSLSessionContext for access to the underlying SSL_CTX.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/AbstractSessionContext.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Added AbstractSessionContext.putSession so OpenSSLSocketImpl/OpenSSLSessionImpl can
directly assign to the current AbstractSessionContext (whether it
be a ClientSessionContext or a ServerSessionContext) without
casting.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/AbstractSessionContext.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Cleaning up use of SSL_CTX and SSL instances in SSLSocket/SSLServerSocket implementation

The major change is that openssl SSL instances are allocated for
the life of the matching Java object, replacing the SSL_CTX and
the SSL objects that had previously been allocated only starting
at handshake time. We should never have been sharing SSL_SESSION
instances between SSL_CTX instances, which was the source of the
native crashes dating back to cupcake which the
OpenSSLSocket.class locking had been preventing.

- NativeCrypto now has better defined and independant wrappers on
openssl functionality. A followon checkin should move the
remaining openssl JNI code here with the intent of being able to
write and end-to-end test of the openssl code using NativeCrypto
without the JSSE implementation classes. The following gives a
list of the new native functions with a mapping to the old
implementation code. The new code has a more functional style
where SSL_CTX and SSL instances are passed and returned as
arguments, not extracted from Java instances

SSL_CTX_new OpenSSLSocketImpl.nativeinit, OpenSSLServerSocketImpl.nativeinit, SSLParameters.nativeinitsslctx
SSL_CTX_get_ciphers_list OpenSSLSocketImpl.nativeGetEnabledCipherSuites
SSL_CTX_free OpenSSLSocketImpl.nativefree, OpenSSLServerSocketImpl.nativefree

SSL_new OpenSSLSocketImpl.nativeinit, OpenSSLSocketImpl.init, OpenSSLServerSocketImpl.nativeinit, OpenSSLServerSocketImpl.init
SSL_get_options OpenSSLSocketImpl.nativesetenabledprotocols
SSL_set_options OpenSSLSocketImpl.nativesetenabledprotocols
SSL_get_ciphers OpenSSLSocketImpl.nativeGetEnabledCipherSuites
SSL_set_cipher_list OpenSSLSocketImpl.nativeSetEnabledCipherSuites
SSL_free OpenSSLSocketImpl.nativefree, OpenSSLServerSocketImpl.nativefree

- While the focus in NativeCrypto is on native code, it also
contains some helpers/wrappers especially for code that doesn't
depend on specific SSL_CTX, SSL instances or that needs to do
massaging of data formats between Java and OpenSSL. Some of
these had previously been duplicated in the client and server
versions of the code. For example:

getSupportedCipherSuites OpenSSLSocketImpl.nativegetsupportedciphersuites, OpenSSLServerSocketImpl.nativegetsupportedciphersuites
getSupportedProtocols OpenSSLSocketImpl.getSupportedProtocols, OpenSSLServerSocketImpl.getSupportedProtocols
getEnabledProtocols OpenSSLSocketImpl.getEnabledProtocols,OpenSSLServerSocketImpl.getEnabledProtocols
setEnabledProtocols OpenSSLSocketImpl.setEnabledProtocols
setEnabledCipherSuites OpenSSLSocketImpl.setEnabledCipherSuites

- Moved JNI initialization from OpenSSLSocketImpl to NativeCrypto
which is the future home of all the openssl related native code.

clinit OpenSSLSocketImpl.nativeinitstatic

- NativeCrypto.CertificateChainVerifier is a new interface to
decouple callbacks from openssl from a specific dependence on a
OpenSSLSocketImpl.verify_callback method. Changed to return
boolean instead of int.

- Renamed OpenSSLSocketImpl.ssl to OpenSSLSocketImpl.sslNativePointer for consistency

- Changed OpenSSLSocketImpl nativeconnect, nativegetsslsession,
nativecipherauthenticationmethod, nativeaccept, nativeread,
nativewrite, nativeinterrupt, nativeclose, nativefree to take
arguments instead of inspect object state in preparation for
moving to NativeCrypto

- other notable NativeCrypto changes included
* adding SSL_SESSION_get_peer_cert_chain,
SSL_SESSION_get_version, and SSL_get_version (and
get_ssl_version) which are "missing methods" in openssl
* ssl_msg_callback_LOG callback and get_content_type for handshake debugging
* removing jfieldID's for our classes now that we pass in values in arguments
* changed aliveAndKicking to be volative since we poll on it to communicate between threads
* changed from C style declarations at beginning of block to C++ at first use on methods with major changes
* stop freeing SSL instances on error, only SSL_clear it
* improved session reuse logging when reproducing b/1678800
* change verify_callback to return verifyCertificateChain result

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketFactoryImpl.java

When we accept a server socket, we pass the existing SSL state
instance from the server socket to the newly accepted socket via
the constructor where it is copied with SSL_dup, instead of
through both the constructor and later the accept method.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java

Cleaned up nativesetclientauth from using SSL_CTX to SSL, passing
ssl as argument in preparation for future movement to
NativeCrypto.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java

Removed ssl_op_no cache for rarely used enabled protocol methods
so that code could more easily be shared in NativeCrypto between
client and server.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketImpl.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Changed public getId, getCreationTime, getPeerCertificates,
getCipherSuite, getProtocol from being instance methods that
looked at the OpenSSLSessionImpl object state to be static mthods
that take the native pointers as arguments in preparation for
moving to NativeCrypto. Rename session -> sslSessionNativePointer
for consistency. Inlined initializeNative, which wasn't really
the native code.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java

Removed lock on OpenSSLSocketImpl.class lock from around
OpenSSLSocketImpl's use of nativeconnect, nativegetsslsession, and
nativecipherauthenticationmethod as well as OpenSSLSessionImpl's
use of freeImpl, fixing b/1758225: Revisit OpenSSL locking

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSessionImpl.java

Unrelated changes

Removed unused ssl_ctx, nativeinitsslctx, getSSLCTX
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParameters.java

Fix bug in both putSession implementations where we cached
sessions with zero length id. Also change indexById to pass in id
in client implementation.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientSessionContext.java
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerSessionContext.java

Make sure we clone SSLParameters passed to the SSLSocketFactory
and SSLServerSocketFactory so that muting the client instance does
not change the server instance and vice versa. Explicitly set
setUseClientMode(false) on the server SSLParameters. These changes
are to bring things more into alignment with the original harmony
classes which properly support client/server role switching during
handshaking.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLServerSocketFactoryImpl.java

Make locks object fields final

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Moved updateInstanceCount(1) logic and sslParameters assignment to init method

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Changed getCachedClientSession to respect getUseClientMode

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Spelling of listensers to listeners in javadoc

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Spelling SSLInputStream to SSLOutputStream in comment

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Changed shutdownInput and shutdownOutput to call to the underlying socket

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Set sslNativePointer to 0 when freeing underlying SSL object

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Removed IOException logging in getSession, which is expected to
simply return SSL_NULL_WITH_NULL_NULL when there are problems.

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java

Disabled "Using factory" message on successful creation of
SocketFactory which was a bit noisy running tests. However, added
logging in failure case including the related exception:

x-net/src/main/java/javax/net/ssl/SSLSocketFactory.java

Disabled logging of OpenSSL session deallocation

x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp

Register SSLContextImpl as a source of SSL and SSL3 SSLContexts,
not just TLS and TLSv1.
x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/JSSEProvider.java

Fix whitespace in comment

x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/CertificateRequest.java

Change-Id: I99975ae22599c7df0d249fa013ae7ea7c9c08051
a7c7fb434da6dd253dd8668300768f6b90ad463d 06-Apr-2010 Carl Shapiro <cshapiro@google.com> Rename the objBits to the more descriptive liveBits.

Change-Id: Ic1a2915f943cb9541fcc52c6b6a6d9d3b7354b5f
9fd80953ad22c540bdff818ecf5926d837a770c5 26-Mar-2010 Carl Shapiro <cshapiro@google.com> Reference class handling overhaul.

* Do not mark through soft-reachable referents when scanning f-
reachable objects.

* Make the SoftReference clearing policy local to better conform to
developer expecataions.

* Eliminate SCHEDULED_REFERENCE_MAGIC, a hold-over from a previous
reference management algorithm.

* Move soft, weak and phantom reference processing into their own
subroutines.

Change-Id: I992788d58f10fa08336e6ac3f0a4dbfa3fc2086f
4056a992baef9a9bcdfe951683aa63aea1ceda47 06-Apr-2010 Carl Shapiro <cshapiro@google.com> Minor code clean-up. Fix a placeholder comment that I left in the
code. Change a comment that was added at my request to be less
verbose. At the same time, repurpose an unused variable to hold the
field offset so the field access code flows without wrapping.

Change-Id: I27d10c26b76620eb7d5ace55b4e6f76e5e4c44d6
0867e8954d14c3c9002bc99dd797187ccae4efdc 06-Apr-2010 Carl Shapiro <cshapiro@google.com> Merge "Unlock the monitor mutex before destroying it. This resolves an issue with simulator builds where, unlike bionic, libc checks whether a mutex is in the unlocked state before a destroy and returns EBUSY if the check fails. Until similar checks are added to bionic we now do a trylock, unlock sequence in the assert statements so as not to confuse the simulator build." into dalvik-dev
5d5c9193cd99bf809d403a34447629ca7bd98923 04-Apr-2010 Carl Shapiro <cshapiro@google.com> Unlock the monitor mutex before destroying it. This resolves an issue
with simulator builds where, unlike bionic, libc checks whether a
mutex is in the unlocked state before a destroy and returns EBUSY if
the check fails. Until similar checks are added to bionic we now do a
trylock, unlock sequence in the assert statements so as not to confuse
the simulator build.

Change-Id: Iafa3c52edddb17b9a8a2c648c5fd3a58d5d77988
3a98daba3b693e2548d0a86c5f0ab606d2dce6f7 06-Apr-2010 Elliott Hughes <enh@google.com> resolved conflicts for merge of dd53c703 to dalvik-dev

Change-Id: Ia95af76e2995ce7fb0778b020baf2882a8b0a3dd
68ab748d331a9ec8fd46ef0ffe5c7923b601e493 06-Apr-2010 Carl Shapiro <cshapiro@google.com> Merge "Fix two issues with the partial gc code." into dalvik-dev
74c501efd710bea1b81d794845eebd0cd6c2c3ef 06-Apr-2010 Elliott Hughes <enh@google.com> am f3c7fd52: Merge "Froyo InputStream.available documentation improvement." into froyo
0ee15dbb40eafe4debc55cc1e668259d43e9ce21 06-Apr-2010 Elliott Hughes <enh@google.com> Merge "Froyo InputStream.available documentation improvement." into froyo
1dd3c497a6f91ced68755c82d25dcd64d6d250e2 05-Apr-2010 Elliott Hughes <enh@google.com> Froyo InputStream.available documentation improvement.

This method causes a lot of confusion, and we can do a lot better. (Ideally,
the API would either not exist or be something like "public boolean ready()".)

I've removed poor-quality documentation overrides too, so the full
documentation is visible in most places. (InflaterInputStream is an obvious
exception.)

Also, to a lesser extent, improve the InputStream.skip documentation.

Change-Id: I6d6cd788e6a32ad4a2613d1e381610f1ad8575fe
da61a7cb9efe5c83dd244a68a47e6a45e649d671 06-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix vogar host mode." into dalvik-dev
fcd2c9544cbd43935e11de9b9867ebbde832197c 06-Apr-2010 Jesse Wilson <jessewilson@google.com> Fix vogar host mode.

Also addressing bdc's comments from change Ibc7cbc81, most
notably an import-ordering issues that impact many files.
4963dfba069a36ed551c79243e23aa6e5518f579 06-Apr-2010 Brian Carlstrom <bdc@google.com> Merge "Remove unnecessary final local variables and arguments from javax.net.ssl tests" into dalvik-dev
4f05d88d22c24ae92333fa3e16011da115777837 05-Apr-2010 Brian Carlstrom <bdc@google.com> Remove unnecessary final local variables and arguments from javax.net.ssl tests

Change-Id: Ie4cbad9335e37f785edab9a76c42c229a1d40f57
1bfbb980bbd14699d010569b248db02d10054184 05-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing APIs from dalvik.system that shouldn't have been published." into dalvik-dev
ea1f35277ab162f33aa792334061f685fe99854b 05-Apr-2010 Andy McFadden <fadden@android.com> am 14af5a09: am 54df4ecc: Added a note about android:vmSafeMode.

Merge commit '14af5a09123df1aa766fb1ab286601fc592e4770' into dalvik-dev

* commit '14af5a09123df1aa766fb1ab286601fc592e4770':
Added a note about android:vmSafeMode.
a88538aa44001b111e70b522d930c645fcc231ff 05-Apr-2010 Andy McFadden <fadden@android.com> am 54df4ecc: Added a note about android:vmSafeMode.
5ba0d123ede1f3d50682bd9e5d0412370c7b18f9 05-Apr-2010 Andy McFadden <fadden@android.com> Added a note about android:vmSafeMode.

Seems like a good thing to note here, along with the system properties that
accomplish the same thing system-wide.

(This is a minor documentation change only.)

Change-Id: Ib9adbd612d662fd2da3a02f49e730040fba8a7f3
2f22e0c3c8edb2b7f21fdb42bffd7aab12544b7f 04-Apr-2010 Carl Shapiro <cshapiro@google.com> Fix two issues with the partial gc code.

* Eliminate a fence error in bitmap aliasing. The heap structure
uses asymetric bounds but the bitmap structure uses symmetric bounds.
Bias accordingly.

* Explicitly covert the immune limit to a uintptr_t to muffle a compiler
warning.

Change-Id: I05e74ab57035ee06eb6d88e773b1d680531a7e2f
ee312d94f0433c830aad68fbf771a752a62c0438 03-Apr-2010 Elliott Hughes <enh@google.com> Merge "More Charset/ICU cleanup." into dalvik-dev
43173408778257a904f4176d2666ba6c6c9929a2 03-Apr-2010 Brian Carlstrom <bdc@google.com> Merge "New "from scratch" Junit tests for javax.net.ssl" into dalvik-dev
c26887dcb198d00ad3858d8bd6534fca24b5169a 02-Apr-2010 Brian Carlstrom <bdc@google.com> New "from scratch" Junit tests for javax.net.ssl

These new tests focusi on areas where I am making OpenSSL
implementation chages, where I found differences from the RI when
working on that code, and places where we were missing functionality
compared to the spec. They all work on the RI, many fail on Dalvik

luni/src/test/java/javax/net/ssl/AllTests.java
luni/src/test/java/javax/net/ssl/SSLContextTest.java
luni/src/test/java/javax/net/ssl/SSLSessionContextTest.java
luni/src/test/java/javax/net/ssl/SSLSessionTest.java
luni/src/test/java/javax/net/ssl/SSLSocketFactoryTest.java
luni/src/test/java/javax/net/ssl/SSLSocketTest.java

Adding my javax.net.ssl.AllTests to the main list

luni/src/test/java/tests/AllTests.java

Adding Bouncy Castle provider /usr/share/java/bcprov.jar to host
classpath for testing with --java-home /usr/lib/jvm/java-6-openjdk

tools/runner/java/dalvik/runner/JavaVm.java

Fix usage comment to reboot to bootloader
run-core-tests

Change-Id: I7a7998fc7bedc7a00b1836517d043c6a27c8bd4d
3e628753d5b6f5b65314b1efcdd6fd4de39f44f8 03-Apr-2010 Elliott Hughes <enh@google.com> More Charset/ICU cleanup.

I've been feeling guilty about leaving broken double-checked locking (missing
the "volatile") in harmony's Charset code. A quick investigation showed that
the method that it's intended to optimize is basically never called, and the
RI's documentation explicitly says "don't call this; it's slow". So this patch
fixes that.

I've also improved our documentation.

I've also deleted a bunch of dead code.

I've also tidied up some dodgy native string handling.

Change-Id: Iad69ebb3459d9cc4c4ff37b255d458b83fe40132
32c5c3fa37f1460dc845e80c7848e9a00e2249e1 03-Apr-2010 Ben Cheng <bccheng@android.com> am 67050d11: am bd1326d0: Clean up the codegen for invoking helper callout functions.

Merge commit '67050d11e5afa7c2396bb0fc4f8d455ea2616f95' into dalvik-dev

* commit '67050d11e5afa7c2396bb0fc4f8d455ea2616f95':
Clean up the codegen for invoking helper callout functions.
02c240c0dfbfdf52987b9d5d88f148caa1deefd5 03-Apr-2010 Ben Cheng <bccheng@android.com> am bd1326d0: Clean up the codegen for invoking helper callout functions.
77453784f0b3959106fa8e15f0aa93fb056bb84a 03-Apr-2010 Ben Cheng <bccheng@android.com> Clean up the codegen for invoking helper callout functions.

All invoked functions are documented in compiler/codegen/arm/CalloutHelper.h
Bug: 2567981

Change-Id: Ia7cd4107272df1b0b5588fbcc0aafcc6d0723d60
934129795ab561854f47aad2cfa3e30fe947a2b1 03-Apr-2010 Brian Carlstrom <bdc@google.com> am 85948576: am 4ff253ff: Remove JSON License from NOTICE file

Merge commit '85948576f0270265ebeca795f41447ad4f549c11' into dalvik-dev

* commit '85948576f0270265ebeca795f41447ad4f549c11':
Remove JSON License from NOTICE file
44b054640d0109fa5525342c37f60a37924ed99c 03-Apr-2010 Ben Cheng <bccheng@android.com> am bf4d95ea: am 76cacb1f: Merge "Accept the "-Xjitdisableopt" flag as advertised." into froyo

Merge commit 'bf4d95ea7d2e86e93ab372f261baa348c03ef188' into dalvik-dev

* commit 'bf4d95ea7d2e86e93ab372f261baa348c03ef188':
Accept the "-Xjitdisableopt" flag as advertised.
2aacc9ebf47953b80db46790b01a8f6517482147 03-Apr-2010 Ben Cheng <bccheng@android.com> am 1071056d: am a497359a: Fix a race condition in JIT state refresh under debugging / misc code cleanup.

Merge commit '1071056dace973442293b718bf12e328935126f1' into dalvik-dev

* commit '1071056dace973442293b718bf12e328935126f1':
Fix a race condition in JIT state refresh under debugging / misc code cleanup.
f7b2e5e2084f6c78eb0e59e23678e528b1c6a5b2 03-Apr-2010 Brian Carlstrom <bdc@google.com> am 3d82ade7: Merge "Have certimport.sh list certificates in BKS keystore after importing for verification/debugging"

Merge commit '3d82ade7a9b764695bad89d2476a73441118411b' into dalvik-dev

* commit '3d82ade7a9b764695bad89d2476a73441118411b':
Have certimport.sh list certificates in BKS keystore after importing for verification/debugging
44ed8c02a34ae848bf51fb88c5a13aa80743dbd7 03-Apr-2010 Andy McFadden <fadden@android.com> am d4b07831: Merge "Fix misuse of ALLOC_DONT_TRACK." into froyo

Merge commit 'd4b078315ae7335c385f70b32810959bd228d976' into dalvik-dev

* commit 'd4b078315ae7335c385f70b32810959bd228d976':
Fix misuse of ALLOC_DONT_TRACK.
8b29e3c7b426e6c572f215513e78d482d50c1492 03-Apr-2010 Brian Carlstrom <bdc@google.com> am ea527bc0: Remove debug message from OpenSSL JNI code

Merge commit 'ea527bc08f4d7128eb9d927a16723d20b9d1d217' into dalvik-dev

* commit 'ea527bc08f4d7128eb9d927a16723d20b9d1d217':
Remove debug message from OpenSSL JNI code
3fd48db3e597c22eefb76b0a9f432501d3fcdcba 03-Apr-2010 Elliott Hughes <enh@google.com> am 6e138297: Add an @KnownFailure annotation.

Merge commit '6e138297538fb632944ae1a81f346aec75137399' into dalvik-dev

* commit '6e138297538fb632944ae1a81f346aec75137399':
Add an @KnownFailure annotation.
2abe65c235d243f01eca96a60222d3eb6fe965f3 03-Apr-2010 Bill Buzbee <buzbee@google.com> am 434bae64: Fix for 2542488 JIT codegen bug with overlapping wide operands

Merge commit '434bae646046871c334b95bd9123a78da66c27c3' into dalvik-dev

* commit '434bae646046871c334b95bd9123a78da66c27c3':
Fix for 2542488 JIT codegen bug with overlapping wide operands
48d1c0605d074cbec669de0c1b68c7f67818aab3 03-Apr-2010 Ben Cheng <bccheng@android.com> am d5adae17: Improve JIT self verifier test coverage to follow single-step instructions.

Merge commit 'd5adae17d71e86a1a5f3ae7825054e3249fb7879' into dalvik-dev

* commit 'd5adae17d71e86a1a5f3ae7825054e3249fb7879':
Improve JIT self verifier test coverage to follow single-step instructions.
99f59db1fb7dee595a677e4d564a86477029e65a 03-Apr-2010 Brian Carlstrom <bdc@google.com> am 4ff253ff: Remove JSON License from NOTICE file
12780a4c7a8329c93f4c17952e4b9b4e1b6532fb 02-Apr-2010 Brian Carlstrom <bdc@google.com> Remove JSON License from NOTICE file

Change-Id: Ie4426f8e33ddef42916e88adeaf672714212d3a3
1b0e67fd8345512509c0abb3913dfed2242d7296 02-Apr-2010 Elliott Hughes <enh@google.com> Add Java 6's java.util.ServiceLoader.

New implementation, documentation, and tests, very loosely based on the harmony
code.

We can't run the harmony or jtreg tests because we don't have the infrastructure.
My test just tests the most obvious use cases, on the assumption that at some
point we'll get the other test suites working; quite possibly before anyone ever
wants to use this stuff on Android.

(We might want to switch over existing META-INF/services/ code to use
ServiceLoader. I've raised http://b/2567593 for this.)

Bug: 2497395
Change-Id: I62b0ac4748204555d3ba9356794a72aff4f4f01e
014b84b59aab2be484a7ddb052062f9f8ce6537e 02-Apr-2010 Jesse Wilson <jessewilson@google.com> Removing APIs from dalvik.system that shouldn't have been published.

These APIs were deprecated in Eclair and should disappear in Gingerbread.
See bug 2553600.
28dbab4533b28ae893a27e10845d212846608373 01-Apr-2010 Jesse Wilson <jessewilson@google.com> Merge "New method-level granularity and output streaming for vogar." into dalvik-dev
b9f5a746ad496d31656d9733144312176fb4f8c7 01-Apr-2010 Jesse Wilson <jessewilson@google.com> New method-level granularity and output streaming for vogar.
2ec504e43c55a40d2be74dc7d7dc7993e12d158e 01-Apr-2010 Elliott Hughes <enh@google.com> Merge "Tidy up our getAvailableLocales methods to actually ask ICU4C." into dalvik-dev
d4f507574ed2b0aef9348fbb67afb37c0e77452a 01-Apr-2010 Elliott Hughes <enh@google.com> Tidy up our getAvailableLocales methods to actually ask ICU4C.

These specialized methods are little used, and in several cases ICU itself
just returns the list of locales, but that's ICU's business, not ours. As
long as ICU is in charge of our locale-specific data, it should be responsible
for answering questions about what locale-specific data is available...

Change-Id: Idc8a66bbf7fcbc6b06e30929e6a7af3fe30ab7d1
98e74d7072f151f7073fa5943aa31866a73591fa 01-Apr-2010 Ben Cheng <bccheng@android.com> am 76cacb1f: Merge "Accept the "-Xjitdisableopt" flag as advertised." into froyo
ffa1aa4a2b7aa74f5aa7d8b23adb1d059e046082 01-Apr-2010 Ben Cheng <bccheng@android.com> Merge "Accept the "-Xjitdisableopt" flag as advertised." into froyo
75f8e29b2bca66f01696dd3ed70ec217a00fb7c1 01-Apr-2010 Ben Cheng <bccheng@android.com> Accept the "-Xjitdisableopt" flag as advertised.

Bug: 2542212
Change-Id: I6819bbbaf43ccb9a1e35cc576cfd6e5440b9578b
46208f8c173a7fb990d2d7e0c6bed2a5ecf0595c 01-Apr-2010 Andy McFadden <fadden@android.com> Merge "Mark external alloc functions as deprecated." into dalvik-dev
84764b03504928cde1fe214af5a47dda03f8d049 01-Apr-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's java.net.IDN." into dalvik-dev
04e88452abd6cd12eabac087e853d549837b0073 01-Apr-2010 Elliott Hughes <enh@google.com> Add Java 6's java.net.IDN.

harmony's tests and my code, though ICU4C does all the hard work.

I've added a test of my own to demonstrate some weird RI behavior (that I've
emulated in our implementation).

Bug: 2497395
Change-Id: I8146f72a8a3204449ee3d0d9065dadc1c1c77fcc
f0fd31af24d85ecc6210f405ea4695e6cc230175 01-Apr-2010 Elliott Hughes <enh@google.com> Fix an off-by-one error in fd range checking.

Change-Id: I15f932bc246ebc7fec9471a873bef8bd58ef15fc
9d7c6ea11d4a12e952a0621fc1e72a3dd5d8079a 01-Apr-2010 Carl Shapiro <cshapiro@google.com> Merge "Add the ability to treat the zygote heap as a root collect just the forked application heap." into dalvik-dev
29cfbf9f67026c66c012dd74ff4de8d698ae7c68 01-Apr-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's ResourceBundle/Properties API." into dalvik-dev
bd283d741d61d4c73f1bc9d3bf01a3c137119061 01-Apr-2010 Andy McFadden <fadden@android.com> Mark external alloc functions as deprecated.

First step toward disabling them.

Bug 2537379.

Change-Id: I8664a5f1d7dcff11ddeb97b5e700dad76bffc723
1b36006740688739849671dfc217fafff3a54b88 31-Mar-2010 Ben Cheng <bccheng@android.com> am a497359a: Fix a race condition in JIT state refresh under debugging / misc code cleanup.
a894b0ae09162f45ced8513d5458303c54493b84 31-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's ResourceBundle/Properties API.

I've pretty much taken the upstream ResourceBundle implementations
as-is, putting back our string-to-locale conversion, removing a bit
of duplication and non-free, non-spec EBCDIC support, and hard-coding
the text of the MissingResourceExceptions (since harmony's changed
its message catalog from ours, so I had to touch those bits of the
code anyway).

(Why haven't I bothered to pay much attention to the resource bundle
implementations? Because I already rewrote our only code that was
using them to not use them, and third-party developers should be
using Android's resource system instead. There's very little chance
anyone needs Java resource bundles. I paid some attention to Properties,
because they're still somewhat useful.)

Also remove various unused messages, and update our tests. I've mostly
_not_ taken the upstream tests, because it would require a lot of work
that we'll be doing anyway when we switch to using their test suite
properly.

I ran the jtreg tests we're able to run, and the normal-case ones (plus
the stress test) seemed okay.

Bug: 2497395
Change-Id: I91606df0dc1a45e6974fbb27a0d334af87254f0b
9b37fa95dea7d897349b11e3ccf79326289163ce 31-Mar-2010 Ben Cheng <bccheng@android.com> Fix a race condition in JIT state refresh under debugging / misc code cleanup.

Bug: 2561283
Change-Id: I9fd94928f3e661de97098808340ea92b28cafa07
1b75403575d711dd3f78d20d8b66798f1c5deb75 31-Mar-2010 Brian Carlstrom <bdc@google.com> Merge "Have certimport.sh list certificates in BKS keystore after importing for verification/debugging"
5b8a07d98075d4486a41fef433bcf166dbbbdaff 31-Mar-2010 Brian Carlstrom <bdc@google.com> Have certimport.sh list certificates in BKS keystore after importing for verification/debugging

Change-Id: Ic336f10d96bbf93b1dc5cfd8b64a4c9eaa4f3a68
88f31beb27df778c025546a251631e9544b6a38c 31-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's Calendar API changes." into dalvik-dev
234e12dfc75783876681eba6a23c730ec613f5bb 31-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's Calendar API changes.

Also correct two javadoc mistakes I added, and bring back the latest harmony
java6 CalendarTest.

Bug: 2497395
Change-Id: If481390948ca93d5f709a8ed4585991889de9f8b
ef3ef41b441ce03bae2d811e581c89962df3fadd 31-Mar-2010 Andy McFadden <fadden@android.com> Merge "Fix misuse of ALLOC_DONT_TRACK." into froyo
2b8f149e74535535a37d073b4d8577d156c0641a 31-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Splitting TestRun into Action and Outcome." into dalvik-dev
0d830f93b6a7e603a9e6d4ff99413bf058c1c0b4 31-Mar-2010 Jesse Wilson <jessewilson@google.com> Splitting TestRun into Action and Outcome.

Changing Vogar to prefer the word "action" over "test" to avoid
deemphisizing benchmarks and main classes.

Moving expectation management out of TestRun and into Expectation
and the ExpectationStore. The parse method moved, but it is unchanged.
Renamed ExpectedResult to Expectation.

Currently outcome has 2 names: an outcome name and an action name.
At the moment these are always equal. In a follow up to this change
I intend to allow a single action to have multiple outcomes, which
will allow JUnit tests to be tracked at the right granularity when
executed by vogar.
789c37b87d4a177d71c5e6bf46b159c1b893959c 12-Mar-2010 Carl Shapiro <cshapiro@google.com> Add the ability to treat the zygote heap as a root collect just the
forked application heap.

Change-Id: I8807897ae426f8274018d950fec44a2182a90525
bb34dad3f2ac498bdb4737459870308a1fac481f 31-Mar-2010 Brian Carlstrom <bdc@google.com> Remove debug message from OpenSSL JNI code

Change-Id: I70c68087b7d109634eb3240dca1f27e6f20d3da6
5b96393f656e578356c29eb0c054d726300bbb8f 31-Mar-2010 Andy McFadden <fadden@android.com> Fix misuse of ALLOC_DONT_TRACK.

The internal String creation function doesn't allow ALLOC_DONT_TRACK.
This changes the call to use ALLOC_DEFAULT and then explicitly release
the tracked allocation.

For bug 2558142.

Change-Id: I57dfa4824578c3a3a33f6836b75f51391cc73746
8ab1e8a35cf78411be389e5fc615362cc7f85961 31-Mar-2010 Elliott Hughes <enh@google.com> Merge "Trivial tidying up of networking code." into dalvik-dev
39fc2a040c8abab41f923d745c76eb8f0b492f9d 31-Mar-2010 Elliott Hughes <enh@google.com> Add an @KnownFailure annotation.

Bug: 2489458
Change-Id: Ib1121c6190b63baae8dbc6a8a598c3f5a510cfaf
de2389b65c627e0731bd5aa4cc011eb5e4a4228e 30-Mar-2010 Elliott Hughes <enh@google.com> Trivial tidying up of networking code.

Removing cruft and renaming things.

Change-Id: I317726c40a1addf3a1ad9d905239438424082549
6f054578fad0af691437d7604edbaad971031d74 30-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing vogar script to use the latest name" into dalvik-dev
2ecf6fbd588e2f46f559688855f3af1f5311bd59 30-Mar-2010 Jesse Wilson <jessewilson@google.com> Fixing vogar script to use the latest name
70bf883d0172c56d90a5c57b12ca84a3a4cddd80 30-Mar-2010 Jesse Wilson <jessewilson@google.com> Renaming dalvik.runner to Vogar!

Also moving commands and target classes to their own directories. This is all
in preparation to move the code out to code.google.com
f708fb33618721639dc01786760079755bf3bd5d 30-Mar-2010 Elliott Hughes <enh@google.com> Fix a bug, and protect against an unrelated class of bugs.

If the Java array allocation in InetAddress.cpp failed, we'd free NULL instead of the
previously-allocated structure. This is a new bug in froyo, but only happens in out of
memory situations, so doesn't seem worth fixing there.

Unrelatedly, let's disallow assignment and copying of all our RAII classes. This isn't
a mistake I've seen made, but it's easy to protect against, so we may as well do so
consistently.

Change-Id: I2433b31ff983d388788b09e59e08d661f1725ecd
46c65b4108df70fc832a25f9729cc522a26d8632 30-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's exponent separator to DecimalFormatSymbols." into dalvik-dev
b23ab2acbca8c823127e7e7079260dbf3dded71b 30-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's exponent separator to DecimalFormatSymbols.

Bug: 2497395
Change-Id: Ic552fa828649bae882e508a62a44073d1038b5c0
88c2a8086f6429a8d7e3eb6cd29999d6ee93139d 30-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Tweak our test & runner so XPath tests can be executed on Hudson." into dalvik-dev
98618da3b89af741a065516b99d1336cb1e67304 30-Mar-2010 Jesse Wilson <jessewilson@google.com> Tweak our test & runner so XPath tests can be executed on Hudson.
91fcb3e98c3105f6fecb4afae32893df632b6758 30-Mar-2010 Elliott Hughes <enh@google.com> Fix build.

Rather than try to be clever with header files (which didn't work with glibc
for the sim build) let's make Math.copySign have the StrictMath behavior,
and have StrictMath call Math. (The other way round, though it might seem
more logical, wouldn't solve the problem. We already have numerous cases of
StrictMath calling Math anyway.)

Change-Id: Ifff065ddc8fbd5d5f8d4d5b67bc9ac07a719eb00
9f52e3ab31b3cf48461bf7e25cf0bb7f56273240 29-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Merge commit '8812fdd7' into manualmerge" into dalvik-dev
781ccf9e2645d1b0e35c23eebad5ae629a2b52be 29-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge commit '8812fdd7' into manualmerge

Conflicts:
libcore/xml/src/test/java/tests/api/javax/xml/parsers/SAXParserFactoryTest.java
3f146fae8a5e2b885f31061a3f337e3b572d4def 29-Mar-2010 Elliott Hughes <enh@google.com> Merge "Fix StrictMath.copySign's behavior with NaN." into dalvik-dev
9dd770ba6907357d8565f2d060972cfcab609e17 27-Mar-2010 Bill Buzbee <buzbee@google.com> Fix for 2542488 JIT codegen bug with overlapping wide operands

Change-Id: I2f31492f68cb753f76dd664cd6b0a52d7d32de4c
e19422711d6597f3cc6455f1b679dabfcfda4912 27-Mar-2010 Elliott Hughes <enh@google.com> Fix StrictMath.copySign's behavior with NaN.

StrictMath's copySign method is defined to treat all NaNs as positive, regardless
of their sign bit. Rather than add yet more code on the Java side (which already
called down to native code three times), let's just make one call to native code.

This change fixes failures in already-committed StrictMath tests.

The only other potential instances of this class of error were in the
max and min methods, but they all handle NaNs before calling
(double|float)To(Raw)?LongBits, so the choice there really is arbitrary.

Change-Id: I439dbdff9068cb420b78a6330cde9d7d0d12c0ef
b70ed0f96efeda2a1b311d29a9010bede2e36560 27-Mar-2010 Elliott Hughes <enh@google.com> Fix all our java.text.Bidi failures.

Two are invalid tests where we behave the same as the RI. The third reflects
a difference between ICU4C and the RI, so I've added code to recognize that
case and paper over the crack. I've also tidied up a bit more.

With any luck, I'll never see these files again...

Change-Id: I278502fbdea039e9a2318df830dc0b55851e96c0
c62effb24bf6a8d1db9e0b88195325fc927b4f92 27-Mar-2010 Ben Cheng <bccheng@android.com> Improve JIT self verifier test coverage to follow single-step instructions.

Bug: 2549326
Change-Id: I01412d4aac1379b61c90fe6e59c534b33be93f66
d1014644b8ab9e4315c59576c0b9ef6b205c441a 27-Mar-2010 Elliott Hughes <enh@google.com> Merge "Java 6 changed CollationKey from final to abstract." into dalvik-dev
a897758f9f08fbb7535d451f86cd920f5d14a7dd 27-Mar-2010 Jesse Wilson <jessewilson@google.com> am 2be0c815: (-s ours) Suppressing additional tests that fail in Froyo.

Merge commit '2be0c815dda289b09f3bb26f751c124f30eaf612' into dalvik-dev

* commit '2be0c815dda289b09f3bb26f751c124f30eaf612':
Suppressing additional tests that fail in Froyo.
ddd01124d3f3e0e16fd122b502d8ee4a9c2ac33c 26-Mar-2010 Elliott Hughes <enh@google.com> Java 6 changed CollationKey from final to abstract.

I've also taken the opportunity to tidy up our implementation a little,
though my hands are tied by (a) the fact that our concrete classes are
in a separate package from our abstract classes and (b) frameworks/base
actually pokes about with our icu4jni collation code (http://b/2417080).

I've also tidied up a bunch of dead code. In particular, it's silly for
us to check parameters in Java that will be checked in native code (and
that one would assume will be valid most of the time anyway).

Bug: 1635883
Change-Id: I7db3c1ff1f0d23cb85604f9c8eb995e4488d7c0a
1184c25aae1f2ddc3407acdbf5c8e7cae35e9900 26-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing tests to handle changes in our behaviour since DOM 3." into froyo
e1cb16db69238a6698b3aca2d9b8cfe4160fe357 26-Mar-2010 Jesse Wilson <jessewilson@google.com> Suppressing additional tests that fail in Froyo.

Our File class doesn't do SecurityManager checks at the same time as it
did previously.

We added a failing logging test but not the fix.

We moved the SQL drivers around, causing some SQL tests to fail.

A new logging test doesn't load its resources using the safe pattern.

Change-Id: I34ab81e4001969aa536f61a89c277ae2b879d49d
d1b3fa674af5c39ab13ba6f7cf08529502a8d748 26-Mar-2010 Jesse Wilson <jessewilson@google.com> Fixing tests to handle changes in our behaviour since DOM 3.

Our exception priority has changed for DOM attributes. We
previously used to throw DOMExceptions with namespace error
codes and now throw DOMExceptions with character error codes
when the attribute name is malformed. This caused changes to
many tests.

Another notable behaviour change is that we now supply the
qname (like the RI) where previously we did not. It is optional,
but we now include it for RI-consistency.

Yet another behaviour change is that we don't look at System
properties when choosing a SAX implementation. This simplifies
our internals significantly. End users who want an alternative
SAX implementation should construct it manually.

Also adding @KnownFailure tags for new tests that we have
never yet passed.

Change-Id: I6f81bedd7c2a0867086dc507b3220c2b07c4d3d3
dd8109d7ee7ac42e04195c8a119d38e61cd19288 26-Mar-2010 Elliott Hughes <enh@google.com> Start cleaning up the Charset implementation.

This was going to be https://issues.apache.org/jira/browse/HARMONY-6461,
but I couldn't resist cleaning up some of the surrounding code, and ended
up cleaning up some of our native code too. In the course of the afternoon
I spent on this, I lost my conviction that the upstream change makes
sense, so I reverted that, leaving this change just pure cleanup.

(Note that the cleanup work is incomplete. This is an improvement, but
there's plenty left to do. I just don't want to get too distracted until
all the Java 6 changes are done.)

Change-Id: I56841db5f6c038bbf7942e83a148dca546519269
4c59dc7a27515ce84c469ba408926c88bf6d8969 26-Mar-2010 Elliott Hughes <enh@google.com> Merge "Use more idiomatic naming in test code." into dalvik-dev
fdd72829dbc70a88e42abd66a0fa66d344f3ca67 26-Mar-2010 Elliott Hughes <enh@google.com> Use more idiomatic naming in test code.

(I introduced this in https://android-git.corp.google.com/g/46305.)

Change-Id: I100202fc18e246dd7b66870ce75543642505336d
6e2c0eb5db14a0834d4ee7818c6399e676f8f1ed 26-Mar-2010 Ben Cheng <bccheng@android.com> am 63868feb: Use correct resource flags for Dalvik ld/st instructions to enable code motion.

Merge commit '63868feb2cc6a1fb1c76d7b54296ef4869f632be' into dalvik-dev

* commit '63868feb2cc6a1fb1c76d7b54296ef4869f632be':
Use correct resource flags for Dalvik ld/st instructions to enable code motion.
debab4f8d6e5d9d2b78d6467bb6cb2425130180a 26-Mar-2010 Ben Cheng <bccheng@android.com> Use correct resource flags for Dalvik ld/st instructions to enable code motion.

Change-Id: I9b371af4150b6245c0ff59eea63d83406edbbcee
53bd6eb195eb7c1b41f996264700b6c1c311647d 25-Mar-2010 Jesse Wilson <jessewilson@google.com> am f2f7880a: Test and document our handling of nulls with getString().

Merge commit 'f2f7880a40aed1c8d9c27db49226e47396556aac' into dalvik-dev

* commit 'f2f7880a40aed1c8d9c27db49226e47396556aac':
Test and document our handling of nulls with getString().
9e20d58f3eceea3641b6ed4e75c9f9d65b992885 25-Mar-2010 Jesse Wilson <jessewilson@google.com> Test and document our handling of nulls with getString().

Our behaviour is consistent with Crockford's.

The test confirms that the behaviour is consistent with the report
of that bug, which the submitter claims is not how it should behave.
http://code.google.com/p/android/issues/detail?id=7257

Change-Id: Ibace4bd995e3cbc8fb6c9dc509f8f4491865a647
e4cc155aa6b3fb3df750d3e2b9354b3dc15ed898 25-Mar-2010 Bill Buzbee <buzbee@google.com> am d630700a: Merge "Jit: Fix for 2542488 JIT codegen bug with overlapping wide operands"

Merge commit 'd630700a9fbc6d317e0b4df73cbbc74a2c8fadaa' into dalvik-dev

* commit 'd630700a9fbc6d317e0b4df73cbbc74a2c8fadaa':
Jit: Fix for 2542488 JIT codegen bug with overlapping wide operands
41da8b08b11ed3b10c396a14910584c2bf23f681 25-Mar-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Fix for 2542488 JIT codegen bug with overlapping wide operands"
ddb0f2b03d1f4fc924f091489a78daf9f889f1bb 25-Mar-2010 Elliott Hughes <enh@google.com> Apply https://issues.apache.org/jira/browse/HARMONY-4307.

They didn't add a test for this; supposedly it fixed a flaky AWT test. But
the change looks plausible.

Change-Id: I358849a20d5e38d01d6c77a4c335002bb7bba095
ebf7c08c27de6fc63f4d279f1e3ab2ad9aaa9476 25-Mar-2010 Elliott Hughes <enh@google.com> Clean up a few toStrings.

I couldn't find any more that were using getClass() rather than
getClass().getName().

Change-Id: I30b375748d36bc36d1e6999349fc472496456746
c541192526cbf81b9092c45024262ad115b447c6 25-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Fix for 2542488 JIT codegen bug with overlapping wide operands

Change-Id: I7b922e223fe1f5242d1f3db1fa18f54aaed725af
ecebf3c80dad4c3f1fa45ed13a1816e37665b537 25-Mar-2010 Elliott Hughes <enh@google.com> am ec7c8c98: Fix java.util.Random\'s constructors.

Merge commit 'ec7c8c98a4094580224eb9c400249c5c0984cf29' into dalvik-dev

* commit 'ec7c8c98a4094580224eb9c400249c5c0984cf29':
Fix java.util.Random's constructors.
6df36eae425fb690f137558e6e001ccf17c3b0b4 25-Mar-2010 Elliott Hughes <enh@google.com> Fix java.util.Random's constructors.

Subclasses rely on having their overridden setSeed called by Random's
constructors, and the RI actually documents this behavior. (The
documentation even changed between Java 5 and Java 6 to make it _more_
explicit.)

This patch keeps that part of I6239d93bb46876ef1c4a5e155a6dc1ac6fab4eae
that improved our randomness, but reverts the attempt to fix Random's
uncouth behavior.

Also a regression test so we don't try to fix Random again in future.

Bug: 2502231
Change-Id: Ieea1009145c74eac9475c0cd5066dabad20eb114
c725b8c1cfee885772143daed0939f99688ce2be 25-Mar-2010 Kenny Root <kroot@google.com> am f87ab961: Merge "Don\'t leak memory on failed pipe or mutex init"

Merge commit 'f87ab9616697b8bae08c5e8007cbdd0039a1f8ce' into dalvik-dev

* commit 'f87ab9616697b8bae08c5e8007cbdd0039a1f8ce':
Don't leak memory on failed pipe or mutex init
7f86643bb3cafdc350f174072bea7e16108d1c87 25-Mar-2010 Ben Cheng <bccheng@android.com> am 3d5d8736: Merge "Fix for the JIT blocking mode plus some code cleanup."

Merge commit '3d5d87364d062734753bfd26336e96a7e8d03360' into dalvik-dev

* commit '3d5d87364d062734753bfd26336e96a7e8d03360':
Fix for the JIT blocking mode plus some code cleanup.
6f3ded8b4e8287e03eb1607322b79dec1f50a36a 25-Mar-2010 Andy McFadden <fadden@android.com> am c66affa4: Switch to VMWAIT while outputting trace data.

Merge commit 'c66affa440de113df861928c528fcbbead2ead45' into dalvik-dev

* commit 'c66affa440de113df861928c528fcbbead2ead45':
Switch to VMWAIT while outputting trace data.
d60cdeff61a5135689e79a06be3f098bd3c45598 25-Mar-2010 Kenny Root <kroot@google.com> Merge "Don't leak memory on failed pipe or mutex init"
18051d2f009a33297879ce86d94bc624e6ae7f98 25-Mar-2010 Kenny Root <kroot@google.com> Don't leak memory on failed pipe or mutex init

SSL allocation might fail on pipe or mutex creation, so free allocated
memory when that happens.

Change-Id: Ibe3813cb652db1e880e3acf0dc1fa37fbe0ad455
cfae2b5d535ce6b57f7fb92822b67032c704ac2d 25-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's getAvailableLocales/getInstance to DateFormatSymbols and DecimalFormatSymbols." into dalvik-dev
c233ef6434d04c1fdae93335c76c0cb479d4b418 24-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's getAvailableLocales/getInstance to DateFormatSymbols and DecimalFormatSymbols.

This patch also improves the documentation of all getAvailableLocales methods
to clarify exactly what "available" means. Note that at the moment, many of
our implementations just return Locale.getAvailableLocales. It turns out that
ICU does the same in most cases, but I'll come back in a separate patch and
add code so we just pass these down to ICU, and wash our hands of the matter.

I've rewritten DateFormatSymbols.equals, which was very wrong. The time zone
names comparison had an invalid optimization, and its slow-path loop was wrong
too: it only ever tested values against themselves, which isn't likely to have
been the author's intention.

I've added toString overrides to DateFormatSymbols and DecimalFormatSymbols,
because I need them every time I work on these classes.

I've made the constants in DecimalFormatSymbols static final, and given them
idiomatic names. (I still think we might benefit from breaking these into
separate fields, as in the serialized form, but that's a separate issue.)

Finally, and unrelatedly, I've added a comment to BreakIteratorProvider that
I missed in my last change to that file.

Change-Id: I5d6cb30f9afdb502d38353d8a624dc2f0fef41ac
61fb46a0d611fcc4e6850a1978ed03d85606d49a 24-Mar-2010 Ben Cheng <bccheng@android.com> Merge "Fix for the JIT blocking mode plus some code cleanup."
5d8b25143ba1a364b0aec2fedeab45479c0c12de 24-Mar-2010 Ben Cheng <bccheng@android.com> Fix for the JIT blocking mode plus some code cleanup.

Bug: 2517606
Change-Id: I2b5aa92ceaf23d484329330ae20de5966704280b
bc82a6f1ffb65b61091087ab8e97656111b33a8d 24-Mar-2010 Andy McFadden <fadden@android.com> Show current values of mutexes in thread dump.

Experimental feature; may or may not be useful. Dump the current value
of half a dozen VM mutexes. This will tell us if they're unlocked,
locked, or contended-for at the point somebody does a thread dump. For
example, when the GC notices the HeapWorker watchdog has expired:

I/dalvikvm( 2828): DALVIK THREADS:
I/dalvikvm( 2828): (mutexes: tll=0 tsl=0 tscl=0 ghl=1 hwl=1 hwll=0)

In this case, gcHeapLock and heapWorkerLock are held, the rest are not.

If this turns out to be useful we can put more effort into the output
format. The pthread lib doesn't insert the thread ID unless you're
using recursive or errorcheck mutexes, which (for performance reasons)
we try not to use.

Change-Id: I272534d8c9db6340cfc23bfdddb47beefc2efbfb
89e3690908a2c04bd487269d2aa34e357e79bc48 24-Mar-2010 Andy McFadden <fadden@android.com> Switch to VMWAIT while outputting trace data.

One of the traces from a monkey run suggests we stalled out during the
open/write/close part of writing the trace data. To reduce the chances
of spin-on-suspending here we now switch to VMWAIT during the I/O.

For bug 2541030.

Change-Id: Ice832988213741976917fdd36afa12a694a42e81
b212b14edd962dab5dfce15e4f7a01d97c483ccf 24-Mar-2010 Elliott Hughes <enh@google.com> Improve the ThreadGroup documentation.

(Because I was asked a question about ThreadGroup today, and the answer is
always "don't use ThreadGroup"...)

Change-Id: Ibaa2f1830e1fe435c9712f3b08506639b9521b9e
4d4332b29dd60ef0fd53c4e8e9173853c26c3d29 24-Mar-2010 Elliott Hughes <enh@google.com> Merge "Remove explicit 8192 arguments to BufferedReader and friends." into dalvik-dev
b95ad4ffdc4d212732b63e31fa95694bd736d199 24-Mar-2010 Elliott Hughes <enh@google.com> am b7b9be13: Merge "Improve java.net.InetAddress.getLocalHost documentation."

Merge commit 'b7b9be1343b59b429b6de9b28ffffbbbde8478c2' into dalvik-dev

* commit 'b7b9be1343b59b429b6de9b28ffffbbbde8478c2':
Improve java.net.InetAddress.getLocalHost documentation.
9142f9db76cdde7d3d3fd82ba1d67d7dfaf6cc35 24-Mar-2010 Elliott Hughes <enh@google.com> Remove explicit 8192 arguments to BufferedReader and friends.

These were clearly added just to shut up our own warning, and are now
unnecessary and misleading to future maintainers.

There's one barely-related change: InputStreamReader and OutputStreamWriter
are very similar, and this patch makes them more similar, and adds a few
missing modifiers from their fields.

Change-Id: I959011f914ff215e92bbfa41c1bac66465803685
74074707386856d4a8ccbb77d61ea77a56167f5e 24-Mar-2010 Elliott Hughes <enh@google.com> Merge "Improve java.net.InetAddress.getLocalHost documentation."
70f2560fb81fbb1a278744234b86e35c05fb1d84 24-Mar-2010 Brian Carlstrom <bdc@google.com> Merge "Fix --debug-port to --debug in vogar usage" into dalvik-dev
60c588477e10729322e46d692edaeda075ad365e 24-Mar-2010 Brian Carlstrom <bdc@google.com> Fix --debug-port to --debug in vogar usage

Change-Id: I012100578caa4f5768b7926b4fbe489c80f8d32b
7222a0842439af7407e8118490a8a9ac5ce724aa 23-Mar-2010 Elliott Hughes <enh@google.com> Merge "Remove the "default buffer size" warnings." into dalvik-dev
34892b1e35848eeb004d2fa24fe44143cde398c9 23-Mar-2010 Elliott Hughes <enh@google.com> Remove the "default buffer size" warnings.

Everyone seems to agree these have outlived their usefulness.

Change-Id: Ia2a53ffa1f9498333b4b2d51d5c1db488b89abaf
7141aadcbfeec3d5d33597bbb28d314d99f46c27 23-Mar-2010 Bill Buzbee <buzbee@google.com> am 02388cf1: Jit: disable for Sapphire.

Merge commit '02388cf18a87ba0243cddc6ccf3eaf8668118723' into dalvik-dev

* commit '02388cf18a87ba0243cddc6ccf3eaf8668118723':
Jit: disable for Sapphire.
18c293f1039618e0574c16f29ba11c3c0e50c33e 23-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: disable for Sapphire.

Change-Id: I3c48f239ef9a83fac1ef05d18ea1b00ab27879ff
f0f0af8a8d73935debfd7329a787784c325aa22f 23-Mar-2010 Elliott Hughes <enh@google.com> Improve java.net.InetAddress.getLocalHost documentation.

Bug: 1518707
Change-Id: I741a7a28325320949e84e997e6a49d3356c9a308
743281678bf3ec9fc74b6ff9fa7b54b7278e907f 23-Mar-2010 Andy McFadden <fadden@android.com> am d4e0952b: Further refinements to "kill other thread".

Merge commit 'd4e0952b73f9054adcc927a1c12699ba63f1672a' into dalvik-dev

* commit 'd4e0952b73f9054adcc927a1c12699ba63f1672a':
Further refinements to "kill other thread".
86428f569622fd1cd98c5bbe57e4a5f3cdb64b70 23-Mar-2010 Andy McFadden <fadden@android.com> Further refinements to "kill other thread".

Switched from SIGSEGV to SIGSTKFLT. Otherwise it looks like we're
seg-faulting in code that was actually executing just fine.

Ignore SIGSEGV before returning. This avoids creating a second dump
when dvmAbort() is called. (If the caller's stack trace were at all
interesting, we wouldn't be here, and we can do without the log spam.)

Added some more details to the logging.

For bug 2517042.

Change-Id: Ifff7fd75d6dbf7e3663152787f8921dda215fe40
d805a400bf2309b69792968b79b804735ba1d5fd 23-Mar-2010 Elliott Hughes <enh@google.com> Merge "Revert the removal of java.nio.NIOAccess, which frameworks/base/ uses." into dalvik-dev
4cdf53070a5dd21a4a35d812b393b28e7baa4c36 23-Mar-2010 Elliott Hughes <enh@google.com> Revert the removal of java.nio.NIOAccess, which frameworks/base/ uses.

This was removed in https://android-git.corp.google.com/g/45796, but turns
out to be used. I think we can do better in the long term, but right now
this just removes some of the duplication from the original, and adds
comments explaining where it's used.

Bug: 2535509
Change-Id: Ie8e717537b8b8c70c8689f2dbb2c3a38501ecc57
ce7d6da2ea95cb97d48b1151b630032fe761f371 23-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add the Java 6 java.text.spi and java.util.spi interfaces." into dalvik-dev
1d7d64a866f814f2163807a3aaa932ee50986e91 23-Mar-2010 Elliott Hughes <enh@google.com> Add the Java 6 java.text.spi and java.util.spi interfaces.

We don't currently use these, and don't necessarily plan to. Full support
would have a run-time cost, and it's not obvious that it would be particularly
useful.

Code search can't actually find any users of this stuff in the wild outside
of the various VM implementations and their test suites.

Bug: 2497395
Change-Id: Ie25aef73ece6d1fd169fdcb7b2f847761d77914d
61740b550a4163e5bc8b6fd7ae512b9bca6c9ed8 22-Mar-2010 Bill Buzbee <buzbee@google.com> am 64ee717b: Jit: Re-enable for Sapphire

Merge commit '64ee717be7cf4aad64371e73cfd180aa4d85dd07' into dalvik-dev

* commit '64ee717be7cf4aad64371e73cfd180aa4d85dd07':
Jit: Re-enable for Sapphire
bd59ca0dcd69597e4e05e4e5b601b74cd58b8e4f 22-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Re-enable for Sapphire

Change-Id: Icbfd8781756c2c7cde88140ed40766e29448b1ff
7053e8ae87dfaede6c7746259b6d301a19ecc740 22-Mar-2010 Elliott Hughes <enh@google.com> Remove all remaining "@since Android" tags.

I've fixed a few typos, and removed a few of the more egregiously nonsensical
or incorrect comments that were nearby.

Change-Id: I35851baebd532f949cc269f4738a26eeb9b6e697
07d7873e9389367992983e782f7f9ca6223dc159 22-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's java.util.Arrays changes.

I've kept our binary search implementation and just generalized the
interface.

I've gone out of my way to preserve exception priority. I know we don't
agree that it's necessary, but it is important if we want to be able to
run other people's tests. If someone wants to write a new high-quality
test suite (which would be a great thing to have), we should remove the
hacks. (I've commented them.) Otherwise, I've gone out of my way to keep
the near-duplicates forced on us by Java's primitive type system as
identical as possible.

This passes all harmony and jtreg tests.

Change-Id: I91fbf707dac76124c6dbe59b0b30b7ded9a69529
41af77121c06eaaff05595a33179079ed1747223 20-Mar-2010 Elliott Hughes <enh@google.com> Merge "Java 6 java.nio.Buffer changes." into dalvik-dev
0b4001d266db94c431ee19963d8f314314acf66b 20-Mar-2010 Elliott Hughes <enh@google.com> Java 6 java.nio.Buffer changes.

We no longer need the duplicated lower-quality documentation on
each subclass, and the NIOAccess class turns out to be unused.

Bug: 2497395
Change-Id: Ib7ce8f51aac2b78bf56fff4526af1c2c8818e277
1e53c76e4cbdf420f58796237bdd2bf602280d82 19-Mar-2010 Andy McFadden <fadden@android.com> am e9f1038c: Merge "Use pthread_kill(3) instead of kill(2)."

Merge commit 'e9f1038c3e71dba123532c62741257867d68e08b' into dalvik-dev

* commit 'e9f1038c3e71dba123532c62741257867d68e08b':
Use pthread_kill(3) instead of kill(2).
6c74a2907d0a41fd9739071346501ab7e992c72d 19-Mar-2010 Andy McFadden <fadden@android.com> Merge "Use pthread_kill(3) instead of kill(2)."
d34c10d1ade03b4f087ea9f76b73f58f7fc3fd82 19-Mar-2010 Dan Bornstein <danfuzz@android.com> Merge "Remove a superfluous declaration (left over from when DexClassLoader was duplicated from PathClassLoader)." into dalvik-dev
5cd689c239a369096e1811ff90c81cf4a145f71a 19-Mar-2010 Andy McFadden <fadden@android.com> Use pthread_kill(3) instead of kill(2).

Another swing at useful native traces. pthread_kill(3) uses tkill(2)
instead of kill(2), so we may have a better chance of the signal landing
on the right thread.

For bug 2517042.

Change-Id: I62871c1e21b11442ea52c861397674f1644f4da9
b71e011e58fc5383bb52c32be6627fc178fc4deb 19-Mar-2010 Elliott Hughes <enh@google.com> Track Java 6's BreakIterator API changes.

Bug: 2497395
Change-Id: Iaef75bbd946bebe6201b5f52564bcaf8a4d0e56e
47ede597585530f068a5310ec2f347934be5f1cd 19-Mar-2010 Elliott Hughes <enh@google.com> Clean up the Java side of the ICU interface a bit.

My original intention was just to add the missing "final" on a few classes,
but our BreakIterator implementation struck me as excessively bloated and
confusing.

Change-Id: I2d2dccafe8ec91124f3c83909c9ec647cc2d51e2
68967b0d933f5d698df5f006afc1922c14286037 19-Mar-2010 Dan Bornstein <danfuzz@android.com> Remove a superfluous declaration (left over from when DexClassLoader was
duplicated from PathClassLoader).

Change-Id: Iaf3e8a5b23df1a8bbf670bf6d6045fffef6c8fcb
4fce03d6854f22f9474d2b26a3c369626864a7b2 19-Mar-2010 Jesse Wilson <jessewilson@google.com> am 7713b900: Merge "Fixing namespace+prefix mode in Expat and removing optional fields from callbacks."

Merge commit '7713b900d12c7a46334db46b33fbe848167189dd' into dalvik-dev

* commit '7713b900d12c7a46334db46b33fbe848167189dd':
Fixing namespace+prefix mode in Expat and removing optional fields from callbacks.
b9dd86664d7a634ae2e96a870f1275c5867b702e 19-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing namespace+prefix mode in Expat and removing optional fields from callbacks."
938548c75adf27df5e6a71044d618fe5b6bde5b7 19-Mar-2010 Jesse Wilson <jessewilson@google.com> Fixing namespace+prefix mode in Expat and removing optional fields from callbacks.

The first part is related to bug 6632:
http://code.google.com/p/android/issues/detail?id=6632

I added these optional fields back when I was originally updating
the XML parser for Froyo. I've decided to remove them to simplify
migrating between Android and the RI. It should also save some
object allocations.

Note that the RI v5 and the RI v6 behave differently for optional
values on attributes; this motivated me to add the otherwise
unfortunate assertOneOf() method to the testcase. (We behave more
like RI v6, which is to supply the values upon request)

Change-Id: Icfa5d29976a86bf194b3ed7c0d9e2275c3bff9dd
f12597b4328ce83eb21b9add241ba667d27b92fb 17-Mar-2010 Barry Hayes <bhayes@google.com> Added flags to the vm:
-Xgc:[no]preverify
-Xgc:[no]postverify
to run verify routines over the heap pre- and post-gc.

Changed the Verify.h interface. It now publishes an entry point for
verifying a HeapBitmap, rather than the HeapBitmap callback.

Added a dvmHeapSuspendAndVerify to Heap.h for verification outside of
the GC.

Added callbacks before and after GC, under the locks, under flag control.
Processing of properties to produce flags is in a different project,
frameworks/base

Change-Id: I3f3896583fe9e7239bbe2f374d7ed4c5dd5d3e82
bc037e4c19773b6b7974e7f1d96da2545d802911 19-Mar-2010 Barry Hayes <bhayes@google.com> Merge "The "referent" field of java.lang.ref.Reference objects is NOT included in ifieldRefCount. See Class.c precacheReferenceOffsets for this amusing bit of VM trivia." into dalvik-dev
5f14fed1af7bf33f3d992e3635e7acde635cc30f 19-Mar-2010 Barry Hayes <bhayes@google.com> The "referent" field of java.lang.ref.Reference objects is NOT
included in ifieldRefCount.
See Class.c precacheReferenceOffsets for this amusing bit of VM trivia.

Added an explicit VERIFY_REFERENCE of the Reference.referent field for
subclasses of Reference.

Change-Id: Ibc8a059ffb353d60b681af1d3a5520c2443d3864
ad1f3aec5da9a98af193c04970b8dc0efb0b3079 19-Mar-2010 Bjorn Bringert <bringert@android.com> am e073b0e8: Move String creation outside O(n^2) path in LogManager

Merge commit 'e073b0e86ea089a08685202f78fe446cd03b3d49' into dalvik-dev

* commit 'e073b0e86ea089a08685202f78fe446cd03b3d49':
Move String creation outside O(n^2) path in LogManager
0006bbe4fbcfb499b7e5f8072015bd1b25aff64d 19-Mar-2010 Bjorn Bringert <bringert@android.com> Move String creation outside O(n^2) path in LogManager

This more than halves the number of Strings and StringBuilders created
when constructing a GoogleHttpClient and executing a single
HTTP request.

Bug http://b/issue?id=2529141

Change-Id: Ia8268fd692b08cf82e4abbffe1459e461e9f7e68
87146fa0272b25469383f16e8ba089b07176f468 19-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add's Java 6's DecimalFormat.setRoundingMode (et cetera)." into dalvik-dev
9b6b7734a5b36ded4847859aa9ad5ad0506d74f6 19-Mar-2010 Elliott Hughes <enh@google.com> Add's Java 6's DecimalFormat.setRoundingMode (et cetera).

Format and NumberFormat's bogusly-public constructors became protected with
Java 6. DecimalFormat gained more control over rounding behavior. There's a
slight mismatch with our ICU4C-based implementation in that ICU4C doesn't
support RoundingMode.UNNECESSARY, so I've had to fake that (but I doubt it's
used much, if at all).

I've pulled out the obviously Android-specific tests from the harmony
DecimalFormatTest.java, but I've only brought back the rounding mode changes
from the current harmony code to avoid the new tests' dependencies. I've also
added one new test of my own, to check that setMaximumFractionDigits affects
rounding as it should (since the harmony tests don't test this, and it's
somewhat subtle).

Bug: 2497395
Change-Id: Ifafc8bb051e078ead988073281f5c33f0aeb130a
fbe102486149145f78c10e4cc3e69873bc18dd0b 19-Mar-2010 Andy McFadden <fadden@android.com> am 94e57f7b: Merge "Increase sleep delays on debug thread kill."

Merge commit '94e57f7bb8e60210e379bfea29471db059a7edca' into dalvik-dev

* commit '94e57f7bb8e60210e379bfea29471db059a7edca':
Increase sleep delays on debug thread kill.
ced13eafc724194ab77232beaab280b19b83dd55 19-Mar-2010 Andy McFadden <fadden@android.com> Merge "Increase sleep delays on debug thread kill."
596666664c06f20fe62073858291f536e728e7ec 19-Mar-2010 Andy McFadden <fadden@android.com> Increase sleep delays on debug thread kill.

It appears the delays between the signals were insufficient for a busy
system. This increases the timeouts to larger values, which may or may
not be sufficient. What's really needed here is a way to monitor
debuggerd's activity, but that seems like a lot of work for what this
wants to accomplish.

Also, set gDvm.nativeDebuggerActive to true to prevent the heapworker
watchdog timeout from firing. (Either somebody is going to attach a
debugger soon, or the process is going to die, so it's reasonable to
do here.)

Change-Id: Ic92590499871860ef766147eeaa6efc7afb4acdc
a6086e2e372de399af3e385424f03d59c91fdd2f 18-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's Scanner.reset and fix RuleBasedCollator's javadoc." into dalvik-dev
531076e6974f0d8bedfcec6e6ad98883ffca30d9 18-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's Scanner.reset and fix RuleBasedCollator's javadoc.

(The harmony ScannerTest.java is quite different from ours, and doesn't test
this trivial method anyway.)

Bug: 2497395
Change-Id: I8b2b3db7233f766ef70bfdbfdcdfbd0f23e4bdb4
d8f78c2400925ec10eb2ee9452a13bf5972735c0 18-Mar-2010 Jesse Wilson <jessewilson@google.com> am 253eebd3: Drop needless parens from Javadoc.

Merge commit '253eebd34a7a4a30b20cbfd42dbfd7117af8a154' into dalvik-dev

* commit '253eebd34a7a4a30b20cbfd42dbfd7117af8a154':
Drop needless parens from Javadoc.
74cfbedda893deadf1d67a242cd08db5994ae798 18-Mar-2010 Jesse Wilson <jessewilson@google.com> am 1573a78e: Merge "Javadoc for JSONArray."

Merge commit '1573a78ed4898aaf4a38abf6ea0ab1254459282b' into dalvik-dev

* commit '1573a78ed4898aaf4a38abf6ea0ab1254459282b':
Javadoc for JSONArray.
bdd32c739379f45fb0905ead47a20167937f4716 18-Mar-2010 Jesse Wilson <jessewilson@google.com> Drop needless parens from Javadoc.

Although this violates my longstanding style preference, it agrees
with almighty JJB's official ArrayList, which is Good Enough For Me.

Change-Id: I7b608c12e04d0b7789bfcabeab4b7347ad22baca
40185b74dc2c3143a8c094007db16935a08b58f7 18-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Javadoc for JSONArray."
458f035737a4f38d9f00581b3e31ab8913315ca1 18-Mar-2010 Jesse Wilson <jessewilson@google.com> Javadoc for JSONArray.

Change-Id: I3aced2607b48210f76887e0d42b591c098ce5db7
a6fb1aa6a9cac0bc736d19280b473e30059313da 18-Mar-2010 Ben Cheng <bccheng@android.com> am 58ece73d: Bug fix for JIT peephole optimization.

Merge commit '58ece73d25c78a05b94c820c5ec65b8a2edca81f' into dalvik-dev

* commit '58ece73d25c78a05b94c820c5ec65b8a2edca81f':
Bug fix for JIT peephole optimization.
e4aef8ad3c7c1f20b48cc2be230b2e944dec1260 18-Mar-2010 Ben Cheng <bccheng@android.com> Bug fix for JIT peephole optimization.

Bug: 2520500
Change-Id: I36dbd8b3a6d13c40f9735df4918ab02b5f053b07
caf44f52b6b8f0bd02a8fcbc812b038e0ccabaad 18-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's Logger.GLOBAL_LOGGER_NAME field." into dalvik-dev
c20e4e41c3dff79e6bea89a5e7853fafce3a9799 18-Mar-2010 Jesse Wilson <jessewilson@google.com> am 31275264: Fixing 10 of the XPath failures caused by a malformed Document.

Merge commit '312752642a4539788952260fc517d286f6a6202e' into dalvik-dev

* commit '312752642a4539788952260fc517d286f6a6202e':
Fixing 10 of the XPath failures caused by a malformed Document.
b71ea777c8381534f5c8e1b9f02c563370427caa 18-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's Logger.GLOBAL_LOGGER_NAME field.

Also deprecated Logger.global.

Bug: 2497395
Change-Id: I28e5f83116277430c4eb0773b238670c0dd80847
50462b45508e1b08730d98e229c1803eff023dd4 17-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's new PipedReader/PipedInputStream constructors.

Also bring back the latest harmony java6 branch tests, and modify them to pass
with our deliberate [spec-compliant] exception changes.

Bug: 2497395
Change-Id: Ifb3f9bf48f8eec4120f9e59b03beb3969cfe0cd3
57b2aebdf71b181c5e3e6735f70dd3e46be12b7e 18-Mar-2010 Jesse Wilson <jessewilson@google.com> Fixing 10 of the XPath failures caused by a malformed Document.

See bug 2518858.

This makes our XPath implementation fail the exact same tests
as the RI's. (which we assume is also based on Apache Xalan)

Change-Id: I9a98323113c95609651e948ad11113f84ccd87ec
ecedb93bcf1a3edec5c6754a6152e2fdcb51dab2 17-Mar-2010 Jesse Wilson <jessewilson@google.com> Fixing an import of a JUnit class that isn't available in dalvik-dev.
33b1ec72f96b59565fdaefa8ed45c3d382a35938 17-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's ObjectStreamClass.lookupAny." into dalvik-dev
4014ad2fd15c99fae88480c682b66db33329709a 17-Mar-2010 Jesse Wilson <jessewilson@google.com> am f6976780: Merge "Exercising our XPath implementation with 279 of Jaxen\'s tests."

Merge commit 'f6976780647c6b9bb168cc7a9c5c8f4ce1425caf' into dalvik-dev

* commit 'f6976780647c6b9bb168cc7a9c5c8f4ce1425caf':
Exercising our XPath implementation with 279 of Jaxen's tests.
7623b2674f66c39bac4b3235865ef68b6d743d23 17-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Exercising our XPath implementation with 279 of Jaxen's tests."
2fbbdc4ee43346acf1a5265406cadab072505f01 17-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's ObjectStreamClass.lookupAny.

Also bring back the latest harmony java6 tests. We fail two of these tests,
but this is not a regression caused by this patch: our existing code fails
the same tests in the same way, so we already had the bugs and just didn't
know.

Bug: 2497395
Change-Id: I70412cdea747c30ea8d19a55d2ae5e73d3c59c1a
7be8f512236b88bd39ea0f556e8c700c26aa1e90 17-Mar-2010 Jesse Wilson <jessewilson@google.com> am 82ebe52a: Merge "Javadocs for JSONObject."

Merge commit '82ebe52a3e4ee91ccbef38d241b2b1fd9409a03e' into dalvik-dev

* commit '82ebe52a3e4ee91ccbef38d241b2b1fd9409a03e':
Javadocs for JSONObject.
30e283ce8b196eb77b9df2184be3f91880d595d5 17-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Javadocs for JSONObject."
8e8ece899475566c8c2a06eff11760019392bf5a 17-Mar-2010 Jesse Wilson <jessewilson@google.com> Javadocs for JSONObject.

Change-Id: I5ec9df6a3a9baac8f4f498890cd35feff774737a
452d88647938afb7f47b3aa2280062aa1a547a3c 17-Mar-2010 Brian Carlstrom <bdc@google.com> Merge "misc DalvikRunner changes" into dalvik-dev
40e7240287854933ea4f9f248c9e18fcd9a28a8f 17-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's PrintStream.clearError/PrintWriter.clearError methods." into dalvik-dev
1c1bd805f2b94d2595c4cde9166a7a8e430b145a 17-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's PrintStream.clearError/PrintWriter.clearError methods.

Also bring back the latest harmony java6 branch tests.

Bug: 2497395
Change-Id: I242e9a7d0446b46faaa5b28e0348806e999d8fdf
e007f87c7c111b6a598359c8176384f1fdf0401b 17-Mar-2010 Elliott Hughes <enh@google.com> Fix "run-core-tests.sh" to work again.

cshapiro was complaining about this the other week, and I needed it today.
We should fix the duplication, but Android's crippled shell makes that
awkward, and this is the simplest thing that lets us carry on working...

Change-Id: I4c1a764d6069ba55a021631acdc4d6a665df0089
423569552ab179f0929d663310cdaeed3f92ee35 17-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add Java 6's java.io.Console." into dalvik-dev
bef850db9c6e885cf470ede28bc5bdbee7a932af 17-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6's java.io.Console.

This is actually functional, if you're in the mood to "adb shell".

The implementation is based on harmony's, but with the initialization and
native code rewritten, with readPassword responsible for echoing a newline (so
we don't have to play silly tricks with the ECHONL flag), and a vastly
simplified ConsoleReader class. I've also rewritten the documentation.

Change-Id: I902b47fb27a8fdb2d6f067bb905ee02c6a10e454
77a9a95d97933a73fd8a8f90c558dbc38299bce5 17-Mar-2010 Jesse Wilson <jessewilson@google.com> Exercising our XPath implementation with 279 of Jaxen's tests.

Both our implementation and the RIv6 fail 29 tests, 17 of which are
"could not find function" failures regarding our common lack of
support for the evaluate(), document(), upper-case() and lower-case()
functions.

In addition, our implementation fails 10 additional tests:
xml/moreover.xml / /child::node() "expected:<1> but was:<3>"
xml/simple.xml / string() "expected:<abd> but was:<"
xml/web.xml / /child::node() "expected:<web-app> but was:<>"
xml/web.xml / child::node() "expected:<web-app> but was:<>"
xml/web.xml / name(/child::node()) "expected:<web-app> but was:<>"
xml/web.xml / name(/child::node()) "expected:<web-app> but was:<>"
xml/web.xml / name(/node()) "expected:<web-app> but was:<>"
xml/web.xml / name(child::node()) "expected:<web-app> but was:<>"
xml/web.xml / name(node()) "expected:<web-app> but was:<>"
xml/web.xml /* name(../child::node()) "expected:<web-app> but was:<>"

Change-Id: Icb4695bbf826fd8f1c1ffae5e857169ff551f75e
750a6cc293841c4f421cf23e4e585b2d1a680baf 12-Mar-2010 Brian Carlstrom <bdc@google.com> misc DalvikRunner changes

Summary:
- "vogar --debug-port <port>" now overrides --timeout-seconds to be zero
to prevent timeouts during interactive debugging
- "vogar --timeout-seconds 0" now disables timeout
as a side-effect of the previous change
- "vogar" no longer defaults to "javac -Xmaxerrs 1"
This is to make using vogar's output more useful when iteratively developing tests.
continuous build needs to use "vogar --javac-arg -Xmaxerrs --javac-arg 1"
- "vogar --ident ''" allows disabling of output formating
This prevents output parsing problems for Emacs *compilation* buffers

Change-Id: I599590c9c4fe3c57524af5c4d7f2be2e30ad4685
04f8565f87184492068f08899f8867ad672c8e13 17-Mar-2010 Ben Cheng <bccheng@android.com> am 9fa39c91: Add missing macro SIGNATURE_BREAKPOINT.

Merge commit '9fa39c91c885a05ce544d0899089212321413c13' into dalvik-dev

* commit '9fa39c91c885a05ce544d0899089212321413c13':
Add missing macro SIGNATURE_BREAKPOINT.
00b31188b9164ac8035b5a61c3c38df08f03a516 17-Mar-2010 Ben Cheng <bccheng@android.com> Add missing macro SIGNATURE_BREAKPOINT.

Change-Id: I9e450b7b2ff34a3609a99bf8fe11e3efa88ccc30
06becefcfbf80186b0c3dbff2fc7ee67846a78f5 17-Mar-2010 Ben Cheng <bccheng@android.com> am 79cea5c9: Merge "Implement signature-based breakpoint for the JIT compiler."

Merge commit '79cea5c97267e0b3e35e0c2b70e2662aa533f200' into dalvik-dev

* commit '79cea5c97267e0b3e35e0c2b70e2662aa533f200':
Implement signature-based breakpoint for the JIT compiler.
7699cc7390af4555545f29e4bcc38be2576f9af9 17-Mar-2010 Ben Cheng <bccheng@android.com> Merge "Implement signature-based breakpoint for the JIT compiler."
1a4bc3783dca5cf66d620577a040f3ef28134122 17-Mar-2010 Carl Shapiro <cshapiro@google.com> am 288de8e6: Merge "Replace a use of index with strchr."

Merge commit '288de8e67b5a2c2e6a19372a2b99f17ca17de2fa' into dalvik-dev

* commit '288de8e67b5a2c2e6a19372a2b99f17ca17de2fa':
Replace a use of index with strchr.
db0e4ac3e4ded15ceb8f1cdf67c818221f8a9147 17-Mar-2010 Carl Shapiro <cshapiro@google.com> Merge "Replace a use of index with strchr."
07b838377f30dbc6d5864d77b5fbc24dbd01a36c 17-Mar-2010 Ben Cheng <bccheng@android.com> Implement signature-based breakpoint for the JIT compiler.

The JIT compiler will replay itself with verbose printing if the compiled
instruction stream matches the customized signature from memory dump in the
bugreports.

Change-Id: I024082c5744903273b24a0a73468b9c0d3588ad5
ac20af10143ece6352b87c42a59f7608f66d1076 16-Mar-2010 Carl Shapiro <cshapiro@google.com> Import the heap verification code from the copying collector. The
reference verification routine adds an extra argument so the base
address of an object can be passed to the verification code without
provoking a warning from GCC about breaking alias analysis.

Change-Id: Idd921bcc0e084c18bff1e209a8591ef55f57843a
a73312cea01fb99cfd187ac7bd0ae4aa6067298c 16-Mar-2010 Carl Shapiro <cshapiro@google.com> Replace a use of index with strchr.

Change-Id: I2c1238bc1bd0945533712d0d74a761721b8408a3
82f55ea07369672c7fef44ab19dbdcf05de79899 16-Mar-2010 Brian Carlstrom <bdc@google.com> Merge "Add some certimport.sh documention" into dalvik-dev
18e7292d4c16436bc73ab48fa85ea17a95b685e0 16-Mar-2010 Brian Carlstrom <bdc@google.com> Add some certimport.sh documention

hku had some questions about the meaning of the filenames in
cacerts. ngm responded so I captured the knowledge in the
certimport.sh for future reference so we can continue to follow the
convention.

Change-Id: I79b4ed333e541f09d60143f785e5b10d3f5e60f4
56ca17c4eea2aaa633a77ea3168a335fd92fc1fa 16-Mar-2010 Bill Buzbee <buzbee@google.com> am 900a3afd: Jit: Fix register usage bug - Issue 2518825 native crash running ARMv5te JIT

Merge commit '900a3afd0e8e0d88426b21447d601ee67e17b642' into dalvik-dev

* commit '900a3afd0e8e0d88426b21447d601ee67e17b642':
Jit: Fix register usage bug - Issue 2518825 native crash running ARMv5te JIT
9f2067b0321ffc2f4fdde3a3c6b7a8a949d99ae8 16-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Fix register usage bug - Issue 2518825 native crash running ARMv5te JIT

Change I8ca61804 added a call to dvmCanPutArrayElement for APUT_OBJECT,
but did so in a way that violated register usage restrictions. This change
tells the register allocation system what registers we expect to remain
live across the call to dvmCanPutArrayElement.

Change-Id: Icd83b888ba60768a196070d62d07d12c7a3c73c6
82c7b495f324feb005e152422efb8fb0b0371350 16-Mar-2010 Carl Shapiro <cshapiro@google.com> am fcd1cbd4: Merge "Include strings.h directly for its ffs prototype."

Merge commit 'fcd1cbd456809d2a2c58644efb71e1f42810d3ab' into dalvik-dev

* commit 'fcd1cbd456809d2a2c58644efb71e1f42810d3ab':
Include strings.h directly for its ffs prototype.
223fd92adfc2fb86173e33a4d9bf3f61fb278811 16-Mar-2010 Carl Shapiro <cshapiro@google.com> Merge "Include strings.h directly for its ffs prototype."
3b83201e2046c799846d6513ebf85a46fe1b56d6 16-Mar-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Handle new VOLATILE Dalvik ops by not handling them." into dalvik-dev
71b9a9c5a83f0d2aa2275fb081deb4e35bae59bf 16-Mar-2010 Jesse Wilson <jessewilson@google.com> am 38b778b3: Fixing an @link issue that is upsetting DroidDoc.

Merge commit '38b778b364061dc87899e7fe0e3efd2502a538fd' into dalvik-dev

* commit '38b778b364061dc87899e7fe0e3efd2502a538fd':
Fixing an @link issue that is upsetting DroidDoc.
e777b30b958a2290faee5ecc7c1fdf3699b7ee43 16-Mar-2010 Jesse Wilson <jessewilson@google.com> Fixing an @link issue that is upsetting DroidDoc.

Change-Id: I9837cfd46684ac6d5b9ec4ac6809da3c3f61d57d
550ad4bc22c3233d567e1b55e9f5801c8237383b 16-Mar-2010 Brian Carlstrom <bdc@google.com> Merge "make DalvikRunner ignore .#Foo.java files" into dalvik-dev
b6d45c99a32d67fbec3134dbeff17b717c1817cb 16-Mar-2010 Brian Carlstrom <bdc@google.com> make DalvikRunner ignore .#Foo.java files

Emacs makes hidden bogus symlinks for open modified files such as
".#Foo.java -> user@host.pid:rand" which I'm guessing are to identify
the owning user/host/process. Unfortunately, DalvikRunner was picking
these up as source and trying to compile them.

This change makes NamingPatternCodeFinder ignore these. In order to
avoid duplicating this in all the subclasses, the subclasses now call
super.matches as a first pass. Now subclasses only apply any
additional filtering they want. MainFinder.matches was deleted since
it wasn't adding any new restrictions.

We arguably could add a better starting filter perhaps, but skipping
dot files seems a reasonable first stem.

Change-Id: Ic9f5ec0bb629d5e1bc25a5b80a6619a64285d2b0
2727aad24d8a2fffbfe708fc4d6e0635d939835b 16-Mar-2010 Jesse Wilson <jessewilson@google.com> am 6abe2582: Merge "First half of JSON Javadocs."

Merge commit '6abe2582f9dea9887b4cf6cdee200246b6e86117' into dalvik-dev

* commit '6abe2582f9dea9887b4cf6cdee200246b6e86117':
First half of JSON Javadocs.
ec3f3ece235d7b0eb72c5ab44be762df8c4d8a16 16-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "First half of JSON Javadocs."
0e181ee5c353e8ef3132968e5398b929400b7403 16-Mar-2010 Jesse Wilson <jessewilson@google.com> First half of JSON Javadocs.

Change-Id: I277ec3b35a28802dd7b7f82c1f4bbadbd3cc4c65
05eac341065418daa96f8491255bbf9d447a694d 16-Mar-2010 Elliott Hughes <enh@google.com> Merge "Remove dead fields, constants, and redundant pass-through methods." into dalvik-dev
c0a3c7812fe984350e8fa0e938da0b531d250305 16-Mar-2010 Andy McFadden <fadden@android.com> am f8a44e85: Merge "Point debuggerd at the interesting thread."

Merge commit 'f8a44e85b2beed31f0cb1688ac6bdc08bc37ece1' into dalvik-dev

* commit 'f8a44e85b2beed31f0cb1688ac6bdc08bc37ece1':
Point debuggerd at the interesting thread.
05c1cc60bd89ad82930e79444c5fef5bf883e9c7 16-Mar-2010 Andy McFadden <fadden@android.com> Merge "Point debuggerd at the interesting thread."
e01a1d3d1945b2c81ab7840811b481e9faf6aac1 14-Mar-2010 Carl Shapiro <cshapiro@google.com> Replace free calls to the pthread mutex lock, unlock, and trylock
functions with calls to the error checked wrapper functions. This
ensures that all mutex operations are checked in debug builds.

Change-Id: I4a5f181e025a2974f3325bcd9efa861eb6a92978
b4ee3f3036a7769dd887564a12c9a8aec738d999 16-Mar-2010 Carl Shapiro <cshapiro@google.com> Include strings.h directly for its ffs prototype.

Change-Id: If957427bd0918b3b06e6b6177227f107a4b5a5c5
913a1802084f678fbdd7ec7be1e0b4242be3ef58 16-Mar-2010 Jesse Wilson <jessewilson@google.com> am 27182541: Implementing Document.renameNode() and DOMImplementation.getFeature().

Merge commit '271825415aa961bdd9f28a551575bcee6f27b4ab' into dalvik-dev

* commit '271825415aa961bdd9f28a551575bcee6f27b4ab':
Implementing Document.renameNode() and DOMImplementation.getFeature().
5d017615851a432e4f1f59b48e67c36064f85b18 16-Mar-2010 Andy McFadden <fadden@android.com> Point debuggerd at the interesting thread.

There are a couple of situations (spin-on-suspend, HeapWorker wedged)
where the current thread's native stack is much less interesting than one
of the others. This change will cause a couple of signals to be thrown
at the "interesting" thread in an attempt to get more useful information
out of debuggerd in these cases.

For bug 2517042.

Change-Id: Ib8c0e0ef93f07b7114e5f4638a907a0f7802bdc0
9e1d74b2d37c105c47beb1b1ca9e083c35a50049 16-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Handle new VOLATILE Dalvik ops by not handling them.

See [Issue 1633591] Volatile long/double accesses should be atomic.
Because we believe this to be a rare case, the Jit will just punt
to the interpreter for these.

Change-Id: Idd05b5acae9aa5ffa60941cba8533534a89c0ff8
2e4fbab1ff765ee3b2d2870ee472a33dfd4f9e89 06-Mar-2010 Andy McFadden <fadden@android.com> Make wide-volatile loads and stores atomic.

This implements the four wide-volatile instructions added in a previous
change, and modifies the verifier to substitute the opcodes into the
instruction stream when appropriate.

For mterp, the ARM wide get/put instructions now have conditional code
that replaces ldrd/strd with a call to the quasiatomic functions. The
C version does essentially the same thing. ARMv4T lacks ldrd/stdrd, and
uses separate implementations for the wide field accesses, so those were
updated as well. x86 will just use stubs.

The JIT should punt these to the interpreter.

Change-Id: Ife88559ed1a698c3267d43c454896f6b12081c0f
Also:
- We don't seem to be using the negative widths in the instruction
table. Not sure they're useful anymore.
- Tabs -> spaces in x86-atom throw-verification-error impl.
7b2c191d74e83af10ab9d1391e7bfc8207591ed8 16-Mar-2010 Jesse Wilson <jessewilson@google.com> Implementing Document.renameNode() and DOMImplementation.getFeature().

The rename code required moving some behaviour from ElementImpl
and AttrImpl up to their common superclass, NodeImpl.

Change-Id: I30910de146f525a5ecc837895ce5808928b858a0
2964b8734d289489328992e3a2b274af1a101913 16-Mar-2010 Elliott Hughes <enh@google.com> Remove dead fields, constants, and redundant pass-through methods.

(This is just preliminary to what I really want to do, which is vastly
reduce the number of near-duplicate methods we have: all the send/recv
variants, for example.)

Change-Id: Ib03653820a18f55aea6c5b876c397afd281a98dc
47134a50f53ba6f635238a09e82d6fc9371edd49 16-Mar-2010 Carl Shapiro <cshapiro@google.com> Merge "Eliminate unused heap bitmap functions. This is mostly the "list" code which is no longer needed." into dalvik-dev
352f8cd5add60943121841e12a9cb6e66951b524 15-Mar-2010 Ben Cheng <bccheng@android.com> am 1639f705: Merge "Fix the JIT blocking mode to unblock itself."

Merge commit '1639f7054fd7056a089fabe57d02639973d7da10' into dalvik-dev

* commit '1639f7054fd7056a089fabe57d02639973d7da10':
Fix the JIT blocking mode to unblock itself.
a40a44b676d3cab758eda6c9e50ad5e6fdad9b19 15-Mar-2010 Ben Cheng <bccheng@android.com> Merge "Fix the JIT blocking mode to unblock itself."
dd4f5d75ec08cf6de03fd296689a66ea1453cd9f 15-Mar-2010 Ben Cheng <bccheng@android.com> Fix the JIT blocking mode to unblock itself.

Change-Id: Iaf1da9ee3ce337f2c5ad4985a6c776bc68472f8c
6256d33e03727e24ac72709ce50daff1a9e19166 15-Mar-2010 Andy McFadden <fadden@android.com> am a58fc616: Merge "Try to show lock owner in MONITOR thread dump."

Merge commit 'a58fc61670d91cad6eab32b665742a7ce956aebb' into dalvik-dev

* commit 'a58fc61670d91cad6eab32b665742a7ce956aebb':
Try to show lock owner in MONITOR thread dump.
7c7d3bb57d93b3a8efd67488b839d1416681337f 15-Mar-2010 Andy McFadden <fadden@android.com> Merge "Try to show lock owner in MONITOR thread dump."
e6887a22266d6a492f73b9f016d1af6c96bd037c 12-Mar-2010 Andy McFadden <fadden@android.com> Try to show lock owner in MONITOR thread dump.

A thread in the MONITOR state is blocked waiting on a monitor. This
raises two interesting questions: (1) what lock is it waiting on, and
(2) who holds that lock? The answer to (1) can be determined easily by
looking at the source code, but (2) is a bit harder.

This change extracts the target object from the instruction stream and
prints some information about it, e.g.:

- waiting to lock <0x40028c68> (a java.lang.Object) held by threadid=1 (main)

Also: fiddled with "must [not] be locked" on a recently-added function.

(cherry-picked from dalvik-dev)

Change-Id: Ic16695741760d50be70e70fb7470972cef28bb09
605090c2740ea5b4d2335c1838a95edcb2e7f78d 15-Mar-2010 Bill Buzbee <buzbee@google.com> am 62145b47: Merge "Jit: Minor cleanup - enum size fix, remove useless code, control consistency."

Merge commit '62145b47a29777d29ec0f8883f84f2336f5522df' into dalvik-dev

* commit '62145b47a29777d29ec0f8883f84f2336f5522df':
Jit: Minor cleanup - enum size fix, remove useless code, control consistency.
6c05730b2277aefd31c115e0eb7ad53a5f4ca311 15-Mar-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Minor cleanup - enum size fix, remove useless code, control consistency."
44a090252ee1b0ce885c2946fd21af61c373ff30 15-Mar-2010 Ben Cheng <bccheng@android.com> am bcdd4b09: Increase the SHORT_DELAY amount in the JSR166 test.

Merge commit 'bcdd4b09d018f24aaa61311f3e543636f7eb4095' into dalvik-dev

* commit 'bcdd4b09d018f24aaa61311f3e543636f7eb4095':
Increase the SHORT_DELAY amount in the JSR166 test.
f2a23506f2b2ce16afb0be8d255468a5915869f0 13-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Minor cleanup - enum size fix, remove useless code, control consistency.

Change-Id: Id8c16303efd25683ad4b04a85e0d2a059b5ec3be
425024389c380150beabb15a1e63b5747ecc2b5a 12-Mar-2010 Andy McFadden <fadden@android.com> Try to show lock owner in MONITOR thread dump.

A thread in the MONITOR state is blocked waiting on a monitor. This
raises two interesting questions: (1) what lock is it waiting on, and
(2) who holds that lock? The answer to (1) can be determined easily by
looking at the source code, but (2) is a bit harder.

This change extracts the target object from the instruction stream and
prints some information about it, e.g.:

- waiting to lock <0x40028c68> (a java.lang.Object) held by threadid=1 (main)

Change-Id: Iad18fc6f2df4142368bdf1063b8cc71de2d66156
Also: fiddled with "must [not] be locked" on a recently-added function.
6d4faa0341c3b616bd971ec5bdb8390eb78949cd 15-Mar-2010 Ben Cheng <bccheng@android.com> Increase the SHORT_DELAY amount in the JSR166 test.

Change-Id: I890621226c5ea412baee568f3e9b31833185849a
269c5015dfa03bb15da46ad6f2d49cd449252cb6 14-Mar-2010 Carl Shapiro <cshapiro@google.com> Merge "Factor out lock inflation into a common subroutine." into dalvik-dev
9b99dfcadc0440684285f0504be1bacf70c394dc 13-Mar-2010 Carl Shapiro <cshapiro@google.com> Factor out lock inflation into a common subroutine.

Change-Id: Iba789778dbaf34cf92f3ca2ebb96d57ec488c20f
a2b3ab240e5864687c1aaab1bb809b3d17232d7b 14-Mar-2010 Jesse Wilson <jessewilson@google.com> am fcfb5220: Adding an Apache-licensed implementation of org.json

Merge commit 'fcfb52201103bf732a6233ea45daaa65e253543b' into dalvik-dev

* commit 'fcfb52201103bf732a6233ea45daaa65e253543b':
Adding an Apache-licensed implementation of org.json
c7284199711091a2c8d2c98c71258610ecab2491 14-Mar-2010 Jesse Wilson <jessewilson@google.com> am f662e543: Removing the non-free org.json implementation

Merge commit 'f662e543f4bf86ccc6d4375f664268da4208b61f' into dalvik-dev

* commit 'f662e543f4bf86ccc6d4375f664268da4208b61f':
Removing the non-free org.json implementation
bc777efb819aac8e5911371585ff9568060d0506 14-Mar-2010 Jesse Wilson <jessewilson@google.com> am 37cfb2f4: Merge "A cleanroom implementation of the org.json API."

Merge commit '37cfb2f4bbd39b494172aad059fbe89a45d18a00' into dalvik-dev

* commit '37cfb2f4bbd39b494172aad059fbe89a45d18a00':
A cleanroom implementation of the org.json API.
9750a50be9ea65d5916657b4f36b1948c2efd251 14-Mar-2010 Ben Cheng <bccheng@android.com> am 95cd9ac6: Stay in the dbg interpreter if the entry reason is to deal with exceptions.

Merge commit '95cd9ac6c308008b6bd48e6e516c118fce0e6a1f' into dalvik-dev

* commit '95cd9ac6c308008b6bd48e6e516c118fce0e6a1f':
Stay in the dbg interpreter if the entry reason is to deal with exceptions.
17208411c33195461a84136d91fba7f065edc1ae 14-Mar-2010 Ben Cheng <bccheng@android.com> am 3ed90a94: Merge "Add a native method dalvik.system.VMDebug.infopoint(int id)."

Merge commit '3ed90a94fa2eea45a423471405df5df62b187b83' into dalvik-dev

* commit '3ed90a94fa2eea45a423471405df5df62b187b83':
Add a native method dalvik.system.VMDebug.infopoint(int id).
21c0b8bd79131ce7e00cd89a1c045689648d42f1 13-Mar-2010 Elliott Hughes <enh@google.com> Merge "Remove dead obfuscatory code." into dalvik-dev
9fa2ff51497956d4ef5d17da67284866ad92bd7a 13-Mar-2010 Jesse Wilson <jessewilson@google.com> Adding an Apache-licensed implementation of org.json

Change-Id: I1b67bac70bd25220a619e6ebe61f7f1c6f316faa
e71fb023d96e2be65e1ca832d39ce370b92fa278 13-Mar-2010 Jesse Wilson <jessewilson@google.com> Removing the non-free org.json implementation

Change-Id: Ife53082824f5916665f198d4b2fb863271841ce0
45385612da8252d507ae19061fe1f8b2fe697a40 13-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "A cleanroom implementation of the org.json API."
cd900a8f9445e7f08bcb271d09e5c1432717cfbe 12-Mar-2010 Jesse Wilson <jessewilson@google.com> A cleanroom implementation of the org.json API.

This implementation lacks documentation. I intend to write that after checking
it into the master branch. By not waiting we'll have more time to exercise the
code, if only in Google's own applications.

This passes all of my tests. I rewrote some of the tests to make Crockford's
implementation fail. The tests that fail on Crockford's implementation are:

JSONArrayTest
testEqualsAndHashCode equals() not consistent with hashCode()
testTokenerConstructorParseFail StackOverflowError
testStringConstructorParseFail StackOverflowError

JSONObjectTest
testOtherNumbers Object.put() accepted a NaN (via a custom Number class)
testMapConstructorWithBogusEntries JSONObject constructor doesn't validate its input!

JSONTokenerTest
testNextNWithAllRemaining off-by-one error?
testNext0 Returning an empty string should be valid
testNextCleanCommentsTrailingSingleSlash nextClean doesn't consume a trailing slash
assertNotClean The character line tabulation is not whitespace according to the JSON spec.
testNextToDoesntStopOnNull nextTo() shouldn't stop after \0 characters
testNextToConsumesNull nextTo shouldn't consume \0.
testSkipToStopsOnNull skipTo shouldn't stop when it sees '\0'

ParsingTest
testParsingLargeHexValues For input "0x80000000" Hex values are parsed as Strings if their signed value is greater than Integer.MAX_VALUE.
testSyntaxProblemUnterminatedArray Stack overflowed on input "["

Change-Id: I44c4a4a698a66bf043ed339d6bd804951e732cbf
bbf68720c37ba034ecad6d73583b629e531b6973 13-Mar-2010 Elliott Hughes <enh@google.com> Remove dead obfuscatory code.

Bug: 2509206
Change-Id: I72a34e1f80fd6936d255b94daf5683cc2a0f2327
d07243c4cc4dd317da4ec8c4c33f4684fac2c9b3 13-Mar-2010 Ben Cheng <bccheng@android.com> Stay in the dbg interpreter if the entry reason is to deal with exceptions.

Bug: 2487514
Change-Id: Id1eb91f347ff772714d9560370b9994f46d3c5cb
7392eeedd61c7274772b91fb6cd0142b0903f1a3 13-Mar-2010 Ben Cheng <bccheng@android.com> Merge "Add a native method dalvik.system.VMDebug.infopoint(int id)."
bd5d3b027dbb7872b5e8ad92d9a4d5a7a13dfca2 13-Mar-2010 Ben Cheng <bccheng@android.com> Add a native method dalvik.system.VMDebug.infopoint(int id).

With gdb, the JIT can use it to inspect the VM state when an instrumented line
is reached.

Change-Id: Id39ac4cd564bc1a61208cb7527c30f62b5de3e4e
fac5ee5c113147155c287e204739cf522290e4de 13-Mar-2010 Bill Buzbee <buzbee@google.com> am be6534f3: Jit: Fix for [Issue 2487514] Dropped exception

Merge commit 'be6534f384529e51dfba5c3f1b7eb90c86b66e77' into dalvik-dev

* commit 'be6534f384529e51dfba5c3f1b7eb90c86b66e77':
Jit: Fix for [Issue 2487514] Dropped exception
a88668459eb55fdc7f9bb1b660ffce3073b30199 13-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Fix for [Issue 2487514] Dropped exception

The jit was failing to call dvmCanPutArrayElement for aput-object.

Change-Id: I8ca618048dc4d1be5b1f1ed85078759041883b09
077b8718105e6672f5ba7dfa630f9f512d0c3bdd 13-Mar-2010 Elliott Hughes <enh@google.com> Merge "Java 6 java.io.File changes." into dalvik-dev
8d1c021ed6fecfb507f255be5cad2b03630e9eb6 12-Mar-2010 Elliott Hughes <enh@google.com> Java 6 java.io.File changes.

IOError and IOException are just copied from harmony. The native code
is all our own, and the File code is rewritten to match our earlier
changes. FileTest gains more tests for the new methods' behavior with
File("").

We still can't test most of this stuff directly because we run our tests
as root. Manual inspection looks good, though, and I've raised a bug
for switching our tests over to run as a non-root user.

I've removed all the Java 6 exceptions from expectations.txt because
we plan on fixing them all, and almost all of the ones mentioned there
are already addressed anyway.

Bug: 2497395
Change-Id: I517cd2d871bff64d63b2f4eb80fda4cfd6d19cd8
b9939a6637163b110443b72d75800e666bb16354 13-Mar-2010 Ben Cheng <bccheng@android.com> am 7cd9d693: Merge "Add a JIT unit test for ArrayStoreException in APUT_OBJECT."

Merge commit '7cd9d693146fe1d9a890b7f950c23e6b220cdde4' into dalvik-dev

* commit '7cd9d693146fe1d9a890b7f950c23e6b220cdde4':
Add a JIT unit test for ArrayStoreException in APUT_OBJECT.
6178b89fb7e07a395c161322079d607a6f90089e 13-Mar-2010 Ben Cheng <bccheng@android.com> Merge "Add a JIT unit test for ArrayStoreException in APUT_OBJECT."
84d8eda874252173c41dd0df60593e70cc72368b 12-Mar-2010 Ben Cheng <bccheng@android.com> Add a JIT unit test for ArrayStoreException in APUT_OBJECT.

Bug: 2487514

tests> ./run-test --fast 083-jit-regressions
/home/bccheng/local/master-git/dalvik/tests/083-jit-regressions: running...
/home/bccheng/local/master-git/dalvik/tests/083-jit-regressions: succeeded!

tests> ./run-test --jit 083-jit-regressions
/home/bccheng/local/master-git/dalvik/tests/083-jit-regressions: running...
/home/bccheng/local/master-git/dalvik/tests/083-jit-regressions: FAILED!

--- expected.txt 2010-03-12 13:45:13.000000000 -0800
+++ output.txt 2010-03-12 14:51:38.000000000 -0800
@@ -1,3 +1,3 @@
b2296099 passes
b2302318 passes
-b2487514 passes
+b2487514 fails: catchCount is 17 (expecting 1000)

Change-Id: I6651a3e0945f96bbb9e0c0af13f2c322b82d0cb0
ecdb26ef396e2091113b06117469e78e7aba345c 12-Mar-2010 Elliott Hughes <enh@google.com> Back out my droiddoc-breaking Object.getClass signature change.

I'll try again when I've got time to fix droiddoc (or we get an SET).
This is a non-functional Java 5/Java 6 difference, so it isn't important.

(Amusingly, there's no need to back out the corresponding api.xml
change: it looks like droiddoc normalizes one but not the other.)

Change-Id: I012ebeb199696d5bd16de63e657b15889d546c5e
be7d84d63f0dc30a93d4db6e9d44db6bd88f0c7a 12-Mar-2010 Elliott Hughes <enh@google.com> Merge "Use ioctl(FIONREAD) rather than recv(MSG_PEEK) to implement Socket.available." into dalvik-dev
eac0556faa4d3fcb5b7cef981740f56f812dbd93 12-Mar-2010 Jesse Wilson <jessewilson@google.com> am 92e01317: Adding support for DOM3 attribute IDs and SchemaTypeInfos.

Merge commit '92e01317d2428856cee52965745d17699a33be5a' into dalvik-dev

* commit '92e01317d2428856cee52965745d17699a33be5a':
Adding support for DOM3 attribute IDs and SchemaTypeInfos.
cd1a3c4090d3a0c20832f924c113a00ce5553846 12-Mar-2010 Carl Shapiro <cshapiro@google.com> Eliminate unused heap bitmap functions. This is mostly the "list"
code which is no longer needed.

Change-Id: I3636a4a6a36e55d2ad080571cdb6c23a16f98aaf
c4e14634347d448a244f9bcbc5424053d0aaf86d 12-Mar-2010 Elliott Hughes <enh@google.com> Use ioctl(FIONREAD) rather than recv(MSG_PEEK) to implement Socket.available.

As well as avoiding unnecessary work, this also means we can reuse the native
code we already have for ioctl(FIONREAD), though we need to change the
interface to take FileDescriptor rather than int, and extract the int on the
native side.

Change-Id: I4c6d9e4e72e514e3e7872c7f882bda5441059915
078fcb1e12172f21612e282f7aa66a27d36c1777 12-Mar-2010 Jesse Wilson <jessewilson@google.com> Adding support for DOM3 attribute IDs and SchemaTypeInfos.

Change-Id: I35e56ed989820df6b8fea36bbf81fe0314c76304
1f6369cdde77d3b86392cc477673433c6d0abeff 11-Mar-2010 Guang Zhu <guangzhu@google.com> include emma into core library on conditional flag

emma library is used for collecting code coverage. Current pain point is that
for collecting code coverage, developers either need to include emma as a
local static library, or change BOOTCLASSPATH to include emma which includes
hacking boot image and reflashing it.

With this change, emma will be integrated into core.jar if EMMA_INSTRUMENT flag
is on, so pushing the updated framework.jar and perform a runtime restart will
make emma globally available to all code coverage tests.

This change will only affect code coverage builds.

Change-Id: I097254835ef4817d068e8946ecbec60135e1f515
b0164f69fd6c6b76b72c28c0bf0b876028515c04 12-Mar-2010 Elliott Hughes <enh@google.com> Fix all instances of "new Integer" (et cetera).

(This doesn't include libcore/xml/ because I don't want to get in the way there.)

Change-Id: I46f638105d26e82d09128fca605117322229e146
rc/main/java/SQLite/JDBC2y/JDBCDatabaseMetaData.java
rc/main/java/SQLite/Stmt.java
50ea550b515035b7ca1242da9d7585ee72260534 12-Mar-2010 Elliott Hughes <enh@google.com> Merge "Plug a resource leak with "finally" and make Object.getClass' return type match Java 6." into dalvik-dev
ccfab1f751f2fe4ebcf2c0fff042ac8f3d01929a 11-Mar-2010 Elliott Hughes <enh@google.com> Plug a resource leak with "finally" and make Object.getClass' return type match Java 6.

Change-Id: Ia8ae90634bfb3680c8e82e4e4cf7f7459263c3d3
b47a391b79ad5396244dc8224a86abcdd1f3b7f2 12-Mar-2010 Jesse Wilson <jessewilson@google.com> am 6f9b4d2b: Merge "Implementing getBaseUri() for DOM."

Merge commit '6f9b4d2bdccb2ea5e548b908e5cc882d262d0940' into dalvik-dev

* commit '6f9b4d2bdccb2ea5e548b908e5cc882d262d0940':
Implementing getBaseUri() for DOM.
823f55a9989fc8904adffeb1a91c018f66d5f3ab 12-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Implementing getBaseUri() for DOM."
121068ecc6ba65ef7160778fbe0615564c85163c 11-Mar-2010 Jesse Wilson <jessewilson@google.com> Implementing getBaseUri() for DOM.

The tests for this uncover problems with the RI's implementation.
It does bizarre things with hashes, trashing the absolute URI and
returning a page-relative one (like "#foo").

Change-Id: Ib8af163a7b359e3f72a9c94eb3dd7e81e3a9a95c
d731dc1b41da4258901a431640d03a4c03f7a212 11-Mar-2010 Bill Buzbee <buzbee@google.com> am 4527387d: Jit: Make debugging mode aware of inlineExecute/moveResult optimization

Merge commit '4527387dd3b5c4dce7300c764805ffd0f3d22649' into dalvik-dev

* commit '4527387dd3b5c4dce7300c764805ffd0f3d22649':
Jit: Make debugging mode aware of inlineExecute/moveResult optimization
eb7d5e1ed350ba277a7eb1c46cd5b10978dc261c 11-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Make debugging mode aware of inlineExecute/moveResult optimization

The Jit has a mode in which selected opcodes can be handled normally
or single-stepped in the interpter. This was broken for cases in
which the Jit applied an optimization to fold inlineExecute/moveResult
intruction pairs into a single operation and the debug mode was set
to handle the two opcodes differently.

Change-Id: Ifa436d4ba66ba0c13ea366c0956e6cf92ce9cdfd
145aed572f01c65be2839723b6c86e3bfd8d5d9c 11-Mar-2010 Elliott Hughes <enh@google.com> Throw UnknownFormatConversionException instead of AssertionError.

There's already a perfectly good exception to throw when we see
a format conversion we don't understand, and my assertion prevented
us from getting to the code that would have thrown it.

Change-Id: I38fdd95482a3d48e26b68b045444f45e94ffc26f
616dabf44554dd9796fbaea1c7e0b2ac662bc156 11-Mar-2010 Elliott Hughes <enh@google.com> Merge "Don't silently ignore arguments just because we don't take any." into dalvik-dev
b866cf45fae5445f066f2d289f08ee0a045a2d6c 11-Mar-2010 Colin Cross <ccross@android.com> am dad7a0ef: Merge "Add armv7-a-neon build target"

Merge commit 'dad7a0ef6e5f056f0842f03ff3b8285ef29e6f01' into dalvik-dev

* commit 'dad7a0ef6e5f056f0842f03ff3b8285ef29e6f01':
Add armv7-a-neon build target
81fbbd666fbf01162033a5001fd8cc8cc4aa907e 11-Mar-2010 Colin Cross <ccross@android.com> Merge "Add armv7-a-neon build target"
02b54c59e2902cd248403f594a0c121906a8f9b3 11-Mar-2010 Elliott Hughes <enh@google.com> Don't silently ignore arguments just because we don't take any.

Change-Id: Ie1d97b1b8a8a87cc8298a6de417104db324e9b47
77e3e60e20837f97e047375fc2cd889e81d0326f 11-Mar-2010 Elliott Hughes <enh@google.com> Merge "Tidy up java.lang.Math and java.lang.StrictMath." into dalvik-dev
37afcea7befb935c8b3167a1b3afdad43c89697f 11-Mar-2010 Andy McFadden <fadden@android.com> Merge "Minor fixes." into dalvik-dev
acd9beefe8eb17ef45fa02f64e56ab524ad028ac 11-Mar-2010 Elliott Hughes <enh@google.com> Tidy up java.lang.Math and java.lang.StrictMath.

Removes duplication, fixes typos, and removes some unnecessary object creation.
Note that otherwise-duplicated code that calls a native method needs to remain
duplicated, because the native methods have different implementations. Other
than that, it's not clear to me that the remaining textual differences (mainly
scalb and its implementation details) are meaningful, but it's not clear that
they're not, so I'm leaving them for now. We can always come back later.

This new code still passes all the junit and jtreg tests.

Change-Id: Ica28a01fd1469a162e05deccdb9e6f919246d9f3
3ee39ffe468359a9896f6c4d37ef82d0aa5b4f9f 11-Mar-2010 Xavier Ducrohet <xav@android.com> am f854a794: Merge "remove System.*.println when ddm dispatch fails."

Merge commit 'f854a79457ca12a18acb76070c98e622e6c660c5' into dalvik-dev

* commit 'f854a79457ca12a18acb76070c98e622e6c660c5':
remove System.*.println when ddm dispatch fails.
2bc133fc46c07d1aa517bb8836648d594b88ef93 11-Mar-2010 Xavier Ducrohet <xav@android.com> Merge "remove System.*.println when ddm dispatch fails."
ad03bbbcb080a97592cdb9c1fae0197f45fd3968 11-Mar-2010 Elliott Hughes <enh@google.com> Copy harmony's jdk6 Math and StrictMath.

There's some ugliness here I want to remove, but it'll be less confusing if
I commit the upstream code first without my changes...

...that said, I've reverted the upstream Math.pow change because it it's just
cruft; we already pass their tests and jtreg's more thorough pow tests (see
http://blogs.sun.com/darcy/entry/finding_a_bug_in_fdlibm). My guess is that
their real problem was that they were using the buggy fdlibm 5.2 until after
they made the Math.pow change. We've always used 5.3, so we were fine.

Change-Id: I5a6c080d9fd6b60dc7bf77ac10096a913766f512
60ef21773cbf082f075216d26d76d734529b133a 11-Mar-2010 Andy McFadden <fadden@android.com> Minor fixes.

Quieted a couple of warnings about constness.

Added "synchronized" to BootClassLoader.getInstance(), which creates the
instance on first use.

Change-Id: I4a521bb2c6853b1ad8a118aa53f697be18b69280
b8c6e966f63323a31d9d5dc52eaba2d6b90970ff 10-Mar-2010 Elliott Hughes <enh@google.com> Escape ASCII NUL before trying to put it in XML, because XML can't cope.

Our sholes continuous build is having XML trouble with a FormatterTest
failure that outputs ASCII NUL. Ideally, our junit test runner would escape
all non-printable ASCII as \u escapes, but this seems like a minimal change,
and it's one we already have in the equivalent jtreg code.

Change-Id: Ib9b3219c25515fb358c204d45cb5064293a85b9f
bab10769f35681b5542c355d6a45cce9b9f43f00 10-Mar-2010 Xavier Ducrohet <xav@android.com> remove System.*.println when ddm dispatch fails.

Those messages are sometimes displayed to the user executing
the am command and can be really confusing (they are totally
benign)

Change-Id: I09c194a02ddc956ec52f19faa03ca9aa1eba604b
04432290e520f4f7c70f5ce08e9e09b479584460 10-Mar-2010 Andy McFadden <fadden@android.com> am 504af654: Merge "Rearrange the way SignalCatcher writes logs."

Merge commit '504af654f481ba978bbd2e216b3f05f9dfa55c00' into dalvik-dev

* commit '504af654f481ba978bbd2e216b3f05f9dfa55c00':
Rearrange the way SignalCatcher writes logs.
f15167d73c309f312381bc1d57632c4468ca7d39 10-Mar-2010 Andy McFadden <fadden@android.com> Merge "Rearrange the way SignalCatcher writes logs."
9c8a1ab9dde9c35913a6bb8b9d2beb932187d92a 10-Mar-2010 Andy McFadden <fadden@android.com> Rearrange the way SignalCatcher writes logs.

This is an attempt to reduce the amount of time that threads are suspended
while dumping stack traces in response to a SIGQUIT. This is primarily
for ANRs and bugreport generation, where many different apps may be trying
to write their stacks out concurrently.

Instead of grabbing the file with flock() and then printing the traces
to the file, we render the traces to memory and write them with a single
write() call to an O_APPEND fd. Also, the file access now occurs after
the VM threads have been resumed to avoid stalling on I/O.

No change was made to the format of the output.

For bug 2504471.

Also: did some rearranging in the file.

Change-Id: If505ec014237289a6cc86aa09bc66b3a126b345c
55983455cd150cc0042f6384c33cce4710b17d2f 10-Mar-2010 Elliott Hughes <enh@google.com> Merge "Fix Issue 7036: java.math.BigInteger ctor accepts invalid input." into dalvik-dev
eb72137874624df3c53c342b7b32796886a0cd8f 10-Mar-2010 Elliott Hughes <enh@google.com> Fix Issue 7036: java.math.BigInteger ctor accepts invalid input.

OpenSSL's BN library accepts pretty much all input, so if we want to follow
Java's rules, we have to implement them ourselves.

(The FormatterTest change is unrelated and fixes outstanding build breakage
caused by me.)

Bug: http://code.google.com/p/android/issues/detail?id=7036
Change-Id: I0f5413b56fad9289644927672bebf7c3d57e8042
21bb60b2238a968f6f4c72cd02857f0a9669fffc 10-Mar-2010 Ben Cheng <bccheng@android.com> am 72621c9d: Pad the page containing ARM code in the JIT code cache to work around a CPU bug.

Merge commit '72621c9d3c175b0f9b239de5b0bcd83c7e5984e8' into dalvik-dev

* commit '72621c9d3c175b0f9b239de5b0bcd83c7e5984e8':
Pad the page containing ARM code in the JIT code cache to work around a CPU bug.
a4301d4e0f335bdcc935eddc426b12445ef9a648 10-Mar-2010 Ben Cheng <bccheng@android.com> Pad the page containing ARM code in the JIT code cache to work around a CPU bug.

Bug: 2501147

Verified with seeing the following line in the log. The 4096 number confirms
that the ARM handler code is using a full page.

D/dalvikvm( 369): 21 compilations using 4096 + 1288 bytes

Change-Id: I89e1473ce9a4353f58f740e1c86d358d3fec33b2
0b672a85493bbf590e85a39f32ec1ed8e0873676 10-Mar-2010 Elliott Hughes <enh@google.com> Add Java 6 additions to Double, Enum, Float, and String.

I rewrote the documentation for Double, Enum, and Float, but the "code" is the
same as harmony's. I rewrote the String code and wrote some tests to ensure
that a malicious Charset can't subvert String immutability.

I've also extracted the Android-specific bits of StringTest (which weren't
testing String at all) and brought back the latest harmony StringTest.java.

(The Class and Package changes are just to placate our API comparison tools.)

Bug: 2497395
Change-Id: Id57bda806891c3c85adfcb3b85eea8a8fad2c7b4
39a14a5d882d886ece09e1f6e62ef8571ee9c488 10-Mar-2010 Jesse Wilson <jessewilson@google.com> am 33a939f4: Merge "New tests for JSONObject and for JSON\'s self-use."

Merge commit '33a939f4c016698866b495c5e752e8c16ccef0b3' into dalvik-dev

* commit '33a939f4c016698866b495c5e752e8c16ccef0b3':
New tests for JSONObject and for JSON's self-use.
a31d0c070abfcf551bfcf90e2ea04d916c256535 10-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "New tests for JSONObject and for JSON's self-use."
78a374b5b15bdb6c22f63e4a75dca7636b12b6a6 10-Mar-2010 Jesse Wilson <jessewilson@google.com> New tests for JSONObject and for JSON's self-use.

Alongside development of these tests, I'm working on a new
cleanroom implementation. The self use test was written to
prevent me from self-using in a way that the original
implementation does not.

Change-Id: Ie617aca1978bd39d85b05e5c2c7bd657ed159dd6
6a32ae9ec971a5b4be260766eb7cecaa4e1911ab 10-Mar-2010 Andy McFadden <fadden@android.com> am 77fbf5c2: Merge "If a finalizer wedges, raise prio and retry."

Merge commit '77fbf5c29a9dd62f64e8e98376724b86e79ae8f6' into dalvik-dev

* commit '77fbf5c29a9dd62f64e8e98376724b86e79ae8f6':
If a finalizer wedges, raise prio and retry.
6f096c60aaef969c2779778c76677b0564d5b997 10-Mar-2010 Andy McFadden <fadden@android.com> Merge "If a finalizer wedges, raise prio and retry."
33cb98cbd8d606f03c0972373601777b64686912 10-Mar-2010 Elliott Hughes <enh@google.com> am 40bd3d28: Merge "Work around droiddoc bug http://b/2022288."

Merge commit '40bd3d28fb2f34f060e7413cc19eeeb195c0ff90' into dalvik-dev

* commit '40bd3d28fb2f34f060e7413cc19eeeb195c0ff90':
Work around droiddoc bug http://b/2022288.
bf022078000da3d351c14aac91a74506c44a9363 10-Mar-2010 Elliott Hughes <enh@google.com> Merge "Work around droiddoc bug http://b/2022288."
3d79ace3a3ef57e82dc4647d70b71104c5a0ca36 10-Mar-2010 Elliott Hughes <enh@google.com> Work around droiddoc bug http://b/2022288.

Change-Id: Ib46a260916dee99f190aa8b9465f4f2d3b04aa67
8c67bc3f47e63b63efb5ea5d7b26a0d561e7dd35 10-Mar-2010 Ben Cheng <bccheng@android.com> am f9135f32: Merge "Align fake data in the same page offsets as those in the bugreport."

Merge commit 'f9135f326ac0556f1d6e8f9bcf161e4a6d618678' into dalvik-dev

* commit 'f9135f326ac0556f1d6e8f9bcf161e4a6d618678':
Align fake data in the same page offsets as those in the bugreport.
f6e304dad36b2f0205b8002ba2cc40e79cb68267 10-Mar-2010 Ben Cheng <bccheng@android.com> Merge "Align fake data in the same page offsets as those in the bugreport."
3c3ed296530e855bf183f0d5fa2f366db979ced8 10-Mar-2010 Ben Cheng <bccheng@android.com> Align fake data in the same page offsets as those in the bugreport.

Sometimes the crash in the JIT'ed code is due to CPU bugs which are sensitive
to placement of the code.

Change-Id: I017ec3620f8172e2fac9e7abfa07f76b65db2306
30d1e17126ec738c8c92179c9eb9a3109ef0ada4 10-Mar-2010 Elliott Hughes <enh@google.com> am 16e0f24a: Another go at making droiddoc as happy as javadoc...

Merge commit '16e0f24a8641d1cdf059ae15a5bf60a3e553ce1b' into dalvik-dev

* commit '16e0f24a8641d1cdf059ae15a5bf60a3e553ce1b':
Another go at making droiddoc as happy as javadoc...
419f8cdf446f99152b84618203ca7d9cd875e9b7 10-Mar-2010 Elliott Hughes <enh@google.com> Another go at making droiddoc as happy as javadoc...

Change-Id: I70dd8d57053a6e60b9be0cbe8a95d9937d9b00ef
32f1f8b0817c9ed57b03ef80105ce26be4824ee0 10-Mar-2010 Elliott Hughes <enh@google.com> am 1f6a0425: Fix javadoc errors.

Merge commit '1f6a0425433b4daca86cf4df5854b9dbc5ee57d7' into dalvik-dev

* commit '1f6a0425433b4daca86cf4df5854b9dbc5ee57d7':
Fix javadoc errors.
6a4afee87ff45eae0c5bd4f888151a0b19cbe07f 10-Mar-2010 Elliott Hughes <enh@google.com> Fix javadoc errors.

Change-Id: Ib3eb500006f5b4b1dadf959397fce7737fb53fe7
a7ae5e4355d00dd5b21c0a71527f39b2f54b87e7 10-Mar-2010 Jesse Wilson <jessewilson@google.com> am f5274f62: Merge "Print errors encountered while writing XML reports"

Merge commit 'f5274f62b9badf47965aed8382787273f1516859' into dalvik-dev

* commit 'f5274f62b9badf47965aed8382787273f1516859':
Print errors encountered while writing XML reports
29d6af25588c7455e38ffbcdb6151bfc701e88fd 10-Mar-2010 Jesse Wilson <jessewilson@google.com> am 5c6839b2: Merge "Implement adoptNode() and importNode()."

Merge commit '5c6839b24356ec7e5aa93a8272472c26abd3df30' into dalvik-dev

* commit '5c6839b24356ec7e5aa93a8272472c26abd3df30':
Implement adoptNode() and importNode().
56d80b6430d3a88e4852b842b0f624812f4e0709 10-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Print errors encountered while writing XML reports"
47feca6b6c8778d7e360e7b1146e2b4cda3f6939 10-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Implement adoptNode() and importNode()."
2f67177130a45200c14c692ba7215c1174a74398 10-Mar-2010 Jesse Wilson <jessewilson@google.com> Implement adoptNode() and importNode().

importNode() shares all of its implementation with Node.clone();
the only areas they differ are the ones we don't support. The
shared code is in 2 new methods, shallowCopy() and cloneOrImportNode(),
both based on the old clone() method.

Also removing some unnecessary "throws DOMException" clauses.

The tests for the new methods are slightly cumbersome. Most move/copy
nodes to another document, serialize that, and compare.

Change-Id: Id9fb076e020d8327a8f70da401af9bd95d7a3d1b
9211e74640e900bf81dccabb483faa9dd417ae49 10-Mar-2010 Jesse Wilson <jessewilson@google.com> Print errors encountered while writing XML reports

Change-Id: I7fdf9f6989c94a3f0fd3ff93db3426a4d080120f
1552e05a5d2fc1ec893d3ef0c6899dc8cfddf509 10-Mar-2010 Andy McFadden <fadden@android.com> If a finalizer wedges, raise prio and retry.

The VM uses a watchdog mechanism to detect stuck finalizers. It appears
that, in some cases, the watchdog may be firing because the HeapWorker
thread in a background process doesn't get any CPU time after a
remotely-induced GC finishes. With this change, if the HeapWorker is
running at a reduced priority, we raise the priority and allow it to
try some more.

No attempt is made to put the thread priority back. (The HeapWorker
thread doesn't do anything in an idle process, and what it does do is
geared toward freeing one kind of resource or another.)

For bug 2492196.

Change-Id: Ic734c2e2819b9d60d20b2961f2a75085d5879495
e57f9265e5c306864798e75c9a3dc73ee4401b44 09-Mar-2010 Elliott Hughes <enh@google.com> am a6d228d4: Merge "Minor documentation improvements."

Merge commit 'a6d228d44153ea2ee831eba1d41cd363989cdf7e' into dalvik-dev

* commit 'a6d228d44153ea2ee831eba1d41cd363989cdf7e':
Minor documentation improvements.
ab79046eb3eeb4a90be52923eaab1773b25033ed 09-Mar-2010 Elliott Hughes <enh@google.com> Merge "Minor documentation improvements."
e2a4810fc15f94492463758940df6f19a10a93f5 09-Mar-2010 Elliott Hughes <enh@google.com> Minor documentation improvements.

Based on user-submitted bugs that were just misunderstandings, plus
implementation bugs caused by the intended behavior being somewhat
subtle.

Change-Id: Ic2606b5e57dadc95a35c2d0a977c01434a2fa28a
299e4ad52f49de95569b20489482a116a8022f9d 09-Mar-2010 Brian Carlstrom <bdc@google.com> am a536d01c: Merge "Fix certimport.sh to check for Bouncy Castle provider installation (and add 1.6 JDK to PATH)"

Merge commit 'a536d01c1c0119322d655a9ec35665a36abbed6d' into dalvik-dev

* commit 'a536d01c1c0119322d655a9ec35665a36abbed6d':
Fix certimport.sh to check for Bouncy Castle provider installation (and add 1.6 JDK to PATH)
316804345ed61099f0546759d7661b8a8f6f2807 09-Mar-2010 Brian Carlstrom <bdc@google.com> Merge "Fix certimport.sh to check for Bouncy Castle provider installation (and add 1.6 JDK to PATH)"
c6e4b2750b12ac3c811946d752b27b6904df7d8d 09-Mar-2010 Brian Carlstrom <bdc@google.com> Fix certimport.sh to check for Bouncy Castle provider installation (and add 1.6 JDK to PATH)

Now if certimport.sh is run on a machine without the
BouncyCastleProvider installed, it will suggest how to apt-get install
the proper package.

At enh's suggestion, I tried running with out own local Bouncy Castle
classes to see what would happen, but the code ended up depending on
our NativeCrypto JNI code and there that isn't proper JNI code to be
loading into a RI JDK.

Also at enh's suggestion, we now prepend a JDK 1.6 bin directory to
the path for correctly correct default behavior. I do make sure it
exists and warn if it does not.

Change-Id: Ic936a6cc69fa3795e917c052ed79d19b2e66b5a1
d24dd150788fbc2c3140195322e61d79df9561d8 09-Mar-2010 Colin Cross <ccross@android.com> Add armv7-a-neon build target

Change-Id: I981d55b53f6b3c185fe93384924bdbe18057132c
9b13c09df2c65ed015bd8b241342dca34a23914d 09-Mar-2010 Carl Shapiro <cshapiro@google.com> am 699c9eb5: Merge "Hoist shape discrimination above thin lock owner test in the lock procedure. It is unsafe to reckon a thin lock owner without having first determined that the bit pattern of the lock word corresponds to that of a thin lock. Without proper orderin

Merge commit '699c9eb5630d4016a984f5b501a7171848e8daa9' into dalvik-dev

* commit '699c9eb5630d4016a984f5b501a7171848e8daa9':
Hoist shape discrimination above thin lock owner test in the lock
56f600bf5134547baaf3b03d7ecfb6595d63b593 09-Mar-2010 Carl Shapiro <cshapiro@google.com> Merge "Hoist shape discrimination above thin lock owner test in the lock procedure. It is unsafe to reckon a thin lock owner without having first determined that the bit pattern of the lock word corresponds to that of a thin lock. Without proper ordering, a monitor lock can and will be created which, excluding the shape bit, corresponds to a lock owned by the calling thread."
cb706b37776e4dfa9fd8507242427154967f7a7d 02-Mar-2010 Barry Hayes <bhayes@google.com> Change Class layout to allocate an array of StaticField objects
immediately after the ClassObject, rather than use calloc.

This has the rather surprising and pleasing effect of increasing
charing about 150K per zygote-launced application, as measured at
start-up, after waiting and no-touching.

Change-Id: I6a6c9079f946eb99111326ed45f13ecfe544e4bb
d93681654810c541c386e87419fb1ad5b47c9e5d 09-Mar-2010 Barry Hayes <bhayes@google.com> Merge "Previous changes put unlinkedJavaLangClass on the heap. It makes HprofReader unhappy, because it has a NULL class. So now we won't dump objects with a NULL class. This also suppresses dumping of uninitialized objects." into dalvik-dev
8fb65c98739232535d6551b47b243118cf71437c 09-Mar-2010 Elliott Hughes <enh@google.com> Fix a comment.

Change-Id: Iba79dbc04876d5c7cb93aba56541e7dda3c6f887
b9b1d46d3287a086862615958508271b5cdf7531 09-Mar-2010 Elliott Hughes <enh@google.com> Merge "Remove libcore-disabled." into dalvik-dev
93530cde37633c3b4d147337c0c036045dce764e 09-Mar-2010 Jean-Baptiste Queru <jbq@google.com> am 3521d8c2: Add an empty CleanSpec.mk

Merge commit '3521d8c26899611b385c685fa903ae2c8f3e0d92' into dalvik-dev

* commit '3521d8c26899611b385c685fa903ae2c8f3e0d92':
Add an empty CleanSpec.mk
760c7cf8f2e0e4c05733871565d858d68de31431 09-Mar-2010 Jean-Baptiste Queru <jbq@google.com> Add an empty CleanSpec.mk

Change-Id: I43d2404e71aa2bc0d3d6aada35d613bb484129e7
62e8737743b618b2ce53029541a8b1aad719e45b 09-Mar-2010 Elliott Hughes <enh@google.com> Fix build (missing #include in sim build).

Change-Id: I8691db582f2d2d926da308a813d9f1864bedcd6d
2c3d6d003d37577be759af3877ee6b43236290e8 09-Mar-2010 Elliott Hughes <enh@google.com> Remove libcore-disabled.

It's in revision control if we ever need it, and we won't.

Change-Id: I1f6f15b83047c266400ea5d7ab2f8fc51bf9e2b7
b013dcc5b60cb084c29b9662f87a8d870f177d52 09-Mar-2010 Elliott Hughes <enh@google.com> Merge "Implement the Java 6 NetworkInterface/InterfaceAddress functionality." into dalvik-dev
2b8f38729812b5ad422f5b5faeecb4c413999183 05-Mar-2010 Elliott Hughes <enh@google.com> Implement the Java 6 NetworkInterface/InterfaceAddress functionality.

The Java bits are based on harmony's code (though only the bit that pulls
out the sub-interfaces is copied verbatim), but the native side is new
code, continuing our previous plan of (a) doing the least possible work
on the native side and (b) using the BSD getifaddrs(3) interface as our
portability layer.

This patch also updates our NetworkInterfaceTest to be the latest code
from harmony's java6 branch.

We pass all the harmony and jtreg tests, and visual inspection shows that
the untested (and hard to test) bits -- such as prefix length and hardware
address -- are correct.
bbec542fecd5af85fba92313682bbb71aae5eb72 09-Mar-2010 Jesse Wilson <jessewilson@google.com> am 631bbbff: Merge "Adding support for getUserData() and setUserData() to DOM nodes."

Merge commit '631bbbff684e9fe41a5a08ffa3e13fa3bed01212' into dalvik-dev

* commit '631bbbff684e9fe41a5a08ffa3e13fa3bed01212':
Adding support for getUserData() and setUserData() to DOM nodes.
7f70d3555332978fbfe4fec67b60e12537d4b147 09-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding support for getUserData() and setUserData() to DOM nodes."
b81c0096995a8742de03f39f3a19c20ae515793d 09-Mar-2010 Jesse Wilson <jessewilson@google.com> Adding support for getUserData() and setUserData() to DOM nodes.

Also making sure both Document and DocumentType get assigned
a Document value when possible; this is necessary to store the
user data objects.
3251f789adc67af8d89337662cd29fd366ce928b 08-Mar-2010 Carl Shapiro <cshapiro@google.com> Hoist shape discrimination above thin lock owner test in the lock
procedure. It is unsafe to reckon a thin lock owner without having
first determined that the bit pattern of the lock word corresponds to
that of a thin lock. Without proper ordering, a monitor lock can and
will be created which, excluding the shape bit, corresponds to a lock
owned by the calling thread.

In addition, move compiler barriers so they immediately preceed base
address publication. Also, kill cargo-cult volatiles that confounded
my bug hunt.
354a15f20b83e93b9c53f7b66d71e31d7d013deb 08-Mar-2010 Barry Hayes <bhayes@google.com> Previous changes put unlinkedJavaLangClass on the heap. It makes
HprofReader unhappy, because it has a NULL class. So now we won't
dump objects with a NULL class. This also suppresses dumping of
uninitialized objects.

Change-Id: Ie6713d4e665ab6e518f13338367ee874903e2862
985be665bb6229e17f55faa2674220bbbbe4e445 08-Mar-2010 Elliott Hughes <enh@google.com> Merge "Support IPv4-compatible IPv6 addresses on IPv4 sockets." into dalvik-dev
0476b16bdb03a1761cbf02f07466e4b37ec94697 08-Mar-2010 Bill Buzbee <buzbee@google.com> am 2fc03c33: Jit: fix for 2483131 - VM daemon thread shutdown with JIT enabled

Merge commit '2fc03c3399cc33dc1c7d669e8970a87144ec7b97' into dalvik-dev

* commit '2fc03c3399cc33dc1c7d669e8970a87144ec7b97':
Jit: fix for 2483131 - VM daemon thread shutdown with JIT enabled
d93fe4df650c0713ae11564294b9531e9524a85b 08-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: fix for 2483131 - VM daemon thread shutdown with JIT enabled

As part of shutdown, the Jit needs to unchain all translations so that
they can respond to suspend requests. This change introduces a
dvmJitUnchainAll() into shutdown, and also removes some previous
housecleaning that freed our key tables. We can't actually free those
because suspended threads in the process of shutting down may hold
references.

Change-Id: I7aad332e7195a94970c25a25b2d9fda5607bec08
14951bb7b5950bfcdd853376a4058922a46608d1 06-Mar-2010 Elliott Hughes <enh@google.com> Support IPv4-compatible IPv6 addresses on IPv4 sockets.

Bug: 2194581
Change-Id: I825835280e9d7d88a4db3fa817dfb4234fc19039
9f61b316f2cdf4a55965288934dfdd14df4e176c 08-Mar-2010 Bill Buzbee <buzbee@google.com> am fc519dc8: Jit: Make most Jit compile failures non-fatal; just abort offending translation

Merge commit 'fc519dc8f4444f6d93806ec15ce7445b322070fd' into dalvik-dev

* commit 'fc519dc8f4444f6d93806ec15ce7445b322070fd':
Jit: Make most Jit compile failures non-fatal; just abort offending translation
6cee0225c3e7124651d64aec01feb40e2692ab7b 07-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Make most Jit compile failures non-fatal; just abort offending translation

Issue 2175597 Jit compile failures should abort translation, but not the VM

Added new dvmCompileAbort() to replace uses of dvmAbort() when something goes
wrong during the compliation of a trace. In that case, we'll abort the translation
and set it's head to the interpret-only "translation".
e95641455e30336b77889a9f720598e92374569d 06-Mar-2010 Carl Shapiro <cshapiro@google.com> am 164d1279: Merge "Jit: Fix for issue 2487769, Simplify in-line thin lock release"

Merge commit '164d1279b67ec13061e473cb453b1ff24189e0e0' into dalvik-dev

* commit '164d1279b67ec13061e473cb453b1ff24189e0e0':
Jit: Fix for issue 2487769, Simplify in-line thin lock release
f8e93de449f9c480195e15694bff0a722eae39bc 06-Mar-2010 Carl Shapiro <cshapiro@google.com> Merge "Jit: Fix for issue 2487769, Simplify in-line thin lock release"
a50487126499f4d4d40f4148ad5d67fb4cce920a 06-Mar-2010 Elliott Hughes <enh@google.com> Use a manually-synchronized HashMap instead of ConcurrentHashMap in LocaleData.

ConcurrentHashMap is our slowest choice at the moment:

ConcurrentHashMapGet 782 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
HashMapGet 272 XXXXXXXXXX|||||||||||||||
HashMapGet_Synchronized 317 XXXXXXXXXXXX|||||||||||||
HashtableGet 325 XXXXXXXXXXXX||||||||||||||
LinkedHashMapGet 280 XXXXXXXXXX|||||||||||||||

The cost of some commonly-created temporary objects (such as
DateFormatSymbols) is dominated by the lookup of the locale data. This patch
takes "new DateFormatSymbols" from 3us to 2.3us on passion/froyo (a 23% drop).

Bug: 2492505
5e477a283b8635a6779e7722489f96f504ce6660 06-Mar-2010 Ben Cheng <bccheng@android.com> am f8069e84: Merge "Collect more JIT stats in the assert build."

Merge commit 'f8069e844054d29f320a9ece29fc638a884bbf69' into dalvik-dev

* commit 'f8069e844054d29f320a9ece29fc638a884bbf69':
Collect more JIT stats in the assert build.
9ef3396a498f613f78625a457c289e212788d342 06-Mar-2010 Ben Cheng <bccheng@android.com> Merge "Collect more JIT stats in the assert build."
6934955a6281fcda46b24d8d254b0806e42a2233 06-Mar-2010 Ben Cheng <bccheng@android.com> Collect more JIT stats in the assert build.

New stuff includes breakdown of callsite types (ie monomorphic vs polymorphic
vs monoporphic resolved to native), total time spent in JIT'ing, and average
JIT time per compilation.

Example output:
D/dalvikvm( 840): 4042 compilations using 1976 + 329108 bytes
D/dalvikvm( 840): Compiler arena uses 10 blocks (8100 bytes each)
D/dalvikvm( 840): Compiler work queue length is 0/36
D/dalvikvm( 840): size if 8192, entries used is 4137
D/dalvikvm( 840): JIT: 4137 traces, 8192 slots, 1099 chains, 40 thresh, Non-blocking
D/dalvikvm( 840): JIT: Lookups: 1128780 hits, 168564 misses; 179520 normal, 6 punt
D/dalvikvm( 840): JIT: noChainExit: 528464 IC miss, 194708 interp callsite, 0 switch overflow
D/dalvikvm( 840): JIT: Invoke: 507 mono, 988 poly, 72 native, 1038 return
D/dalvikvm( 840): JIT: Total compilation time: 2342 ms
D/dalvikvm( 840): JIT: Avg unit compilation time: 579 us
D/dalvikvm( 840): JIT: 3357 Translation chains, 97 interp stubs
D/dalvikvm( 840): dalvik.vm.jit.op = 0-2,4-5,7-8,a-c,e-16,19-1a,1c-23,26,28-29,2b-2f,31-3d,44-4b,4d-51,60,62-63,68-69,70-72,76-78,7b,81-82,84,87,89,8d-93,95-98,a1,a3,a6,a8-a9,b0-b3,b5-b6,bb-bf,c6-c8,d0,d2-d6,d8,da-e2,ee-f0,f2-fb,
D/dalvikvm( 840): Code size stats: 50666/105126 (compiled/total Dalvik), 329108 (native)
d8f499ac1590bd466b31b737800b5826b9aea978 06-Mar-2010 Costin Manolache <costin@google.com> am 1a29c735: Merge "Fix server side SSLEngine ServerKeyExchange signature."

Merge commit '1a29c735752f4082c8e32347f4a6b10c4fdeb1f5' into dalvik-dev

* commit '1a29c735752f4082c8e32347f4a6b10c4fdeb1f5':
Fix server side SSLEngine ServerKeyExchange signature.
159048f5aca2bb87d653c787f3a2a51f8d246bb8 05-Mar-2010 Costin Manolache <costin@google.com> Merge "Fix server side SSLEngine ServerKeyExchange signature."
91694d24d778c55578908f98daa900ad17cc2af9 05-Mar-2010 Andy McFadden <fadden@android.com> Merge "Add instructions for volatile wide fields." into dalvik-dev
0fa335b0c7fe6e9274fc3f520e3292262f52153a 05-Mar-2010 Andy McFadden <fadden@android.com> Add instructions for volatile wide fields.

This adds four new instructions for accessing volatile wide fields (long
and double). The JLS requires that such accesses are atomic, but the
VM doesn't otherwise make guarantees about the atomicity of reads and
writes on 64-bit fields.

There are no behavioral changes. This just adds definitions for the new
instructions and a couple of tests. The current implementation is just
the non-volatile form of the instructions or a C stub, but since we're
not generating them it doesn't really matter yet.

Also:
- bumped Dalvik version to 1.3.0
- added a note to the x86-atom TODO list

For bug 1633591.
187b830f67a05c69f54b2a08eee021f6a3665847 05-Mar-2010 Barry Hayes <bhayes@google.com> Merge "Fix a broken assert and some broken comments about unlinkedJavaLangClass." into dalvik-dev
4a69328c42331aebd00d25f0429340af06fb742c 05-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Fix for issue 2487769, Simplify in-line thin lock release

The Jit was using ldrex/strex to clear an owned thin lock in the
fast path. This was not necessary - an integer store works and is
much faster.
6b611a5c724a81528e95adb1bb7eec247111fbff 05-Mar-2010 Jesse Wilson <jessewilson@google.com> am 101cbfe4: Merge "Implementing the Java 7 APIs for DeflaterOutputStreams."

Merge commit '101cbfe486ad1744f666e924f600dd1b8cdecea7' into dalvik-dev

* commit '101cbfe486ad1744f666e924f600dd1b8cdecea7':
Implementing the Java 7 APIs for DeflaterOutputStreams.
b35560801971344c440553e9504ed7f9d000abdc 05-Mar-2010 Barry Hayes <bhayes@google.com> Fix a broken assert and some broken comments about unlinkedJavaLangClass.
6df01d1f5b11d43106ee3aba153a85691cc09fc6 05-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Implementing the Java 7 APIs for DeflaterOutputStreams."
dd85cda9970768cfbafbda8b201c01f8f9e3dc72 05-Mar-2010 Jesse Wilson <jessewilson@google.com> Implementing the Java 7 APIs for DeflaterOutputStreams.

See bug 1729487.
ecd62ee60bbb5f7919b74eb2671a9fefab035e21 02-Mar-2010 Costin Manolache <costin@google.com> Fix server side SSLEngine ServerKeyExchange signature.

Code using SSLEngine for non-blocking SSL can't talk with openssl as a client,
since the signature is computed on different content (and openssl checks it,
unlike java). The fix is to use strip the 0x00 prefix when signing - like
it is done when generating the message, refactored both to use a common
method. We also include the length in the signature, it was also missing.
da0c86fa40ac943d396b4048db68fe5eae403897 04-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Add messages to the ArrayStoreExceptions thrown by arraycopy()." into dalvik-dev
8f92542f020771542882757af4f4cba0929bce54 04-Mar-2010 Elliott Hughes <enh@google.com> am c9b3aeb6: Prevent java.text.Normalizer from getting a default constructor.

Merge commit 'c9b3aeb659ac420bdc3d3c550423ab1fec5fde4c' into dalvik-dev

* commit 'c9b3aeb659ac420bdc3d3c550423ab1fec5fde4c':
Prevent java.text.Normalizer from getting a default constructor.
682b2575ad4ca116a95aeb8781b0d0e767af185e 04-Mar-2010 Elliott Hughes <enh@google.com> Prevent java.text.Normalizer from getting a default constructor.

The dalvik continuous build's new jdiff run caught this.
9d2fc0d9fc02dde3461cc2f224281b2748d226c8 04-Mar-2010 Elliott Hughes <enh@google.com> am 042cc582: Merge "Don\'t call a method that can be overridden from File\'s constructors."

Merge commit '042cc58283c6a16db56fd758481388eee0f78619' into dalvik-dev

* commit '042cc58283c6a16db56fd758481388eee0f78619':
Don't call a method that can be overridden from File's constructors.
7a790aa49b6ad84ac188545fd6679f222dc84094 04-Mar-2010 Elliott Hughes <enh@google.com> Merge "Don't call a method that can be overridden from File's constructors."
25f4b227ac062c93b38e6a15f278e676b8627f2b 04-Mar-2010 Andy McFadden <fadden@android.com> am 21cb2bea: Merge "Update local copy of getSchedulerGroup."

Merge commit '21cb2bead6020dfcb7c594638dddd36528b4ef41' into dalvik-dev

* commit '21cb2bead6020dfcb7c594638dddd36528b4ef41':
Update local copy of getSchedulerGroup.
7c9c4fde7e1e1ec7d754679664e6c9360743bdfb 04-Mar-2010 Andy McFadden <fadden@android.com> Merge "Update local copy of getSchedulerGroup."
8035e434dd35a095ba6fa9d125c72121147279d6 04-Mar-2010 Elliott Hughes <enh@google.com> Don't call a method that can be overridden from File's constructors.

Bug: 2486943
889ffb11c33aeecf2369d12a6143fbc7284d0b0a 03-Mar-2010 Jesse Wilson <jessewilson@google.com> Add messages to the ArrayStoreExceptions thrown by arraycopy().

See bug 2396302.
e7c74cac4e7bf0aeaa6eda75efa9dfdd0fa905be 04-Mar-2010 Andy McFadden <fadden@android.com> Update local copy of getSchedulerGroup.

The getSchedulerGroup() in libcutils was updated, but for some reason we
have our own copy in the VM. This change brings it up to date so we
stop crashing every time something requests a virtual stack (e.g. with a
"kill -3 <pid>").

(The function is now an exact clone -- the previous version was slightly
modified.)
2fd17f022c8ff49bda47bd2929f012cd3c9f66ed 04-Mar-2010 Bill Buzbee <buzbee@google.com> am 85a3fa26: Merge "Jit: Sapphire tuning - mostly scheduling."

Merge commit '85a3fa260497657c62de2186841b243e177330eb' into dalvik-dev

* commit '85a3fa260497657c62de2186841b243e177330eb':
Jit: Sapphire tuning - mostly scheduling.
40b81022367ebf7b5f4de36e1cefdf4d450b7398 04-Mar-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Sapphire tuning - mostly scheduling."
289a5d4bde723314bbd103dcc6ac5a44b9db9b2d 03-Mar-2010 Bill Buzbee <buzbee@google.com> Jit: Sapphire tuning - mostly scheduling.

Re-enabled load/store motion that had inadvertently been turned off for
non-armv7 targets. Tagged memory references with the kind of memory
they touch (Dalvik frame, literal pool, heap) to enable more aggressive
load hoisting. Eliminated some largely duplicate code in the target
specific files. Reworked temp register allocation code to allocate next
temp round-robin (to improve scheduling opportunities).

Overall, nice gain for Sapphire. Shows 5% to 15% on some benchmarks, and
measurable improvements for Passion.
406200c9e2954550b376e7f64165d6ded7280e9c 03-Mar-2010 Elliott Hughes <enh@google.com> am b99b5cd0: am b16b78db: am 275acdff: Copy Froyo\'s version of MulticastSocketTest to Eclair for CTS.

Merge commit 'b99b5cd0be8ab0d9791768c21ffd0d637b564df8' into dalvik-dev

* commit 'b99b5cd0be8ab0d9791768c21ffd0d637b564df8':
Copy Froyo's version of MulticastSocketTest to Eclair for CTS.
f15b32d0b60aec66061fc46202bf72220d77b277 03-Mar-2010 Elliott Hughes <enh@google.com> am b16b78db: am 275acdff: Copy Froyo\'s version of MulticastSocketTest to Eclair for CTS.

Merge commit 'b16b78db118036d7df2cf5705baa18f34bd42eec'

* commit 'b16b78db118036d7df2cf5705baa18f34bd42eec':
Copy Froyo's version of MulticastSocketTest to Eclair for CTS.
679ae446662bddafe6cc435d6f9f9349e001e0f0 03-Mar-2010 Elliott Hughes <enh@google.com> am 275acdff: Copy Froyo\'s version of MulticastSocketTest to Eclair for CTS.

Merge commit '275acdff64a58f407cec552e7027cb07414b48ef' into eclair-plus-aosp

* commit '275acdff64a58f407cec552e7027cb07414b48ef':
Copy Froyo's version of MulticastSocketTest to Eclair for CTS.
769d8888d6ebe33f623a69ebafd6b0101948beae 03-Mar-2010 Elliott Hughes <enh@google.com> Improve error checking and error reporting in java.util.Formatter.

This causes three new harmony failures, in tests specifically designed to
probe exception priorities (despite the fact that the RI explicitly doesn't
define exception priorities).

Comically, this same change actually fixes 24 jtreg tests that were failing
because of differences in exception priorities between harmony and the RI.

What I care about is that the new code is way easier to understand, shouldn't
waste as much space in our puny instruction caches, should be a more tempting
JIT target, and lets the actual formatting code assume that it's only ever
called in a valid way.

Bug: 2477140
0e64704c30ab2247602f3c2bedddcef50399605d 03-Mar-2010 Elliott Hughes <enh@google.com> Copy Froyo's version of MulticastSocketTest to Eclair for CTS.

Partners are seeing test failures from the old tests, which were very bogus.
5d71652e533f3f7a71277f9f491c782063529477 03-Mar-2010 Elliott Hughes <enh@google.com> Merge "Add (but @hide) String.isEmpty and Locale.ROOT." into dalvik-dev
4566c594c5262d398dbb0a83bf4295b88b1f3984 03-Mar-2010 Elliott Hughes <enh@google.com> Add (but @hide) String.isEmpty and Locale.ROOT.
65834cb8f6d1772ae1268bccbdbeef5aa5c1d50a 03-Mar-2010 Andy McFadden <fadden@android.com> am d682adfa: Merge "Switch thread\'s cgroup during spin-on-suspend."

Merge commit 'd682adface0ef5679e0f272ad7f50deb713b6a5b' into dalvik-dev

* commit 'd682adface0ef5679e0f272ad7f50deb713b6a5b':
Switch thread's cgroup during spin-on-suspend.
bd36b049ac4d59cf64ad28fb965747a58d946f3b 03-Mar-2010 Andy McFadden <fadden@android.com> Merge "Switch thread's cgroup during spin-on-suspend."
5ce9626d91cb5b4ff4c3314d21969ed63e3c22b8 03-Mar-2010 Carl Shapiro <cshapiro@google.com> am fb8eb6b1: Merge "Print the self thread id and the owning thread id in the description of the IllegalMonitorExcpetion throw by unlockMonitor."

Merge commit 'fb8eb6b1534c142ccc91844e6507a3f67d16a457' into dalvik-dev

* commit 'fb8eb6b1534c142ccc91844e6507a3f67d16a457':
Print the self thread id and the owning thread id in the description
929de6f7f70850080a2bebc849877b4a7cd0d63b 03-Mar-2010 Elliott Hughes <enh@google.com> am 59c1f5cb: Use assertEquals rather than assertTrue/assertFalse.

Merge commit '59c1f5cb8bea87144b473170adb0b0dae7267937' into dalvik-dev

* commit '59c1f5cb8bea87144b473170adb0b0dae7267937':
Use assertEquals rather than assertTrue/assertFalse.
15aa8e70a9aa8b27c5ee08986fc4840046a13a49 03-Mar-2010 Carl Shapiro <cshapiro@google.com> Merge "Print the self thread id and the owning thread id in the description of the IllegalMonitorExcpetion throw by unlockMonitor."
07b0740415dbc5421ac9cf1ae1bc93586f8f5de2 03-Mar-2010 Elliott Hughes <enh@google.com> Use assertEquals rather than assertTrue/assertFalse.
ac836726a7622c31fe4f3efed771f83fb0f48b6b 02-Mar-2010 Andy McFadden <fadden@android.com> Switch thread's cgroup during spin-on-suspend.

Dalvik uses a safe-point suspend mechanism, in which threads are asked
to suspend and do so at their earliest convenience. The thread doing
the asking will sleep-spin until all threads have complied. If a thread
keeps on running, we get a "spin on suspend" situation.

The VM tries to correct matters by raising the priority of the spinning
thread if it's below normal. Until now it was just fiddling with the
"nice" value, but it appears that isn't enough (e.g. bug 2467653). We
now also change the thread's process group from "background" to
"foreground" in an attempt to get it some CPU.

Also includes some changes as part of the Log Reduction Act:

- Don't log the thread stacks on the first spin-on-suspend iteration.
The act of logging can itself be quite a drag.
- Removed the redundant and unnecessary "dumping state" line, as well
as some dead glibc-only code.
- While waiting for daemon threads to shut down, only show the "not
ready yet" message on the first iteration.
304fa2e58c40ffb0f898b3ad4c83af40a41f6b77 02-Mar-2010 Elliott Hughes <enh@google.com> am 971b5067: Add our home-grown Normalizer tests.

Merge commit '971b50675ea0c140abb326ffb75fe79442eb6eec' into dalvik-dev

* commit '971b50675ea0c140abb326ffb75fe79442eb6eec':
Add our home-grown Normalizer tests.
91f96a8774e4c24932e433115e91fc58c896c25d 02-Mar-2010 Brian Carlstrom <bdc@google.com> vogar should chdir to android_root

I often run vogar from various working directories but several
internal paths assume that it is run from the android_root.
ce7074ec13aa6a3b802583e1a16aab2e81042f76 02-Mar-2010 Elliott Hughes <enh@google.com> Add our home-grown Normalizer tests.

Originally https://android-git.corp.google.com/g/42517.
cbc1e41e7295b7431477b95e236d8cfb3eff08f0 24-Feb-2010 Barry Hayes <bhayes@google.com> Added assert to dvmInterpHandleFillArrayData.
Arrays of objects should never make it to there.
131de543cf27df8acce71bcf276108f9b636ee65 01-Mar-2010 Barry Hayes <bhayes@google.com> Move allocation of the uninitialized class object on to the object heap.
9f3dc7718e7c39bf5b473a2d633c8f38e78f51a9 02-Mar-2010 Elliott Hughes <enh@google.com> am 10ebc7d0: Merge "Implement (but @hide) java.text.Normalizer from Java 6."

Merge commit '10ebc7d0b84dcb98e1a7eeac96ef06acdfc8d184' into dalvik-dev

* commit '10ebc7d0b84dcb98e1a7eeac96ef06acdfc8d184':
Implement (but @hide) java.text.Normalizer from Java 6.
71ccfefe211c4fff7691c9c937ff312a16da32cb 02-Mar-2010 Elliott Hughes <enh@google.com> Merge "Implement (but @hide) java.text.Normalizer from Java 6."
382fed2c49b828246b03aaa919f3b7d104e866d6 02-Mar-2010 Jesse Wilson <jessewilson@google.com> am acf4a11b: Merge "Implementing almost all of Document.normalizeDocument()."

Merge commit 'acf4a11bf201ccdf4a4d2b429d33757556cdc0ed' into dalvik-dev

* commit 'acf4a11bf201ccdf4a4d2b429d33757556cdc0ed':
Implementing almost all of Document.normalizeDocument().
e514500615084bec36a1042a98ccf645484f8cd0 02-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "Implementing almost all of Document.normalizeDocument()."
211e8605bc1861e6a4684d31585b63793ffd41e7 02-Mar-2010 Jesse Wilson <jessewilson@google.com> Implementing almost all of Document.normalizeDocument().

This follows the rules specified by DOMConfiguration. In particular:
- replacing CDATA nodes with text
- splitting CDATA nodes
- merging text nodes
- stripping comments
- detecting invalid characters

I haven't added the normalization code for XML validation or namespaces.
7fa83e3a8960a89a1a0c74bee10bcc5ec078c827 02-Mar-2010 Elliott Hughes <enh@google.com> Implement (but @hide) java.text.Normalizer from Java 6.

Based on https://android-git.corp.google.com/g/42516.

Includes the harmony tests from their Java 6 branch.

Bug: 719001
1a17350923f751a36ad35591b304639f54da5e84 02-Mar-2010 David 'Digit' Turner <digit@google.com> am 98376a27: Merge "Allow unpriviledged gdbserver to attach to debuggable processes."

Merge commit '98376a27029e3ce4de36e5dc2379600be33ee4ae' into dalvik-dev

* commit '98376a27029e3ce4de36e5dc2379600be33ee4ae':
Allow unpriviledged gdbserver to attach to debuggable processes.
1f4bd15ae108b20c702e03fe24ae21ee8b13d905 02-Mar-2010 David 'Digit' Turner <digit@google.com> Merge "Allow unpriviledged gdbserver to attach to debuggable processes."
12deaa0ce5b659cf523d9be1e83033a4bacf0ad1 23-Feb-2010 David 'Digit' Turner <digit@google.com> Allow unpriviledged gdbserver to attach to debuggable processes.

This patch is used to allow an unprivileged gdbserver binary to
perform a ptrace attach to a debuggable process.

The kernel will only allow the attach to succeed under the following
conditions:

- gdbserver and the process are run under the exact same uids/gids
- the process is dumpable

The second condition requires this patch. The first one is ensured
by different changes to the platform (that don't directly touch Dalvik).

This is part of the work performed to allow native debugging of
applications on production devices.
22ddb906a77f95e1c51f5a3f732291834452387d 01-Mar-2010 Andy McFadden <fadden@android.com> am def26c1a: Merge "Added a simple check for stray tracked refs."

Merge commit 'def26c1aff8c80079ebfa766773f5405d054d901' into dalvik-dev

* commit 'def26c1aff8c80079ebfa766773f5405d054d901':
Added a simple check for stray tracked refs.
517fe76b446ca49970f6dde4f1fcf60f498f6308 01-Mar-2010 Andy McFadden <fadden@android.com> Merge "Added a simple check for stray tracked refs."
9fa9ba471ceabe28086d81b2d6f93e8e71b4c994 01-Mar-2010 Andy McFadden <fadden@android.com> am 448cc386: Merge "Added an x86-atom "TODO" list."

Merge commit '448cc386f87564ce251407f7907b7855d317edb7' into dalvik-dev

* commit '448cc386f87564ce251407f7907b7855d317edb7':
Added an x86-atom "TODO" list.
afab152151f94fe7f87e155561a4596ca8a20a6a 01-Mar-2010 Andy McFadden <fadden@android.com> Merge "Added an x86-atom "TODO" list."
2dae3197644c2111c17e85864f56ec58c51b4c9a 01-Mar-2010 Andy McFadden <fadden@android.com> Added an x86-atom "TODO" list.

Besides the obvious things (unimplemented opcodes), this points out a
couple of changes that were made to the interpreter and require a
corresponding change for x86-atom.
dbc5b9d33658beb35fcf1b3389d34e00d43058e2 01-Mar-2010 Elliott Hughes <enh@google.com> Add a missing android-changed marker, fix a half-finished one.
rc/main/java/SQLite/JDBC2y/JDBCDatabaseMetaData.java
rc/main/java/SQLite/JDBC2y/JDBCStatement.java
885023a4cd04a95372ea38bf92516039666d67d7 01-Mar-2010 Elliott Hughes <enh@google.com> Use more efficient idioms for converting types.

(Because we only include the Java 5 JDBC driver, there was less to fix than I
thought; this code is copy & pasted into the other drivers.)
rc/main/java/SQLite/Database.java
rc/main/java/SQLite/JDBC2y/JDBCDatabaseMetaData.java
rc/main/java/SQLite/JDBC2y/JDBCResultSet.java
ff2e5471f4b6b650ca99dd07279d4478ff62864b 01-Mar-2010 Andy McFadden <fadden@android.com> Added a simple check for stray tracked refs.

The idea is to make sure the main thread is getting through the VM init
process with an empty tracked references table. If we find any, we
print a warning and dump the table, but continue on anyway.

My test was a trivial dvmMalloc(), which turned up a flaw in the ref
table dump code: it didn't deal with "raw" dvmMalloc sections. So
that's fixed as well.
00bd230e37ea4e56b84d84a29cd6f0e58edb73fc 01-Mar-2010 Jesse Wilson <jessewilson@google.com> am ad71aa20: Merge "New implementation for DOMConfiguration."

Merge commit 'ad71aa2046502db784a8c861b30b11ddf88044f1' into dalvik-dev

* commit 'ad71aa2046502db784a8c861b30b11ddf88044f1':
New implementation for DOMConfiguration.
c03916f163dd7f27fe40c02ef8904444d03bcbe8 01-Mar-2010 Elliott Hughes <enh@google.com> am 16525029: Merge "Fix a FormatFlagsConversionMismatchException bug I introduced in Froyo."

Merge commit '165250293744f0aadcb0a0bfba1b53b8a4fb99b7' into dalvik-dev

* commit '165250293744f0aadcb0a0bfba1b53b8a4fb99b7':
Fix a FormatFlagsConversionMismatchException bug I introduced in Froyo.
ccf8601f848c03d141f1a4268ae08da67d9db429 01-Mar-2010 Jesse Wilson <jessewilson@google.com> Merge "New implementation for DOMConfiguration."
8e9416f4ddf3efd622b9bad4714df10f611a84d2 27-Feb-2010 Jesse Wilson <jessewilson@google.com> New implementation for DOMConfiguration.

This API is disgusting. Its not regular, not typesafe, sparsely
implemented and overly specific. I'm implementing the minimum I can
get away with - exactly the same route taken by the RI.

The Parameter stuff feels a little bit like overkill, but it allowed
me to group related chunks of code together and avoid long chains of
equalsIgnoreCase if statements.

This is necessary to implement Document.normalize(), one of the
last remaining APIs in DOMv3.

Also fixing our implementation of Node.normalize() and adding tests
to discover a bug in that code. Previously a document like this:
"<foo>abc<br>def</foo>"
Would be normalized to this:
"<foo>abcdef<br></foo>"
Which is a horrible bug! Yuck.

Implementation and tests for Document.normalize() are forthcoming.
d6453700361479ef6ab6c6335c786b10c1f41a65 01-Mar-2010 Elliott Hughes <enh@google.com> Merge "Fix a FormatFlagsConversionMismatchException bug I introduced in Froyo."
a1c6ae83616600020b6b1c4fadd1bbb76921a2f9 01-Mar-2010 Andy McFadden <fadden@android.com> am fcc61ec2: Merge "Don\'t set x86 arch variant."

Merge commit 'fcc61ec20932de83d385131983b47f82a2008cd3' into dalvik-dev

* commit 'fcc61ec20932de83d385131983b47f82a2008cd3':
Don't set x86 arch variant.
646bc6aaf54414821e75251bf3dc2b39bb99a985 01-Mar-2010 Jesse Wilson <jessewilson@google.com> am dd55f1bb: Merge "Adding tests to parse document attributes from the DOM."

Merge commit 'dd55f1bba1216e91206255f31de587062ed115b6' into dalvik-dev

* commit 'dd55f1bba1216e91206255f31de587062ed115b6':
Adding tests to parse document attributes from the DOM.
c58e466cc7f16ff2d4b9d6ab18dbbc3751607b7f 01-Mar-2010 Andy McFadden <fadden@android.com> am f109fc4a: Merge "Update a few things in x86-atom."

Merge commit 'f109fc4aa8b26984e135cb8321bdde69b64c7878' into dalvik-dev

* commit 'f109fc4aa8b26984e135cb8321bdde69b64c7878':
Update a few things in x86-atom.
81ccc972e6447b4449e167c09d909de164e2eb66 01-Mar-2010 Ben Cheng <bccheng@android.com> am 40094c16: Tweak the interpreter entries and 2nd level trace filter to capture more traces.

Merge commit '40094c16d9727cc1e047a7d4bddffe04dd566211' into dalvik-dev

* commit '40094c16d9727cc1e047a7d4bddffe04dd566211':
Tweak the interpreter entries and 2nd level trace filter to capture more traces.
92f916f17f35a9a39deb2a64107181c1d222eebd 28-Feb-2010 Brian Carlstrom <bdc@google.com> resolved conflicts for merge of e84bea92 to dalvik-dev
bc45ce3287ebc1e2ba22fb1b85fdb4b1cc8683c6 28-Feb-2010 Elliott Hughes <enh@google.com> Merge "Upgrade our sqlite JDBC driver to version 20100131." into dalvik-dev
63314cb83983cd9dd74cf80bc4538dd0a0925739 28-Feb-2010 Elliott Hughes <enh@google.com> Fix a FormatFlagsConversionMismatchException bug I introduced in Froyo.

We want to show the characters representing the flags, not the decimal
values of their ASCII representation. "Use overloading judiciously",
as the man says, or cause errors like this.

Seen in FRE56B (see https://android-git.corp.google.com/g/42528).
fb0d09d45401ebbf6041f6a5022ac1879307081e 28-Feb-2010 Elliott Hughes <enh@google.com> am c85663a4: Merge "Fix a couple of typos in JIT function names."

Merge commit 'c85663a4856c476c4ead93bdf19e8a91b2d15e22' into dalvik-dev

* commit 'c85663a4856c476c4ead93bdf19e8a91b2d15e22':
Fix a couple of typos in JIT function names.
b4be5bb639dffcd253b71e0ec8d197b52e0f3abd 28-Feb-2010 Bill Buzbee <buzbee@google.com> am ac9f2112: Merge "Jit: fix typo that caused incorrect def mask for blr\'s."

Merge commit 'ac9f2112303e1353b875999d6481e2047789af9e' into dalvik-dev

* commit 'ac9f2112303e1353b875999d6481e2047789af9e':
Jit: fix typo that caused incorrect def mask for blr's.
5954c491821416834f5d15b51509adc5b6d2735e 28-Feb-2010 Elliott Hughes <enh@google.com> am f76b01c6: Merge "Document that Class.getSigners() always returns null."

Merge commit 'f76b01c6377ad4653dcdc37b2ca35db785219f80' into dalvik-dev

* commit 'f76b01c6377ad4653dcdc37b2ca35db785219f80':
Document that Class.getSigners() always returns null.
cd46011580ff4fa073a1e9235de760386106e162 28-Feb-2010 Andy McFadden <fadden@android.com> am ca5ac879: Merge "Rearrange JDWP cleanup."

Merge commit 'ca5ac8792c0dc7cb33728ba3389fcc7d7b76772b' into dalvik-dev

* commit 'ca5ac8792c0dc7cb33728ba3389fcc7d7b76772b':
Rearrange JDWP cleanup.
87117b0dab5f0e1932f67f652aa4cb5718514f76 28-Feb-2010 Elliott Hughes <enh@google.com> am 4d5e5a0f: Merge "Keep the order from getaddrinfo() unchanged if preferIPv6Addresses() is true."

Merge commit '4d5e5a0f65e3cca6662fac8e832712fba61b9d2c' into dalvik-dev

* commit '4d5e5a0f65e3cca6662fac8e832712fba61b9d2c':
Keep the order from getaddrinfo() unchanged if preferIPv6Addresses() is true.
d2d399931f50569473827815d546d6209fdeb0c1 28-Feb-2010 Ben Cheng <bccheng@android.com> am cbcd79b3: Merge "Print "JIT" in the thread dump if the top frame is in JIT\'ed code."

Merge commit 'cbcd79b31ddecad8ae38e5f45ac63e7225a877ff' into dalvik-dev

* commit 'cbcd79b31ddecad8ae38e5f45ac63e7225a877ff':
Print "JIT" in the thread dump if the top frame is in JIT'ed code.
f338f4bac8fa5a00ad84818a31505e0230b190e4 28-Feb-2010 Andy McFadden <fadden@android.com> am ae9cc0e6: Merge "Added printf attribute to exception function."

Merge commit 'ae9cc0e699cc680873b4fc72a020afd167722047' into dalvik-dev

* commit 'ae9cc0e699cc680873b4fc72a020afd167722047':
Added printf attribute to exception function.
3c8850a04b53a3e2443ca607ee2c1dac949d2b39 28-Feb-2010 Elliott Hughes <enh@google.com> am b4c05977: Optimize more easy multiplications by constants.

Merge commit 'b4c05977c28c38d2f81b48d0cb15559dc3d05564' into dalvik-dev

* commit 'b4c05977c28c38d2f81b48d0cb15559dc3d05564':
Optimize more easy multiplications by constants.
b685eb06c78f28c91688c0a30e09fbf90378addf 28-Feb-2010 Ben Cheng <bccheng@google.com> am 88a0f970: Enhance the jit profiler to print more statistics and be more verbose.

Merge commit '88a0f970e47dc0091d2c9965aa9bd06667e5f4b7' into dalvik-dev

* commit '88a0f970e47dc0091d2c9965aa9bd06667e5f4b7':
Enhance the jit profiler to print more statistics and be more verbose.
e5c89cf91c2dbacb4c0b10897d1d81332a631160 28-Feb-2010 Andy McFadden <fadden@android.com> am 59a007be: am cf4e8b02: Merge "This is a contribution of x86-atom targeted assembly for the fast byte-code interpreter engine. This is an initial contribution with minimal optimizations that target the Intel ATOM processor. We expect to continuously improve this cod

Merge commit '59a007be670601e40f036f63904b3f51c91a4d95' into dalvik-dev

* commit '59a007be670601e40f036f63904b3f51c91a4d95':
This is a contribution of x86-atom targeted assembly for the fast byte-code interpreter engine. This is an initial contribution with minimal optimizations that target the Intel ATOM processor. We expect to continuously improve this code. It is expected that there will be a discussion on the potential merge of this code and similar efforts (i.e. the mterp/x86 directory first included with cupcake). While this code is intended to target ATOM and not a generic X-86 processor, we were able to show the following improvements over the c-portable interpreter using the simulator build:
2d5fb78299757160a165288f4eb6dca65a482291 28-Feb-2010 Dan Bornstein <danfuzz@android.com> am 11834964: Clarify a few items in the dex spec.

Merge commit '118349640ffa44bbc55ed355d0aaa2b993de5e5b' into dalvik-dev

* commit '118349640ffa44bbc55ed355d0aaa2b993de5e5b':
Clarify a few items in the dex spec.
dad06cce74460136a40ca6cabcc8e98b8e4ce41a 28-Feb-2010 Andy McFadden <fadden@android.com> am ba05d3b5: Merge "Add class init stats to alloc counters (API change)."

Merge commit 'ba05d3b507d5e1de794d00e7e634862c2a7cf8c2' into dalvik-dev

* commit 'ba05d3b507d5e1de794d00e7e634862c2a7cf8c2':
Add class init stats to alloc counters (API change).
924847b54d54e00fb5a2d145364163dbf3e737c0 28-Feb-2010 Jesse Wilson <jessewilson@google.com> am 4795e033: Merge "Implementing still more DOM API for text nodes. - Text.isElementContentWhitespace() - Text.getWholeText() - Text.replaceWholeText()"

Merge commit '4795e033e5d93d72438d5004dd77ea82014f4657' into dalvik-dev

* commit '4795e033e5d93d72438d5004dd77ea82014f4657':
Implementing still more DOM API for text nodes.
a98a2a6f76c14d02339cb2d1fa12b3b461773734 28-Feb-2010 Brian Carlstrom <bdc@google.com> am 60a65773: Minor fix for Adb.waitForNonEmptyDirectory so that waiting for /sdcard after reboot works again.

Merge commit '60a65773a7199f0a6b8f36bba00f11b84f8c0227' into dalvik-dev

* commit '60a65773a7199f0a6b8f36bba00f11b84f8c0227':
Minor fix for Adb.waitForNonEmptyDirectory so that waiting for /sdcard after reboot works again.
6a40470f5844a4fdfab7c761086489943442ff73 28-Feb-2010 Jeff Hao <jeffhao@google.com> am 01961a9d: Merge "Fixed bug 2438465, prevented blocks with move-result from being combined."

Merge commit '01961a9d1f152c308b0c372214a1f204b3c0a5cf' into dalvik-dev

* commit '01961a9d1f152c308b0c372214a1f204b3c0a5cf':
Fixed bug 2438465, prevented blocks with move-result from being combined.
b47ce9ea97285490346463a98cdb55fb38d3dcfa 28-Feb-2010 Brian Carlstrom <bdc@google.com> am d1ad6ae8: DalvikRunner --tee option to send output to a file or stdout at runtime

Merge commit 'd1ad6ae8509d5890a7175a1dcd0a3f7fceb75d23' into dalvik-dev

* commit 'd1ad6ae8509d5890a7175a1dcd0a3f7fceb75d23':
DalvikRunner --tee option to send output to a file or stdout at runtime
cda20e3aa020bde69e07067b5c31b8e1fec18694 28-Feb-2010 jeffhao <jeffhao@google.com> am b0d01b01: Fixed bug 2438465, prevented blocks with move-result from being combined.

Merge commit 'b0d01b0178081c98b8cdb2fba2d84f275a0c595e' into dalvik-dev

* commit 'b0d01b0178081c98b8cdb2fba2d84f275a0c595e':
Fixed bug 2438465, prevented blocks with move-result from being combined.
6943b5fbdfa075766bd015efaddcc6a6860c909d 28-Feb-2010 Dan Bornstein <danfuzz@android.com> am 05c9d91a: Add a test case for the jsr / invoke bug. (See the included info.txt for more details.)

Merge commit '05c9d91a7fd80fef3141b832fc8caeef44612c86' into dalvik-dev

* commit '05c9d91a7fd80fef3141b832fc8caeef44612c86':
Add a test case for the jsr / invoke bug. (See the included
7a647e8547e57ca573541be55b3728ef7ce376fe 27-Feb-2010 Elliott Hughes <enh@google.com> Upgrade our sqlite JDBC driver to version 20100131.

This fixes a bunch of KnownFailures, and adds a bunch of new features. I've
updated the tests correspondingly (though doubtless we could add a lot more
tests now, if we wanted to).

I regenerated Constants.java manually, and explained how in its javadoc.

I've added the upstream VERSION file so it's easier to see what upstream
version we're at. (Constants now contains the version number too, but that's
less obvious.)

All our changes now have android-changed markers. I'll see about getting them
pushed upstream next week.

(This change best reviewed with "ignore whitespace". It looks like we made a
bunch of whitespace "corrections" when we imported this source, which just
makes it harder to stay in sync. I've taken the upstream copies of files that
only had whitespace differences.)
ERSION
rc/main/java/SQLite/Authorizer.java
rc/main/java/SQLite/Blob.java
rc/main/java/SQLite/Constants.java
rc/main/java/SQLite/Database.java
rc/main/java/SQLite/Exception.java
rc/main/java/SQLite/FunctionContext.java
rc/main/java/SQLite/JDBC2y/JDBCConnection.java
rc/main/java/SQLite/JDBC2y/JDBCDatabaseMetaData.java
rc/main/java/SQLite/JDBC2y/JDBCPreparedStatement.java
rc/main/java/SQLite/JDBC2y/JDBCResultSet.java
rc/main/java/SQLite/JDBC2y/JDBCResultSetMetaData.java
rc/main/java/SQLite/JDBC2y/JDBCStatement.java
rc/main/java/SQLite/JDBC2y/TableResultX.java
rc/main/java/SQLite/JDBCDriver.java
rc/main/java/SQLite/Shell.java
rc/main/java/SQLite/Stmt.java
rc/main/java/SQLite/StringEncoder.java
rc/main/java/SQLite/TableResult.java
rc/main/java/SQLite/Vm.java
rc/main/native/sqlite_jni.c
rc/main/native/sqlite_jni_defs.h
417deb1db112103aff04231b6ca79772ff7d3a21 26-Feb-2010 Elliott Hughes <enh@google.com> Break the sqlite JDBC driver out from our JDBC implementation.

The JDBC driver is from a different source
(http://www.ch-werner.de/javasqlite/overview-summary.html) and is only
really needed for testing.

Bug 2468870 asks that we don't eagerly register the native methods for
these classes. That bug is fixed by this change.

Bug 2198667 asks that we stop shipping this JDBC driver as part of the
base system. That bug is not addressed by this change: the classes and
native code are now in their own, separate, .jar and .so files -- so
they'll be easier to remove in future -- but for now those files are
still in /system/framework and /system/lib respectively.

Bug: 2468870
Bug: 2198667
ndroid.mk
ODULE_LICENSE_BSD_LIKE
rc/main/java/SQLite/Authorizer.java
rc/main/java/SQLite/Blob.java
rc/main/java/SQLite/BusyHandler.java
rc/main/java/SQLite/Callback.java
rc/main/java/SQLite/Constants.java
rc/main/java/SQLite/Database.java
rc/main/java/SQLite/Exception.java
rc/main/java/SQLite/Function.java
rc/main/java/SQLite/FunctionContext.java
rc/main/java/SQLite/JDBC2y/JDBCConnection.java
rc/main/java/SQLite/JDBC2y/JDBCDatabaseMetaData.java
rc/main/java/SQLite/JDBC2y/JDBCPreparedStatement.java
rc/main/java/SQLite/JDBC2y/JDBCResultSet.java
rc/main/java/SQLite/JDBC2y/JDBCResultSetMetaData.java
rc/main/java/SQLite/JDBC2y/JDBCStatement.java
rc/main/java/SQLite/JDBC2y/TableResultX.java
rc/main/java/SQLite/JDBCDriver.java
rc/main/java/SQLite/ProgressHandler.java
rc/main/java/SQLite/Shell.java
rc/main/java/SQLite/Stmt.java
rc/main/java/SQLite/StringEncoder.java
rc/main/java/SQLite/TableResult.java
rc/main/java/SQLite/Trace.java
rc/main/java/SQLite/Vm.java
rc/main/native/sqlite_jni.c
rc/main/native/sqlite_jni.h
rc/main/native/sqlite_jni_defs.h
51b6bea6a6efed5eb5723b8ce58211deac9288df 26-Feb-2010 Andy McFadden <fadden@android.com> Merge "Don't set x86 arch variant."
47c8721539bbbc76bda37ef2f392363ac12d0b6c 26-Feb-2010 Andy McFadden <fadden@android.com> Don't set x86 arch variant.

This was a workaround for a missing bit in the core build. No longer
needed.
40c1e8f4514adcc90e13ea592d396b0d7215ab65 26-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding tests to parse document attributes from the DOM."
125223bd0b6a0f4721cbd638e8ea2ae6033b3ea2 26-Feb-2010 Jesse Wilson <jessewilson@google.com> Adding tests to parse document attributes from the DOM.

This adds implementation and tests for these methods:
getInputEncoding(), getDocumentURI().

And tests for these methods:
getXmlEncoding(), getXmlVersion(), getXmlStandalone().
9caa83a096094372b6e05b23dec11cac16f5dee0 26-Feb-2010 Andy McFadden <fadden@android.com> Merge "Update a few things in x86-atom."
b360cb0090f8b71df8466ae29b7825f9619f2ce2 26-Feb-2010 Andy McFadden <fadden@android.com> Update a few things in x86-atom.

This replaced unuses opcodes EC and EF with C stubs for the breakpoint
and execute-inline/range instructions, which were added after the last
bunch of stuff we rolled out to eclair open-source. I also rebuilt the
"out" dir to pick up the various other changes.
3f227b873a2361ce9c109443f6ec3a81f8cdedd6 25-Feb-2010 Ben Cheng <bccheng@android.com> Tweak the interpreter entries and 2nd level trace filter to capture more traces.

Real changes:
1) Add a new entry point from JIT to the interpreter to request hot traces w/o
doing chaining.
2) Increase the granularity of the secondary profile filter to match 64-byte
chunks using 64 entries.

The remaining are just cosmetic changes.
f7d134b3f23b6ce0ab8fcfedd94e1535c03d3c88 26-Feb-2010 Brian Carlstrom <bdc@google.com> Merge "First pass at reorganizing org.apache.harmony.xnet.provider.jsse native code into a single file."
ce1a256c09cd00af6ade59d990bd32fa091e486c 26-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: fix typo that caused incorrect def mask for blr's." into dalvik-dev
1609fc54fac56df56a64413879a9e30e6e653067 26-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: fix typo that caused incorrect def mask for blr's.
6fa49091c7edb61c5dd20582ce025d311281f0cf 26-Feb-2010 Elliott Hughes <enh@google.com> Merge "Fix a couple of typos in JIT function names."
edc62530da4b25bda7cb79552151b26e8d8acd52 26-Feb-2010 Carl Shapiro <cshapiro@google.com> Merge "Relocate function declaration out the GC and into the compiler." into dalvik-dev
b5aba9f6ed201797a099dfce82d7da2495cc0ac2 11-Feb-2010 Brian Carlstrom <bdc@google.com> First pass at reorganizing org.apache.harmony.xnet.provider.jsse native code into a single file.

At enh's suggestion, I'm consoldiating the OpenSSL related native code
into a single wrapper class NativeCrypto. This changes is the firs
step, combining the cpp code into a single NativeCode.cpp. The next
step will involved introducting a single SSL_CTX in NativeCode and
cleaning up SSL_CTX use. As part of this, I'll start moving the native
wrappers to from various OpenSSL*.java classes into NativeCode.
bff8dd1b35a045354a0407b4e0fa9af1c49f298c 26-Feb-2010 Carl Shapiro <cshapiro@google.com> Relocate function declaration out the GC and into the compiler.
915859ef6efe91984dcf51be16f862ac3d15da18 26-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: fix typo that caused incorrect def mask for blr's."
7e31a5479e1188798682fbbd257be12a5bd7c04f 26-Feb-2010 Elliott Hughes <enh@google.com> Fix a couple of typos in JIT function names.

(I saw these the other day, but preferred a separate patch.)
5966de34b547ab3e60b362fd03271a5333f24304 26-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: fix typo that caused incorrect def mask for blr's.
1838aa7d3a5bc210ebfc466c66b2210e4611ba70 26-Feb-2010 Carl Shapiro <cshapiro@google.com> Remove the sole use of WITH_HPROF_STACK_UNREACHABLE macro. This
feature never seems to have existed.
0af43c08021422c690351807d194776deb573c78 26-Feb-2010 Carl Shapiro <cshapiro@google.com> Merge "Eliminate the unused hprof "unreachable" feature. This code dates back to the Perforce repository and has never been enabled. Nobody seems to know what it was once, if ever, used for so it may as well go." into dalvik-dev
2d6483d241e5638fbab704625a110c3c6c26636c 25-Feb-2010 Elliott Hughes <enh@google.com> Merge "Document that Class.getSigners() always returns null."
559eacb6c3fbb871e653de4900abb646f24f21b1 25-Feb-2010 Elliott Hughes <enh@google.com> Document that Class.getSigners() always returns null.

Bug: 1594865
Bug: http://code.google.com/p/android/issues/detail?id=1766
664c05fd6a75678e451a37861c230bbff3021996 25-Feb-2010 Carl Shapiro <cshapiro@google.com> Eliminate the unused hprof "unreachable" feature. This code dates
back to the Perforce repository and has never been enabled. Nobody
seems to know what it was once, if ever, used for so it may as well
go.
0815c2f1dcca3272222060c23155238b1c2cba24 25-Feb-2010 Andy McFadden <fadden@android.com> Merge "Rearrange JDWP cleanup."
e86aa7142afbd8c95ca020c77d128a18a7ac8459 25-Feb-2010 Andy McFadden <fadden@android.com> Rearrange JDWP cleanup.

This moves the "get rid of the breakpoints" part before the "tell the
rest of the VM that there's no debugger attached" part. Hitting a
breakpoint when there's no debugger attached is not expected.

For bug 2461667.
fe3453e2f6fdf0eeba33af7fe8cbd55dbf2f33ab 25-Feb-2010 Elliott Hughes <enh@google.com> Merge "Keep the order from getaddrinfo() unchanged if preferIPv6Addresses() is true."
b763ff6025cf1192fcdfec19297149ed6b67fbaf 25-Feb-2010 Elliott Hughes <enh@google.com> Merge "Fix a test by syncing with upstream." into dalvik-dev
e1bd569d0b662e3978876d455eb7e497cb27e215 24-Feb-2010 Carl Shapiro <cshapiro@google.com> Print the self thread id and the owning thread id in the description
of the IllegalMonitorExcpetion throw by unlockMonitor.
849ca193a3045cc175290e8dfbf8deb6ce50d287 24-Feb-2010 Carl Shapiro <cshapiro@google.com> Print the self thread id and the owning thread id in the description
of the IllegalMonitorExcpetion throw by unlockMonitor.
e06f0e28b05436bad310662facaf4518c5078f48 25-Feb-2010 Carl Shapiro <cshapiro@google.com> Merge "Allocate an object and mark bitmap which span the entire virtual memory reservation of the heap. Eliminates indirection during the marking phase." into dalvik-dev
cc14444de7d88248567f9f3f3693ba5a3b16e33a 25-Feb-2010 Ben Cheng <bccheng@android.com> Merge "Print "JIT" in the thread dump if the top frame is in JIT'ed code."
3b77fb84bdc76eda1822babbdd6f813e6747218e 25-Feb-2010 Andy McFadden <fadden@android.com> Merge "Added printf attribute to exception function."
5b583abe987d4fd5dd0c0d74b069395c2b194fc9 25-Feb-2010 Elliott Hughes <enh@google.com> Fix a test by syncing with upstream.

This test has been failing for us because of a local modification.
de8adde6e93abefc7b5f43666f0f0fafee05bc7b 25-Feb-2010 Ben Cheng <bccheng@google.com> Print "JIT" in the thread dump if the top frame is in JIT'ed code.
30c8f72b00710bf8e417d5dddeed4b305acd23e7 25-Feb-2010 Elliott Hughes <enh@google.com> If we're in an Android build tree, we should use core.jar as our "SDK".

This fixes running junit tests for non-public classes, since bdc's --sdk
change went in. While --sdk is perfect for real people, it's probably not
what we want to use ourselves. Since this script is already hard-coded
for use in an Android build tree, this seems like a reasonable place to
apply the fix.
6dc44dec4620976574b2d6821c9326dbb97ee4b9 25-Feb-2010 Elliott Hughes <enh@google.com> Optimize more easy multiplications by constants.

Rather than make these changes in the libraries (*10 being a common case),
let's do them once and for all in the JIT.

The 2^n-1 case could be better if we generated RSB instructions, but the
current "fake" RSB is still better than a full multiply.

Thumb doesn't support reg/reg/reg/shift instructions, so we can't optimize
the "population count <= 2" cases (such as *10) there.

Tested on sholes, passion, and passion-running-sapphire (and visually
inspected to check we weren't trying to generate Thumb2 instructions there).
Also tested with the self-verifier.
4fec006e624ec602ee9d6dc5fa38fdf3abf293b7 19-Feb-2010 Carl Shapiro <cshapiro@google.com> Allocate an object and mark bitmap which span the entire virtual
memory reservation of the heap. Eliminates indirection during the
marking phase.
9717cb37dfc550e992fc067cf4227ec594c9ab47 25-Feb-2010 Ben Cheng <bccheng@google.com> Enhance the jit profiler to print more statistics and be more verbose.

Specifically, the per-trace invocation percentage is printed now.

D/dalvikvm( 671): TRACEPROFILE 0x42b6eed8 15449863 2.13% [0(+2), 253] Ljava/nio/Buffer;position;()I
D/dalvikvm( 671): TRACEPROFILE 0x42b7b3ac 15410023 2.13% [0x4(+3), 450] Lorg/apache/xml/serializer/CharInfo;shouldMapTextChar;(I)Z
D/dalvikvm( 671): TRACEPROFILE 0x42b7b2cc 15346582 2.12% [0(+2), 449] Lorg/apache/xml/serializer/CharInfo;shouldMapTextChar;(I)Z
D/dalvikvm( 671): TRACEPROFILE 0x42b7b40c 15013650 2.07% [0xb4(+2), 1527] Lorg/apache/xml/serializer/ToStream;characters;([CII)V
D/dalvikvm( 671): TRACEPROFILE 0x42b7b4f0 14907957 2.06% [0xc7(+2), 1537] Lorg/apache/xml/serializer/ToStream;characters;([CII)V
D/dalvikvm( 671): TRACEPROFILE 0x42b7b308 14898588 2.06% [0xad(+3), 1525] Lorg/apache/xml/serializer/ToStream;characters;([CII)V
D/dalvikvm( 671): TRACEPROFILE 0x42b7b52c 14798762 2.04% [0xc4(+2), 1523] Lorg/apache/xml/serializer/ToStream;characters;([CII)V
D/dalvikvm( 671): TRACEPROFILE 0x42b7b570 14763770 2.04% [0xf3(+2), 1577] Lorg/apache/xml/serializer/ToStream;characters;([CII)V

And the top 10 traces will be recompiled in verbose mode to facilitate code
quality analysis.
5bdc45fc55f5b46218efe609f24058be12eb1387 24-Feb-2010 Andy McFadden <fadden@android.com> am cf4e8b02: Merge "This is a contribution of x86-atom targeted assembly for the fast byte-code interpreter engine. This is an initial contribution with minimal optimizations that target the Intel ATOM processor. We expect to continuously improve this code. It is expe

Merge commit 'cf4e8b02ecfb5ec17a27ed4188dd7a9db14ab7bf'

* commit 'cf4e8b02ecfb5ec17a27ed4188dd7a9db14ab7bf':
This is a contribution of x86-atom targeted assembly for the fast byte-code interpreter engine. This is an initial contribution with minimal optimizations that target the Intel ATOM processor. We expect to continuously improve this code. It is expected that there will be a discussion on the potential merge of this code and similar efforts (i.e. the mterp/x86 directory first included with cupcake). While this code is intended to target ATOM and not a generic X-86 processor, we were able to show the following improvements over the c-portable interpreter using the simulator build:
80165322b622b04c1af29160c4f0cca78be3e86c 24-Feb-2010 Dan Bornstein <danfuzz@android.com> Clarify a few items in the dex spec.

In particular, do a bit of "may" vs. "must" maintenance, and be specific
about references as arguments to filled-new-array.

Change-Id: Iae4cb734e05cd29230e2c9a343108bbfb3c20193
2c17896b00124fa4f901dad92083f477b8a3027c 24-Feb-2010 Andy McFadden <fadden@android.com> Added printf attribute to exception function.
9c5c1d6c1e75fd4dccfd034da443b7a92d0b7881 24-Feb-2010 Andy McFadden <fadden@android.com> Merge "Add class init stats to alloc counters (API change)."
5081e53d1a6b9e1be04671e7c999ac6c2a6d55a7 24-Feb-2010 Carl Shapiro <cshapiro@google.com> Remove a bogus assertion.
a715b593977977df8bb9e9c41b566a56d4a6c307 24-Feb-2010 Elliott Hughes <enh@google.com> Fix DalvikRunner on the dalvik-dev branch.

(Longer term, we want to package junit, but this gets us running again.)
a81b21cf743febd8d80d69a1aa88cc7a41d0be6d 24-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Implementing still more DOM API for text nodes. - Text.isElementContentWhitespace() - Text.getWholeText() - Text.replaceWholeText()"
933948d65631711b78d9a4dcc9deb8ab80c0f0ab 24-Feb-2010 Jesse Wilson <jessewilson@google.com> Implementing still more DOM API for text nodes.
- Text.isElementContentWhitespace()
- Text.getWholeText()
- Text.replaceWholeText()
a62fafdbfce810aafaeba707a420877d23cecf92 23-Feb-2010 Andy McFadden <fadden@android.com> Add class init stats to alloc counters (API change).

Add calls to retrieve class initialization stats via the allocation
count mechanism.

Also: deprecate a method that is never used, and a redundantly declared
default filename that begins with "/sdcard".

For bug 2461549.
5f975d4295302f37d9df36560b7e3037ebf700e9 24-Feb-2010 Brian Carlstrom <bdc@google.com> Minor fix for Adb.waitForNonEmptyDirectory so that waiting for /sdcard after reboot works again.
435f911bee576154d6ebcdbe31ca830af331b9ff 24-Feb-2010 Elliott Hughes <enh@google.com> Fix "HttpUrlConnection.addRequestProperty replaces existing properties instead of append them".

The bug was actually that the copy constructor wasn't reconstructing the 'props'
list correctly. Upstream has applied the same fix, so I'm also bringing my
earlier change into sync with theirs, whitespace-wise (and removing no longer
necessary 'android-changed' tags).

Bug: http://code.google.com/p/android/issues/detail?id=6722
df3f68407157fd9b32e7fe2180ccefbe7eb1a8b3 23-Feb-2010 Elliott Hughes <enh@google.com> Remove more useless annotations: logging, luni-kernel, and math.

(Plus a bonus item: one Android-written test under luni.)
137a5d4cd7d8f71efd8ba4cd9d7a0f9e1ff92745 23-Feb-2010 Jeff Hao <jeffhao@google.com> Merge "Fixed bug 2438465, prevented blocks with move-result from being combined."
c4ad3ff038e10b6216aedf6025f340618827d0f3 23-Feb-2010 Andy McFadden <fadden@android.com> Merge "This is a contribution of x86-atom targeted assembly for the fast byte-code interpreter engine. This is an initial contribution with minimal optimizations that target the Intel ATOM processor. We expect to continuously improve this code. It is expected that there will be a discussion on the potential merge of this code and similar efforts (i.e. the mterp/x86 directory first included with cupcake). While this code is intended to target ATOM and not a generic X-86 processor, we were able to show the following improvements over the c-portable interpreter using the simulator build: Build: TARGET_SIMULATOR: true TARGET_BUILD_TYPE: release TARGET_PRODUCT: sim Environment: Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz PI = Portable Interpreter IA = Fast IA Interpreter Embedded CaffeineMark: (IA-PI)/PI: Average of 70% improvement on overall score SPECjbb2000*: (IA-PI)/PI: Average of 37% improvement on raw score SPECjvm98*: (PI/IA) Speedup: Mtrt: 1.2; Jess: 1.34; Compress: 1.57; Db: 1.46; Jack: 1.28 * SPECjbb2000 - 1 warehouse. Noncompliant - modified to run on Dalvik * SPECjvm98 - Noncompliant - modified to run on Dalivk"
84126d33d42b12d0255485a446c2ba56d8ce314d 23-Feb-2010 Brian Carlstrom <bdc@google.com> DalvikRunner --tee option to send output to a file or stdout at runtime

Added --tee option so we can watch test output while the test is
running, as opposed to waiting until all the output is collected.

As part of this, Command.Builder can now optionally specifiy a
PrintStream via tee (name from tee(1)).

Added ADB.waitForFile to accompany ADB.waitForNonEmptyDirectory

Removed gross bash wait loop hack in Activity Mode by replacing
Mode.buildCommands with Mode.runTestCommand.

Fixed bug that out generated APK package names did not contain a
required "." in all cases.
ebb670c3915515951350ac33b1885fbd2e476150 23-Feb-2010 jeffhao <jeffhao@google.com> Fixed bug 2438465, prevented blocks with move-result from being combined.
32e0344509486158afed61fdfb57f14e5bedd6c5 23-Feb-2010 jeffhao <jeffhao@google.com> Fixed bug 2438465, prevented blocks with move-result from being combined.
ab1a6bc675f5ee66eb31f1b176a3c29044866ba6 07-Apr-2009 Johnnie Birch <johnnie.l.birch.jr@intel.com> This is a contribution of x86-atom targeted assembly for the fast byte-code interpreter engine. This is an initial contribution with minimal optimizations that target the Intel ATOM processor. We expect to continuously improve this code. It is expected that there will be a discussion on the potential merge of this code and similar efforts (i.e. the mterp/x86 directory first included with cupcake). While this code is intended to target ATOM and not a generic X-86 processor, we were able to show the following improvements over the c-portable interpreter using the simulator build:
Build: TARGET_SIMULATOR: true
TARGET_BUILD_TYPE: release
TARGET_PRODUCT: sim
Environment: Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
PI = Portable Interpreter
IA = Fast IA Interpreter
Embedded CaffeineMark: (IA-PI)/PI: Average of 70% improvement on overall score
SPECjbb2000*: (IA-PI)/PI: Average of 37% improvement on raw score
SPECjvm98*: (PI/IA) Speedup: Mtrt: 1.2; Jess: 1.34; Compress: 1.57; Db: 1.46; Jack: 1.28
* SPECjbb2000 - 1 warehouse. Noncompliant - modified to run on Dalvik
* SPECjvm98 - Noncompliant - modified to run on Dalivk
27537fa9d39b078f3df23a5694021b841645438b 23-Feb-2010 Elliott Hughes <enh@google.com> Remove useless annotation cruft from tests for: annotation, archive, concurrent, and suncompat.

22 files (and 4 modules) down, 1000 to go...
582b9a525ebe3a11b4ff58078c80e4b787ad2582 23-Feb-2010 Elliott Hughes <enh@google.com> Update run-core-tests' documentation, remove the leading : from the classpath, and add the json tests to the classpath.

(I did look at replacing this with a bash script we run on the host, but adb
turns out to have a command-line limit of 1024 bytes, and our classpath alone
is ~850 bytes long!)
e648370eb2d4e9b2d769aa18de0fe34d2ae7307b 23-Feb-2010 Dan Bornstein <danfuzz@android.com> Add a test case for the jsr / invoke bug. (See the included
info.txt for more details.)

Change-Id: I6ae5266e3f3371406c366d4f4644a445875adf95
501221b122dade6fac64478217ae47932c5fc094 23-Feb-2010 Elliott Hughes <enh@google.com> Fix a stupid mistake in my earlier change.

(I removed the unused parameter from the wrong macro!)
1be3857dfe7554ac10a660df0bfd1b70cc36ec39 22-Feb-2010 Elliott Hughes <enh@google.com> Adapt jesse's new json tests to the new build scheme.
f83c5ba264e2e60a7324399802b43e0589a35e63 22-Feb-2010 Elliott Hughes <enh@google.com> Merge remote branch 'goog/master' into mm

Conflicts:
libcore/JavaLibrary.mk
683da47a00b37a6b4c859be3156b7aef529ca1bf 22-Feb-2010 Elliott Hughes <enh@google.com> Merge "Resync a load of tests with upstream, make our build faster." into dalvik-dev
de8cc7335118bb8585e4f7edf99b638b4d30d568 22-Feb-2010 Barry Hayes <bhayes@google.com> Fix build breakage.
the "HeapChunk" abstraction was removed almost everywhere; but not here
until now.
1c894f1eb8dd26d8a60319caaba2a9f05ab4e34f 22-Feb-2010 Barry Hayes <bhayes@google.com> Merge " Add the "-Xgc:[no]overwritefree" flags. When set, the GC will clobber the memory of freed objects." into dalvik-dev
d64ff78408cf027908ec82ae19f219960fdbcc92 20-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing dead code from BigInt"
ffe6560e49f0ed1716cf2442b6fcd680684803cf 20-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "More XML DOM v3 APIs."
e1a65a58f92e3ae90f0ce61d19f8308a7d08576d 20-Feb-2010 Jesse Wilson <jessewilson@google.com> More XML DOM v3 APIs.

This adds the following APIs and tests:
- Node.isDefaultNamespace
- DomImplementation.hasFeature
- Node.isSupported
- Node.getFeature
- Node.isEqualNode
f273c72c4aa92a9403a1dd5ed18cd9911da40327 20-Feb-2010 Jesse Wilson <jessewilson@google.com> Removing dead code from BigInt
3270fd5dea44ac9294079b9fa3bb7d0f50c8a5e2 20-Feb-2010 Elliott Hughes <enh@google.com> Remove external/jsr305, external/guava, and external/caliper.
77ca63fb9607ad1a485701166f8b0a257821a606 20-Feb-2010 Ben Cheng <bccheng@android.com> Merge "Disable JIT for armv5te for A/B tests."
0ae01731bef7babb93494afcc795ad4d0b4ca338 19-Feb-2010 Ben Cheng <bccheng@android.com> Disable JIT for armv5te for A/B tests.
0c7b6bef08f3c8b028d69cceb41daacb298d5b04 19-Feb-2010 Jesse Wilson <jessewilson@google.com> DOM setTextContent() tests and implementation fixes.
71632df0dad54daff63c1d8d038316c035c0c4ce 19-Feb-2010 Elliott Hughes <enh@google.com> Resync a load of tests with upstream, make our build faster.

I started off with a mission to remove uses of dalvik.annotation.* (stuff
like @TestTargetNew and other useless junk that just makes it harder to
stay in sync with upstream). I wrote a script to go through tests showing
me the diff between what we have and what upstream has, thinking that in
cases where upstream has also added tests, I may as well pull them in at
the same time...

...but I didn't realize how close we were to having dx fill its 1.5GiB heap.

After trying various alternatives, I decided to bite the bullet and break
core-tests up into one .jar per module. This adds parallelism back into this,
the slowest part of our build. (I can do even better, but I'll do that in a
separate patch, preferably after we've merged recent changes from master.)

Only a couple of dependencies were problematic: the worthless TestSuiteFactory
which already contained a comment suggesting we get rid of it, and the fact
that some tests -- most notably the concurrent ones -- also contained main
methods that started the JUnit tty-based TestRunner.

(In the long run, we want to be running the harmony tests directly from a
pristine "svn co" of upstream, using DalvikRunner. But this will be a big
help in the meantime, and starts the work of getting our current copy of
the tests into a state where we can start to extract any meaningful
changes/additions we've made.)
1f61f8ff91baab33d8991c65804dc9bdb724d50b 19-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing bogus check to permit on-host debugging."
41da5673531fd691a3eab3cf6e0b94e7453d8a45 19-Feb-2010 Jesse Wilson <jessewilson@google.com> Removing bogus check to permit on-host debugging.
4c06c5587d9ea7c04adb33f6d1689c9c004f2ba3 19-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding JSON tests to the complete test suite."
452f8ccec233cb79c80178d7c88482851e3bc693 19-Feb-2010 Jesse Wilson <jessewilson@google.com> Adding JSON tests to the complete test suite.
2a9852eb4dddfea650907c3d457e65f04c2a4859 19-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Filling in some gaps in our XML DOM v3 API."
3dbec008e6f9959e43c74ea2c264ffbd4a8be026 19-Feb-2010 Jesse Wilson <jessewilson@google.com> Filling in some gaps in our XML DOM v3 API.

Specifically, these methods on Node:
- setTextContent()
- isSameNode()
- lookupPrefix()
- lookupNamespaceURI()
In order to implement the last 2 I needed to fix our KXml parser
to include namespace attributes (ie. xmlns) in the pulled document.
Previously these were being elided.

Added a new testcase to verify our behaviour. It passes the RI. On
Dalvik we have a small issue with entity declarations.

Added a new testcase to verify Node.getBaseURI(). This test fails
because the method isn't implemented. Part of this test required
moving a method out to Support_Resources.java; in order to verify
the BaseURI the XML must be read from a file and not a stream (so
that path information exists).

Also...
- Style cleanup: changing static calls to look like static calls.
- Efficiency: avoiding concatenating with "" when unnecessary
- Duplication: sharing prefix validation between attributes and elements
- Renaming NodeTests to NodeTest for vogar-friendliness

Outstanding:
- I need to write a test for setTextContent().
ae5923a44a86f7a45ece0f7572d6f66f1ca5359a 19-Feb-2010 Elliott Hughes <enh@google.com> More DalvikRunner cleanup.

Remove the now-unnecessary jsr305 and guava build dependencies.

Move TestActivity.java -- which is only needed at *run* time -- out into
lib/, which lets us simplify the makefile.

Pass the dalvik.annotation.* source files to javac(1) (at *run* time) so
we don't need the run-time dependency on core-intermediates [that I'd
already removed in a successful attempt to find out why we had the
dependency].

We need to remove all uses of those useless annotations from the harmony
tests so we can get back in sync with upstream, but now also so that we
can clean up this part of DalvikRunner.
39165df77e3f80da73b40e14020376f3bdb8c9ee 18-Feb-2010 Elliott Hughes <enh@google.com> Add a simple MD5-based cache to DalvikRunner.

This makes the new simpler scheme pretty much free.

I've also made a start on simplifying the make rules, though there's more we
can do, and I'll look at that next.
99304fc1af644ce84c3dfa91675b3a1608d2d283 18-Feb-2010 Elliott Hughes <enh@google.com> Merge "Make DalvikRunner work on production devices too."
cbea5bd017ef7e151d26d39cf039ba40d8c5d2e1 18-Feb-2010 Elliott Hughes <enh@google.com> Merge "Add a general-purpose scoped pointer for libcore JNI."
e6cdd638dfd1f457d10a67e28f899d1e8cad39e6 18-Feb-2010 Elliott Hughes <enh@google.com> Merge "HTTP headers should be case-insensitive but case-preserving." into dalvik-dev
055b5edc0b05247e3a3185b65dc455896a9c5851 18-Feb-2010 Elliott Hughes <enh@google.com> Make DalvikRunner work on production devices too.

Place pre-built .jar files in our lib/ directory, and dex/push them on demand.

Change DalvikRunner to somewhat reduce the number of different classpaths in
play. My feeling is that we just want one true classpath: we should build with
it on the host, we should run with it on the host, we should dex everything on
it, we should upload everything to the device, and we should run with it on the
device.

Also add a convenience script for running DalvikRunner. ("Vogar" is the
proposed open source name for DalvikRunner, which really isn't as
dalvikvm-specific as the name might imply.)

There's a noticeable performance regression here, so my next change will be to
add a cache.
6acf1c66d15c6cf3a1f485b0a381e13103d9bc36 02-Feb-2010 Barry Hayes <bhayes@google.com> Add the "-Xgc:[no]overwritefree" flags. When set, the GC will clobber the
memory of freed objects.
162b4e603144cb5458a7078bc6cfabd6ee638070 17-Feb-2010 Carl Shapiro <cshapiro@google.com> Merge "Eliminate the heap chunk abstraction. This temporarily breaks the hprof feature that allows stack traces to be associated with objects." into dalvik-dev
4ebb5aedaff92fe90eb0d6deaed6209e19b23e83 17-Feb-2010 Carl Shapiro <cshapiro@google.com> Eliminate the heap chunk abstraction. This temporarily breaks the
hprof feature that allows stack traces to be associated with objects.
2897e311f75d65767ec99802bf6d9905dabf373e 17-Feb-2010 Ben Cheng <bccheng@android.com> Merge "Detect system-wide safe mode and configure the VM accordingly." into dalvik-dev
78bc20f4838e81079be2f97d920b0443b077b031 15-Feb-2010 Ben Cheng <bccheng@android.com> Detect system-wide safe mode and configure the VM accordingly.

Use pthread_cond_wait instead of timed wait for the system_server process to
wait on the go-ahead JIT signal. If the phone is booted under system-wide safe
mode, such signal will never come so all VM instances (including the system
server) will run in the interpreter-only mode.

Bug: 2267590
da090f6fca6bfa9d0462f920c4105643bca00fa6 17-Feb-2010 Elliott Hughes <enh@google.com> HTTP headers should be case-insensitive but case-preserving.

Bug: http://code.google.com/p/android/issues/detail?id=6684
b32d8e34efb4bd877867c787ec7707ce435d6b1e 17-Feb-2010 Carl Shapiro <cshapiro@google.com> Merge "Densely allocate mspaces. New heaps are started on the page following the break of the previously allocated heap. In addition, we shrink the reported size of the previous object bitmap so it covers only the committed range of the heap. We now separately track the size of the bitmap virtual memory reservation so we may unmap it all at shutdown time." into dalvik-dev
07cd034eae1705f1b6a9ca55a721ff26be16246a 17-Feb-2010 Jesse Wilson <jessewilson@google.com> Fixing packages for JSON tests
8485bb97db6adf8abe0754b7a66c9b7f2858486e 17-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "First round of tests for the subset of the org.json in Android."
8e94293810d9042dee8edf81a32e82a79d2239e1 16-Feb-2010 Jesse Wilson <jessewilson@google.com> First round of tests for the subset of the org.json in Android.
f29a20e7ca733715b34253c0a8a177316398ff51 12-Feb-2010 Steinar H. Gunderson <sesse@google.com> Keep the order from getaddrinfo() unchanged if preferIPv6Addresses() is true.
39c1f6f98b450f59f3e82c00764a1a17e5d7fb5a 17-Feb-2010 Ben Cheng <bccheng@android.com> Merge "Detect system-wide safe mode and configure the VM accordingly."
0cee78ee3a1d11240484a1cf37e876c61f01db54 17-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing unnecessary org.w3c.dom subpackages"
805d1c54fdfd6eb8161642dfdf463f8b40aba937 16-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Monitor exit, possible fix for Issue 2396073

Two problems with monitor-exit:
1. The Jit code wasn't checking for exception thrown following
unlocks of fat locks using dvmUnlockObject().
2. The mterp interpreter unlock code branched to handle exceptions
thrown during dvmUnlockObject() with the wrong dalvik PC (the
dPC of the unlock, rather than the instruction following the unlock).

Similar issue with the x86 interpreter fixed. Also, deleted armv7-a
MONITOR_ENTER template, which turned out to be identical to the armv5te
one.
667f6e0d6faa5d652f477891900edc6a0e973151 12-Feb-2010 Jesse Wilson <jessewilson@google.com> Removing unnecessary org.w3c.dom subpackages
3e50ab7c57d1cd677687be6496a30bb552ced403 17-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Monitor exit, possible fix for Issue 2396073"
aedaa65771c57c29e15e8e79f519f2aae1208d7a 17-Feb-2010 Elliott Hughes <enh@google.com> Fix FindBugs' "high" warnings about java.lang.Class.
037753465840a86f4f117cfdce4f7727ed14a84d 16-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Monitor exit, possible fix for Issue 2396073

Two problems with monitor-exit:
1. The Jit code wasn't checking for exception thrown following
unlocks of fat locks using dvmUnlockObject().
2. The mterp interpreter unlock code branched to handle exceptions
thrown during dvmUnlockObject() with the wrong dalvik PC (the
dPC of the unlock, rather than the instruction following the unlock).

Similar issue with the x86 interpreter fixed. Also, deleted armv7-a
MONITOR_ENTER template, which turned out to be identical to the armv5te
one.
aed9a97a84fb0f1aef2cb4cded0e7f01ce492f91 15-Feb-2010 Ben Cheng <bccheng@android.com> Detect system-wide safe mode and configure the VM accordingly.

Use pthread_cond_wait instead of timed wait for the system_server process to
wait on the go-ahead JIT signal. If the phone is booted under system-wide safe
mode, such signal will never come so all VM instances (including the system
server) will run in the interpreter-only mode.

Bug: 2267590
f72b493ea2941fc111b166f803e9d4879e8e7835 16-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Reverting our test runner's background building behaviour."
b7213c1b5aa912f64398b7f7f93f1751788066f0 16-Feb-2010 Jesse Wilson <jessewilson@google.com> Reverting our test runner's background building behaviour.

Our continuous build has been failing to complete lately. See:
http://jwilson.mtv.corp.google.com:8080/job/master_passion/274/consoleFull

In addition to this problem the continuous build is compiling many
more tests ahead-of-time than we were originally - previously we
would only have up to 4 tests ready-to-run at any given time. With
this change the ExecutorCompletionService was building and installing
all of the tests eagerly.

I believe the problem might be a mismatch between how the BlockingQueue
and the ExecutorCompletionService select which order to return futures.
By removing the ExecutorCompletionService I remove the opportunity for
such a conflict!
96170fbd87ac7dc34f81606d0993da4d7ef2d347 16-Feb-2010 Andy McFadden <fadden@android.com> Flan -> Froyo
fec9175f6b683f609b7ffbfc02d490065ede0922 15-Feb-2010 Carl Shapiro <cshapiro@google.com> Densely allocate mspaces. New heaps are started on the page following
the break of the previously allocated heap. In addition, we shrink
the reported size of the previous object bitmap so it covers only the
committed range of the heap. We now separately track the size of the
bitmap virtual memory reservation so we may unmap it all at shutdown
time.
5b70741df6b8944e8c2bc0d09737353009d061e5 15-Feb-2010 Carl Shapiro <cshapiro@google.com> Eliminate unused variable warnings in the alloc code. In the places
where unused attributes have been added, arguably, the return code
should be passed up to the caller or, if the return code indicates an
error, we should fast-fail.
fed73f36be3570eb956c27af1279a4b612ba10da 13-Feb-2010 Elliott Hughes <enh@google.com> Merge "Fix a few of our FindBugs "high" warnings." into dalvik-dev
759d9de6b4f13b9a4dcbe31aa90c1ac282e1663b 13-Feb-2010 Elliott Hughes <enh@google.com> Fix a few of our FindBugs "high" warnings.

RuleBasedBreakIterator was breaking the equals/hashCode contract.

Various classes were calling toString on arrays, which isn't very useful.

GregorianCalendar was missing a null/instanceof check. (FindBugs complained about
the former, but the super.equals would actually take care of that. The lack of
the explicit "instanceof" did mean that we could throw ClassCastException if you
had a Calendar that wasn't a GregorianCalendar, though. [Not easily testable,
and I hope we'll replace our calendars with ICU4J's before we actually have
another Calendar subclass.])

Collator's cache was broken, but luckily never had anything inserted into it
anyway.
16c7db7bdb9f9ee0dcf85b7f4f01436e94b7df68 13-Feb-2010 Elliott Hughes <enh@google.com> Merge "Use one method to create a Locale from a String." into dalvik-dev
173e73d9a4b9411926abf505c3450b33d238eba4 13-Feb-2010 Elliott Hughes <enh@google.com> Throw IllegalArgumentException if Currency.getInstance is given an invalid currency code.

This fixes an existing harmony DecimalFormatSymbolsTest failure, but I've added
an explicit test for clarity (and to reduce the likelihood of regression).
5e229f1adc6d20da5c9b99c74ca478ca1019e0e7 13-Feb-2010 Elliott Hughes <enh@google.com> Use one method to create a Locale from a String.

Bug: 2392157
f80a1eacd234aabcbbcf838a059c9caf69e177aa 12-Feb-2010 Elliott Hughes <enh@google.com> Merge "Remove some potential test flakiness." into dalvik-dev
379afb015f982d97eb96d0a94369d6299cb8050b 12-Feb-2010 Elliott Hughes <enh@google.com> Remove some potential test flakiness.

Bug: 2441548
7a06ea098db3a42f28253488f6467f1b656f3dc2 12-Feb-2010 Carl Shapiro <cshapiro@google.com> Merge "Do not include assert.h in places where it may shadow the definition provided by Common.h if WITH_DALVIK_ASSERTS is defined. The include from HeapBitmap.h was notable as it redefined the Dalvik friendly assert macro with the useless libc macro across all of the GC sources." into dalvik-dev
573e2ed7291b4c23fec4043eb4d032ff2680fcd3 12-Feb-2010 Dan Bornstein <danfuzz@android.com> Use HAVE_ANDROID_OS to conditionally include files on a device target.
fa8f8486dc620ffbdb85156c68cdd57e44004a37 12-Feb-2010 Carl Shapiro <cshapiro@google.com> Do not include assert.h in places where it may shadow the definition
provided by Common.h if WITH_DALVIK_ASSERTS is defined. The include
from HeapBitmap.h was notable as it redefined the Dalvik friendly
assert macro with the useless libc macro across all of the GC sources.
46c65088d9e709dde77341483cda5e3cc856bf9a 12-Feb-2010 Ben Cheng <bccheng@android.com> Use ashmem to create the JIT code cache.
0737bd49d745f6d0d8fce8e26934b25cffa1eb5d 11-Feb-2010 Ben Cheng <bccheng@android.com> Free memory associated with the trace descriptor of ALL dropped JIT work orders

To further reduce the memory consumption only enable the method vs trace
compile size stats when WITH_JIT_TUNING is configured.
db04a0e6356a7123d273e65a6cfbe06cc968d56d 12-Feb-2010 Ben Cheng <bccheng@android.com> Merge "Support per-application switch to execute the VM in safe mode." into dalvik-dev
fd2b7124b35b1a7a1af9f674b3eb04d1cea1ab91 12-Feb-2010 Andy McFadden <fadden@android.com> Merge "Minor dexdeps touchups."
5c4c583fb4b3ce6da6c10320713e955d520097b3 09-Feb-2010 Andy McFadden <fadden@android.com> Minor dexdeps touchups.

Made XML output the default.
Added a couple of blank lines in the "brief" output.
Added version number (1.1) and a copyright one-liner.
960da6e0e7cd8b1bb2010e06291baad39499ee4e 12-Feb-2010 Ben Cheng <bccheng@android.com> Merge "Use ashmem to create the JIT code cache."
de57b7009d695d16611595ae76d6899c88d74cd2 12-Feb-2010 Ben Cheng <bccheng@android.com> Use ashmem to create the JIT code cache.
c14fbc32b5b76f43b4a8a7f7b7bd1d5652b1ae27 11-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Minor codegen tuning.
60816e40ff5cf4d5a5d612f4c6e43226e86d7851 11-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Minor codegen tuning."
b33e929cf732e876ac7ab6039498398dca986644 11-Feb-2010 Carl Shapiro <cshapiro@google.com> Merge "Allocate a contiguous region of virtual memory to be subdivided among the various heaps managed by the garbage collector. Because we cannot tell how far the break has been advanced by morecore, we over allocate virtual memory and grain each heap on a multiple of the maximum heap size. If we could reckon the position of the break, we could allocate just as many pages as required. This requires exporting more state from mspace.c, a refinement I will reserve for a future change list." into dalvik-dev
036736c0464365b2841869ded9c186532815326c 11-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Minor codegen tuning.
457773d6835f81b0e6d18eea3de0fba9f1f8bf8e 11-Feb-2010 Jesse Wilson <jessewilson@google.com> Fixing problems with the test runner's ability to parse expected results files.

It appears that the original authors of this testing framework didn't really
know whether these files were supposed to be XML or HTML, UTF-8 or UTF-16, and
so there's quite a mess of processing in order to canonicalize them.
3fa5f250c0b6ca2620c037f79cba0735cbcc28c7 11-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing some of our XSLT implementation issues."
75d1e095bc9f1352e6828dfaa383d11bd21ed971 11-Feb-2010 The Android Open Source Project <initial-contribution@android.com> am a38780c9: merge from open-source master

Merge commit 'a38780c9858aee807a52ad5615da4d32a4bafca0'

* commit 'a38780c9858aee807a52ad5615da4d32a4bafca0':
Fix a couple minor bugs (bug 2404859) in TraceDump.c
Added support for filter in dmtracedump tool, along with some test cases.
Fix for unmatched entry/exit points in test traces
a8861b821beef6a15fc7430b7f54865ab3e2c1a8 11-Feb-2010 Brian Carlstrom <bdc@google.com> Make DalvikRunner more resilient to running immediately after device reboot

Changed EnvironmentDevice.prepare to waitForDevice and
waitForNonEmptyDirectory("/sdcard") before proceeding to fix problem with
running immediately after "fastboot flashall"

dalvik/libcore/tools/runner/java/dalvik/runner/EnvironmentDevice.java

Added Adb.waitForDevice and Adb.waitForNonEmptyDirectory

dalvik/libcore/tools/runner/java/dalvik/runner/Adb.java

Added Command.executeWithTimeout based on code refactored from Mode.java

dalvik/libcore/tools/runner/java/dalvik/runner/Command.java
dalvik/libcore/tools/runner/java/dalvik/runner/Mode.java
29d0e9983e88d68b0bd2b4a1fd9e497715478473 10-Feb-2010 Carl Shapiro <cshapiro@google.com> Allocate a contiguous region of virtual memory to be subdivided among
the various heaps managed by the garbage collector. Because we cannot
tell how far the break has been advanced by morecore, we over allocate
virtual memory and grain each heap on a multiple of the maximum heap
size. If we could reckon the position of the break, we could allocate
just as many pages as required. This requires exporting more state
from mspace.c, a refinement I will reserve for a future change list.
866b7049d21b1c75d9af68c17d8900b8db137fa1 10-Feb-2010 jeffhao <jeffhao@google.com> Added LDMIA/STMIA support to Self Verification mode.
22837a47a65c17fd50fec697e0ba70535e33d7b5 11-Feb-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master
e2be4f4d2be356d0b16d62bd61e8d3d88456a61c 03-Feb-2010 Elliott Hughes <enh@google.com> Add a general-purpose scoped pointer for libcore JNI.

This is a functional equivalent of C++0x's std::unique_ptr.

(I'm not planning to use this in froyo, but I want it there in case I have to
backport changes from dalvik-dev.)
344d0858b26cb562258a3afcd4264515ab4228a2 09-Feb-2010 Ben Cheng <bccheng@android.com> Support per-application switch to execute the VM in safe mode.

This is the implementation on the VM side to consume the android:safeMode=true
attribute and force the application to run in interpreter-only mode (the
current safe mode).

Bug: 2267583
1a040a4491e226337e10ee70705a9f0c1edef127 11-Feb-2010 Ben Cheng <bccheng@android.com> Free memory associated with the trace descriptor of ALL dropped JIT work orders

To further reduce the memory consumption only enable the method vs trace
compile size stats when WITH_JIT_TUNING is configured.
26f06c0388d38f6ab8dd56d6e48e862ab533aa97 09-Feb-2010 jeffhao <jeffhao@google.com> Added missing break statements and improved debugging in SelfVerification.
7c82fcffead2dbe7b4aa23c16a115aa8d1cc38a2 02-Feb-2010 Jesse Wilson <jessewilson@google.com> Fixing some of our XSLT implementation issues.

These changes move our XSLT code to passing 1898/3173 of the OASIS tests.
To contrast, the RI passes 2105/3173 tests.

Highlights:
- Implementing getTextContent() for nodes
- Removing validation during transforms. We don't support validation!
- Fixing attribute constraints to match the spec
- Fixing test suite to not confuse BaseURI from NamespaceURI
9ea8a5a5cd43e41cd8ebc20d5e0b0123b4a7eee1 10-Feb-2010 Ben Cheng <bccheng@android.com> Merge "Support per-application switch to execute the VM in safe mode."
a84a8756630a4a76fe7ed0f7903b9a57f277519b 10-Feb-2010 Jeff Hao <jeffhao@google.com> Merge "Added LDMIA/STMIA support to Self Verification mode."
9d6bf9d8b9c9a1c2dbe91963cadc12ce0da647d0 10-Feb-2010 Dan Egnor <egnor@google.com> Merge "Add a setHandshakeTimeout() to OpenSSLSocketImpl, which sets a read timeout that only applies to the SSL handshake step."
b0908f166ab7021beff5cb35c9164970875755cc 10-Feb-2010 Dan Egnor <egnor@google.com> Add a setHandshakeTimeout() to OpenSSLSocketImpl, which sets
a read timeout that only applies to the SSL handshake step.

Bug: 2362543
0c31a7b6ea04157b988e84d43de8a85ce54c39e7 10-Feb-2010 Brian Carlstrom <bdc@google.com> Fix NamingPatternCodeFinder to detect final classes
db9a653296d57936d9d16109df7713acdbb1ffab 09-Feb-2010 Ben Cheng <bccheng@android.com> Support per-application switch to execute the VM in safe mode.

This is the implementation on the VM side to consume the android:safeMode=true
attribute and force the application to run in interpreter-only mode (the
current safe mode).

Bug: 2267583
00c13ee7352d72ebd0bc8d95f9a833cee0c98f5c 10-Feb-2010 jeffhao <jeffhao@google.com> Added LDMIA/STMIA support to Self Verification mode.
7cabde823e8b6c8ae5c7070c777b6efb10871e97 10-Feb-2010 Brian Carlstrom <bdc@google.com> Merge "Remove TestRunner.success field / Make postCompileTest return void"
ac60b837825872371ffebbf130160b9fe8dbeb6e 10-Feb-2010 Brian Carlstrom <bdc@google.com> Remove TestRunner.success field / Make postCompileTest return void

SUMMARY:
- Change TestRunner subclasses to instead implement a Runner interface
- Cleanup runtime classpath generation
- Misc improvements

DETAILS:

Change TestRunner subclasses to instead implement a Runner interface

*Runner classes now implement the new Runner interface instead of
extending TestRunner. prepareTest/test now take a "Class
testClass" instead of accessing a "String testClass" from the
superclass. This also means that all their "static void main"
methods are removed and replaced with a single main method in
TestRunner. TestActivity can now instantiate a TestRunner and call
its "boolean run()" method to execute tests and retrieve their
SUCCESS/FAILURE status via the return value, allowing the removeal
of TestRunner.success. Mode now needs to explicitly include
TestRunner.java in the list of code to compile because it no
longer is implicitly found by compiling its former subclasses.

java/dalvik/runner/TestRunner.java
java/dalvik/runner/Runner.java
java/dalvik/runner/CaliperRunner.java
java/dalvik/runner/JUnitRunner.java
java/dalvik/runner/JtregRunner.java
java/dalvik/runner/MainRunner.java
java/dalvik/runner/Mode.java

CodeFinder.getRunnerClass now returns a Runner, not a TestRunner

java/dalvik/runner/CodeFinder.java
java/dalvik/runner/JUnitFinder.java
java/dalvik/runner/CaliperFinder.java
java/dalvik/runner/JtregFinder.java
java/dalvik/runner/MainFinder.java

Similarly, TestRun.runnerClass is now a Runner, not a TestRunner

java/dalvik/runner/TestRun.java

Move logic to run a test based on TestProperties.RUNNER_CLASS from
TestActivity to TestRunner since its now used in all cases, not
just the Activity case. TestActivity.ActivityRunner remains the
one subclass of TestRunner, accessing the TestRunner.run(...)
logic via super.run(...), allowing it to maintain its special
result file writing logic.

java/dalvik/runner/TestActivity.java
java/dalvik/runner/TestRunner.java

Moved writing of TestProperties.RUNNER_CLASS from ActivityMode now
that it is used for all Modes.

java/dalvik/runner/ActivityMode.java
java/dalvik/runner/Mode.java

Since CaliperRunner now has a "Class testClass", it uses the more
strongly typed Runner.main(Class<? extends Benchmark>, ...) API.

java/dalvik/runner/CaliperRunner.java

Fixing javadoc TestRunner->Runner
java/dalvik/runner/TestProperties.java

Adding new Runner class to the build.

Android.mk

Cleanup runtime classpath generation

Changed Mode.postCompileTest to return void instead of Classpath
to match Most.postCompileTestRunner. Removed passing test
classpath from compile to run via TestRun.testClasspath. Instead,
Vm.getRuntimeSupportClasspath now is used to compute full
classpath, instead of using the old TestRun.getTestClasspath in
Mode. Mode.compileTest now uses a boolean to indicate compilation
success, instead of null/non-null Classpath. TestRun.testClasspath
is now replaced with TestRun.testCompiled which is used to track
compilation success. In retrospect, it seems like using the
absense of a Classpath as an indication of compilation
success/failure seems like somewhat of a hack.

java/dalvik/runner/Mode.java
java/dalvik/runner/ActivityMode.java
java/dalvik/runner/DeviceDalvikVm.java
java/dalvik/runner/JavaVm.java
java/dalvik/runner/TestRun.java

New deviceDexFile to make sure dex file name generation stays
consistent between build time and compile time.

java/dalvik/runner/DeviceDalvikVm.java

Changed MainRunner implementation to more closely match JtregRunner
java/dalvik/runner/MainRunner.java

Misc improvements

Changed TestActivity to use a shutdown hook to catch when a test
calls System.exit so we can be sure to write a result file and not
simply wait for the timeout to catch our failure to return.

java/dalvik/runner/TestActivity.java

Changed Mkdir.mkdirs to use new Command().execute to get automatic
logging of command execution with --verbose

java/dalvik/runner/Mkdir.java

Improved javadoc

java/dalvik/runner/Mode.java

Fixed apparently misplaced @SuppressWarnings("unchecked")
java/dalvik/runner/OptionParser.java

Enabling warnings as errors and turning on unchecked warnings.

Android.mk

Made sure test script works with fresh device and improved logging

test-dalvik-runner.sh
ff87a80454bc72a03e43db7d2c96a689b3fbb6f5 09-Feb-2010 jeffhao <jeffhao@google.com> Added missing break statements and improved debugging in SelfVerification.
0024060b559d385fd0ffa0d2e847e4d134cbd14d 29-Jan-2010 Jack Veenstra <veenstra@google.com> Fix a couple minor bugs (bug 2404859) in TraceDump.c

1. A switch statement was missing a "break" after option letter "f".
2. The heavily-used function "lookupMethod()" had an expression using mod (%) instead of bitwise-and (&).
aebc0b705fa88ef11100d86c15bb549a6c9ca17b 18-Dec-2009 Rodrigo Ipince <ipince@google.com> Added support for filter in dmtracedump tool, along with some test cases.

Some corner cases are still not handled in the code, but will be eventually.
89c4ebf70e0f89448fe197af1aa3d6338ea214a2 22-Oct-2009 Rodrigo Ipince <ipince@google.com> Fix for unmatched entry/exit points in test traces

Added support for the creation of test traces with unmatched entries/exits (current implementation segfaulted in some cases)
14365897407bc33822e61c5bea51ecb3791a8b26 09-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Phase 1 of register utility cleanup/rewrite - the great renaming

Renaming of all of those register utilities which used to be local because
of our include mechanism to the standard dvmCompiler prefix scheme.
8afa845254a44b64be3d432e0dd9900d1a754cc6 09-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Phase 1 of register utility cleanup/rewrite - the great renaming"
eb61dfa592ee9719dc49c981c2ac69aae2ad2c31 09-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Phase 1 of register utility cleanup/rewrite - the great renaming

Renaming of all of those register utilities which used to be local because
of our include mechanism to the standard dvmCompiler prefix scheme.
f14faf49f8ec101e051540d9ae9f65fe293ae2de 09-Feb-2010 Brian Carlstrom <bdc@google.com> Merge "DalvikRunner can run a test as an android.app.Activity & PathClassLoader.toString change"
b5b17923c3aa73a3e39dc98bacb137bc68ec76df 05-Feb-2010 Brian Carlstrom <bdc@google.com> DalvikRunner can run a test as an android.app.Activity & PathClassLoader.toString change

SUMMARY:
- PathClassLoader.toString prints path
- DalvikRunner --mode activity now working
- new DalvikRunner --no-clean vs --no-clean-after behavior

DETAILS

Dalvik runtime change
Changed PathClassLoader.toString to print the class loaders path
Also fixed variable name in commented out debug code
libcore/dalvik/src/main/java/dalvik/system/PathClassLoader.java

Dalvik Runner changes

Mode is the new abstract superclass of the existing Vm
class. ActivityMode is for the new Mode of running as a Activity
on the device. Vm is now a subclass of Mode and its JavaVm and
DeviceDalvikVm still exist although some code has been refactored
into the new Environment clases (see below)

libcore/tools/runner/java/dalvik/runner/Mode.java
libcore/tools/runner/java/dalvik/runner/ActivityMode.java
libcore/tools/runner/java/dalvik/runner/DeviceDalvikVm.java
libcore/tools/runner/java/dalvik/runner/JavaVm.java
libcore/tools/runner/java/dalvik/runner/Vm.java

Environment and its subclasses EnvironmentHost and
EnvironmentDevice allow us to reuse some common code between the
two different device modes (ActivityMode and
DeviceDalvikVm). Basically code that was more about where and how
to do things based on where the code was running as opposed to how
the code was running moved to the Environment classes. For
example, prepare() logic for /sdcard/ and ADB code in general.

libcore/tools/runner/java/dalvik/runner/DeviceDalvikVm.java
libcore/tools/runner/java/dalvik/runner/Environment.java
libcore/tools/runner/java/dalvik/runner/EnvironmentDevice.java
libcore/tools/runner/java/dalvik/runner/EnvironmentHost.java
libcore/tools/runner/java/dalvik/runner/JavaVm.java
libcore/tools/runner/java/dalvik/runner/Vm.java

Adding new files
libcore/tools/runner/Android.mk

Aapt is a wrapper for "aapt" similar to Adb and Dx
libcore/tools/runner/java/dalvik/runner/Aapt.java

Added Adb.install and Adb.uninstall methods
Changed from using File.toString to File.getPath for clarity
libcore/tools/runner/java/dalvik/runner/Adb.java

CodeFinder has been extended so that Driver can ask finders what
they need to build and run, specifically through the new
getRunnerJava and getRunnerClasspath. (As part of this
NamingPatternCodeFinder's runnerClass was changed to
getRunnerClass for consistency with the superclass.) This was
important for running as an Activity because we want to minimize
what we pack into the APK file because of the "dx --dex" runtime
and not just pull in all possible runners and supporting
libraries. TestRun objects also hold onto this information from
their finders.

libcore/tools/runner/java/dalvik/runner/Driver.java
libcore/tools/runner/java/dalvik/runner/CodeFinder.java
libcore/tools/runner/java/dalvik/runner/CaliperFinder.java
libcore/tools/runner/java/dalvik/runner/JUnitFinder.java
libcore/tools/runner/java/dalvik/runner/JtregFinder.java
libcore/tools/runner/java/dalvik/runner/MainFinder.java
libcore/tools/runner/java/dalvik/runner/NamingPatternCodeFinder.java
libcore/tools/runner/java/dalvik/runner/TestRun.java

TestRunner TestRunner's className is now testClass to clarifiy it
from the runnerClass.

libcore/tools/runner/java/dalvik/runner/TestRunner.java
libcore/tools/runner/java/dalvik/runner/CaliperRunner.java
libcore/tools/runner/java/dalvik/runner/JUnitRunner.java
libcore/tools/runner/java/dalvik/runner/JtregRunner.java
libcore/tools/runner/java/dalvik/runner/MainRunner.java

Classpath now has a Collection.of and Collection.addAll that take
a Collection<File> instead if just a File...

libcore/tools/runner/java/dalvik/runner/Classpath.java

Added Command.args(File arg) to avoid a lot of
args(file.getPath())

libcore/tools/runner/java/dalvik/runner/Command.java

Option --clean has expanded to --clean-before, --clean-after, and
--clean. Now --no-clean will remove nothing as Elliot
requested. --no-clean-after is now what is useful for
DalvikRunner debuggin. Default is still to clean before and
after.

libcore/tools/runner/java/dalvik/runner/DalvikRunner.java

Moved Vm.DALVIK_RUNNER_HOME to DalvikRunner.HOME.
/tmp/<UUID> paths are now /tmp/dalvikrunner/<UUID> paths are easier cleanup.

libcore/tools/runner/java/dalvik/runner/DalvikRunner.java

Driver was changed to use a ExecutorCompletionService around the
ExecutorService so that exceptions from the execute threads could
be reported on the main thread.

libcore/tools/runner/java/dalvik/runner/Driver.java

We now build the testrunner before the test so that its classes
will be around to be packed into APK files.

libcore/tools/runner/java/dalvik/runner/Driver.java

Dx.dex now takes File arguments instread of Strings. Dx.dex also
needs to pass additional memory arguments to not run out of memory
building the big dex for the APK. The values I used where from the
build/core/definitions.mk

libcore/tools/runner/java/dalvik/runner/Dx.java

postCompile was split into postCompileTestRunner and
postCompileTest because the packaging requires are very different
in each case for ActivityMode. Specifically, the test runner is
not post-packaged seperately, but packaged in the APK with each
test.

libcore/tools/runner/java/dalvik/runner/ActivityMode.java
libcore/tools/runner/java/dalvik/runner/DeviceDalvikVm.java
libcore/tools/runner/java/dalvik/runner/JavaVm.java
libcore/tools/runner/java/dalvik/runner/Vm.java

Changed testClass to test to avoid collision with new superclass field

libcore/tools/runner/java/dalvik/runner/JtregRunner.java
libcore/tools/runner/java/dalvik/runner/MainRunner.java

Added @SuppressWarnings("unchecked")

libcore/tools/runner/java/dalvik/runner/OptionParser.java

New android.app.Activity based on Elliot's TestAPK. It encapsulates an
ActivityRunner that invokes the appropriate TestRunner based on test.properties.

libcore/tools/runner/java/dalvik/runner/TestActivity.java

New class that shared contains (old and some new) between the
DalvikRunner and the TestRunner.

libcore/tools/runner/java/dalvik/runner/TestProperties.java

Regression test script for debugging the matrix of various
DalvikRunner modes and test types:

libcore/tools/runner/test-dalvik-runner.sh
993c2a84c74b66d997633ed62ee42a8b0dd79b2b 06-Feb-2010 jeffhao <jeffhao@google.com> Cleaned up uninitialized variable use warnings in Self Verification mode.
999df484c2e5e732c79db9d043941b3b73ea8f6a 09-Feb-2010 Ben Cheng <bccheng@android.com> Free the memory associated with the trace descriptor of dropped JIT work orders.
0f7ac37537f34d2ff748810bab7ff0d148efafd7 05-Feb-2010 Ben Cheng <bccheng@android.com> Enable JIT parameters to be initialized in an architecture dependent way.

The search for optimial value is still ongoing. The current settings are:

v5 v7
JIT profile table 512 2048
JIT code cache 512K 1M
JIT threshold 200 40
95e15938adb46c07cfe6e3148581e0ae8ebccc2c 09-Feb-2010 Ben Cheng <bccheng@android.com> Free the memory associated with the trace descriptor of dropped JIT work orders.
cbf14adce7bcefcceb539e8aaf5d4585567825ef 09-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Startup/Shutdown cleanup

A legacy of early parallel Jit development was separate Startup & Shutdown
code for the interpreter half of the jit (dvmJitStartup/dvmJitShutdown)
and the compiler half (dvmCompilerStartup/dvmCompilerShutdown). This cl
eliminates the dvmJit pair. Additionally, guard coded added to the
framework callback to return immediately if the Jit isn't active.
3c65db201a5ed5d4d2488c19f38e86a6886c9ea6 09-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Startup/Shutdown cleanup

A legacy of early parallel Jit development was separate Startup & Shutdown
code for the interpreter half of the jit (dvmJitStartup/dvmJitShutdown)
and the compiler half (dvmCompilerStartup/dvmCompilerShutdown). This cl
eliminates the dvmJit pair. Additionally, guard coded added to the
framework callback to return immediately if the Jit isn't active.
6b098c2c5bd60f8e907786379920d6a146d5e05b 08-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Remove references to interpState from C interpreter

Fix for Issue 2157987:
Eventual isssue with interpState->jitState in <dalvik/vm/mterp/c/header.c
4fbc7b04eb7bd79a64955c9af87ef25c0cebc2f4 08-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Remove references to interpState from C interpreter

Fix for Issue 2157987:
Eventual isssue with interpState->jitState in <dalvik/vm/mterp/c/header.c
3bd4f4c734d310b80fed96edfeeacb95428d799f 06-Feb-2010 Elliott Hughes <enh@google.com> Fix a bug I introduced to SimpleTimeZone with my Calendar.setTimeZone fix.

Our implementations of SimpleTimeZone and Calendar became mutually recursive
for custom time zones when I changed GregorianCalendar.computeFields to use
TimeZone.inDaylightTime --- SimpleTimeZone's implementation of inDaylightTime
creates a GregorianCalendar leading to a stack overflow looking something
like this...

at java.util.SimpleTimeZone.inDaylightTime(SimpleTimeZone.java:599)
at java.util.GregorianCalendar.computeFields(GregorianCalendar.java:595)
at java.util.Calendar.complete(Calendar.java:819)
at java.util.Calendar.setTimeInMillis(Calendar.java:1319)
at java.util.GregorianCalendar.<init>(GregorianCalendar.java:339)
at java.util.GregorianCalendar.<init>(GregorianCalendar.java:325)
at java.util.SimpleTimeZone.inDaylightTime(SimpleTimeZone.java:599)

I've cut the knot by introducing "Grego" from ICU4J, and rewriting our
SimpleTimeZone.inDaylightTime in the style of ICU4J's implementation.

Maybe we'll be using the ICU4J calendar implementation sooner than I thought!
8c66bb7d6ea695b6d743209bf23a8fc22db8d5f0 06-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "JIT: Replace missing ending comment marker MONITOR_ENTER template" into dalvik-dev
345af66b55e27c45688df6f57d4e0e8eb68bb270 06-Feb-2010 Bill Buzbee <buzbee@google.com> JIT: Replace missing ending comment marker MONITOR_ENTER template

...which, luckily, was followed by a debug version of the same handler
so everything magically worked anyway. I should buy a lottery ticket today.
2867fb43acaec67cecee40865e797e8ba0f77492 06-Feb-2010 Elliott Hughes <enh@google.com> Merge "Track upstream fixes to two broken tests." into dalvik-dev
147182a0f437700775fff7cee9fa61e4a5b92250 05-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Start the Jit when framework signals on first screen draw

Cleanup of delayed start - introduce dvmRelativeCondWait in Sync.c.
Additionally, support for deadman timer to start Jit when no screen draws
happen, and to start immediately when running stand-alone.

Fixed bug in assert variant of libdvm - recent MONITOR change had neglected
to add a new type of exit to the exit stats.
737721badc81d76400d1abb75bd23f28f6a5079c 05-Feb-2010 Ben Cheng <bccheng@android.com> Enable JIT parameters to be initialized in an architecture dependent way.

The search for optimial value is still ongoing. The current settings are:

v5 v7
JIT profile table 512 2048
JIT code cache 512K 1M
JIT threshold 200 40
f92f9ca513358c84654df27b62a53e7ee29a863e 06-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "JIT: Replace missing ending comment marker MONITOR_ENTER template"
8fee19109bebb8daec95458210b88778b9d00b4e 06-Feb-2010 Bill Buzbee <buzbee@google.com> JIT: Replace missing ending comment marker MONITOR_ENTER template

...which, luckily, was followed by a debug version of the same handler
so everything magically worked anyway. I should buy a lottery ticket today.
611d92206cb917d189a5335cb91eaba7e4e339b8 05-Feb-2010 Carl Shapiro <cshapiro@google.com> Eliminate the post-zygote heap and reuse the zygote allocation heap
for application allocations. Previously, applications were given
their own heap separate from the zygote. However, the zygote never
allocates more than 10s of objects most of which quickly become
garbage. After an application fork, these objects are reclaimed,
dirtying the pages they and their malloc structures reside on. This
is a further win for the GC as it results in one fewer mspace to
considered for range checks and bitmap traversals.
b1a070cd48ea5ae9b0f2cce2ec1eefdca2f6a293 06-Feb-2010 Jeff Hao <jeffhao@google.com> Merge "Cleaned up uninitialized variable use warnings in Self Verification mode."
945c418bf552bca59edb85b120bf7031f134e4d7 06-Feb-2010 jeffhao <jeffhao@google.com> Cleaned up uninitialized variable use warnings in Self Verification mode.
ac773f6982ac2ca3414a03c4eff8d281ed956145 06-Feb-2010 Andy McFadden <fadden@android.com> Merge "Improve dexdeps output."
1ed67a062be9a61e8653946877600ce7fc39ea2d 06-Feb-2010 Andy McFadden <fadden@android.com> Improve dexdeps output.

This adds the list of referenced classes to the output. Previously it
only emitted fields and methods, so classes that were referenced by type
only (e.g. some dalvik annotation classes) weren't visible.

The XML output now more closely resembles the API files, having
distinct package/class tags. We no longer emit a return type for
constructors.
07f47881596346e3aacbc96e6f001726fef0a7c7 05-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Start the Jit when framework signals on first screen draw

Cleanup of delayed start - introduce dvmRelativeCondWait in Sync.c.
Additionally, support for deadman timer to start Jit when no screen draws
happen, and to start immediately when running stand-alone.

Fixed bug in assert variant of libdvm - recent MONITOR change had neglected
to add a new type of exit to the exit stats.
4b9724831ebdc991b6078b41c196788baf75f536 05-Feb-2010 The Android Open Source Project <initial-contribution@android.com> am adbe0586: am 217f8ef4: reconcile main tree with open-source eclair

Merge commit 'adbe0586957a71d2aa9f100646882dbca1c78f12'

* commit 'adbe0586957a71d2aa9f100646882dbca1c78f12':
android-2.1_r1 snapshot
ad7bfd7a701416629e13fc84850779db4ff06fed 05-Feb-2010 Elliott Hughes <enh@google.com> Track upstream fixes to two broken tests.
9768ca16f9448cfd4e08749c84d4a6f59188aef3 05-Feb-2010 The Android Open Source Project <initial-contribution@android.com> am 217f8ef4: reconcile main tree with open-source eclair

Merge commit '217f8ef4c1c151c63382dc0785edd960c233f62e' into eclair-plus-aosp

* commit '217f8ef4c1c151c63382dc0785edd960c233f62e':
android-2.1_r1 snapshot
e3f8800c583ed7528292822c9d8bbaab8da12aef 05-Feb-2010 The Android Open Source Project <initial-contribution@android.com> reconcile main tree with open-source eclair
d7a0273a39a02549a4d14c80cb2c02cb0ea87700 05-Feb-2010 Elliott Hughes <enh@google.com> Fix accidental API pollution in java.util.zip.

Package-private interface ZipConstants turns out to be implemented by
all the public Zip* classes in the package, so they can uselessly
expose duplicate copies of the constants. This means I can't add my
own constants there because they'll leak.

This didn't break the build because we lose the "implements ZipConstants"
and ZipConstants.class somewhere around the apicheck part of the build.
See http://b/2421864 for that.

Anyway, let's mop up the spill before anyone can see it...
ac0ce69c50fd6800edaa0e4a285b0e6bd16b9f6f 05-Feb-2010 Elliott Hughes <enh@google.com> Merge "Fix decoding of filenames in zip files, when read by ZipFile." into dalvik-dev
95bd0f20cdbec7e58ea0d78976a1f22524fd7873 05-Feb-2010 Elliott Hughes <enh@google.com> Fix decoding of filenames in zip files, when read by ZipFile.

Java always writes UTF-8 filenames in zip files, but harmony cunningly
always reads them back as ISO-8859-1. Fix that, and also set the flag
that says "these filenames are UTF-8" (the RI will do this from Java 7
on).

Note that this patch doesn't actually touch ZipFile because the bug is
in the package-private ZipEntry constructor that's used by
ZipFile.readCentralDirectory.

Bug: http://code.google.com/p/android/issues/detail?id=4690
a333adc684c4d5cb8ed3b84d69085e6f0ede4e5b 03-Feb-2010 jeffhao <jeffhao@google.com> Made Self Verification mode's memory interface less intrusive.
7130c41215e945e1cbfeb1bd016078ee7505c4a0 05-Feb-2010 Jeff Hao <jeffhao@google.com> Merge "Made Self Verification mode's memory interface less intrusive."
de1589bb6241f30bc52ef7f9a95340ec0d8b3904 03-Feb-2010 jeffhao <jeffhao@google.com> Made Self Verification mode's memory interface less intrusive.
777b7e2de1a5a513c3706710d84e3cd35b602ffe 04-Feb-2010 Elliott Hughes <enh@google.com> Merge "Minimal fix for Calendar.setTimeZone." into dalvik-dev
a1509a7e5b38041dd7e3185e23324bf967306d2d 04-Feb-2010 Elliott Hughes <enh@google.com> Minimal fix for Calendar.setTimeZone.

The interpretation of Calendar's competing member variables when the time,
time zone, and fields[] don't agree is confusing, and led to
Calendar.setTimeZone having no effect. I've improved the documentation
based on my reverse-engineering and fixed this bug. I noticed a lot of
other code that looks incorrect though, and I've raised http://b/2419810
suggesting that we switch to icu4j's calendars in the longer term.

Bug: http://code.google.com/p/android/issues/detail?id=6184
cebb30a02c3233126064a731de2764480f07630c 04-Feb-2010 Nagendra Modadugu <ngm@google.com> Merge "Add two TrustCenter roots: - TC TrustCenter Class 2 CA II - TC TrustCenter Universal CA I"
4b6ffd0ba0ef8c0029e5a9fdfcf286c0181f6000 04-Feb-2010 Nagendra Modadugu <ngm@google.com> Add two TrustCenter roots:
- TC TrustCenter Class 2 CA II
- TC TrustCenter Universal CA I
bec5e8ba0abd21a163a9b291c6c5144e8d9566a5 04-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Fix deadlock in method tracing.
c9d43a78d41ee48add61197417c1d3d4dd646434 04-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Fix deadlock in method tracing.
c82e2d4972875cf4343fba067ee31a486e07af54 27-Jan-2010 Ben Cheng <bccheng@android.com> Fix performance issues related to chaining and unchaining.

1) Patching requests for predicted chaining cells (used by virtual/interface
methods) are now batched in a queue and processed when the VM is paused for GC.

2) When the code cache is full the reset operation is also conducted at the
end of GC pauses so this totally eliminates the need for the compiler thread
to issue suspend-all requests. This is a very rare event and when happening it
takes less than 5ms to finish.

3) Change the initial value of the branch in a predicted chaining cell from 0
(ie lsl r0, r0, #0) to 0xe7fe (ie branch to self) so that initializing a
predicted chaining cell doesn't need to suspend all threads. Together with 1)
seeing 20% speedup on some benchmarks.

4) Add TestCompability.c where defining "TEST_VM_IN_ECLAIR := true" in
buildspec.mk will activate dummy symbols needed to run libdvm.so in older
releases.

Bug: 2397689
Bug: 2396513
Bug: 2331313
e48a8e1af5c21b315c5cf92ef30ed6ce7fcb417b 04-Feb-2010 Elliott Hughes <enh@google.com> Merge "Remove obviously bogus @KnownFailure annotations." into dalvik-dev
ca04f5cfc88bad1b9b2ac08e074763c794a97f5b 04-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Rework monitor enter/exit to simplify thread suspension" into dalvik-dev
0b58292ff0d810a70867f74514c297609d94da55 04-Feb-2010 Elliott Hughes <enh@google.com> Remove obviously bogus @KnownFailure annotations.

We've already agreed @KnownFailure Must Die (to be replaced by expectations for
DalvikRunner), but some are -- I think -- obviously in need of investigation.
This patch removes @KnownFailure for all cases where the reason looks bogus.
I've left the @KnownFailure annotations in cases where I it looks "reasonable"
in that we simply haven't implemented the functionality (pack200, say), and
a few other cases. Those should probably be done in a separate patch that adds
expectations at the same time.

But these ones, I think, all need investigating. (There's a scary number of
Arabic-related bugs in here, given that we're supposed to be shipping Arabic
in froyo.)
bb3d085be0fc65a3dee33bfd4f4356fd2e506a56 04-Feb-2010 Elliott Hughes <enh@google.com> Remove a workaround for an openssl bug that's been fixed upstream.

The >= versus > bug was fixed in openssl somewhere between .98g and .98k (we
don't have _all_ versions conveniently lying around), and our removal of
the disjunct was irrelevant. Call the now-correct upstream code instead of
manually inlining and hacking it.

Also rename BN_lshift to BN_shift, since it handles both left and right shifts.
25008a7eff22a09c61de2a42ed6aeeca6c8df603 02-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Rework monitor enter/exit to simplify thread suspension

The Jit must stop all threads in order to flush the translation cache (and
other tables). Threads which are blocked in a monitor wait cause some
headache here because they effectively hold a references to the translation
cache (though the return address on the native stack). The new model
introduced in this CL is that for the fast path of monitor enter, control
is allowed to resume in the translation cache. However, if we need to do a
heavyweight lock (which may cause us to block) control does not return to the
translation cache but instead bails out to the interpreter. This allows us to
safely clear the code cache even if some threads are in THREAD_MONITOR state.
d3b68e92353cef6316191ebfc857c27a04964e7e 03-Feb-2010 Andy McFadden <fadden@android.com> Increase the size of the stack reserved area.

This increases the size of the "reserved" area, used for handling stack
overflows, from 512 to 768 bytes. There will be a corresponding
reduction in the amount of stack space available to interpreted threads
(which currently default to 12KB).

It turns out 512 bytes isn't quite enough space when class lookup throws
an exception while resolving "catch" block classes during a stack
overflow error.

For bug 2398031.
fae07c44b7f42fa4f8b071528a7b5bbe8455b0da 03-Feb-2010 Andy McFadden <fadden@android.com> Fix stack overflow edge case.

When a stack overflows, Dalvik allows the stack to expand into a
"reserved" area, so that it has enough room to create and initialize the
StackOverflowError object. While the stack is expanded we also do the
search for an appropriate "catch" block, which may require resolving
some exception classes.

As it happens, things go badly when the "catch" resolution throws an
exception. The VM tries to shrink the stack back down after the second
exception is finished, rather than waiting for the initial SOE to
finish. Since we still have some additional frames on the stack, we're
still occupying the "reserved" area, and the VM aborts when it detects
the situation.

This changes the stack cleanup to wait until the SOE is being dealt
with.

For bug 2398031.
5af0350d419c732d918f349684d1d54a11f65081 27-Jan-2010 Ben Cheng <bccheng@android.com> Fix performance issues related to chaining and unchaining.

1) Patching requests for predicted chaining cells (used by virtual/interface
methods) are now batched in a queue and processed when the VM is paused for GC.

2) When the code cache is full the reset operation is also conducted at the
end of GC pauses so this totally eliminates the need for the compiler thread
to issue suspend-all requests. This is a very rare event and when happening it
takes less than 5ms to finish.

3) Change the initial value of the branch in a predicted chaining cell from 0
(ie lsl r0, r0, #0) to 0xe7fe (ie branch to self) so that initializing a
predicted chaining cell doesn't need to suspend all threads. Together with 1)
seeing 20% speedup on some benchmarks.

4) Add TestCompability.c where defining "TEST_VM_IN_ECLAIR := true" in
buildspec.mk will activate dummy symbols needed to run libdvm.so in older
releases.

Bug: 2397689
Bug: 2396513
Bug: 2331313
8c43079e0d137c4c2120294e8bcaa5cc1b55e2d4 03-Feb-2010 Elliott Hughes <enh@google.com> Fix two compiler warnings.

Signed/unsigned comparison in "File.cpp", and && and || without parentheses
in "OpenSSLSocketImpl.cpp". There's another signed/unsigned comparison in
"ifaddrs-android.h" but that isn't fixable (http://b/2417132), which is
going to stand in the way of turning on -Werror.
3816eb892cbebf41f882fc608955a9a3fe1d3f4d 03-Feb-2010 Elliott Hughes <enh@google.com> Remove RuleBasedNumberFormat from our icu4jni fork, since we don't need it.

This is ICU API not used by Java, so there's no point pretending to maintain it.

Bug: http://b/2377457
c6bfe71064179c4135a56209a54c33d9021c600e 03-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Rework monitor enter/exit to simplify thread suspension"
d4e602f6314259929b98f2dbcc70c030b42ff58a 03-Feb-2010 Elliott Hughes <enh@google.com> Silence "note: the mangling of 'va_list' has changed in GCC 4.4".

Not strictly necessary for turning on -Werror for libcore, but worth doing
anyway.
eb401fd15cd0803a1fad56b0a1ef9801d95607e9 03-Feb-2010 Carl Shapiro <cshapiro@google.com> Merge "Fix a long standing bug within dvmHeapSourceGetObjectBitmaps. All callers of this function assign the return value to an unsigned value even though this function returns -1 in the error case. This causes the error checks to succeed in cases where it should otherwise fail. Rather than return -1 on error, I have elected to return 0 instead which just happens to be compatible with all current uses."
817bc9d8f5e4a058239bb0fd2eea3a5e0ea9b77e 02-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: Rework monitor enter/exit to simplify thread suspension

The Jit must stop all threads in order to flush the translation cache (and
other tables). Threads which are blocked in a monitor wait cause some
headache here because they effectively hold a references to the translation
cache (though the return address on the native stack). The new model
introduced in this CL is that for the fast path of monitor enter, control
is allowed to resume in the translation cache. However, if we need to do a
heavyweight lock (which may cause us to block) control does not return to the
translation cache but instead bails out to the interpreter. This allows us to
safely clear the code cache even if some threads are in THREAD_MONITOR state.
59debb4c54f7d8cb1c775266492e2de4b148c378 02-Feb-2010 Carl Shapiro <cshapiro@google.com> Fix a long standing bug within dvmHeapSourceGetObjectBitmaps. All
callers of this function assign the return value to an unsigned value
even though this function returns -1 in the error case. This causes
the error checks to succeed in cases where it should otherwise fail.
Rather than return -1 on error, I have elected to return 0 instead
which just happens to be compatible with all current uses.
ff4311d3eeb66053fe8a0db2e7790c34fca2c89a 02-Feb-2010 Jesse Wilson <jessewilson@google.com> Merge "A new test suite for our XSLT transforms."
4dd998e0805ffd7ae58a1a00ee515dd86c84d294 02-Feb-2010 Jesse Wilson <jessewilson@google.com> A new test suite for our XSLT transforms.

Currently the test suite isn't wired-in to run automatically. Before
that can happen I need to devise a way for the device to grab the
OASIS test .zip from the Internet (or distribute it with Android).

In the interim the test can be run by hand by manually copying the
test suite to the device ("adb push") and running the test suite's
main method. This approach might be workable in our continuous
build.

Note that the RI does horribly at this test suite - in my run it
reports the following:
FAILURES!!!
Tests run: 3173, Failures: 338, Errors: 730
1db0c0b25877687b5450282f1514faf1a16a732d 02-Feb-2010 Jesse Wilson <jessewilson@google.com> Restore our ability to parse an XML Document given a File argument
directly, rather than via a stream.

When I updated DocumentBuilder but not its subclass DocumentBuilderImpl,
some of the assumptions by DocumentBuilderImpl were violated.
829aaf46534517030c02670a176636b803d28459 02-Feb-2010 Elliott Hughes <enh@google.com> Merge "Move a test I wrote under our wing."
9a5ec8fe9f4ebf438ea7049cdcb9fa2384a571de 02-Feb-2010 Andy McFadden <fadden@android.com> Reduce VM shutdown verbosity.

Adds -verbose:shutdown flag, defaulted to "false". Cuts out most of the
log noise associated with shell commands.
4e72b4046110c48879a877f238148f9dd066a207 02-Feb-2010 Elliott Hughes <enh@google.com> Move a test I wrote under our wing.

I put this in amongst the harmony tests before we started our own little
tree of tests.
79e92ab6945c261ccdce7e8af84f99e49e803955 02-Feb-2010 Elliott Hughes <enh@google.com> Add a missing "static", found by FindBugs.
73c442d8436a103407c7d9dad061005a68f34178 02-Feb-2010 Elliott Hughes <enh@google.com> Merge "Fix BigDecimalTest.test_stripTrailingZero."
052d27cafe864275faef028fa877b76a7d5026bf 02-Feb-2010 Elliott Hughes <enh@google.com> Fix BigDecimalTest.test_stripTrailingZero.

jessewilson reverted an upstream change (https://issues.apache.org/jira/browse/HARMONY-4623)
that caused an RI incompatibility. Although it seems like the RI behavior is
wrong, the poor design of BigDecimal.equals (which checks both value *and*
scale) probably means we should remain compatible.

This patch changes the test expectation to match the RI's behavior and adds
a comment in both the code and its test explaining that this is deliberate.
48821a91f4e4bc0b137a8bf92d0fee9a0afadbe9 02-Feb-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: MethodTrace + Jit fix"
d64d3a9ef021e0dbcce49d88c2f5dbb4845cc815 02-Feb-2010 Elliott Hughes <enh@google.com> Merge "Remove @KnownFailure from tests that now pass."
201cd8efb9296930bf4646c43ff9976ae9d2c94d 02-Feb-2010 Elliott Hughes <enh@google.com> Merge "FindBugs didn't like setInternalField, and neither do I."
735b4299991d7fae50ba399063306ae89524f594 02-Feb-2010 Elliott Hughes <enh@google.com> Remove @KnownFailure from tests that now pass.

One of these tests still doesn't pass, but for a different reason know the
known failure is fixed, so I've removed that test's annotation too:

16) test_parseLjava_io_InputStreamLorg_xml_sax_helpers_DefaultHandlerLjava_lang_String(tests.api.javax.xml.parsers.SAXParserTest)junit.framework.AssertionFailedError
at tests.api.javax.xml.parsers.SAXParserTest.test_parseLjava_io_InputStreamLorg_xml_sax_helpers_DefaultHandlerLjava_lang_String(SAXParserTest.java:680)
at java.lang.reflect.Method.invokeNative(Native Method)
at com.google.coretests.CoreTestRunnable.runInternally(CoreTestRunnable.java:129)
at com.google.coretests.CoreTestRunnable.run(CoreTestRunnable.java:92)
at com.google.coretests.CoreTestResult.runProtected(CoreTestResult.java:148)
at com.google.coretests.CoreTestSuite.run(CoreTestSuite.java:278)
at com.google.coretests.CoreTestRunner.doRun(CoreTestRunner.java:141)
at com.google.coretests.CoreTestRunner.start(CoreTestRunner.java:317)
at com.google.coretests.CoreTestRunner.main(CoreTestRunner.java:110)
at com.google.coretests.Main.main(Main.java:45)
at dalvik.system.NativeStart.main(Native Method)
3a97f00210137e4868777bf8eac5ca9e25b01641 02-Feb-2010 Elliott Hughes <enh@google.com> FindBugs didn't like setInternalField, and neither do I.

"Exception is caught when Exception is not thrown in java.text.DecimalFormat$1.run()"

Since it will always fail anyway, because those fields don't exist, let's
just junk it.

It turns out that getInternalField is similarly useless, so junk it too.

I've tidied the whole readObject method so it's somewhat readable now.

I also fixed this FindBugs warning in passing:

"Method java.text.DecimalFormat.parse(String, ParsePosition) invokes inefficient
new Long(long) constructor; use Long.valueOf(long) instead"
ecdaa277e3c80af382e1e6a7cae785f5955705ac 02-Feb-2010 Andy McFadden <fadden@android.com> Merge "Minor clarification."
b8673d0a150954ffed7b43d32109b234dafe6527 01-Feb-2010 Andy McFadden <fadden@android.com> Minor clarification.

People seem tempted to skip past the introductory material and jump
straight to the meaty bits, but the introduction tells you some
important things (like how you need to stop/start the framework).
d3f2995f3c6216319f2ce7dae22fbad7fcc99215 01-Feb-2010 Bill Buzbee <buzbee@google.com> Jit: MethodTrace + Jit fix

Add checks for debug & trace mode to avoid re-entering Jit'd code.
This is the conversative solution - we'll eventually want the Jit
to integrate support for tracing and debug into Jit'd code.
bc2cfa9ba1579f78823df953722e2399fd79edbe 01-Feb-2010 Andy McFadden <fadden@android.com> Merge "Bump up the max stack depth."
6b8a5a3f0812239807e3c60e71f7778ecda979c5 01-Feb-2010 Andy McFadden <fadden@android.com> Bump up the max stack depth.

This increases the maximum stack depth in the DDMS "allocation tracker"
tab from 8 to 16. Adds about 32KB to the static size, plus a variable
amount as the data is prepared for transmission to DDMS.

For bug 2345675.
239b6f88b71eac0805a2d17df05a80104149d598 01-Feb-2010 Andy McFadden <fadden@android.com> Merge "Update with froyo change."
30fca7760f67cfb79886a7b49cae160a092e5205 01-Feb-2010 Elliott Hughes <enh@google.com> Fix "unmappable character for ascii" warnings in libcore tests.

The libcore "core" and "core-test" builds are now warning-free. (For Java.)
b42e169c354274d54ec04033bb616fa44534be80 01-Feb-2010 Elliott Hughes <enh@google.com> Fix varargs warnings in libcore tests.
0babc307ebe97fd2c13b7e36fea2910941944f02 01-Feb-2010 Elliott Hughes <enh@google.com> Merge "Fix warnings in the new XML code."
05459e6e0fa8dc4d9c76cfff3d94d430c8cb4fb0 01-Feb-2010 Elliott Hughes <enh@google.com> Fix warnings in the new XML code.
78059b782a07be488d8355e05df693ada3e503d0 01-Feb-2010 Andy McFadden <fadden@android.com> Update with froyo change.

This refers to Froyo as "2.x", because nobody seems to know what the
actual numbering will be.
f0431a3b425ce61f2a2eceb46b2a0684eb186069 30-Jan-2010 Elliott Hughes <enh@google.com> Fix fallback in Currency.getSymbol(Locale).

If ICU doesn't have any localized symbol for a currency, we're supposed to
return the currency code, not null.

I introduced this bug in my recent changes. The Currency tests don't find it,
but DecimalFormatTest.test_setCurrencyLjava_util_Currency does, by accident.
I've added an explicit test.
624a895cf4790a839af331aebe13e450c046aabb 30-Jan-2010 Elliott Hughes <enh@google.com> Fix more harmony tests.

"HMG" means "heure du méridien de Greenwich" to the French. ICU thinks --
and the web seems to agree -- that the French actually say UTC instead.
(And you'd hope so, after it was called UTC instead of the more sensible UCT
just to keep them happy!) The RI thinks the French say "PST" rather than
"UTC-08:00", but that's hard to believe, and means that this test was never
testing RI compatibility anyway.

Relatedly, ICU thinks that "heure normale du Pacifique" is more French than
"Heure normale du Pacifique", and who am I to argue?

Fixing these turns up a real bug in TimeZone; this patch contains a fix to
the exception thrown by the test case, but not a fix for the bug (which is
overflow in inDaylightTime for the year 292278994, so there's plenty of
time to fix that one).
ad869b76682cd72ce572cd3be833df630f0e8d17 30-Jan-2010 Elliott Hughes <enh@google.com> Merge "Fix all the harmony java.util.Formatter tests."
26db0aa6eb0874c56f3e197ab72d5d7ebcb4c140 30-Jan-2010 Elliott Hughes <enh@google.com> Fix all the harmony java.util.Formatter tests.

ICU thinks that German short weekday names should be "So." et seq rather than
"So". This brings us into line with frameworks/base, which I'm depressed to find
has its own copy of the CLDR data in XML form (and its own date/time
formatters).

Also fix TestEnvironment to not clobber "user.name", which we need in order to
set our expectations in cases where being root affects what we can/can't do.
(This also fixes a few other harmony tests.)
a2846acf450cd27be50281f193eaba3ab2d26f0b 30-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing a critical regression in our SAX parsing."
b41bd91853a1f7aad276338fc9a7038c1dfd1d74 30-Jan-2010 Jesse Wilson <jessewilson@google.com> Fixing a critical regression in our SAX parsing.

We weren't correctly covering the case where namespaces were off, but
elements contained namespaces. See bug 2400596.
ffb5c00426cec26fe2d8a67142213a242ec8d8b6 30-Jan-2010 Andy McFadden <fadden@android.com> Merge "Add support for streaming hprof dumps."
c2942d2d9d6bca764ab584081f02b757663bc4e6 30-Jan-2010 Brian Carlstrom <bdc@google.com> Merge "Change DalvikRunner to use newly added OptionParser."
aa84637344ddac8027bdf6ec4e12d0936ff66563 29-Jan-2010 Brian Carlstrom <bdc@google.com> Change DalvikRunner to use newly added OptionParser.

--skip-clean is now --no-clean
--java-home now defaults to 1.5
--mode is now used to specify to run on host's java-home

DalvikRunner page examples are updated with new --mode and --java-home

Fixes junit tests to work on host by using changing classpath to be absolute paths

Some minor scaffolding to prepare for running tests within an android.app.Activity.

(Patchset 2 adds default --java-home location to usage output)
(Patchset 3 address reviewer comments, mostly newbie style issues)
(Patchset 4 address enh OptionParser issues, adds short/byte as well)
(Patchset 5 address enh OptionParser issues, work with "java" from PATH, change deviceRunnerDir to File)
1e2c22e41a98aa7dc745e0f76427cd24ab17ba9c 30-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Remove an obsolete assertion."
26dd9eb95d7de715482216cbf0ea5871f1f3fc6c 29-Jan-2010 Elliott Hughes <enh@google.com> Merge "Change NumberFormatTest to match ICU's behavior."
c33e9a448a97ae7d56661b0913e052b1ccbc2d50 29-Jan-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Fix for [Issue 2406862] Compiler thread preventing VM from shutting down"
f17f36cf82079ca9abc142530fa91222dcb8c2aa 29-Jan-2010 The Android Open Source Project <initial-contribution@android.com> reconcile android-2.1_r1 snapshot
5be5d509fa9fce36f94a1efb42eefd69871c337c 29-Jan-2010 Elliott Hughes <enh@google.com> Change NumberFormatTest to match ICU's behavior.

ICU uses a non-breaking space after the euro sign in its currency formats,
where the RI uses ASCII space. ICU's behavior seems more reasonable (to
the extent that any kind of space after a currency symbol is reasonable).

Also uncomment the Arabic tests --- I fixed right-to-left number formats
a few weeks ago.
5673838fd1abd7f4858dafa73e802e1204c082b8 29-Jan-2010 Bill Buzbee <buzbee@google.com> Jit: Fix for [Issue 2406862] Compiler thread preventing VM from shutting down

Replace placeholder sleep with timed condition wait that will start
the jit either when the framework signals that the first screen has been
drawn or a fixed time has elapsed.
cf775b6ee813b3663a30592f2e3e4be553ca25ea 29-Jan-2010 Andy McFadden <fadden@android.com> Add support for streaming hprof dumps.

This adds the dumpHprofDataDdms method, which generates the hprof dump
in RAM and then spits the whole thing at DDMS. The idea is to avoid
touching /sdcard, since not all apps have permission to do that.

This rearranges hprofShutdown() a fair bit. It used to re-use a context
struct, saving interesting bits to local variables before zapping it;
now we just create a second context struct and free both at the end.

For bug 2092855.
2756e820baac661eb059bc32cfa97f828598e5d4 29-Jan-2010 Elliott Hughes <enh@google.com> Fix tests.api.java.io.SerializationStressTest3.test_18_116_writeObject.

The dead field 'minExponentDigits' was of type 'byte', not 'int'.

Also add detail to serialization exception messages (this isn't just test code ---
ObjectInputStream calls this).
9a6f2b217c75fe347bd0b4b981e3009134a0c788 29-Jan-2010 Carl Shapiro <cshapiro@google.com> Remove an obsolete assertion.
7c347fab92f5fab5220012fbf6c8c8a41047cae0 29-Jan-2010 Elliott Hughes <enh@google.com> Fix a Formatter test that I checked in broken.

There's really no excuse for this with DalvikRunner, but I copy and pasted this
from a mail, and didn't run it until after it had been committed. I mean, who
puts untested code in a mail? ;-)
61469a6a0337cd62b6964a9bf700a1c453329e8b 29-Jan-2010 Elliott Hughes <enh@google.com> Merge "Use DecimalFormatSymbols' new default constructor for speed."
beafaba4b6043408577f37b02c74cf14b84356a4 29-Jan-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Fix register usage bug (driveabout failure)"
278e93849add576b21af44fd3ad02faeb4257a54 29-Jan-2010 Bill Buzbee <buzbee@google.com> Jit: Fix register usage bug (driveabout failure)

Some of the execute-inline templates were using r4, which wasn't in the
save set for templates. The failing traces expected it to be live across
the template call.
fb2bc6f62354e5e0fa8ed90d5df8f7476a9984f0 29-Jan-2010 Elliott Hughes <enh@google.com> Use DecimalFormatSymbols' new default constructor for speed.

This brings "new DecimalFormat" down to ~80us (from ~260us before this patch,
or ~600us this time last week). Also remove some dead code and tighten up some
accessibility.

Depends on https://android-git.corp.google.com/g/38877.
d782526ab2fdf2d1bddf04141b15d0965ce37dbb 29-Jan-2010 Ben Cheng <bccheng@google.com> Follow the coding style to rename startJITCompilation to startJitCompilation.
c056af309bccdbee17e659566464b16c09d462c0 29-Jan-2010 Jack Veenstra <veenstra@android.com> Merge "Fix a couple minor bugs (bug 2404859) in TraceDump.c"
1bafe4fc515ef7af7cf24b795594902468913287 29-Jan-2010 Carl Shapiro <cshapiro@google.com> Fix an off-by-one error when releasing thread ids. This is the result
of an oversight in my change that eliminated the LSB set constraint on
assigned thread ids.
107ea12f13c288c56d3fd8b39ff2d643641514c9 29-Jan-2010 Jack Veenstra <veenstra@google.com> Fix a couple minor bugs (bug 2404859) in TraceDump.c

1. A switch statement was missing a "break" after option letter "f".
2. The heavily-used function "lookupMethod()" had an expression using mod (%) instead of bitwise-and (&).
fb91a925e54f4447702548302314af5f984f60ef 28-Jan-2010 Ben Cheng <bccheng@android.com> Merge "Add a callback for the framework to explicitly enable the JIT compiler."
09fddcb9a918a142f2fd7c652ee64e0cfe0cffcd 28-Jan-2010 Ben Cheng <bccheng@google.com> Add a callback for the framework to explicitly enable the JIT compiler.

Dalvik_dalvik_system_VMRuntime_startJITCompilation ()V it is.
9c686d025dc746b310219fada4bfdd03a9c020fb 28-Jan-2010 Jack Veenstra <veenstra@android.com> Merge "Added support for filter in dmtracedump tool, along with some test cases."
f90bd56b2bc79efcc0d065be4c70953ab28de947 28-Jan-2010 Elliott Hughes <enh@google.com> Merge "Fix jniThrowRuntimeException for C callers, add jniThrowNullPointerException."
376770c664b1a51962551e480064a0132df22205 28-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing duplicate classes from our tests. These are obsolete with our DOMv3 support."
fe336cad68c6c4189b5e4c0c5edf36cbf2d0a887 28-Jan-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Rework delayed start plus misc. cleanup"
75ffd2b5bb47762403cef1c3e3922e2c79890c0a 28-Jan-2010 Elliott Hughes <enh@google.com> Fix jniThrowRuntimeException for C callers, add jniThrowNullPointerException.

...and switch all NPE throwers over to the helper.
1abc0af0f5dcbab67fd09511a77dc211eddc50e4 28-Jan-2010 Bill Buzbee <buzbee@google.com> Jit: Rework delayed start plus misc. cleanup

Defer initialization of jit to support upcoming feature to wait until
first screen is painted to start in order to avoid wasting effort on
jit'ng initialization code. Timed delay in place for the moment.
To change the on/off state, call dvmSuspendAllThreads(), update the
value of gDvmJit.pJitTable and then dvmResumeAllThreads().
Each time a thread goes through the heavyweight check suspend path, returns
from a monitor lock/unlock or returns from a JNI call, it will refresh
its on/off state.

Also:
Recognize and handle failure to increase size of JitTable.
Avoid repeated lock/unlock of JitTable modification mutex during resize
Make all work order enqueue actions non-blocking, which includes adding
a non-blocking mutex lock: dvmTryLockMutex().
Fix bug Jeff noticed where we were using a half-word form of a Thumb2
instruction rather than the byte form.
Minor comment changes.
d095c4afc8b3fa425ba3836080841f8a9c954c23 28-Jan-2010 Elliott Hughes <enh@google.com> Merge "Double the speed of DecimalFormat creation."
adacf2820ad4df5cdcb3f97d94243dfb4ee8f9fd 28-Jan-2010 Andy McFadden <fadden@android.com> Merge "Sneak a method-find feature into dexlist."
24e53d9bb62b166a9c531fcdfa9b9d4eb0d03312 28-Jan-2010 Ben Cheng <bccheng@google.com> Fix broken build.
242cbcc2cf383fbd2b8746bbe8e4ea03d6e390fb 28-Jan-2010 Andy McFadden <fadden@android.com> Sneak a method-find feature into dexlist.

The "dexlist" command is used with "emulator -trace" to generate a large
list of methods. I frequently use it to figure out which DEX file a
method is coming from (especially with the mysterious jars of google
code). This adds an undocumented "--method" argument to make the method
search easier.
7b265afe1504f8980d13dcbaa68873170c8cc9db 28-Jan-2010 Andy McFadden <fadden@android.com> Merge "Added note about NewStringUTF."
f982d7f81b8803b8b123fc3e6ecad4b0c198b458 28-Jan-2010 Andy McFadden <fadden@android.com> Added note about NewStringUTF.

Calling NewStringUTF with non-UTF data is a common mistake. This adds
a note to the JNI Tips document.
e5ec23d5d34d8a83b8cb3ff181c46efbc865800f 28-Jan-2010 Ben Cheng <bccheng@android.com> Merge "Add a poor-man's disassembler to inspect crashes in JIT'ed code."
061a7d865556a15c632111cb971e6250ba49230f 28-Jan-2010 Ben Cheng <bccheng@google.com> Add a poor-man's disassembler to inspect crashes in JIT'ed code.
1a57939f7cbaf1948cec5484aa1772ce6a9ded67 28-Jan-2010 Elliott Hughes <enh@google.com> Double the speed of DecimalFormat creation.

Our calls to unum_setSymbol were making us O(n^2); switching to the C++ API
and doing a bulk update is a huge win. (ICU is really a C++ library with a
C wrapper. It's always going to be slightly wasteful to go via C, but here
it's especially harmful.)

The new ScopedJavaUnicodeString provides a best-of-breed bridge between Java
strings on the Java heap and the UnicodeString type that ICU wants. I'll come
back and switch more of our ICU JNI over in a later patch.
76ef11b6ae707b8a726ecbc62699b9cf289c99e0 28-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Removing dead code from our copy of Xalan."
170d24b76fe0b51e88b02b61d24b59cc22457afa 28-Jan-2010 Jesse Wilson <jessewilson@google.com> Removing duplicate classes from our tests. These are obsolete with our DOMv3 support.
60bdbc9c1188f96455b1d781ac7f8f139acdaf0c 28-Jan-2010 Andy McFadden <fadden@android.com> Merge "Add streaming method profiling support."
b1aaf9bf7f0da95bac42e8c2b95cf4878a8f1179 28-Jan-2010 Jesse Wilson <jessewilson@google.com> Removing dead code from our copy of Xalan.

The trace package isn't accessible via our public API, so I've removed it.
Exception localization isn't worthwhile.
The Exslt code is a third-party extension that isn't necessary for the spec.
Several other classes and methods were unused; I used IntelliJ to find and remove these.

There's more that can go, but this is a fine first step.
684584824f1c97ae05705be67bc2e3a069521ccd 28-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Bring our XML APIs up to date with Java 5."
fd705e3cb5b57c87afd6d1fa529aa0d92256d495 28-Jan-2010 Brett Chabot <brettchabot@android.com> am ffea5ceb: am 0e9d568e: Merge "Mark libcore cert tests using expired certs as known failures." into eclair

Merge commit 'ffea5cebcb45bb58d61b903f4e04c45f48442c86'

* commit 'ffea5cebcb45bb58d61b903f4e04c45f48442c86':
Mark libcore cert tests using expired certs as known failures.
c852bfbf6445e6d638f79ad5f44a764a2fc76d84 27-Jan-2010 Jesse Wilson <jessewilson@google.com> Bring our XML APIs up to date with Java 5.

New packages for Java 5 compatiblity:
- javax.xml.datatype
- javax.xml.namespace
- javax.xml.parsers (updated)
- javax.xml.transform
- javax.xml.transform.dom
- javax.xml.transform.sax
- javax.xml.transform.stream
- javax.xml.validation
- javax.xml.xpath
- org.w3c.dom (updated)
- org.w3c.dom.events
- org.w3c.dom.ls (load/save)
- org.w3c.dom.traversal
- org.w3c.dom.views

Omitted packages (that otherwise exist in Java 5)
- org.w3c.dom.bootstrap. This package facilitates pluggable implementations of DOM.
I'm not including this because there's little need for it in practice; and
because it adds an unnecessary layer of complexity. This decision is also
reflected in TransformerFactory.newInstance(), SAXParserFactory.newInstance(),
and DocumentBuilderFactory.newInstance().

New packages that pseudo-exist in Java 5
- org.w3c.dom.traversal
This package is referenced by Java 5's org.w3c.dom.ls.LSSerializerFilter, but
isn't included in the Javadoc API. Their spec isn't self-consistent.
- org.w3c.dom.views
This package is referenced by Java 5's org.w3c.dom.events.MouseEvent, but
isn't included in the Javadoc API. Another spec that isn't self-consistent.

This upgrades DOM from v2 to v3. http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/
This includes some API-incompatible changes; notably introducing new methods
into interfaces. I believe this is still safe, and Java made a similar backwards
incompatible change when they upgraded DOM from v2 to v3 between Java 1.4 and
Java 5.0.

Source for the new APIs comes from Apache XML commons.
http://svn.apache.org/repos/asf/xml/commons/trunk rev 901014.

This code currently contains several gaps in its implementation. In particular,
the impelementations of the DOM model classes (AttrImpl, ElementImpl, NodeImpl)
have DOM v3 methods that throw UnsupportedOperationExceptions. I intend to
address this problem in an immediate follow-up CL. All gaps are marked with TODO
comments, and they all live in the org.apache.harmony.xml.dom package.

To implement these APIs, I've included Apache Xalan. In a follow-up change
I intend to remove most of the code we don't actually need. I'm using their
pristine copy from SVN so Git can track our local modifications.
http://svn.apache.org/repos/asf/xalan/java/trunk rev 889881.
4a1a4a8adc913ae0f5bc6d3fa3f1901fdb865b8f 28-Jan-2010 Brett Chabot <brettchabot@android.com> am ff3a96c9: am c4f93305: Fix for DecimalFormatTest#test_formatToCharacterIteratorLjava_lang_Object

Merge commit 'ff3a96c9055888140893158fff8b33831b949e49'

* commit 'ff3a96c9055888140893158fff8b33831b949e49':
Fix for DecimalFormatTest#test_formatToCharacterIteratorLjava_lang_Object
0253246f31c17edb7eb245cd03424a94219819bb 28-Jan-2010 Elliott Hughes <enh@google.com> Remove commented-out code.

Mistakenly left in my previous change when I wasn't certain it was dead.
8eadedab481c488ebb9ef3f20da36269b394e5a7 28-Jan-2010 Elliott Hughes <enh@google.com> Merge "Fix NumberFormat's behavior with BigInteger and custom Number subclasses."
4746d9a73d9d31503046fa380cb8ef5217fcb070 28-Jan-2010 Elliott Hughes <enh@google.com> Fix NumberFormat's behavior with BigInteger and custom Number subclasses.

Also remove a few bits of cruft I ran across, and stop duplicating the
documentation between NumberFormat and DecimalFormat.

Bug: 2387934
b07685fdf104859cad2adb946960993700f54b17 28-Jan-2010 Brian Carlstrom <bdc@google.com> Merge "Spelling fixes"
2398bf6351d97189732a7d93aec030e751a408ea 28-Jan-2010 Bill Buzbee <buzbee@google.com> Merge "Jit: Fix INSTANCE_OF corner case."
2593276b2ff32169624a96ad6564af74ecdf113b 28-Jan-2010 Bill Buzbee <buzbee@google.com> Jit: Fix INSTANCE_OF corner case.
5cae1cad8756d3cfc55b04c82fea363c10b44ec8 23-Jan-2010 Andy McFadden <fadden@android.com> Add streaming method profiling support.

The goal is to allow DDMS to start/stop method profiling in apps that
don't have permission to write to /sdcard. Instead of writing the
profiling data to disk and then pulling it off, we just blast the whole
thing straight from memory.

This includes:

- New method tracing start call (startMethodTracingDdms).
- Rearrangement of existing VMDebug method tracing calls for sanity.
- Addition of "vector" chunk send function, with corresponding
update to the JDWP transport function.
- Reshuffled the method trace start interlock, which seemed racy.
- Post new method-trace-profiling-streaming feature to DDMS.

Also:

- Added an internal exception-throw function that allows a printf
format string, so we can put useful detail into exception messages.

For bug 2160407.
04c6d35e0fdd5823076810272a1c0aa7dff1770f 27-Jan-2010 Elliott Hughes <enh@google.com> Rename icu4jni's DecimalFormat to NativeDecimalFormat, to reduce confusion.
d1a0519b10d4f35cb841d197caee821840f99dd0 27-Jan-2010 Elliott Hughes <enh@google.com> Gut NativeDecimalFormat in favor of icu4jni.DecimalFormat.

(I'll come back and rename icu4jni.DecimalFormat to NativeDecimalFormat and
remove all the fully-qualified names that distinguish between java.text's
DecimalFormat and icu4jni's DecimalFormat.)
85f62e2d3a53b4fb8a3f45d72277579fc8816831 27-Jan-2010 Elliott Hughes <enh@google.com> Add a java.util.Formatter test suggested by egnor months ago.

...and add comments to existing tests.
fe895660bc29f91821328c760d13b5c3064b7c00 27-Jan-2010 Elliott Hughes <enh@google.com> Merge "Add a cache to Currency.getInstance(Locale)."
9d6e86c31aba6e29612f22edb8a41b72d684fa4b 27-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Eliminate the constraint that thread ids must have an LSB of 1. This doubles the space of thread ids and will break any code that assumes thread ids are odd numbered."
a7546decd45fc1bf027a82c3e5a2d86c861cf1cd 27-Jan-2010 Brian Carlstrom <bdc@google.com> Spelling fixes
60511127d8526756a2fa3e55d22eb76df336a70e 27-Jan-2010 Elliott Hughes <enh@google.com> Add a cache to Currency.getInstance(Locale).

Statically there are lots of calls to Currency.getInstance(String) in the
core libraries and only one to Currency.getInstance(Locale). This might
be why the former has a cache but the latter doesn't. Dynamically, looking
up Currency by Locale is a common operation because that one caller --
DecimalFormatSymbols -- is widely used, and it sets up its currency data
eagerly. (Which might be worth coming back and also fixing later.)
4d4b0b8d2124abf208841a424a0a47acef09283c 27-Jan-2010 Elliott Hughes <enh@google.com> Merge "Simplify our DecimalFormat."
447afdddd93c46ba768b4b676fab0a1134fe036f 27-Jan-2010 Carl Shapiro <cshapiro@google.com> Eliminate the constraint that thread ids must have an LSB of 1. This
doubles the space of thread ids and will break any code that assumes
thread ids are odd numbered.
2aa67f289a4c0c8db3cb61f8cac3b3c4b2f678b4 27-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Fix spelling of explicitly"
97b2a848ca3f713c046b2d7a80324d2bf87aa197 27-Jan-2010 Jesse Wilson <jessewilson@google.com> Fix spelling of explicitly
fd323b491eaa272bfb0a30fad020b57f30d39707 26-Jan-2010 Elliott Hughes <enh@google.com> Simplify our DecimalFormat.

Both the is-a and has-a hierarchies for our DecimalFormat implementation were
over-complicated. This patch starts to address that, and makes cloning twice
as fast (50us versus 100us), but not as fast as I'd like (<10us), and without
making much of a dent in the time it takes to create a new NumberFormat (550us
versus 600us).

The speed of cloning is important because Formatter has a hack that uses it,
and I want to change NumberFormat so that it always hands out clones... at
least until I have time to make "new NumberFormat" acceptably fast.

Also fixes DecimalFormat.applyLocalizedPattern (which used to behave as if
you'd called applyPattern).
a2fd53375e6cf73cae0b48aa362eef4a3582dae2 26-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Test the lock shape before falling into the thin lock code. The original formulation of this code relied on the subtly that the low bit of a thread id is always 1 and so the shape bit was punned with LSB of the thread id. This got us two tests for the price of one. When this code was moved forward to the new lock encoding scheme, we did not crack the test in two. This should correct the oversight."
b556100adb89071f7f0a9722c4b31434da71f72f 26-Jan-2010 Carl Shapiro <cshapiro@google.com> Test the lock shape before falling into the thin lock code. The
original formulation of this code relied on the subtly that the low
bit of a thread id is always 1 and so the shape bit was punned with
LSB of the thread id. This got us two tests for the price of one.
When this code was moved forward to the new lock encoding scheme, we
did not crack the test in two. This should correct the oversight.
e1f60c08a155846124dc5d4536da4b752cfd17d8 26-Jan-2010 Dan Bornstein <danfuzz@android.com> Merge "Cause dex verification to fail if the class_defs section contains more than one definition for any given class."
1c4b096dda5a97336d3c35b57e0a054886f9c794 26-Jan-2010 Dan Bornstein <danfuzz@android.com> Cause dex verification to fail if the class_defs section contains more
than one definition for any given class.

Bonus: Killed off a bunch of trailing whitespace, to reduce the gerrit
bloodbath.

Change-Id: Idc599364f1a38887fb4b9f91dc91b9b53343ca03
Bug: 2382215
eccbe20564bee7528496d47d5956608c14ab8784 26-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Including proper prefixes and qualified names in the Expat parser. Also changing our SAX codepath to always include values for optional parameters."
c10fb177eeb39bdb311bc846bb383cf7879edd7f 23-Jan-2010 Jesse Wilson <jessewilson@google.com> Including proper prefixes and qualified names in the Expat parser.
Also changing our SAX codepath to always include values for optional parameters.

In testing Xalan's javax.xml.transform packages with the Expat source code, the
emitted documents were malformed. The underlying problem was that Xalan was
expecting optional parameters to be populated, but Expat was not populating them.

The spec says,
"Any or all of these may be provided, depending on the values of the http://xml.org/sax/features/namespaces and the http://xml.org/sax/features/namespace-prefixes properties:
* the Namespace URI and local name are required when the namespaces property is true (the default), and are optional when the namespaces property is false (if one is specified, both must be);
* the qualified name is required when the namespace-prefixes property is true, and is optional when the namespace-prefixes property is false (the default).

Although Xalan is technically at fault here, it may take forever to find all of
the places where these optional parameters are assumed to be present. Instead,
I'll just supply them which adds little overhead anyway.

See http://code.google.com/p/android/issues/detail?id=990
c8da9cb3591a165d61492e0dd57cdaef1abd360a 25-Jan-2010 Carl Shapiro <cshapiro@google.com> Restore the lock owner ahead of calling waitSetRemove.
532942e304b7b99079f974897ae6de6a9bd88d96 25-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Move the waitSetAppend subroutine call ahead of clearing the monitor owner. We want waitSetAppend to check the invariant that the monitor must be owned by the calling thread. Clearing the owner field prior to the call breaks this invariant and causes a assertion to fail."
db8d380ed9a5d82d8fefc87e3c66794a3d19f79c 25-Jan-2010 Carl Shapiro <cshapiro@google.com> Move the waitSetAppend subroutine call ahead of clearing the monitor
owner. We want waitSetAppend to check the invariant that the monitor
must be owned by the calling thread. Clearing the owner field prior
to the call breaks this invariant and causes a assertion to fail.
7d5b2cad9d48ab1d2e765f7cf0476e566f6e3833 25-Jan-2010 Ben Cheng <bccheng@android.com> Merge "Tighten the safe points for code cache resets to happen."
789274f56703fcfb62ebd7ef8933e81ef8ac6443 23-Jan-2010 Ben Cheng <bccheng@android.com> Tighten the safe points for code cache resets to happen.

Add a new flag in the Thread struct to track the whereabout of the top frame
in each Java thread. It is not safe to blow away the code cache if any thread
is in the JIT'ed land.
ced3bd59cc08f2ad3cde26091197c49143adc861 25-Jan-2010 Elliott Hughes <enh@google.com> Fix @link and @see tags.
3fc7e751c64572e2b05ef0919e3da7460dc0e0b8 23-Jan-2010 Elliott Hughes <enh@google.com> Merge "java.util.Formatter javadoc fix."
3d4b35d125e7fa6c9e829e7c440a32acb4a2fbdf 23-Jan-2010 Elliott Hughes <enh@google.com> Merge "Switch our ICU JNI over to C++ and tidy up a little."
2c487316eba024bce63f71682b87c05a30dce6fa 23-Jan-2010 Elliott Hughes <enh@google.com> java.util.Formatter javadoc fix.
91b84d673f7b482dd612b5929019f58d95c6e173 23-Jan-2010 Elliott Hughes <enh@google.com> Fix java.util.Formatter "%tz".

Found by jtreg.
a81c0d888374d234ea3255859c6f43a24e25d9e7 23-Jan-2010 Elliott Hughes <enh@google.com> Merge "Rewrite java.util.Formatter documentation."
226f3c3ccf2f52d8f5966d0972ec01611aeba055 23-Jan-2010 Elliott Hughes <enh@google.com> Switch our ICU JNI over to C++ and tidy up a little.

The big ugly files (implementing NativeCollation and NativeConverter), I've
just done the minimum necessary for them to compile under a C++ compiler. For
the small ones, I've been through them more thoroughly, removing duplication
and the like.

I only came across one bug; a failure path in BidiWrapper that would have
leaked.
7d277d39f0c071c4391f00851251cffecd306f9f 23-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Update the hash state bits when an identity hash code is computed."
26aa97adebbddd60dbb46488ada84ed640ccc5cb 22-Jan-2010 Elliott Hughes <enh@google.com> Rewrite java.util.Formatter documentation.

Some guy on the internets pointed out that our documentation of argument
indexes was garbled. I fixed that, and then noticed that pretty much all
the documentation was close enough to be convincing but wrong enough to
not be very useful.

I've fixed everything I've found. The result isn't perfect, but it's good
enough that I could stand to use it myself now.
4e2bb8ae995742536d46a567edba81beb1035fba 22-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Adding support for arbitrary VM args in dalvik runner."
e279928fce794bf85e6e2084d41dc7bae49a7d83 22-Jan-2010 Andy McFadden <fadden@android.com> Merge "Move VM feature strings (used by DDMS) into VM."
e21dc16124e9520198beb78c94a560ad0519867c 22-Jan-2010 Andy McFadden <fadden@android.com> Move VM feature strings (used by DDMS) into VM.

Until now, we used a place-holder in frameworks/base.

Removed cruft.
0e2f1bb05e6f509d3dc0c1eaf66e4231a9279ee2 14-Jan-2010 Carl Shapiro <cshapiro@google.com> Update the hash state bits when an identity hash code is computed.
a61d4eb0c35abdb84a4c14c7c998fb1abfa50355 22-Jan-2010 Jesse Wilson <jessewilson@google.com> Adding support for arbitrary VM args in dalvik runner.
9e271daf116d46d361196c0cc9700ec315b38e9f 21-Jan-2010 Jesse Wilson <jessewilson@google.com> Teaching DalvikRunner to run arbitrary classes with main() methods.

This came up for the XML test suite, which isn't JUnit but a bunch
of main methods (that ask you to verify their output independently; ugh)

Also setting up the current working directory of the forked process.
This only works for local VMs; setting the working directory for
device VMs causes the "adb shell" call to crash.
0865a747d81249b9966e0833fa4647893e7e128c 22-Jan-2010 Elliott Hughes <enh@google.com> Merge "Minor tidy-up of some of the ICU interface."
f4363707de11cce9a703b6c9f056f1fcd0e6b15c 22-Jan-2010 android-build SharedAccount <android-build@sekiwake.mtv.corp.google.com> Revert "Temporarily disable JIT for performance A/B tests."

This reverts commit ff5363b061bea49f3fcc2afb251866c13d7c86f1.
ba79773206ac238ebda3c1eb1d07c7c99ab8330c 22-Jan-2010 Elliott Hughes <enh@google.com> Minor tidy-up of some of the ICU interface.

Dead code, a class that shouldn't be instantiated, work that's probably
better done all on the native side, and some slightly improved error
reporting.
320f9d1d71a4dab9b019fa7e8023fbfd3d024a2e 22-Jan-2010 Ben Cheng <bccheng@android.com> Merge "Temporarily disable JIT for performance A/B tests."
477e9cfe2d1cbfab332326615ff2c9546152e5ed 22-Jan-2010 Ben Cheng <bccheng@google.com> Temporarily disable JIT for performance A/B tests.

Per jparks' request.
78c46aecb61fc1369671177fe6768bfcf0fbd5c8 22-Jan-2010 Nagendra Modadugu <ngm@google.com> Merge "Remove StartCom MD5 root which is no longer in use: - Free SSL Certification Authority"
bcc985a59e5c87af035a6168dc9fcd12e83e60d0 22-Jan-2010 Nagendra Modadugu <ngm@google.com> Remove StartCom MD5 root which is no longer in use:
- Free SSL Certification Authority
8c316fcad2c13ba2b17904b962044752608e351f 22-Jan-2010 Brett Chabot <brettchabot@android.com> am 0e9d568e: Merge "Mark libcore cert tests using expired certs as known failures." into eclair

Merge commit '0e9d568ec6b946e77bc0ec1903acac1ef916e6d1' into eclair-plus-aosp

* commit '0e9d568ec6b946e77bc0ec1903acac1ef916e6d1':
Mark libcore cert tests using expired certs as known failures.
026e85538b6a4cf46f8f9303977f66d2fb4a3f1c 22-Jan-2010 Brett Chabot <brettchabot@android.com> Merge "Mark libcore cert tests using expired certs as known failures." into eclair
6c0e9c646069ef257ffe6bed650b94cc4194c581 22-Jan-2010 Brett Chabot <brettchabot@android.com> Mark libcore cert tests using expired certs as known failures.

Bug 2322662

Change-Id: If35a5a75f664535bd4eb97cf11a6afe5b0e5b4a9
4cbfc9f67e9fdd1cb3e67da28377d62e5df41201 21-Jan-2010 Brett Chabot <brettchabot@android.com> am c4f93305: Fix for DecimalFormatTest#test_formatToCharacterIteratorLjava_lang_Object

Merge commit 'c4f93305d1fe3d31660af2b47a90d2ebbc6d58f9' into eclair-plus-aosp

* commit 'c4f93305d1fe3d31660af2b47a90d2ebbc6d58f9':
Fix for DecimalFormatTest#test_formatToCharacterIteratorLjava_lang_Object
6ab2eb2eddad04f7c2656443d50c3d132d2b7172 21-Jan-2010 Brett Chabot <brettchabot@android.com> Fix for DecimalFormatTest#test_formatToCharacterIteratorLjava_lang_Object

Add additional logic to skip checks that require specific locales.

Bug 2386416

Change-Id: Icc30e04d393a22b272966555e617598323aefa0b
cff608e5d0e388637568e03a428e8d18d54ba1f2 21-Jan-2010 Elliott Hughes <enh@google.com> Improve the DecimalFormat JNI.

We don't need two identical copies of the code for double and long; ICU uses
overloading, and we should take advantage of that. We can also improve the code
to remove unnecessary heap allocation, remove unnecessary temporary copies, and
only make JNI calls and ask for the attribute data when necessary.

I've also switched the code from the thread-unsafe strtok(3) to strtok_r(3).

I've also removed unnecessary temporary char[]s and copying in DecimalFormat.

I've also fixed another instance of the "if (doubleValue == longValue) longPath"
anti-pattern that gets -0.0 wrong. (It's also worth noting that caliper says
the difference between the double and long paths is very small, on the order
of 2us.)

(The new code takes about 20us per call compared to 60us for the old code,
measured on passion-eng.)
428a4a812a35470b0c8c2060475929466075234d 21-Jan-2010 Elliott Hughes <enh@google.com> Fix String.format("%d", null) and relatives.

Must have been asleep at the wheel when I mistranslated this.

We need to get the number of test failures down so we don't have to rely
on our memories of how many test failures we're expecting to see.
2ea45ede6d733d505360451b0a92fdc776f83954 21-Jan-2010 Elliott Hughes <enh@google.com> Merge "More java.util.Formatter performance work."
f31a6e043887678be020d84293ddb707ae508c02 21-Jan-2010 Elliott Hughes <enh@google.com> More java.util.Formatter performance work.

I got distracted into doing a bit more here, mainly speeding up the slow path
for integers. I've started to pull out some of the error checking too. We could
do a lot more along those lines, but then we'd fail even more jtreg tests which
assume a specific order in which checks are made. (I don't think we should
worry about that; I'm stopping here because this isn't what I wanted to do
today, not because I don't think we should press on. There's plenty of more
important stuff to look at first.)
9347928285518d3a03f14c2d25c3565f46cea3ab 20-Jan-2010 Nagendra Modadugu <ngm@google.com> Merge "Remove expired root CAs: - IPS SERVIDORES/emailAddress=ips@mail.ips.es - Secure Server Certification Authority"
b236bb75dc16d291867dfb399c563bec493649eb 20-Jan-2010 Nagendra Modadugu <ngm@google.com> Remove expired root CAs:
- IPS SERVIDORES/emailAddress=ips@mail.ips.es
- Secure Server Certification Authority
7bc01237cc49a48241564046daf7e504a345c881 20-Jan-2010 Nagendra Modadugu <ngm@google.com> Merge "Add StartCom CA certificates: - StartCom Certification Authority - StartCom Extended Validation Server CA"
30cb06da1fa8552de761837bc410fce6b80b45ae 20-Jan-2010 Nagendra Modadugu <ngm@google.com> Add StartCom CA certificates:
- StartCom Certification Authority
- StartCom Extended Validation Server CA
731d0b31051b683a0b35e2eddc49617b6f063f31 20-Jan-2010 Nagendra Modadugu <ngm@google.com> Merge "Add two Verisign Root CA certificates: - VeriSign Class 3 Extended Validation SSL SGC CA - VeriSign Class 3 Public Primary Certification Authority - G5"
cbfb0ed1448b6c51739c2d882069662c54a18f7e 20-Jan-2010 Nagendra Modadugu <ngm@google.com> Add two Verisign Root CA certificates:
- VeriSign Class 3 Extended Validation SSL SGC CA
- VeriSign Class 3 Public Primary Certification Authority - G5
be2853bc210c0be2101e4808096b00ab4a711097 20-Jan-2010 Ben Cheng <bccheng@google.com> Temporarily disable code cache reset.
a46278825c945825c1c16af4ed6ded150f680221 20-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Eliminate unused variables."
3f53503a1a1e8a78d3c1f2907c6f7349c6faa220 20-Jan-2010 Carl Shapiro <cshapiro@google.com> Eliminate unused variables.
ffd23c5e1d42ea2e0c7e185a5c37f08ca600eae2 20-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Scrubbing some jtreg bugs."
41aa13abb1f5dfddf5d8cebb32b50fc52371e041 20-Jan-2010 Jesse Wilson <jessewilson@google.com> Scrubbing some jtreg bugs.
872ecce17bd08732a776db885cbab2f255725f1c 20-Jan-2010 Elliott Hughes <enh@google.com> One true way to query "java.net.preferIPv6Addresses".

Also stop querying and passing this boolean to code that doesn't care. (We
sort our InetAddress[]s appropriately, so most code doesn't need to worry
about this.)

Bug: http://code.google.com/p/android/issues/detail?id=5903
8fa376a4b332967be8bccb7524b05b1dc30970f9 16-Jan-2010 Elliott Hughes <enh@google.com> Rewrite InetAddress' DNS cache.

Replace harmony's two 5-element linked lists with a single 512-element
LinkedHashMap. Greatly reduce the time we spend under locks (and no network
I/O is done under a lock any more!). Take advantage of various properties
of how the cache is used to avoid having to do much explicit work to handle
expiry.

I've also optimized the usual no-SecurityManager/no custom system properties
configuring cache TTLs case (without making the slow path much slower than it
already was).

I've also updated the native method names to correspond to the C functions
they're really wrapping (rather than completely different IPv4-only ones
they probably used to wrap long ago).

I've also improved the InetAddress documentation.

Bug: 2320435
90000eedd1b964e310209901b396ab9bcfc1fd30 16-Jan-2010 Ben Cheng <bccheng@android.com> Merge "Fix chaining offset mis-calculation for translations w/ large switch statements."
1f407cef48daa19d0fdf77d620d1515296712b0c 16-Jan-2010 Ben Cheng <bccheng@android.com> Fix chaining offset mis-calculation for translations w/ large switch statements.

Bug: 2369821

There are 12 bytes of additional code after the 65th chaining cell. So if a
switch statement with more than that many cases is translated by the JIT, it
will run fine until the next unchaining event, which will patch the wrong code
and lead to all kinds of unexpected crashes.
4ffd784d7c300570e05cab26e5c137cf0b1f8f65 15-Jan-2010 Elliott Hughes <enh@google.com> Fix Formatter's behavior with %% and %n.

Yesterday's fix to the behavior with genuine null arguments didn't take into
account that we have format specifiers that don't take arguments. Fix the fix,
and add an explicit test.
583bd722400343d40eba78c0ffe0c91443a14bef 15-Jan-2010 Elliott Hughes <enh@google.com> Merge "Speed up Character."
5217465511a3c443ffea23200e8da78581450b85 15-Jan-2010 Ficus Kirkpatrick <ficus@android.com> Fix a NPE in java.util.Formatter.

A recent optimization to simple '%s' and '%d' formats was
failing to format null as "null". Also add a test.
6e6060149ebcb57902271820b6eb36974dcc6455 14-Jan-2010 Ben Cheng <bccheng@android.com> Merge "Fix bad long negate; bug 2373405 - EnumSetTest failure with JIT today"
c9c95bd3323d57fd84824ac3230723fd1623f047 14-Jan-2010 Bill Buzbee <buzbee@google.com> Fix bad long negate; bug 2373405 - EnumSetTest failure with JIT today
660da4de5631df28e322fd977b1a6d004fcab5c1 14-Jan-2010 Elliott Hughes <enh@google.com> Speed up Character.

Remove a useless layer of indirection in UCharacter (which is the bridge
between java.lang.Character and ICU). We're not at the stage where the
JIT can do this for us, and even if it could, why give it extra work to
do? Also fix the incorrect copyright header which was probably copied from
a file where it made sense.
7f336389c64e6b440490ccf3c940d5c78f5a0b3d 14-Jan-2010 Elliott Hughes <enh@google.com> Merge "Fix Date.toString."
faa18ba0ef584dbaf1c8d8ea3dadc3e717d651c0 14-Jan-2010 Elliott Hughes <enh@google.com> Fix Date.toString.

Date.toString was using the TimeZone id ("America/Los_Angeles") rather than
the time zone short name ("PDT" or "PST", depending on time of year). The
naive fix made things 5x slower, so I improved Resources.getDisplayTimeZone
so the fixed Date.toString is only 2x slower. This could be improved further
with a faster getDisplayTimeZone.

I hoped to replace the body of Date.toString with a call to SimpleDateFormat,
but that turns out to be 40x slower. This patch also optimizes SimpleDateFormat
to bring the gap down to 8x by using Resources.getDisplayTimeZone instead of
asking for all the strings.

(Note that these improvements refer to the hopefully common case of localized
strings for the default locale. If you have the misfortune to need strings for
other locales, the new code will be more like 600x faster. At 0.5s a call on
the fastest current hardware, I hope no-one's actually doing that.
Dalvik Explorer -- available on the Market -- needs to do it when generating
summary reports, and it is indeed ridiculously slow. It uses two
SimpleDateFormat objects per locale, so it takes 1s per locale, for about 60
locales. I've tested Dalvik Explorer with this patch, and it does fix that
pathological behavior.)

Also fix a bug I introduced in https://android-git.corp.google.com/g/36242 that
meant that our zone names String[][] contained incorrect values (accidentally
concatenating each successive value in a row), found by existing tests now we
use more of those values.

Also replace a couple of "new Integer" calls with Integer.valueOf for a modest
speedup.

Also factor out some duplication.

Bug: http://code.google.com/p/android/issues/detail?id=6013
b78d6d644d87e5d7aa841c0f926ee1b9d1309191 14-Jan-2010 Bill Buzbee <buzbee@google.com> Merge "Restore threshold to 200 as a temporary workaround"
aaa0a1e6ec02988433b46467c7f3f92f9c2a2e67 14-Jan-2010 Elliott Hughes <enh@google.com> Merge "Remove the last bits of the ICU ResourceBundle hack."
654d23f837d6d61786f55eeaa6f438e9b76a2cd5 14-Jan-2010 Bill Buzbee <buzbee@google.com> Restore threshold to 200 as a temporary workaround

Also, fix blocking mode initialization.
ea79e59c18c74c1d0a69d8349c6e3470c0440bf7 14-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Separately sweep the monitor list before sweeping the heap. Required for the copying collector so we can abandon objects without examining their headers. There is a liminal reduction in sweep time when using the non-moving collector. In addition, this change uncomments a call to free to reclaim the monitor when its owning object is unmarked."
f8abd23473b4664ec438e7089c54f1ffb57f6621 13-Jan-2010 Elliott Hughes <enh@google.com> Remove the last bits of the ICU ResourceBundle hack.

This patch switches us over to calling ICU directly for localized currency
symbols, and then removes all the mechanism for sneaking fake ResourceBundle
implementations in. The code's a lot simpler too, because ICU's default
behavior is what we want anyway.
17f9d0916f8b4f5b28ffa94dac50cc189c8a15b5 13-Jan-2010 Andy McFadden <fadden@android.com> Support primitive array elements in annotations.

Annotations that include primitive array elements are stored internally
as arrays of boxed primitives. The VM didn't know how to un-box them
when somebody requested the contents.

For bug 2370144.
dce5668fa5802f0a921b5940460623ee4328cbf5 13-Jan-2010 Elliott Hughes <enh@google.com> Merge "Fix a comment."
73830886c3eaa68e88f526c7e64aefc254d9751c 12-Jan-2010 Ben Cheng <bccheng@google.com> Integrate call-graph information into JIT method blacklist.

The new flag is -Xjitcheckcg which will crawl the stack frame of the
translation requesting thread.

Bug: 2368995
d4fe0303209096838cb46c04a95fd6434d3a8aed 13-Jan-2010 Bill Buzbee <buzbee@google.com> Merge "Performance tweak for Jit lookup & adjust table sizes for better performance"
8fd8e226368dc44a88ac47aa263397f621e64dc5 13-Jan-2010 Elliott Hughes <enh@google.com> Fix a comment.
dc241cda930acf47ed239f8173182f3ac812c095 13-Jan-2010 Elliott Hughes <enh@google.com> Make Formatter %d cost about the same as %s (i.e. 60% faster).

Fast-path "%d" and "%s", the only two cases that matter, so they don't have to
go through all the flags, width, and precision machinery unless flags, widths,
or precisions are actually specified.

This makes "%s" slightly but not significantly faster -- because I'd already
optimized that code for the default case pretty well -- but makes a huge
difference to "%d", which wasn't as amenable to general optimization.

I've also improved the identifiers and comments surrounding the date suffix,
after TraceView misled me into attempting to optimize this non-hotspot (though
to be fair, I'm only benchmarking on passion-eng with JIT; TraceView might be
telling the truth for a G1 without JIT).

TraceView also misled me into trying to optimize away the check for uppercase
conversion types at the end of Transformer.transform (by adding different bodies
to the uppercase entries in the switch directly above it), but that made no
convincing difference on passion-eng.

Bug: 2272346
09c730360284056cc9455cac5d38a7edd81a43b8 13-Jan-2010 The Android Open Source Project <initial-contribution@android.com> android-2.1_r1 snapshot
046e3d5639dcac32b6654186358f4783989f8344 12-Jan-2010 Bill Buzbee <buzbee@google.com> Performance tweak for Jit lookup & adjust table sizes for better performance

Also, move setting of Jit table parameters to architecture-specific init
funciton.
8308d8a442d8cb040d225997ccbcb4857d4023c4 12-Jan-2010 Elliott Hughes <enh@google.com> Show DalvikRunner test output even on success when given --verbose.
5416b42b6934544bf027dd3346b32e9fc754850d 12-Jan-2010 Elliott Hughes <enh@google.com> Merge "Shave another 10%-25% off Formatter."
84e90ff4704e785f69f94bdf8a5b3d05e4627ba0 12-Jan-2010 Bill Buzbee <buzbee@google.com> Merge "Fix for 2367397 - Runtime reset with threshold lowered to 20."
19264b3d3080e15a9c08493c46278568364bf619 12-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Delete remaining FANCY_REFERENCE_SUBCLASS code. According to find and grep, this is the last use of that macro in Dalvik."
0c40b3b874493b1fe4a1b3597635503c86d188f6 12-Jan-2010 Bill Buzbee <buzbee@google.com> Fix for 2367397 - Runtime reset with threshold lowered to 20.

This was a bug in the def tracking - or more specifically neglecting to
reset tracking at a possible rollback location.
8174ea1d434275dca2de2310ea87a3e322395f97 12-Jan-2010 Carl Shapiro <cshapiro@google.com> Delete remaining FANCY_REFERENCE_SUBCLASS code. According to find and
grep, this is the last use of that macro in Dalvik.
f87956e313a1351dc007dfa9f1428d2934325a73 08-Jan-2010 Carl Shapiro <cshapiro@google.com> Separately sweep the monitor list before sweeping the heap. Required
for the copying collector so we can abandon objects without examining
their headers. There is a liminal reduction in sweep time when using
the non-moving collector. In addition, this change uncomments a call
to free to reclaim the monitor when its owning object is unmarked.
98ddc870d6ac89fafdd6e39a3842c8a7f6f6b4b0 12-Jan-2010 Brett Chabot <brettchabot@android.com> am 82e86144: am 56176a05: Fix ScannerTest failures.

Merge commit '82e86144b0ccd04282249012130ec0f6101d1e32'

* commit '82e86144b0ccd04282249012130ec0f6101d1e32':
Fix ScannerTest failures.
b4b7ffee762638119a7767e2d41d1ae5f06e171b 12-Jan-2010 Brett Chabot <brettchabot@android.com> am 56176a05: Fix ScannerTest failures.

Merge commit '56176a05205eaf469469c26988e99077aed0d7e7' into eclair-plus-aosp

* commit '56176a05205eaf469469c26988e99077aed0d7e7':
Fix ScannerTest failures.
bdc7485a1846e757d2a2c1dd26e99e02b155c169 12-Jan-2010 Elliott Hughes <enh@google.com> Shave another 10%-25% off Formatter.

Array indexing might be fast, but String.charAt is pretty fast, and
String.indexOf is pretty fast too, while String.toCharArray is really
rather expensive.

For a format string with no format specifiers, this is 25% faster. For
a format string with a single %s or %d format specifier (the common
cases in the Android codebase), this is about 10% faster.
4c668681ed899dd2a10228239f528c8351555ebe 11-Jan-2010 Brett Chabot <brettchabot@android.com> Fix ScannerTest failures.

Skip more tests if required locales are not present.

Change-Id: I562da3222bccd6f264714d10f8db57e087e2561a
021cbbebba33e4070a7e93cef4f5457d68d71882 11-Jan-2010 Elliott Hughes <enh@google.com> Set peer for new SSLSessionImpl instances.

Bug: http://code.google.com/p/android/issues/detail?id=4914
84f28b18044ca062ab9592a863eebc6f1164064c 11-Jan-2010 Brett Chabot <brettchabot@android.com> am eb9ea32d: am 53a6c01c: Fix DecimalFormatTest#test_serializationHarmonyRICompatible.

Merge commit 'eb9ea32d1468cf753dc0091dd7e639b6bd0cbd0b'

* commit 'eb9ea32d1468cf753dc0091dd7e639b6bd0cbd0b':
Fix DecimalFormatTest#test_serializationHarmonyRICompatible.
74854cb67a276eac682ee8dff1b0781e4e02e3ca 11-Jan-2010 Brett Chabot <brettchabot@android.com> am 53a6c01c: Fix DecimalFormatTest#test_serializationHarmonyRICompatible.

Merge commit '53a6c01cd8c8560b8eef891871c7260f6cbe71d9' into eclair-plus-aosp

* commit '53a6c01cd8c8560b8eef891871c7260f6cbe71d9':
Fix DecimalFormatTest#test_serializationHarmonyRICompatible.
94cc056ab050ebc4054210770f736dc318828871 11-Jan-2010 Jesse Wilson <jessewilson@google.com> Merge "Fixing our default HTTP Accept header to be spec-compliant."
fab8e408317f3d2667d724e469a0f170de1696ce 11-Jan-2010 Elliott Hughes <enh@google.com> Support non-default negative patterns in NumberFormat.getIntegerInstance.

Spotted while rewriting the associated JNI recently.
5ee93ed513c81b822b22da86f067ade78b7c6ea8 11-Jan-2010 Elliott Hughes <enh@google.com> Merge "Allow DalvikRunner to run tests in core library packages."
dbf9930f31afda9fcd462e6744c492a1b9b1d57f 09-Jan-2010 Brett Chabot <brettchabot@android.com> Fix DecimalFormatTest#test_serializationHarmonyRICompatible.

Skip the test if required Locale is not present.

Bug 2343677

Change-Id: I0f2672bd4b56cc1685e7368921aaa1e9d4492cf0
e43d4c9186ca37d28d24c25c4a6e6987e278db7f 09-Jan-2010 Romain Guy <romainguy@android.com> Deprecate fill_parent and introduce match_parent.
Bug: #2361749.
d14d4308b509072959f06e83a515f1af9b4968a6 07-Jan-2010 Jesse Wilson <jessewilson@google.com> Fixing our default HTTP Accept header to be spec-compliant.

See bug http://code.google.com/p/android/issues/detail?id=5843

Also fixing a bug in the test webserver, where we weren't formatting
the headers properly. I'm dumbfounded how the tests passed previously;
although I fear that omitting the @TestTargetNew annotation might mean
that they weren't being run. I'll investigate that in a follow up.
fe8a7b7e8664b15e39dc8ef25f1a5d6745c67980 08-Jan-2010 Elliott Hughes <enh@google.com> Allow DalvikRunner to run tests in core library packages.

This is a bit of a hack, but I think it's not unreasonable, given the purpose
of this tool (and the fact that we both favor writing our tests in the package
they're testing).

Bug: 2362187
44d8f557dbeb367433ec9a5151f076ce937c0219 08-Jan-2010 Jesse Wilson <jessewilson@google.com> The SecurityManager doesn't work, so advertise that shouldn't be used.
c3cf0e3e913161cfd2545ba790e958dce758f866 08-Jan-2010 Elliott Hughes <enh@google.com> Merge "Fix a typo in "dalvikvm --help" output."
272c64088cbf1f6fddfd259139ba454db89be2f5 08-Jan-2010 Elliott Hughes <enh@google.com> Fix a typo in "dalvikvm --help" output.
6f46470cf97abcc50e422a51e000adb349ff4c8d 07-Jan-2010 Ben Cheng <bccheng@android.com> Merge "Tear down the code cache when it is full and restart from scratch."
80d595be7c436f8b78a7cdd5a0ce3901fe0d0c48 04-Jan-2010 Ben Cheng <bccheng@google.com> Tear down the code cache when it is full and restart from scratch.

Because the code cache may be wiped out after safe points now the patching of
inline cache for predicted chains is done through the compiler thread's work
queue.
3b1cd08bc977799d7f3532e3553d9244167f4984 06-Jan-2010 Elliott Hughes <enh@google.com> Fix String.toLowerCase/toUpperCase for Azeri, Greek (all locales), and Turkish.

This patch fixes Greek final sigma in all locales, treats Azeri locales like
Turkish locales, and fixes our dotted/dotless-i/I behavior in Turkish locales
(and thus now Azeri locales too).

Still broken: behavior in Lithuanian locales, supplementary characters.

I've also removed String's own optimized-for-ASCII toLowerCase(char) and
toUpperCase(char): we've optimized Character's methods and don't want another
copy. I've removed the unused String.getValue which provided access to the
underlying char[] --- this wasn't used, and wouldn't work anyway without
some way to access String's 'offset' and 'count' fields too.
f93b0a6a6af1285ed1c4bc3e5b870ce22e68b26d 06-Jan-2010 Carl Shapiro <cshapiro@google.com> Invert a conditional to make it correctly specified. Without this
inversion the errant conditional would cause waitSetCheck to return a
false positive for certain non-circular lists that, in turn, lead to
VM aborts in builds with assertions enabled.
3a1c6ba23113c1091e98c0364b5b16eecf0424ce 05-Jan-2010 Elliott Hughes <enh@google.com> Last bunch of NumberFormat speedups.

Don't mess around with setCurrency in DecimalFormat.copySymbols when we're
going to override any effect that call will have had in the next few lines:
we always call setCurrencySymbol and setInternationalCurrencySymbol, so
setCurrency is just wasting time.

Replaces the NativeDecimalFormat.UNumberFormatSymbol enum -- which was only used
for getting ints to pass to native code, using Enum.ordinal -- with ints.

Adds a constructor to the java.text DecimalFormat so we can avoid cloning the
DecimalFormatSymbols object we create for its private use.

This is another 10% shaved off.

I've also removed an unused local from the icu4jni DecimalFormat, so I can
remove a then-unused getLocale method from the ICU DecimalFormatSymbols.

I've rewritten the icu4jni DecimalFormatSymbols.clone to remove the scary
constructor that took an arbitrary int and treated it as a uintptr_t when
talking to native code.
2a03fc31fed44ba2534b36bd8f050a11c8c98e2d 05-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "Remove references to the old wait implementation in various comments. Also, move the waitMutex above the values it guards to improve the readability of the Thread structure."
8b51eff70fe27609867b48bc0a3d1e4e5a12fcb8 05-Jan-2010 Elliott Hughes <enh@google.com> Fix a broken test.

This test assumed Integer.toString has no caching.
f2be8859bde31228e00c09a3b64083198f19cd79 05-Jan-2010 Elliott Hughes <enh@google.com> Merge "Speed up DecimalFormatSymbols."
37dcd9b749ee24fc17171b7d2c30f8d8a3cc36fc 05-Jan-2010 Carl Shapiro <cshapiro@google.com> Remove references to the old wait implementation in various comments.
Also, move the waitMutex above the values it guards to improve the
readability of the Thread structure.
b503ea6f86bc34f0689c2925957a9106534d08e3 05-Jan-2010 Elliott Hughes <enh@google.com> Speed up DecimalFormatSymbols.

We don't need to create temporary String objects; we can just pass a char
directly. We also don't need to initialize aspects of our native peer if
we know we're going to overwrite them straight away, and making copying
into ICU the responsibility of the icu4jni class rather than the java.text
is slightly cleaner.

Together, these changes make creating a new NumberFormat about 20% faster.
6349a20a5f37a3203723a0e28f742056beea0541 05-Jan-2010 Barry Hayes <bhayes@google.com> Merge "Remove the case where we make it hard to tell that a GC takes a long time."
e1b0b27f1ede255627db3ea5185bdcac9fbe4851 05-Jan-2010 Barry Hayes <bhayes@google.com> Remove the case where we make it hard to tell that a GC takes a long time.
b34239aebceb29cadc84e6081bb4be555005abb6 05-Jan-2010 Carl Shapiro <cshapiro@google.com> Merge "New implementation of wait, notify, and notifyAll. Uses an explicit queue to represent the wait set instead of the implicit queue within the monitor condition variable."
8574aabe9c33c43b7b857990d2502050a75a155b 05-Jan-2010 Barry Hayes <bhayes@google.com> Merge "Percolate the reason for a GC up far enough to print out in logging messages."
941788220595ffafc0f5bc353f26d2b35dd39284 04-Jan-2010 Barry Hayes <bhayes@google.com> Percolate the reason for a GC up far enough to print out in logging messages.
8fe8cf6beee2dc39e943833d8c71ed1912636564 25-Dec-2009 Carl Shapiro <cshapiro@google.com> New implementation of wait, notify, and notifyAll. Uses an explicit
queue to represent the wait set instead of the implicit queue within
the monitor condition variable.
505aa2678c5fbfb0bdb8d71d8ad1fa9fa2493069 04-Jan-2010 Elliott Hughes <enh@google.com> Fix build (accidental API leak).

Move a couple of methods into LocaleData -- where they should have been from
the beginning -- so they're automatically hidden from our users.
44cfed938008c1430050539cc82bf2a0bae12e3e 04-Jan-2010 Elliott Hughes <enh@google.com> Merge "Stop using ResourceBundle for locale data."
9b0568209029dd46e4dd05e67aea2a066d6ea17e 23-Dec-2009 Elliott Hughes <enh@google.com> Stop using ResourceBundle for locale data.

This offers an additional speed increase and gets rid of a lot of native code.
ab98e559cc9e7c285dea18af28f739be135f14e4 23-Dec-2009 Carl Shapiro <cshapiro@google.com> I did not reconcile my change to remove the Lock structure from Object
after the JIT code generator was updated to accomodate the new format
of the lock work. This change incorporates the changes that should
and would have gone it had I merged everything correctly.
fc70650240532f7e7c062eb5b063094ae6fd5c38 22-Dec-2009 Carl Shapiro <cshapiro@google.com> Supersede the Lock union type with a word-sized integer in the object
instance header. An object's lock member is now just a bit-field.
534817c1267893e49c7ec2335c404efcb5ff51df 23-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I71938023

* changes:
Assert that the incoming thread and monitor objects are not NULL. The old implementation allowed monitors to be NULL when they were unlocked and otherwise unowned. With the new lock word format, a NULL monitor object can only mean that an invariant has been lost. Also, nix some trailing whitespace that crept into a comment.
784ea1f5e888812c17ffbf3fab916f72af5b89b4 23-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic4433c3d

* changes:
Jit: Update monitor lock/unlock to reflect thinlock changes (I34b20f49)
c1ab0a1904f9accd8d7f308b4f6ef492ff1a95fe 23-Dec-2009 Bill Buzbee <buzbee@google.com> Jit: Update monitor lock/unlock to reflect thinlock changes (I34b20f49)
691f80a18f8b8e209302f977524cc2a3d4617e04 23-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I47ec52f4

* changes:
The FANCY_REFERENCE_SUBCLASS code is based on a misconception of what the VM is permitted to do, and it would be buggy to ever turn it on.
e952509e99895899f500cd3e48b66c998b593077 22-Dec-2009 Brett Chabot <brettchabot@android.com> am d3b06457: am 6cdbef55: Merge change I1d9b205f into eclair

Merge commit 'd3b0645772fd3364575b93c74428ae19f88c4238'

* commit 'd3b0645772fd3364575b93c74428ae19f88c4238':
Skip locale dependent libcore tests if required locales are not present.
07a2ea92a1ab7e441ed4ade4b6a3859d3bca37de 22-Dec-2009 Brett Chabot <brettchabot@android.com> am 6cdbef55: Merge change I1d9b205f into eclair

Merge commit '6cdbef55a948dffbeff211fb4e78066c053ecc2e' into eclair-plus-aosp

* commit '6cdbef55a948dffbeff211fb4e78066c053ecc2e':
Skip locale dependent libcore tests if required locales are not present.
411fe29cd8139758f29d96aaa6cb8826d34f1d64 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I1d9b205f into eclair

* changes:
Skip locale dependent libcore tests if required locales are not present.
1f9a23734278e74a20f27ab93e3e3ede2b6c244e 22-Dec-2009 Carl Shapiro <cshapiro@google.com> Assert that the incoming thread and monitor objects are not NULL. The
old implementation allowed monitors to be NULL when they were unlocked
and otherwise unowned. With the new lock word format, a NULL monitor
object can only mean that an invariant has been lost. Also, nix some
trailing whitespace that crept into a comment.
0a9c1b6f587ee9591bfe880c3b9eb3970652cb17 19-Dec-2009 Brett Chabot <brettchabot@android.com> Skip locale dependent libcore tests if required locales are not present.

Previously these tests were marked as KnownFailures - which is undesirable since
they can pass if the right Locale's are present on target.

Bug 2335906

Change-Id: I1d9b205f740b71880c57b48f069c302c5cec8792
b9dfa425e864d1a6cb3b9e1c98e3fcf16df07b29 22-Dec-2009 Barry Hayes <bhayes@google.com> The FANCY_REFERENCE_SUBCLASS code is based on a misconception of what the VM
is permitted to do, and it would be buggy to ever turn it on.
ee3252f388cc79717251d08d8983cae3d0e8c71e 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I23ada0f9

* changes:
More ICU cleanup.
601d941f1ff84566b873095c373ffaec02dab90b 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I06f254ec

* changes:
Clean up some misunderstanding about what mspaces are: They are already pointers.
aaf9ec43ef0dd3f875e538d318ee120f836b7087 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I72a49a6f

* changes:
Initialize the arg variables to avoid an uninitialized use compiler warning. While this effects performance, with the native interpreter the speed of the portable interpreter is of diminished importance.
a8e6a831952298791c27f39bb34423da4c75f650 22-Dec-2009 Carl Shapiro <cshapiro@google.com> Initialize the arg variables to avoid an uninitialized use compiler
warning. While this effects performance, with the native interpreter
the speed of the portable interpreter is of diminished importance.
5268bf8c57ffa2c2a2b7488ea7fefef4805b04bc 22-Dec-2009 Elliott Hughes <enh@google.com> More ICU cleanup.

Don't duplicate SimpleDateFormat.patternChars in native code when we can just
access it directly.

Also remove a bit more duplication in the native code, and remove the early
scope closure in getCurrencyCodeNative. If we're going to waste space in
that function, let's waste it on an explanation of why a seemingly useless
assignment is actually totally necessary.
f079e7726943d985fe36019e21e2ad21d68b7b9b 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I88786692

* changes:
Fix leaks in ICU JNI.
5a757e2dbcb97410de7da96f71057517af2cb8d8 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8cf2b8be

* changes:
Remove dead code from the garbage collector. A previous commit eliminated all of the referencing code.
6be75e1ce65f8cc8eabc4798f5d5c42b63d52340 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I6f22b22e

* changes:
Fixing BigDecimal.stripLeadingZeroes on "0e100", as discovered by jtreg.
790133a68613ed5c1ff7ee889fc61776c433ca63 22-Dec-2009 Carl Shapiro <cshapiro@google.com> Remove dead code from the garbage collector. A previous commit
eliminated all of the referencing code.
a0a9c70076be834cce5abdccaee91a73abc3fbc1 22-Dec-2009 Jesse Wilson <jessewilson@google.com> Fixing BigDecimal.stripLeadingZeroes on "0e100", as discovered by jtreg.

Plus other jtreg test scrubbing.
23aaa74911b26c715bf86c2a641789583a6ae7c4 22-Dec-2009 Carl Shapiro <cshapiro@google.com> Remove conditionally compiled code for monitor-only locks.
a98ea070dc9f1017b5d17017bd9f9434f4662aa6 22-Dec-2009 Elliott Hughes <enh@google.com> Fix leaks in ICU JNI.

Consistently use RAII to ensure we always clean up our UResourceBundle*s.

Remove redundant allocation/copying from the UnicodeString to jstring
conversion.

Also simplify a few other repetitive bits of code.

Note that getContentImpl is still in the old style because that function
contains gotos. The right fix for that function involves changing the Java
side to work with a class containing a field for each item, rather than the
current Object[].
8c349cddf9def0e643529c37fccca6ada9134a51 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I34b20f49

* changes:
Repurpose bits 1 and 2 of the lockword for encoding the hash state of an object. Invert the meaning of the shape bit to match the encoding scheme described in Bacon's paper. Consequently, monitor pointers must have the lower 3 bits stripped before they may be dereferenced.
407603fc39671513048d9821b0011c45f3246980 21-Dec-2009 Carl Shapiro <cshapiro@google.com> Repurpose bits 1 and 2 of the lockword for encoding the hash state of
an object. Invert the meaning of the shape bit to match the encoding
scheme described in Bacon's paper. Consequently, monitor pointers
must have the lower 3 bits stripped before they may be dereferenced.
eea8551854aa7d3b981d2905dc9a2a5c05da8906 22-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iaa2af1ad

* changes:
Speed up the way we access ICU's locale data.
18627b2f8b0cf4f40116b44992382b5016d29851 21-Dec-2009 Elliott Hughes <enh@google.com> Speed up the way we access ICU's locale data.

This patch makes creating a new NumberFormat or new SimpleDateFormat 2x faster.

Basically, the ResourceBundle mechanism is really expensive in several ways:

1. The two-level caching is unnecessary for locale data, and expensive because
it burns through a lot of temporary objects.
2. The PrivilegedAction stuff is unnecessary and expensive because it too burns
quite a few temporary objects (including an ArrayList for each call; should
we consider removing support for SecurityManager so we can remove this cruft
from our code?).
3. The caching in most cases doesn't cache anything useful; the ResourceBundles
simply forward all questions straight to native code anyway, all we're
caching is an unnecessary forwarding object (in a cache where lookups cost
more than just creating a new unnecessary forwarding object would cost).

I've left CurrencyResourceBundle on the slow (ResourceBundle.getBundle) path
because I'm not yet sure how much of that path's semantics it relies on.

I still return LocaleResourceBundle instances (albeit via a much faster path)
but we should fix that. The native code returns an array which ResourceBundle
stuffs into a Hashtable and the calling code accesses via hash table lookups.
This despite the fact that the keys are a small fixed set known in advance.
We could make the native layer and the calling layer simpler and faster by
using a "struct", and doing so would make the middle layer go away completely.
c20527bae861b4bb16e856f758dd94fa1f9f1d76 21-Dec-2009 Scott Main <smain@google.com> resolved conflicts for merge of 4923840c to master
a0e13e50589e3bc650b7a264d168cce1df37a835 21-Dec-2009 Scott Main <smain@google.com> resolved conflicts for merge of ed7b1e77 to eclair-plus-aosp
e2236294bf07d18e2e4585fd6e13101f0e0160dc 21-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I0ffa1dd4 into eclair

* changes:
doc change: fix a broken link in class summary
fff8c79202ead552d4d18470191e0cc83344877d 21-Dec-2009 Scott Main <smain@google.com> doc change: fix a broken link in class summary
2f13af5b284b10c9bcfd297657bf1705a763ce49 21-Dec-2009 Jesse Wilson <jessewilson@google.com> More expectations for our test runs
e0fbeff462b15d4d72f70f7f5cf649a2cc15c7ff 20-Dec-2009 Jesse Wilson <jessewilson@google.com> Fixing the XML emitter to honor the expectations file.
902670fab5db0f01e02c2018cfca3c8819b59c34 20-Dec-2009 Elliott Hughes <enh@google.com> Fix CurrencyTest's expectation for CAD in fr_FR.

Fix this harmony test which we've been failing since our ICU update:

Default Locale is: ja_JP. For locale fr_FR the Canadian Dollar currency
returned $CA. Expected was one of these: [CA$, CAD, $, Can$, $Ca]

The upstream harmony test (which has diverged quite a bit) tests for "$CA"
instead of "$Ca".
532a781b68cc8d036eea2681ac2d248fc308b13f 20-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic3780383

* changes:
Fix Long.toBinaryString, Long.toHexString, and Long.toOctalString for negative values.
7fd08d3316732a1474879dd2a0381404c7318db4 20-Dec-2009 Jesse Wilson <jessewilson@google.com> Fixing a busted regex in the expectations file. Also doing regex checking upfront.
4d1a569e585759e8c737e16e9a60771f89da882c 20-Dec-2009 Elliott Hughes <enh@google.com> Fix Long.toBinaryString, Long.toHexString, and Long.toOctalString for negative values.

Although (int) -1 == (long) -1, Integer.toXString produces a shorter result than
Long.toXString should.
67a2ce5efe21e2de7976199ef47c063d13185794 18-Dec-2009 Rodrigo Ipince <ipince@google.com> Added support for filter in dmtracedump tool, along with some test cases.

Some corner cases are still not handled in the code, but will be eventually.
4539ba9f7db670c24c6201f92b1ecc463b2bf286 19-Dec-2009 Jesse Wilson <jessewilson@google.com> Adding expectations for a bunch of jtreg tests.

Although tedious, we found a real bug in the mix. This also removes some
of the noise from our test results.
d8c5f67b9fb96160fc70603eecfa0efaa30de32e 18-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I1e941570

* changes:
Depessimize string conversions.
6ae1acef4d752184f4980123c1b41fce5e137afb 18-Dec-2009 Elliott Hughes <enh@google.com> Depessimize string conversions.

Why does this idiom persist? It's ugly, and it's the least efficient way to do
it. (I found the ones in DecimalFormatSymbols while invesigating why
"new SimpleDateFormat()" burns through so many StringBuilders. grep(1) found
the rest.)

The DocumentBuilderImpl removes an unnecessary level of indirection, since we
implement Character.toString in terms of String.valueOf. (I wouldn't have
bothered except this was the only use of Character.toString in the core
libraries, and I added it myself a few weeks ago.)
7d91b1add263e96d8aa5170a406a3cf7b1b51080 18-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I60383632

* changes:
Update luni package to Harmony r888752.
6a778eb6d678fb8021c17c5e01b1de64fc6bde22 18-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I1ecd9dcd

* changes:
Use writev() for DDMS packets.
27fbc7e1316b23e7ac677daf16d0a00ce99f1697 18-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I83849e4a

* changes:
Improve our java.util.Locale documentation.
3d90694fc411cbd5dbcaf03d90483e2c6e7ee6c6 17-Dec-2009 Elliott Hughes <enh@google.com> Improve our java.util.Locale documentation.

Bug: http://code.google.com/p/android/issues/detail?id=5476
e1cd41ea39b5c41885ca7a7f936da010e6f03ac7 18-Dec-2009 Jesse Wilson <jessewilson@google.com> Rename dalvik_jtreg to dalvik_runner.

Now that it runs caliper and JUnit, the old name was awful clumsy.
74b44cee505831d26879d6b8ef864b95a53546f6 18-Dec-2009 Jesse Wilson <jessewilson@google.com> Fixing clean to use rm -rf so it won't fail if the directory wasn't ever created.

Adding a --skip-clean option.
Adding a --device-runner-dir option to run off the SD card
efffc2318a4ba286e20c4b74606069a466584257 18-Dec-2009 Andy McFadden <fadden@android.com> Use writev() for DDMS packets.

The code was using the JDWP "expanding buffer" stuff, which is fine for
4-byte status messages but will be terrible for buffers of tracing and
profiling data. Now we construct the header in a separate buffer.
4f9eecfa7d148b216328f4beb485e9257d819812 18-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ib1d8044e

* changes:
Jit: Briefly delay start of Jit'ng in attempt to avoid compiling init code
5fa160651bab10f2a9ce6fe4f05112281055dcc3 17-Dec-2009 Bill Buzbee <buzbee@google.com> Jit: Briefly delay start of Jit'ng in attempt to avoid compiling init code

Via subjective manual side-by-side testing of jit vs. no-jit, the mterp
version looked like it tended to reach first screen on application launch
very slightly before the Jit version. This change adds an old and
commonly-used Jit trick to delay jit startup in an attempt to avoid wasting
effort compiling initialization code.

Also, deletes some code no longer in use.
0091236b5e438fdad94cc00d4418568026e7044d 17-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iac175b4f

* changes:
Two minor JNI fixes.
9bb86388d2316b5366454d43471f3d678cbceaea 17-Dec-2009 Andy McFadden <fadden@android.com> Two minor JNI fixes.

(1) In the CheckJNI return type scanner, don't assume that the caller's
class loader is already listed as an initiating loader for the type
being returned.

(2) Make sure the PlatformAddress class is initialized before calling
one of its static methods from NewDirectByteBuffer.
5f623ffa7cac6d882af46938179a3192081cd550 17-Dec-2009 Jesse Wilson <jessewilson@google.com> Cleaning up after each test to avoid exhausting disk space.
Moving tests to the local sdcard.
121bdd5165a621ad5806fa90db1352ce6036696e 17-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ice913bbd

* changes:
Make java.lang.Character fast.
2b18b9140d61c59e1dede2b06228a82712f3649a 17-Dec-2009 Elliott Hughes <enh@google.com> Make java.lang.Character fast.

This patch reinstates some of the upstream ASCII fast paths, adds some new
ones, and forwards all char overloads to the int methods (placing the fast
paths in the int overload), so using the int overload isn't automatically
3x slower than the char overload even for the same characters.

See the bug for benchmark results. The ASCII speedups are between 2x and 4x.

Bug: 2295801
a4c3723b401ad19887d1bbd250de00caa32549e8 17-Dec-2009 Joshua Bloch <jjb@google.com> Fixed a bug int the new version of Long.reverse introduce in change Id6bd7c81.
The corresponding code in Hacker's Delight is written in C, which supports
unsigned numbers. In Java, it's essential to use explicit unsigned shifts,
but I neglected to do so. This bug was caught by jtreg test
java.lang.Long.BitTwiddle (which I wrote in 2003). This preexisting
test serves as the regression test for this change.
b7a2f2d0c78016d8901843008335d5c3bb184526 17-Dec-2009 Barry Hayes <bhayes@google.com> Clean up some misunderstanding about what mspaces are:
They are already pointers.
1f2e3328d87811b6ca3719d529fcdaec0bd65d83 17-Dec-2009 Jesse Wilson <jessewilson@google.com> Adding some debugging to help figure out why our tests aren't completing.
ac6ab84e0ea8d75d80f38586f52017503243b9a9 16-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I24ac537c

* changes:
Move VFP register save/restore routines from template to codegen.
111f33505b8e4b3a719af206f46c9b3bcfbc71e6 16-Dec-2009 Ben Cheng <bccheng@google.com> Move VFP register save/restore routines from template to codegen.

Code in the template directory will occupy space in the code cache and is
invoked from JIT'ed code. Since these routines are only invoked from statically
compiled functions we can move them to the codegen directory which also has
arch-variant configurations.
5b602e326949fbd16d08a34dafa02279e7395771 16-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id6bd7c81

* changes:
Rewrote all the toString and bit twiddling code in Integer and Long using state-of-the-art recipes. The resulting code is much faster than what it replaced, as well as being more concise. While I was in the neighborhood I also cleaned up a few other things in the boxed primitives (TYPE fields, small-value caches, etc.).
8cc952eeae8c4bc515dca5ab7681493bee370624 16-Dec-2009 Jesse Wilson <jessewilson@google.com> Making helper threads daemons in the jtreg runner.

Fixing a bug where we were attempting to execute errord out tests. And
renaming the testClasses to a testClasspath.
81b799f1d28d821c94c535f47d843bed7db77359 16-Dec-2009 Jesse Wilson <jessewilson@google.com> Update luni package to Harmony r888752.

Conflicts:
libcore/luni/META-INF/MANIFEST.MF
libcore/luni/make/findbugs-exclude-filter.xml
libcore/luni/src/main/java/java/io/BufferedOutputStream.java
libcore/luni/src/main/java/java/io/BufferedReader.java
libcore/luni/src/main/java/java/io/CharArrayReader.java
libcore/luni/src/main/java/java/io/StringReader.java
libcore/luni/src/main/java/java/lang/StrictMath.java
libcore/luni/src/main/java/java/lang/ref/ReferenceQueue.java
libcore/luni/src/main/java/java/net/Inet4Address.java
libcore/luni/src/main/java/java/net/InetAddress.java
libcore/luni/src/main/java/java/util/ArrayList.java
libcore/luni/src/main/java/java/util/EnumSet.java
libcore/luni/src/main/java/java/util/HugeEnumSet.java
libcore/luni/src/main/java/org/apache/harmony/luni/internal/reflect/ProxyConstantPool.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/AbstractMemorySpy.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/DebugMemorySpy.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/Endianness.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/IFileSystem.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/IMemorySystem.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/INetworkSystem.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/IPlatformConstants.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/OSFileSystem.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/OSMemory.java
libcore/luni/src/main/java/org/apache/harmony/luni/platform/OSNetworkSystem.java
libcore/luni/src/main/java/org/apache/harmony/luni/util/InputStreamExposer.java
libcore/luni/src/main/native/hyzip/shared/zipcache.c
libcore/luni/src/main/native/hyzip/shared/zipsup.c
libcore/luni/src/main/native/include/jni.h
libcore/luni/src/main/native/include/jni_types.h
libcore/luni/src/main/native/include/jvmti.h
libcore/luni/src/main/native/include/jvmti_types.h
libcore/luni/src/main/native/launcher/unix/main_hlp.c
libcore/luni/src/main/native/luni/shared/OSNetworkSystem.c
libcore/luni/src/main/native/luni/shared/file.c
libcore/luni/src/main/native/luni/windows/makefile
libcore/luni/src/test/api/unix/org/apache/harmony/luni/tests/java/io/UnixFileTest.java
libcore/luni/src/test/java/tests/api/java/io/BufferedOutputStreamTest.java
libcore/luni/src/test/java/tests/api/java/io/BufferedReaderTest.java
libcore/luni/src/test/java/tests/api/java/io/SerializationStressTest.java
libcore/luni/src/test/java/tests/api/java/net/SocketTest.java
libcore/luni/src/test/java/tests/api/java/util/ArrayListTest.java
libcore/luni/src/test/java/tests/api/java/util/EnumSetTest.java
libcore/luni/src/test/java/tests/api/java/util/TimerTest.java
d7e1cbca4d5677aae8bd950aa8ab7a5f4c0a1d18 16-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iadae8af9

* changes:
Updating Caliper runner to correspond with caliper r20091215
7c451f5ee3fa9c88a774054002712098ff60e061 16-Dec-2009 Jesse Wilson <jessewilson@google.com> Updating Caliper runner to correspond with caliper r20091215
927bd7ba1ec68f27b8c7cec31a4b616bbfce46fa 15-Dec-2009 Joshua Bloch <jjb@google.com> Rewrote all the toString and bit twiddling code in Integer and Long using
state-of-the-art recipes. The resulting code is much faster than what it
replaced, as well as being more concise. While I was in the neighborhood
I also cleaned up a few other things in the boxed primitives (TYPE fields,
small-value caches, etc.).

Addressed review comments.
df4d17d15f96db264f80eaa5b092e7d2775c0494 16-Dec-2009 Elliott Hughes <enh@google.com> Fix our test runner to look inside source files for package declarations.

The relevant libcore .java files were all under test/java/ directories, but
that's not generally true, and not true in the specific case of caliper's
benchmarks.
3dbe83fad32dc64f7c291b79878ccdd2f59067f6 16-Dec-2009 Elliott Hughes <enh@google.com> Fix dalvik_jtreg build.

Use the same technique frameworks/base uses when building external/apache-http
to build the dalvik_jtreg dependencies. This is ugly, but seems to keep the
host and device builds off each others' toes.
95094e33a4c078b5066441dd6b15ea146db0cbd6 16-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I326caaa3

* changes:
Fix our SSLSession implementations to call valueUnbound on remove.
93f07303ed7b5739d2f5014519a390302131b0dc 16-Dec-2009 Elliott Hughes <enh@google.com> Fix our SSLSession implementations to call valueUnbound on remove.

This addresses the other problem from the following abandoned change:
https://android-git.corp.google.com/g/4743
2f9c3127e23f83498d3fe4d42eae6d332a3721b2 16-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id2be5eb7

* changes:
Eclipse doesn't like that this class' directory didn't match its package.
b810204874f460ed2969869527cf3d6ebfc7d2b2 16-Dec-2009 Brett Chabot <brettchabot@android.com> am 61fdb24e: (-s ours) am 173411f7: Temporarily omit libcore tests that fail when run in CTS harness. DO NOT MERGE.

Merge commit '61fdb24e732f0effb72c70491845a497e99faae1'

* commit '61fdb24e732f0effb72c70491845a497e99faae1':
Temporarily omit libcore tests that fail when run in CTS harness. DO NOT MERGE.
9dfd2cc52d3885a34146076c9e94aa79d530e26f 15-Dec-2009 Elliott Hughes <enh@google.com> Eclipse doesn't like that this class' directory didn't match its package.

Resolve in favor of the package declaration.
24d5314058995ae9b611675ac20e81045d43e51d 15-Dec-2009 Elliott Hughes <enh@google.com> Fix OpenSSLSessionImpl.getCreationTime and getLastAccessedTime.

This addresses one part of this abandoned change from ursg:
https://android-git.corp.google.com/g/4743

I've also tidied up the native method names to use the harmony "-Impl"
convention, removed useless methods that just forward to a native method,
and removed dead code. I've canonicalized some of the duplication too,
but I want to go through the rest of out OpenSSL code before I really start
trying to remove the duplication.

When this is submitted, I'll fix the other (unrelated) bug the abandoned
change addressed.
2ad160dd2f0a60a77386e339d0b749e9e3fa153b 15-Dec-2009 Brett Chabot <brettchabot@android.com> am 173411f7: Temporarily omit libcore tests that fail when run in CTS harness. DO NOT MERGE.

Merge commit '173411f7a11c81bef07adc28c66ce4c417df67ff' into eclair-plus-aosp

* commit '173411f7a11c81bef07adc28c66ce4c417df67ff':
Temporarily omit libcore tests that fail when run in CTS harness. DO NOT MERGE.
80906c0063b2f6dfe95afdc85755d1b100ad6365 15-Dec-2009 Android Git Automerger <android-git-automerger@android.com> Merge commit 'goog/eclair-plus-aosp'
c3c693f47dfac9d072f987c1acd17677b7dabd1a 15-Dec-2009 Brett Chabot <brettchabot@android.com> Temporarily omit libcore tests that fail when run in CTS harness. DO NOT MERGE.

Bug 2155700

Change-Id: Ib0f9d363842d713ce3e07cdd303078c5c3e518c9
7c7b4f0eea0913ddf50ea3ed3ade23894fe777cd 14-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I1d96b51e

* changes:
Merge branch 'archive_888752' into archive_dalvik
7fc04c1ba1a240a58bc6af1fbf13dc5c98a1ec33 14-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Icf57d5da

* changes:
Merge branch 'logging_888752' into logging_dalvik
00e9933d5a622daef42821eca0c74085aae894e1 14-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ie84afdff

* changes:
Support running caliper with the jtreg runner. This is an early first look; we'll need to fix a few things before the UI for this is nice.
cbe71b11345d190ad4fa336f81777fe64d68a8ae 10-Dec-2009 Jesse Wilson <jessewilson@google.com> Merge branch 'logging_888752' into logging_dalvik

Conflicts:
libcore/logging/META-INF/MANIFEST.MF
libcore/logging/src/main/java/java/util/logging/LogManager.java
libcore/logging/src/main/java/java/util/logging/Logger.java
libcore/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LogManagerTest.java
ca8ae34e7ad5ea08aec7de04cca051f79eb084d8 05-Dec-2009 Andy McFadden <fadden@android.com> Don't assume debugger wants all exceptions.

The JDWP implementation in the VM keeps a list of the objects that the
debugger knows about, and prevents the GC from collecting them (which
isn't strictly necessary, but it's a whole lot easier than doing it
right). Because of the way it's implemented, it actually ended up
keeping track of all thrown exceptions, even if the debugger wasn't
interested in hearing about them.

With this change we now do a "late" registration of the exception
object, preventing exception-happy code from filling memory when the
debugger is attached.
e60b467448a65186e431f90bc72663947303a9df 11-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I11aa1bb5

* changes:
Jit: Fix 083-jit-regressions test to omit non-deterministic output
02d80736b879127a66f7907dc3d5e64167a75ab6 11-Dec-2009 Bill Buzbee <buzbee@google.com> Jit: Fix 083-jit-regressions test to omit non-deterministic output
5387da6d3194f877887732c685b41592030d19ed 11-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I4c691d1a

* changes:
Minor CheckJNI tweak.
8bed9bccb424067dbedb2978a0aad75ea73f3f65 11-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I909ce240

* changes:
Iterate in JNI thread exit check.
ff887855e125a676b21302fab33cadc6d345ee23 09-Dec-2009 Jesse Wilson <jessewilson@google.com> Support running caliper with the jtreg runner. This is an early first look;
we'll need to fix a few things before the UI for this is nice.
9ae7f00bd959afb3e711b6bc6a3aa70558bd8890 11-Dec-2009 Andy McFadden <fadden@android.com> Iterate in JNI thread exit check.

The Dalvik VM includes a helpful check that kicks and screams if a thread
exits without detaching from the VM first. It manages this with a pthread
TLS destructor. This is handy, but it will interfere with anyone who
wants to use a TLS destructor to initiate the thread detach.

With this change, we now iterate a couple of times to allow other
destructors a chance to detach the thread before we get snippy.

For 2319072.
447a46f696dc0c95965773b8ea18c48d4b329d9d 11-Dec-2009 Andy McFadden <fadden@android.com> Minor CheckJNI tweak.

Check for "L;" class names, e.g. "Ljava/lang/String;", in CheckJNI. If
we see one passed in, give a specific failure message instead of just
allowing the inevitable NoClassDefFoundError to propagate back.

Also, add a message string to the pre-formed NoClassDefFoundError used
by the bootstrap class loader so that it's obvious where it comes from.
34e603e66d79bb76c609231abcf93f367dd5615a 11-Dec-2009 Dan Bornstein <danfuzz@android.com> am 2859440d: am c51439a5: Fix a bug where, in static synchronized methods that had no other uses of registers (no locals, no parameters, no method calls with arguments), v0 would be used both to hold the object being synchronized on and to hold a caught exception.

Merge commit '2859440d31dcb5de958d32a6012c1f8b3c509344'

* commit '2859440d31dcb5de958d32a6012c1f8b3c509344':
Fix a bug where, in static synchronized methods that had no other uses
9993ee8e6be25d4baf42ba3f4d30f12170d8e898 11-Dec-2009 Dan Bornstein <danfuzz@android.com> am c51439a5: Fix a bug where, in static synchronized methods that had no other uses of registers (no locals, no parameters, no method calls with arguments), v0 would be used both to hold the object being synchronized on and to hold a caught exception.

Merge commit 'c51439a513d4cc3c2be4a7cce7b3e9ae480fd5c2' into eclair-mr2-plus-aosp

* commit 'c51439a513d4cc3c2be4a7cce7b3e9ae480fd5c2':
Fix a bug where, in static synchronized methods that had no other uses
390bd340f3ffd90d8db186cd0e84a9e8bfcd23a5 11-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9388fbfd

* changes:
More java.io.File cleanup.
ada415e83cb8e2a7eb8c20ccee3385700b994e72 10-Dec-2009 Elliott Hughes <enh@google.com> More java.io.File cleanup.

Make File.list (and friends) cost one JNI call instead of four,
and move the conversion of UTF-8 byte sequences into the JNI, so
it returns String[] instead of byte[][].

Switch to readdir_r(3) so we don't need the JNI to be "static
synchronized".

Remove fixed-length buffers from the native code.

Fix leaks by introducing a "proper" native container (similar to
std::forward_list). We should still investigate either using
std::vector or passing in an ArrayList<String> and using JNI to
call ArrayList.add, but this is a step forward from the old
code anyway.

Bug: 2281992
d053a029af06e5e7fdfba6e50ef84953398e7bd5 10-Dec-2009 Dan Bornstein <danfuzz@android.com> am 78199efa: am 39c5899d: Preflight cleanup of Ropper.java for style, whitespace, etc., before doing some more drastic modifications. Also, bumped up the version number, rather than making changes first and then forgetting that important detail.

Merge commit '78199efa7615ac896c9a116737bb87f3724ead0b'

* commit '78199efa7615ac896c9a116737bb87f3724ead0b':
Preflight cleanup of Ropper.java for style, whitespace, etc., before doing
4cc42a9b1716c70b0bba8b0177df32df43881d1e 10-Dec-2009 Dan Bornstein <danfuzz@android.com> Fix a bug where, in static synchronized methods that had no other uses
of registers (no locals, no parameters, no method calls with arguments),
v0 would be used both to hold the object being synchronized on and to hold
a caught exception.

The result was code that, if an exception was thrown through it, would
in turn throw an IllegalMonitorStateException, as the vm would be
asked to monitor-exit the exception object and not the monitor-entered
class.

Dx test 062 has a couple new cases to cover this case as well as the
parallel instance method case (not that the latter was problematic,
but I like the symmetry).
6f3eca98a6bcceec670b7ece1e5215e62911b6c1 10-Dec-2009 Dan Bornstein <danfuzz@android.com> am 39c5899d: Preflight cleanup of Ropper.java for style, whitespace, etc., before doing some more drastic modifications. Also, bumped up the version number, rather than making changes first and then forgetting that important detail.

Merge commit '39c5899d0359c386815f5f72991a3a2573135dbd' into eclair-mr2-plus-aosp

* commit '39c5899d0359c386815f5f72991a3a2573135dbd':
Preflight cleanup of Ropper.java for style, whitespace, etc., before doing
69650ce531f4edc8b645cc3e8811f9bc7c208c9c 10-Dec-2009 Dan Bornstein <danfuzz@android.com> Preflight cleanup of Ropper.java for style, whitespace, etc., before doing
some more drastic modifications. Also, bumped up the version number, rather
than making changes first and then forgetting that important detail.
a49f488114fbe8de6ba090dfa080978e89d9bff7 28-Oct-2009 Barry Hayes <bhayes@google.com> The disabled code was too late to make eclair, and there were some
bugs on x86, now fixed.

Let's get this into master for some burn-in.
8df4a5472cbaa368be649a79ec4ada29b9d5132c 30-Oct-2009 Barry Hayes <bhayes@google.com> Remove arrayClass from ClassObject. It seems to get only dozens of hits in
all of Zygote start-up.

There doesn't seem to be a measurable difference in the time printed in:
I/Zygote ( 2247): ...preloaded 1147 classes in NNNNms.
1cb26daf04f53f2e9b196233ebadd4ad3f8dd1b2 10-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I5f6d073a

* changes:
Jit: Save/restore callee-save floating point registers at interpreter entry/exit
3e75cf8c7f91bdf0a20bfd5ce21a41036fff4da4 08-Dec-2009 Bill Buzbee <buzbee@google.com> Jit: Save/restore callee-save floating point registers at interpreter entry/exit
6c4b80874e012fd0b06946bd4084cd3e732b0b99 10-Dec-2009 Andy McFadden <fadden@android.com> am b2c70f2c: (-s ours) am 4d9f9384: DO NOT MERGE - Reduce spin-on-suspend complaints.

Merge commit 'b2c70f2cb70cd3dbdd12b2581447ed1e70a30992'

* commit 'b2c70f2cb70cd3dbdd12b2581447ed1e70a30992':
DO NOT MERGE - Reduce spin-on-suspend complaints.
553d1f2346b84b62b0a33ce1e78f753352d7fde3 10-Dec-2009 Elliott Hughes <enh@google.com> am 0f6512c7: am 3f77d012: Merge change I2ca00c90 into eclair-mr2

Merge commit '0f6512c7b4dd17177a7fdb521ca440d87b4230ad'

* commit '0f6512c7b4dd17177a7fdb521ca440d87b4230ad':
Fix dalvik test 063.
71b5415e1582dfb0921ad8260b651eba455dae36 10-Dec-2009 Jesse Wilson <jessewilson@google.com> Merge branch 'archive_888752' into archive_dalvik

Conflicts:
libcore/archive/build.xml
libcore/archive/src/main/java/java/util/jar/JarFile.java
libcore/archive/src/main/java/java/util/zip/GZIPInputStream.java
libcore/archive/src/main/java/java/util/zip/Inflater.java
libcore/archive/src/main/java/java/util/zip/InflaterInputStream.java
libcore/archive/src/main/java/java/util/zip/ZipEntry.java
libcore/archive/src/main/java/java/util/zip/ZipFile.java
libcore/archive/src/main/java/java/util/zip/ZipInputStream.java
libcore/archive/src/main/java/org/apache/harmony/archive/internal/nls/Messages.java
libcore/archive/src/main/java/org/apache/harmony/archive/internal/nls/messages.properties
libcore/archive/src/main/native/archive/unix/exports.txt
libcore/archive/src/main/native/archive/unix/makefile
libcore/archive/src/main/native/archive/windows/makefile
libcore/archive/src/main/native/archive_copyright.c
libcore/archive/src/main/native/jarfile.c
libcore/archive/src/main/native/java_util_zip_Deflater.c
libcore/archive/src/main/native/zip.c
libcore/archive/src/main/native/zipcache.c
libcore/archive/src/main/native/zlib/unix/makefile
libcore/archive/src/main/native/zlib/windows/makefile
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/AllTests.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/JarFileTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/JarInputStreamTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/JarOutputStreamTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/ManifestTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/Pack200Test.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/DeflaterOutputStreamTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/InflaterInputStreamTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/InflaterTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/ZipEntryTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/ZipFileTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/ZipInputStreamTest.java
b953aea6f6d4124c9f073ca124f2b27b150d5b0d 10-Dec-2009 Elliott Hughes <enh@google.com> Implement DTDHandler support for ExpatParser.

Every time a third-party developer gets their DefaultHandler method signatures
wrong (making it impossible for us to call them), they see this in the log and
complain that SAX parsing is broken on Android:

WARN/ExpatReader(704): DTD handlers aren't supported.

This patch adds that support -- even though no-one wants it -- so we can get
rid of the irrelevant log message.
8927f035030de29b131e7941c69f6be44b9948db 10-Dec-2009 Andy McFadden <fadden@android.com> am 4d9f9384: DO NOT MERGE - Reduce spin-on-suspend complaints.

Merge commit '4d9f9384999b14acc996ed621e1205b389845f13' into eclair-mr2-plus-aosp

* commit '4d9f9384999b14acc996ed621e1205b389845f13':
DO NOT MERGE - Reduce spin-on-suspend complaints.
9275683be3ef7e4bec01a5a8079fb7cfb789068f 10-Dec-2009 Elliott Hughes <enh@google.com> am 3f77d012: Merge change I2ca00c90 into eclair-mr2

Merge commit '3f77d0127a34798cfede935331c10c1e57ec0ff7' into eclair-mr2-plus-aosp

* commit '3f77d0127a34798cfede935331c10c1e57ec0ff7':
Fix dalvik test 063.
7deabec4644e9de9473aaff512b9c3d5480d175e 09-Dec-2009 Elliott Hughes <enh@google.com> Fix java.util.Formatter formatting of -0.0.

The active ingredient here is the two changes to stop comparing longValue
with doubleValue and formatting the long if the two compare equal. This
causes us to lose the sign of 0 (because there's no long -0, but -0.0d == 0).
Instead, we explicitly test for boxed Double and Float arguments (because
the number of integral types is larger, they get the "else" clause).

The other changes are just minor cosmetic changes made as I followed the code.

Bug found by jtreg, so no new test.
de077bbe1a9d7709cc1717c30aead3f8204d4d07 03-Dec-2009 Andy McFadden <fadden@android.com> DO NOT MERGE - Reduce spin-on-suspend complaints.

The first complaint is popping up too quickly, and the pile of log
messages it emits aren't helping the process do real work. This
skips the complaining if we just finished the first (0.25 sec) sleep.

(merged back from master)
abe08cd360ba02bddf25cb1f8c9bad50dbbc852c 09-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I7bdddfb1

* changes:
Improve the FileNotFoundExceptions thrown by OSFileSystem.open.
39177de5811f876d249676574a22c7ee43a0157b 09-Dec-2009 Elliott Hughes <enh@google.com> Improve the FileNotFoundExceptions thrown by OSFileSystem.open.

When I improved the internals of java.io.File, I failed to keep
OSFileSystem.open (which uses the internals of java.io.File) in
sync, leading to misleading error reporting. java.io.File's
internals now include a trailing NUL, which is useful for the
native code but confuses Java if it tries to decode the byte[]
as a UTF-8 sequence.

This patch fixes the bug and also improves OSFileSystem.open's
error reporting to include the reason for the failure.

Bug: 2313271
2874aeb937668f38495becba995a45a18c6b313c 08-Dec-2009 Dan Bornstein <danfuzz@android.com> am 66cbe5b1: am bf1bb914: am 4a888b09: Two exception-related tweaks: (1) Make the dynamic exception construction mechanism be able to handle exception constructors that take Object instead of String. (2) Add a convenience in JNIHelp to throw RuntimeExceptions.

Merge commit '66cbe5b10e3bd9f7b3c262a2ec8a3c11087baa80'

* commit '66cbe5b10e3bd9f7b3c262a2ec8a3c11087baa80':
Two exception-related tweaks: (1) Make the dynamic exception construction
f607f2ed4473cba77d28fcf903c8bcac08433de1 08-Dec-2009 Elliott Hughes <enh@google.com> Fix build.
d3e8a845a20af8a4ddd67705a485c41d21d6e091 08-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8cdf9790

* changes:
Take Locale into account in java.util.Formatter uppercase conversions.
005f448e6e507a2e9a6cbc074d5e571bafda8c32 08-Dec-2009 Elliott Hughes <enh@google.com> Take Locale into account in java.util.Formatter uppercase conversions.

(This is an RI incompatibility, but Sun accepts that the RI's behavior is a
bug.)

Bug: 2301938
d3f99acc3d504fa16158866290a3f18928056090 08-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id40223ec

* changes:
Convert an assert() into a real test.
b96de0039b26db2cb6ef1fa5264f8b8df4ac11e6 08-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I2ca00c90 into eclair-mr2

* changes:
Fix dalvik test 063.
517a0b197506cceaf5d762c35c3a4ec2d671f043 08-Dec-2009 Elliott Hughes <enh@google.com> Fix dalvik test 063.

Avoid a race by sleeping so the code we're examining gets to run before we
query its state.

Bug: 2310700
03777965a180bc4b3b0fd18aa138d83683739d2a 08-Dec-2009 Dan Bornstein <danfuzz@android.com> am bf1bb914: am 4a888b09: Two exception-related tweaks: (1) Make the dynamic exception construction mechanism be able to handle exception constructors that take Object instead of String. (2) Add a convenience in JNIHelp to throw RuntimeExceptions.

Merge commit 'bf1bb914a62c65eb8304ce1d86e8ff2dd4f5c79b' into eclair-mr2-plus-aosp

* commit 'bf1bb914a62c65eb8304ce1d86e8ff2dd4f5c79b':
Two exception-related tweaks: (1) Make the dynamic exception construction
d11fa733523c89dece52f7bbc802ada294d75d62 08-Dec-2009 Dan Bornstein <danfuzz@android.com> am 4a888b09: Two exception-related tweaks: (1) Make the dynamic exception construction mechanism be able to handle exception constructors that take Object instead of String. (2) Add a convenience in JNIHelp to throw RuntimeExceptions.

Merge commit '4a888b09be2ade9fc5bb0137f702b3be889679a9' into eclair-plus-aosp

* commit '4a888b09be2ade9fc5bb0137f702b3be889679a9':
Two exception-related tweaks: (1) Make the dynamic exception construction
394da1d1b303049ce1b39c3d8a69a61aa2338d3c 08-Dec-2009 Dan Bornstein <danfuzz@android.com> am 4a888b09: Two exception-related tweaks: (1) Make the dynamic exception construction mechanism be able to handle exception constructors that take Object instead of String. (2) Add a convenience in JNIHelp to throw RuntimeExceptions.

Merge commit '4a888b09be2ade9fc5bb0137f702b3be889679a9' into eclair-mr2

* commit '4a888b09be2ade9fc5bb0137f702b3be889679a9':
Two exception-related tweaks: (1) Make the dynamic exception construction
7241ccb51bbd2e6132d661c5832dd373f8fb5397 08-Dec-2009 Dan Bornstein <danfuzz@android.com> Two exception-related tweaks: (1) Make the dynamic exception construction
mechanism be able to handle exception constructors that take Object instead
of String. (2) Add a convenience in JNIHelp to throw RuntimeExceptions.

Change-Id: Ie5ce680c30043a4b186e59d7c8883666648b2c87
efcfe79fe9f6f7c4e5d37cbf702a5b922e7dba66 08-Dec-2009 Andy McFadden <fadden@android.com> Convert an assert() into a real test.

We occasionally see an assertion failure on some debug builds that
indicates a thread is being examined by the GC while still running.
This turns the assertion into an always-enabled test with verbose
logging and a VM abort.
9f97baae40791e25607163aba0d94a1e184b8af7 07-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I78b1acb6

* changes:
More java.io.File cleanup.
69bd950b96b757a766a2d0f0bf1112b8125f4db6 06-Dec-2009 Elliott Hughes <enh@google.com> More java.io.File cleanup.

Remove the duplication between the various list and listFiles methods.
This also makes the variants that take a filter no less efficient than
those that don't, for the special case of the null filter.

The upstream code sometimes assumed returned filenames were UTF-8, and
at other times assumed returned filenames were in the platform encoding.
The new code always uses UTF-8, to match filenames sent to the operating
system, which were and are always sent as UTF-8 byte sequences.

This patch does not alter the native listImpl method. That's for the
next patch.

A couple of unrelated cosmetic changes have been made in this patch:
declarations of native methods have been moved next to the methods
they implement, and a minor simplification has been made to the
documentation of isAbsolute.

Bug: 2281992
9fee14feb2875bd73fb02d8408f01122f876099a 07-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I01c5bfe3

* changes:
Jit: 2nd attempt at fix for [Issue 2302318] Crash during spin-on-suspend
efdaef75ca8f458c5e96693187d7d05bd03b776f 04-Dec-2009 Bill Buzbee <buzbee@google.com> Jit: 2nd attempt at fix for [Issue 2302318] Crash during spin-on-suspend

Logic on the 1st attempt was a little off, preventing some invokes from
getting chaining cells.
fd8820d173f8768c263fe7792af859bcaabba23b 06-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I76f1dbe7

* changes:
More java.io.File cleanup.
645155e9ec751dcb8c9be534a83d5642118d1430 05-Dec-2009 Elliott Hughes <enh@google.com> More java.io.File cleanup.

Mostly cosmetic: improve documentation, factor out the code to join two
strings into a path, put fields in canonical order, defer to String (which
might be able to perform optimizations we can't), simplify the path
cleaning code.

Also remove more unused Windows support (since our File is already totally
broken on Windows anyway).

Bug: 2281992
f08bcd9541c18d5064ede93ef8262a682c3d642a 05-Dec-2009 Elliott Hughes <enh@google.com> Improve TimeZone documentation.

We can't do anything about the RI's unfortunate choice of method names,
but improving our documentation might help reduce the confusion they
cause.

Bug: 2244560
420c3980bc53398c2dd6f4fd13a5ad0c9a9d0847 05-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I97af6ec8

* changes:
More java.io.File cleanup.
5a37efcb488a80d4f8be085330444b43063e9666 05-Dec-2009 Elliott Hughes <enh@google.com> More java.io.File cleanup.

Two changes:

1. Change the createNewFile JNI to match the Java interface, so we can lose the
glue. (Also make the Java/JNI names match, and sort the table of native method
names alphabetically.)

2. Fix the caching of the path byte sequence so we're caching the exact byte
sequence we want to hand to JNI. Also switch to caching the byte[] at
construction time, rather than hiding it behind an accessor.

There's a deliberate functional change here too: previously we were inconsistent
about which encoding was in use. Sometimes it was explicitly UTF-8, other times
the default platform encoding (which happens to be UTF-8 on Android). Now we
always use UTF-8. (But note that the File.list methods, which I haven't got to
yet, still return a mix of UTF-8 and platform-encoded strings.)

Bug: 2281992
fccb0393b14a10e3512b42586ecec8738edd1b62 05-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ia8ff1644

* changes:
Fix two trivial Formatter bugs (found by jtreg).
90266d7b38ed27e6accb946c6cd9a429de60622b 04-Dec-2009 Elliott Hughes <enh@google.com> Fix two trivial Formatter bugs (found by jtreg).

jtreg complains that we allow "%<%" and "%<n". This patch disallows
the special "last argument" case to conversions that don't take
arguments.

We also reject explicitly-numbered arguments such as "%123$n" or
"%123$%" (whether or not a corresponding argument was provided) though
the RI ignores such errors. I've modified the harmony tests to stop
passing unused argument indexes to %n and %%.

This fixes about 80 jtreg complaints (the java/util/Formatter/Basic test is
generated by shell script and seems to accidentally repeat many of the same
tests over and over).

This patch also includes a little more tidying for readability, but
no other functional changes.
4f79d6ba0b2a546ebf410ed2fb5b1bb4aa8f402a 04-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9bb3f193

* changes:
Add new(-ish) Dalvik opcodes to Opcodes.java.
fdb27f8d05f7d719ab20d4533d7b16297227ceba 04-Dec-2009 Andy McFadden <fadden@android.com> Add new(-ish) Dalvik opcodes to Opcodes.java.

This is a public API change.
e7a47e0d278de90a4abbfe1baaa83ed28a79d60e 04-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I85442b60

* changes:
Android ICU4.2.1 upgrade. For detail of dalvik changes, please see: https://docs.google.com/a/google.com/View?docid=0AfZlO7RuiBh5Y2NmMjdndmJfNDVmNWM2cGY0NQ&hl=en
110587e8aeaae493ab3de3294f6c0a7a20025a95 04-Dec-2009 Bill Buzbee <buzbee@google.com> Reverting [master] Change I85dd4a66: (platform/dalvik)
f0082e67174d2385224603c9e982ff6e14e56734 04-Dec-2009 Andy McFadden <fadden@android.com> am ca77c603: am a7745f97: Remove "unused" opcodes from API.

Merge commit 'ca77c6035fcce6ed9653ee1bed1753bff99e3d89'

* commit 'ca77c6035fcce6ed9653ee1bed1753bff99e3d89':
Remove "unused" opcodes from API.
b03d01d127ca2215b1b4235777673da37f4d3de1 04-Dec-2009 Elliott Hughes <enh@google.com> am b90871f4: (-s ours) am 5d26339a: DO NOT MERGE: backport the IPv6 NetworkInterface/multicast fixes.

Merge commit 'b90871f4c638ce83137adea74b66dd3eca907cfe'

* commit 'b90871f4c638ce83137adea74b66dd3eca907cfe':
DO NOT MERGE: backport the IPv6 NetworkInterface/multicast fixes.
2cacb8a63ca2fc5255095b2f7fcd18b895edd315 04-Dec-2009 Andy McFadden <fadden@android.com> am a7745f97: Remove "unused" opcodes from API.

Merge commit 'a7745f9734870e8750d8488b6563f80e0ecdcdcf' into eclair-mr2-plus-aosp

* commit 'a7745f9734870e8750d8488b6563f80e0ecdcdcf':
Remove "unused" opcodes from API.
b605953a3e3968c274f673f5f0bb3aa371f36307 04-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I85dd4a66

* changes:
Jit: Fix for [Issue 2302318] Crash during spin-on-suspend testing
c6ae4503d91d5c7575a14f40e4c6cd890438777e 04-Dec-2009 Andy McFadden <fadden@android.com> Remove "unused" opcodes from API.

There's no need to have constants like OP_UNUSED_FF in the API. They
serve no purpose, and it makes life confusing when an opcode is defined
(does the "unused" one go away, breaking the API? do we have the real
definition and the "unused" definition simultaneously?).

Discussed / approved by API council.
96be26d842772fe03bd5352eef5fd9422ffe845f 04-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I7d18e38e

* changes:
Added additional DEX checksum.
94db83799ecba6e31cfbb07d5ac5bd04c096cfd9 04-Dec-2009 Bill Buzbee <buzbee@google.com> Jit: Fix for [Issue 2302318] Crash during spin-on-suspend testing

This was an amusing bug: the test case simulated a daemon by falling
into an empty loop-forever. The trace selector treats unconditional
branches as NOPs, and proceeded to repeatedly add the same "branch to self"
instruction to the trace until it reached max trace size. The compiler
got confused, and died.
17ad1d1afded7f616963fc9da2c7d836ac782627 04-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I6d8a640c

* changes:
Make java.util.Formatter perform acceptably (and fix two jtreg failures).
8b51c1ce53e279334be320324c77c54a5b80448b 04-Dec-2009 Andy McFadden <fadden@android.com> Added additional DEX checksum.

We have a checksum on the base DEX data, but not on the stuff that
dexopt appends. If a flash block goes "funny" we might not be able to
detect the problem. This change adds a checksum field to the
"optimized" header.

The new checksum is verified under the same circumstances as the base
DEX checksum: when you use "dexdump", and when you enable additional
checking with -Xcheckdexsum (or the property dalvik.vm.check-dex-sum
is set to "true").

For bug 2255640.
fe6d6d6df603ceb43f6985146d36fd447e25e6d3 03-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I1ede83b7

* changes:
Reduce spin-on-suspend complaints.
a83cde5c7153b5040769b564e14dd922071b170f 02-Dec-2009 Elliott Hughes <enh@google.com> Make java.util.Formatter perform acceptably (and fix two jtreg failures).

Here are the slowdowns compared to hand-written StringBuilder.append code,
for three cases: a long format string with no format specifiers, a long
format string with a single %d, and a long format string with a
single %s (in that order):

passion-old: 54x 40x 10x
sim-new: 1.7x 3.4x 5.3x
passion-new: 9.2x 2.2x 1.8x

Formatter has been changed to use a less expensive mechanism for parsing
the format string, to not create expensive temporary objects unless they're
actually needed (particularly strings used only in error messages), to not
create a temporary StringBuilder in every transform* method, and to not
charge for padding (or truncation) unless actually required.

As Stroustrup would say, "you don't pay for what you don't use".

Other changes:

AbstractStringBuilder adds a special case for appending one StringBuilder to
another, similar to its existing special case for String (because we do a
much better job of copying a char[] with System.arraycopy than iterating over
a CharSequence).

Character reinstates the ASCII-range optimizations for isDigit and
isUpperCase, both of which are used by Formatter. Bug 2295801 covers
reinstating the rest of Character's special cases.

String loses the unused inner class ConsolePrintStream, which isn't actually
relevant to this change, but offended me greatly.

CharBuffer gets a rewritten toString that's less inefficient. (This doesn't
matter to us because the new Formatter doesn't use CharBuffer, but one
shouldn't leave broken glass on the lawn.)

The change to Formatter.close fixes a jtreg failure (and brings our
implementation in line with our documentation, which already stated that
multiple calls to Formatter.close only close the underlying Closeable
once).

The change to Formatter.format(Locale, ...) fixes a jtreg failure: any
Formattable we call out to needs to be able to use Formatter.locale to
find out the locale it's formatting for. I've reworded the documentation
so that it's clearer (it was already correct, but ambiguous).

Bug: 2272346
95657b62d3153d4775aaee03e06a3dd6b5a2cae4 03-Dec-2009 Andy McFadden <fadden@android.com> Reduce spin-on-suspend complaints.

The first complaint is popping up too quickly, and the pile of log
messages it emits aren't helping the process do real work. This
skips the complaining if we just finished the first (0.25 sec) sleep.
cdbf2c5537fed0365cf1ca46bcde92cf9cd861b3 03-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I909b4182

* changes:
Jit: Fix for 2187020, bad exception recovery from native invoke static
107403312a38e7376aaa31a77c770f7d5fbeb244 03-Dec-2009 Bill Buzbee <buzbee@google.com> Jit: Fix for 2187020, bad exception recovery from native invoke static
3ade94b32a78dd017afca265e8e0e3d87fb16b08 03-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I352c5d87

* changes:
Rudimentary JNI method arg checking.
9bec244a031702f3fa383596753de513033cbad3 03-Dec-2009 Jesse Wilson <jessewilson@google.com> More jtreg+JUnit love. Getting JUnit to work off-device.

Also fixing the number of threads used by the driver.
1a6de5ef00aae0f26c3ea71219f2100f7720b377 03-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I147cfdcf

* changes:
JUnit support for jtreg runner. This makes it so that a single command will compile a focused set of tests, install them on the device, and run them.
0834b68aa260300595db61ba160a0485544b89d2 02-Dec-2009 Jesse Wilson <jessewilson@google.com> JUnit support for jtreg runner. This makes it so that a single command
will compile a focused set of tests, install them on the device, and
run them.

There are still some features missing in the current test runner:
- it requires JUnit to be compiled manually "mmm external/junit". I'm
trying to figure out why our build system cannot find it.
- it requires the full test suite already be on the device. This is
necessary for the support test files and annotations. I intend to
create a follow up change to move those into a smaller target.
For now "mmm dalvik snod" will build these.
- JUnit test expectations are at the class level, not the method level.
I don't yet have a mechanism to introspect the .java file from JUnit
to get its method-level detail.
- jtreg tests can only be run as a directory, not as a single test.
e4496d93992440e480306576f51c7b69bd43b952 03-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I310502fa

* changes:
Enable CheckJNI on core tests.
08482567c040d2f25221d6ea7e69627b1bf225d0 03-Dec-2009 Andy McFadden <fadden@android.com> Enable CheckJNI on core tests.

This adds -Xcheck:jni to the core test command line. The tests will run
a bit more slowly when native code is involved, but I don't think we're
doing any performance testing in here, and the extra JNI testing is
useful.
e50469045dc7492c20b866019fc1accbceda1538 02-Dec-2009 Andy McFadden <fadden@android.com> Rudimentary JNI method arg checking.

This adds basic checking of reference arguments passed to interpreted
methods from native code when CheckJNI is enabled. The various
method calls and NewObject variants are checked.

Currently only tests to see if objects are valid references; does not
attempt to verify that the objects are of the correct type.

Also: renamed checkCallCommon for clarity.
43ab593fbdb4bd6a9a6cfd0b8dad76e8a53593b7 02-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I45d6e22b

* changes:
Jit: shift bug fix - 2296099
0374708a54c336538148598f042c0c9ead0717fb 01-Dec-2009 Bill Buzbee <buzbee@google.com> Jit: shift bug fix - 2296099
4e0adcb32ec13b461a6aff47e723abf1d3b14fb5 02-Dec-2009 Claire Ho <chinglanho@gmail.com> Android ICU4.2.1 upgrade.
For detail of dalvik changes, please see:
https://docs.google.com/a/google.com/View?docid=0AfZlO7RuiBh5Y2NmMjdndmJfNDVmNWM2cGY0NQ&hl=en

Bug: 1823720
Reviewed-by: jessewilson@google.com,enh@google.com
CC:
Signed-off-by:
a71bdc2c4ac237fd91008247969d509f105379dc 02-Dec-2009 Andy McFadden <fadden@android.com> Update makefile comments.

The "make clean" note was out of date -- it only cleaned one of our four
targets.
423aa4d36b3a0540de1b6c391650d193cebf9d5a 01-Dec-2009 Elliott Hughes <enh@google.com> am 5d26339a: DO NOT MERGE: backport the IPv6 NetworkInterface/multicast fixes.

Merge commit '5d26339aed33942ba82bfdb79e1b7e9a832c96a7' into eclair-mr2-plus-aosp

* commit '5d26339aed33942ba82bfdb79e1b7e9a832c96a7':
DO NOT MERGE: backport the IPv6 NetworkInterface/multicast fixes.
dd122f494c943d8d77d840860137fcfb6fb88b9f 01-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I47b9b7f9

* changes:
DPQ Comment cleanup (and a few very minor code changes)
9b6b40ce4769df3fc9f409aea1da4d33362ff5b3 01-Dec-2009 Joshua Bloch <jjb@google.com> Replaced all versions of binarySearch with better versions.
For float[] and double[], the new versions should run significantly faster than the old.
Removed some obsolete helper methods.
1bf69aea0458f4afdc914124b47f0ba782762b9a 01-Dec-2009 Joshua Bloch <jjb@google.com> DPQ Comment cleanup (and a few very minor code changes)
7fd91921007a5bd0abcee22f91d538af7eba8a42 30-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9d0bdb0b

* changes:
Update docs for debugger change.
e9bc0d6d5481f0127233013fb6cb500f5ca0e082 30-Nov-2009 Andy McFadden <fadden@android.com> Update docs for debugger change.

Update notes re: breakpoint implementation (changed Oct 28, 96516932).
9e0a17d3d4a1e46b508d439b230884f9d8ec2024 30-Nov-2009 Elliott Hughes <enh@google.com> More java.io.File improvements.

Three themes to this change: not making unnecessary native calls (like the
pointless "exists" check in canWrite), being consistent in our
treatment of the empty path, and removing unnecessary cruft from the native
code.

I'm sure there must be a better implementation for handling the empty
path (the few methods for which it *isn't* invalid should be the special
cases, not every single method), but in this patch I'm just interested
in correctness.

With this patch, we pass the jtreg empty path test (which we previously
failed) and we pass my more complete test (added to FileTest.java in this
patch).

Bug: 2281992
7b4571713ee1b823e4a8614fc4cfb5dcb41ffb5d 26-Nov-2009 Elliott Hughes <enh@google.com> DO NOT MERGE: backport the IPv6 NetworkInterface/multicast fixes.

This is a backport of the minimal changes from master (flan) to fix IPv6
multicasting. Specifically, it fixes NetworkInterface to report IPv6 addresses,
it fixes GenericIPMreq so we pass the interface indexes down to native code,
it replaces our old copy of harmony's MulticastSocketTest with the current
upstream version (to avoid bogus failures), and it brings back one small
"unrelated" fix to OSNetworkSystem.cpp that's necessary to prevent failures
in later parts of tests we used to fail too early to notice secondary
problems.

This passes all the (fixed) MulticastSocketTest tests, causes no regressions
in the whole net.AllTests suite, and fixes the user-submitted application
that started the investigation.

Bug: 1750581
ebd609f6c39cc434f96334ccf1e674f4683f9937 26-Nov-2009 Elliott Hughes <enh@google.com> Fix File.isHidden and File.listRoots.

Not only were the old implementations of these methods over-complicated, they
were both incorrect. We now pass all our existing tests plus the jtreg tests.

Bug: 2281992
5c9c450455593e0b94499ee979dd365b5064eeb2 25-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I5ec3a381

* changes:
Changing JtregRunner to support running tests off device.
cc06a5cfd45dea683b2e86b59032d7863be31055 25-Nov-2009 Jesse Wilson <jessewilson@google.com> Changing JtregRunner to support running tests off device.
90dbf7b7a524b7fb0100435a02805fbd98855885 25-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I869898f1

* changes:
Fix an assertion.
becfbade2c0ea36ccb08b9b84ab74776e315158c 24-Nov-2009 Andy McFadden <fadden@android.com> Fix an assertion.

The assertion probably dated from before the binary-search path existed.
2300b42232f70cdbd37ccb703a7f86d1eaf3f96b 24-Nov-2009 Elliott Hughes <enh@google.com> am e732bb04: am 1c7705b6: Merge change I96996494 into eclair-mr2

Merge commit 'e732bb040be84bd2ac652ca53330b80367a65725'

* commit 'e732bb040be84bd2ac652ca53330b80367a65725':
Fix browser crashes if server certificates have > 32 subjectAltNames.
33790bdc1e6c241a2d4745031679188af3018852 24-Nov-2009 Elliott Hughes <enh@google.com> am 1c7705b6: Merge change I96996494 into eclair-mr2

Merge commit '1c7705b6066ea57109557fc1cb0609991ac0af24' into eclair-mr2-plus-aosp

* commit '1c7705b6066ea57109557fc1cb0609991ac0af24':
Fix browser crashes if server certificates have > 32 subjectAltNames.
fd24dcbbd586bdbfc9409698b49d7886d738ddf8 24-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I96996494 into eclair-mr2

* changes:
Fix browser crashes if server certificates have > 32 subjectAltNames.
938f31a9849cea43961144986c2ec6ba7d926143 24-Nov-2009 Elliott Hughes <enh@google.com> 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
0079be6721f63d0a115dae2e29d8b27b0b9812d3 24-Nov-2009 Jesse Wilson <jessewilson@google.com> A few notes on why we don't cache canonical paths.
7aeecd0d746179be90580b31aaf81368f9d8d24f 24-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I518925b0

* changes:
Fix windows SDK build.
7b76e5a12ed5c5c29f7cf3ba2b8a1d4a7826af32 24-Nov-2009 Jesse Wilson <jessewilson@google.com> am 683daacf: (-s ours) am d1aead76: Merge change Ie21b2327 into eclair-mr2

Merge commit '683daacf21830a0b0510320c735485c75749c4f1'

* commit '683daacf21830a0b0510320c735485c75749c4f1':
DO NOT MERGE: Removing the use of FileCanonPathCache.
5665d2cd8978ea760edc4d3c58d2499621be325f 24-Nov-2009 Jesse Wilson <jessewilson@google.com> am d1aead76: Merge change Ie21b2327 into eclair-mr2

Merge commit 'd1aead768d5c6e4aa18c4f43e6be97f8a40fbf84' into eclair-mr2-plus-aosp

* commit 'd1aead768d5c6e4aa18c4f43e6be97f8a40fbf84':
DO NOT MERGE: Removing the use of FileCanonPathCache.
67587bd4455b523f2c8f4965caf460170dae3215 24-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ie21b2327 into eclair-mr2

* changes:
DO NOT MERGE: Removing the use of FileCanonPathCache.
0693aa24cb96cbe3e1ed39a1eba436c7c6525588 24-Nov-2009 Jesse Wilson <jessewilson@google.com> 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.
68e5978b70300a25644c013b558c843af5e915e6 24-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9189bd9d

* changes:
Fix java.io.File's JNI's fixed-length buffers.
7ce06ca2661d2df92f929542c581a37594405922 21-Nov-2009 Elliott Hughes <enh@google.com> 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).
26b6fbb42accd69bba776896eba7942a4ddf358e 24-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iff90b1aa

* changes:
Explicitly ignore non-IPv4/IPv6 addresses from IFA_ADDRESS.
5d742dd4dcd439e4275b2e67da488d6279384553 24-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I72b1f303

* changes:
Add a comment.
ee0baf2132a4f1bb7fde562d9fec4e6560cbb58a 24-Nov-2009 Andy McFadden <fadden@android.com> Fix windows SDK build.

Broken by 96516932f1557d8f48a8b2dbbb885af01a11ef6e.
5fc1be902a327919ea533e01d365cb60588603e7 24-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I4bd6f817

* 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.
25f6f7a6cd95145953e5e5fcfc0d77f4920d45c0 12-Nov-2009 Joshua Bloch <jjb@google.com> 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.

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.
c0c5c83880f36a0bbd31e67de9e59439f6248493 23-Nov-2009 Elliott Hughes <enh@google.com> Add a comment.
0542154b8f5396220988a9131fa1a82a2ac89c14 23-Nov-2009 Elliott Hughes <enh@google.com> 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.
311bfee0cda5f99ead79537d4c4aa78dde00f7db 21-Nov-2009 Bill Buzbee <buzbee@google.com> Jit: Support for inline-execute/range [issue 2268232]
6e7035fbd43d541440659e68ac279822700d3ac6 22-Nov-2009 Bill Buzbee <buzbee@google.com> Jit: Misc fixes, move_exception, blocking mode, self-cosim

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
2ee7ce1521c5bd516f6b88828238e817c0982366 23-Nov-2009 Ben Cheng <bccheng@google.com> Restructure the codegen to make architectural depedency explicit.

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
0d845305ec51dc9e325c0bd4e141686b7cf1cd69 21-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9fa3ef2c

* changes:
Rewrite NetworkInterface's JNI for IPv6.
a8be17906093a8c3cf8f7c34aa06831e480aad5c 21-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I2807742e

* changes:
Switch java_io_File.c over to C++.
f88f45fd7195cf5c7d4a9c1447d571e780baaa82 21-Nov-2009 Elliott Hughes <enh@google.com> Switch java_io_File.c over to C++.
01bfa75b74e82ea2370bc90fafc238bf25e7863b 21-Nov-2009 Dan Egnor <egnor@google.com> am 070dbac8: am 0dfef7bc: Fix bugs created by caching NumberFormat & DecimalFormatSymbols objects

Merge commit '070dbac882856834111bc0e766224ee53c8d5471'

* commit '070dbac882856834111bc0e766224ee53c8d5471':
Fix bugs created by caching NumberFormat & DecimalFormatSymbols objects
07e16b1c3af1adab90d19a12a556bdca625e7fb8 21-Nov-2009 Dan Egnor <egnor@google.com> am 0dfef7bc: Fix bugs created by caching NumberFormat & DecimalFormatSymbols objects

Merge commit '0dfef7bc223f18a1372b4c44c822b9cdc5d5f741' into eclair-mr2-plus-aosp

* commit '0dfef7bc223f18a1372b4c44c822b9cdc5d5f741':
Fix bugs created by caching NumberFormat & DecimalFormatSymbols objects
6f3ae5532404bd7ae02b63f0f0ec1cac0de622a8 21-Nov-2009 Dan Egnor <egnor@google.com> Fix bugs created by caching NumberFormat & DecimalFormatSymbols objects
79db2a1bfb6d8daa6a8c7915507ae4f6d80ed044 20-Nov-2009 Elliott Hughes <enh@google.com> 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.
b89e3d978040792ffb7afbdbfa06dcc6e3bf4206 21-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I952e8040

* changes:
Implement ZoneInfo.toString for debugging convenience.
1c1f84394526860b6e12ab13fbdf4db0c0b57caf 20-Nov-2009 Elliott Hughes <enh@google.com> Implement ZoneInfo.toString for debugging convenience.

Bug: 2276903
777fa8caf1ff730b610fce3166f8708d1f46c024 20-Nov-2009 Andy McFadden <fadden@android.com> Fix heap profiling doc.

The DDMS "get hprof dump" button doesn't show up until 2.0.
2ac33e2ca4c82cd4ff74641f098ee5ec47991778 19-Nov-2009 Andy McFadden <fadden@android.com> Add execute-inline/range instruction.

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.
4d6a7246776342b6eb4660ce423360a5c4160756 19-Nov-2009 Bill Buzbee <buzbee@google.com> Jit: fix for string/indexOf handler.
927d8e29299ad234b1c1eaae73c1d2c602e8c998 18-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8cd9a083

* changes:
Fix KXmlSerializer so it won't generate invalid XML.
a647820d8a9234396fe2bb62c543f7f8f83a50c0 18-Nov-2009 Elliott Hughes <enh@google.com> 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.
f892c322111229ac850d60584fc6a1cbeaa466ba 18-Nov-2009 Jesse Wilson <jessewilson@google.com> Don't ignore errors on expected result, compile, or install in jtreg runner.
11359b746d11e0d3535224e0cd54e199b445ca10 18-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id856eca6

* changes:
protect use of SMALL_BUFFERS and HANDSHAKE_CUTTHROUGH
fd7dfcaf5012739ae8335d7a1b1036a508fcc4ab 18-Nov-2009 Dan Egnor <egnor@google.com> am 50f82ad4: am 08e0023c: Merge change I42d17725 into eclair-mr2

Merge commit '50f82ad4f2c4047382029560fd09d1907518adc8'

* commit '50f82ad4f2c4047382029560fd09d1907518adc8':
Cache NumberFormat and DecimalFormatSymbols objects in a ThreadLocal,
cfa12c289493711664098cedb143c9ae51540e18 18-Nov-2009 Elliott Hughes <enh@google.com> am 239e94f6: am 28ac5b8c: Merge change I77af8135 into eclair-mr2

Merge commit '239e94f6a7d54bf13c78171d841582557b5fdd38'

* commit '239e94f6a7d54bf13c78171d841582557b5fdd38':
Fix Formatter.format's handling of Formattable.
16539cd376ffb0c6e21ae15d12daf17e1ab7df7c 18-Nov-2009 Dan Egnor <egnor@google.com> am 08e0023c: Merge change I42d17725 into eclair-mr2

Merge commit '08e0023c59828a443d993c7e6cb43bf9d197506a' into eclair-mr2-plus-aosp

* commit '08e0023c59828a443d993c7e6cb43bf9d197506a':
Cache NumberFormat and DecimalFormatSymbols objects in a ThreadLocal,
3b825ba8f11751d3ab6808813113a513e9e09d0a 18-Nov-2009 Elliott Hughes <enh@google.com> am 28ac5b8c: Merge change I77af8135 into eclair-mr2

Merge commit '28ac5b8cfd52d1902a132a5faf8f102a8b33d6c2' into eclair-mr2-plus-aosp

* commit '28ac5b8cfd52d1902a132a5faf8f102a8b33d6c2':
Fix Formatter.format's handling of Formattable.
4f5a258a47b28ab4bb8466fab0e4f7bbad5a7317 18-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I42d17725 into eclair-mr2

* 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.
0903e60e72acc78496e9c94d072557878c6a00ac 18-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I77af8135 into eclair-mr2

* changes:
Fix Formatter.format's handling of Formattable.
891c253db8dea2145b65ddb3f677e360b66d060c 18-Nov-2009 Elliott Hughes <enh@google.com> am 52d2e5f4: am 08c24984: Merge change I0ee370b9 into eclair-mr2

Merge commit '52d2e5f4e7f75e3a2b38b0373158b7dff13e72cf'

* commit '52d2e5f4e7f75e3a2b38b0373158b7dff13e72cf':
Consistently use Formatter's cached NumberFormat.
51d6dfb060ece9004ceeb49c5aa4488b649f3817 18-Nov-2009 Elliott Hughes <enh@google.com> am 08c24984: Merge change I0ee370b9 into eclair-mr2

Merge commit '08c24984fd3cb3e927c9a97b8413843b4b215dc5' into eclair-mr2-plus-aosp

* commit '08c24984fd3cb3e927c9a97b8413843b4b215dc5':
Consistently use Formatter's cached NumberFormat.
04f6188a7348cbab1dd9e226a6fdc5668b5b5d32 18-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I0ee370b9 into eclair-mr2

* changes:
Consistently use Formatter's cached NumberFormat.
ae0dff1423756c75d10c145fc5b1ef0956e3e2a4 18-Nov-2009 Jean-Baptiste Queru <jbq@google.com> protect use of SMALL_BUFFERS and HANDSHAKE_CUTTHROUGH
98b30a277e2dddf118b3acca714dbe07595bf2d9 18-Nov-2009 Dan Egnor <egnor@google.com> 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.
62a869d08c141d1b5ee9ba4110804ae3f0b47635 18-Nov-2009 Andy McFadden <fadden@android.com> am d3864b20: am dced7947: Reduce logging.

Merge commit 'd3864b207e6f6b090accd41a977ad23e18bdcf01'

* commit 'd3864b207e6f6b090accd41a977ad23e18bdcf01':
Reduce logging.
d682943506ba79623e3361fd7465db141ae72233 22-Sep-2009 Elliott Hughes <enh@google.com> 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
b1f4eac743b1128b5085c8cc4da726bc440ecd2f 21-Sep-2009 Elliott Hughes <enh@google.com> Consistently use Formatter's cached NumberFormat.

%f is a lot more expensive than it should be because we're not using the cached
NumberFormat (as we are for %d). Running the microbenchmark I added to the
bug (times in ms, on a Cortex A8):

old new
new Formatter %f 1732 811
String.format %d 635 651
String.format %f 1752 900
reuse Formatter %f 1521 188
Double.toString + 149 148
Double.toString append 33 33
StringBuilder.append 143 139

Bug: 1476
50099db41b9c29d736ba24f6ebc02706d5e38bf7 17-Nov-2009 Andy McFadden <fadden@android.com> am dced7947: Reduce logging.

Merge commit 'dced79474902ffa57fbd48121eb794aad7d24ddc' into eclair-mr2-plus-aosp

* commit 'dced79474902ffa57fbd48121eb794aad7d24ddc':
Reduce logging.
de9d73068c4dc097ca1dfd5d92b5f9c8c82fc716 17-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I49b05da2

* changes:
Various XML fixes.
82761755c203aa56f41946662a992cef20efb85a 17-Nov-2009 Andy McFadden <fadden@android.com> Reduce logging.

This cuts out some unnecessarily verbose dalvikvm chatter, notably:

Trying to load lib /system/lib/librs_jni.so 0x0
Added shared lib /system/lib/librs_jni.so 0x0

These messages can be useful for people trying to get their apps to
work with the NDK, so I'm only suppressing them when the path starts
with "/system". The result is that you can boot the system and run all
standard apps without seeing them, but we'll still see app-private libs
being loaded.

Also LOGI->LOGV for "Debugger thread not active, ignoring DDM send",
which seemed to be firing on startup for APp NaMe events. Ditto for
"Splitting out new zygote heap", which only happens once, but doesn't
strike me as a particularly useful thing to log.
9ba381831c2198cf652d123095bed49d0893043b 17-Nov-2009 Elliott Hughes <enh@google.com> Various XML fixes.

Add tests for bug 2487, exploring the situations where "]]>" is and isn't
allowed. Fix the bug by changing KXmlParser so it pays attention to
whether it's dealing with normal text or text in an attribute value and
reports errors appropriately.

In order to pass the new tests, we also need to fix DocumentBuilder to
pay attention to its DocumentBuilderFactory's "coalescing" setting: whether
or not adjacent text/CDATA nodes should be coalesced.

This in turn fixes a @KnownFailure in DocumentBuilderFactoryTest: previously
we didn't allow the caller to turn "coalescing" off (though until my
previous patch, we didn't actually coalesce anyway). Now we support both,
and I've made coalescing the default, because bug reports tell us that's
what users want. It's how the RI behaves, too.

Bug: 2487
3b2c15c9e0985c598773a2bf85059cd9fb900c9c 17-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I117408b2

* changes:
Restore support for DEX on FAT.
ed0a5fea9432735c5f6c1bb088ea6dbea013e85a 17-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id8a539c6

* changes:
Suppressing an invalid test that's checking implementation details.
b410226faaabb078f0730fbb8798a7ab69082770 17-Nov-2009 Jesse Wilson <jessewilson@google.com> Suppressing an invalid test that's checking implementation details.
4f63d8815db2aaac5022086de631cfa1c3715243 17-Nov-2009 Andy McFadden <fadden@android.com> Restore support for DEX on FAT.

The recent change to mmap(read-write)+mprotect(read-only) doesn't seem
to work on FAT filesystems like /sdcard. This caused problems for the
code that opens Zip files and the code that opens DEX files.

This change splits the "map file" function into "read only" and
"writable read only" versions, using the former for Zip and the latter
for DEX. Further, failure to mprotect(read-only) is now considered a
soft failure and only causes a warning.

The only apps that will be affected by this are those using /sdcard to
hold optimized DEX data for "plugin" APKs.

Also: moved the non-HAVE_POSIX_FILEMAP implementation of file mapping
into a shared function. (Could probably go away entirely.)

Also: fixed the expected output for test 071.
b3cb3b624321df2c4fdea569ee2313e2044a403d 17-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I4c0dedfd

* changes:
Jit: string's compareTo performance improvement.
7d4c37452208c722a39d2b1cf1fb386c2d69389e 16-Nov-2009 Jesse Wilson <jessewilson@google.com> Specifying the /tmp directory and other properties for test runs.

This fixes 2 broken tests in RandomAccessFile, and possibly others.
52852b2c517faf609c11e57a69871bd8b648704e 16-Nov-2009 Bill Buzbee <buzbee@google.com> Jit: string's compareTo performance improvement.

Changed compareTo handler to call __memcmp16() for strings >= 32 chars.
However, even for those strings, the first two chars are done in the
handler (to catch early-out cases).

Comparisons were done with micro-benchmarks comparing 10 and 200-char
strings.

The strings were:
equal -> Q
not equal at start -> S
not equal at end -> E

The test configurations were handler (H) [the previous handler], subroutine (S)
[memcmp16()} and blended (B) [this commit]

H S B
10E 60 138 65
10S 32 70 30
10Q 9 9 9
100E 745 708 716

In short, the small string cases were twice as fast with the existing
handler compared to memcmp16, but memcmp16 was ~5% faster for long
strings.
0c13d14b3315422010acce069589a1c76f4c5f1f 29-Oct-2009 Andy McFadden <fadden@android.com> Change the way breakpoints work.

This replaces the breakpoint mechanism with a more efficient approach.
We now insert breakpoint instructions into the bytecode stream instead of
maintaining a table. This requires mapping DEX files as private instead
of shared, which allows copy-on-write to work. mprotect() is used to
guard the pages against inadvertent writes.

Unused opcode EC is now OP_BREAKPOINT. It's not recognized by dexdump or
any interpreter except portdbg, but it can be encountered by the bytecode
verifier (the debugger can request breakpoints in unverified code).
Breakpoint changes are blocked while the verifier runs to avoid races.

This eliminates method->debugBreakpointCount, which is no longer needed.
(Also, it clashed with LinearAlloc's read-only mode.)

The deferred verification error mechanism was using a code-copying
approach to modify the bytecode stream. That has been changed to use
the same copy-on-write modification mechanism.

Also, normalized all PAGE_SIZE/PAGESIZE references to a single
SYSTEM_PAGE_SIZE define.

Simple Fibonacci computation test times (opal-eng):
JIT, no debugger: 10.6ms
Fast interp, no debugger: 36ms
Portable interp, no debugger: 43.8ms

ORIG debug interp, no breakpoints set: 458ms
ORIG debug interp, breakpoint set nearby: 697ms

NEW debug interp, no breakpoints set: 341ms
NEW debug interp, breakpoints set nearby: 341ms

Where "nearby" means there's a breakpoint in the method doing the
computation that isn't actually hit -- the VM had an optimization where
it flagged methods with breakpoints and skipped some of the processing
when possible.

The bottom line is that code should run noticeably faster while a
debugger is attached.
1c2ce45de5d163ae124cd4ee4b6c079eb37a9ea5 16-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I690f0051

* changes:
Fixing a simple concurrency issue in the jtreg runner.
9439e9935fe1f0e4e6d8d00446b679b77177d16b 16-Nov-2009 Jesse Wilson <jessewilson@google.com> Fixing a simple concurrency issue in the jtreg runner.
2a30cbc6e426bfaaa7f7e16bacc17c08edbd6da6 16-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change If8e2929a

* changes:
Don't allocate arbitrary-length buffers on the stack.
10327965456439a08d8b60df568cccb92a3d604f 16-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id979947d

* changes:
Remove org.kxml2.wap.
b9075a26d048a76cbc7b0cc8274cdfccdfec5942 16-Nov-2009 Jean-Baptiste Queru <jbq@google.com> am d829c399: merge from open-source master

Merge commit 'd829c39941df81efe05eb3e974cfc048ce2d47f2'

* commit 'd829c39941df81efe05eb3e974cfc048ce2d47f2':
eclair snapshot
38be3cc0571f219076c29535fb4b9f3b0845118d 15-Nov-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
dcf40afc6dea887e54e8d49d8e92edaae84d283b 15-Nov-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master

Merge commit 'goog/stage-korg-master' into HEAD
fc63a37c9aa834d5d227157b4786d135a64fa4c1 15-Nov-2009 Bill Buzbee <buzbee@google.com> Jit: fix for compareTo handler.

Note to self: Units tests are much more effective when the test main actually
calls them.
04399c622b96997d2ca49f48b1982c9d8cadc908 15-Nov-2009 Jean-Baptiste Queru <jbq@google.com> merge from eclair
aa3f749e451e273ec4b90db907ca4b86a6a3099c 15-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I07accb25

* changes:
Fix CHECK_CAST problem in the Jit.
1e9d2925347b296e1fa273ce16430a2980e3cfd7 13-Nov-2009 Bill Buzbee <buzbee@google.com> Fix CHECK_CAST problem in the Jit.

The Jit has previously (and wrongly) assumed that because any CHECK_CAST
operation had previously succeeded in the interpreter, that the class
that check cast's object was being check against would already be resolved.
However, if the object being checked is NULL, no attempt is made to resolve
the class. First bug flushed out by the Jit's stress mode (woohoo).
975468493c5733a5488b88af701a6c90c5939b12 14-Nov-2009 Elliott Hughes <enh@google.com> Remove org.kxml2.wap.

(Not to be submitted before d2944c35 in packages/apps/Email.)

Bug: 2249953
a167c2a54ff546d98f135ee0b9d54fcb649b3ace 14-Nov-2009 Elliott Hughes <enh@google.com> Don't allocate arbitrary-length buffers on the stack.

A new LocalArray C++ class lets us specify a "reasonable" amount of stack to
use, but transparently fall back to using the heap if we need more space.

The three places I've chosen to use LocalArray in this patch are fairly
random; all they have in common is that they're the places where we call
GetStringUTFRegion. There are more places LocalArray will be useful: the
java.io.File JNI in particular.

Bug: 2257819
6d757b178e2cba024472026831a6c6c9784ac56d 13-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I716b2844

* changes:
Suppressing BufferedReader jtreg tests we're better off not passing.
2e8ffef8ad4eee425bd92091cbb737f8d0220706 13-Nov-2009 Jesse Wilson <jessewilson@google.com> Suppressing BufferedReader jtreg tests we're better off not passing.
ea52662bf6b73a048387001059199282c687b147 13-Nov-2009 Elliott Hughes <enh@google.com> If we have a Class object in the "monitors held:" output, show which class.

Bug: 2187020
ca3720fc3020a5ec9bb56a490de2568cd9ae9245 13-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iaf8fd5ec

* changes:
Fix HttpURLConnection's chunked encoding behavior.
01a812eb8209671ca137dc4a4ade45a95deda0ea 12-Nov-2009 Elliott Hughes <enh@google.com> Fix HttpURLConnection's chunked encoding behavior.

A third-party developer who wasn't reading to the end of the stream found that
their next connection would return junk, which turned out to be the tail of
the first response (thanks to connection recycling). Make sure we clean up
a chunked-encoding stream before allowing the connection to be reused.

Enhance our test web server to implement chunked encoding properly, with
configurable chunk sizes, rather than just responding with a single chunk.

Bug: http://code.google.com/p/android/issues/detail?id=2939
5a12c04d0119733d480905291cc138fb34b5cbd7 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
914b2170b0df6fb4497d3e5a4f1359305d6a62b2 13-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I200886b4

* changes:
Make cacerts.bks available to the simulator too.
74b11334cb27617f2522a36133604577d515fc1f 12-Nov-2009 Elliott Hughes <enh@google.com> Make cacerts.bks available to the simulator too.

This lets you successfully run more tests on a sim-eng build than otherwise,
by bringing us in line with the normal on-device configuration.
d97f2b57b85bfe51304be8e9adc0d131337ccffb 12-Nov-2009 Elliott Hughes <enh@google.com> Remove OSNetworkSystem.oneTimeInitialization.

Do this work at JNI registration time, as we do for almost everything else.
(I did this to rule out a warning from the dalvikvm deadlock prediction
code, which doesn't like the unusual lock ordering at initialization time,
and although it didn't make any difference to that, I prefer to have a
defined static order of initialization.)
587f4cefe2189213f86382bf4ba6f668a96849b2 12-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ica2d0b8c

* changes:
Fix a buffer overrun in OSNetworkSystem.
eddd356865a1d1c21d8ee7951309c84edb5b7731 12-Nov-2009 Elliott Hughes <enh@google.com> Fix a buffer overrun in OSNetworkSystem.

Given an IPv6 address in a non-standard (Java-specific) form, we used to
overrun an on-stack buffer that was assuming the standard (shorter) form.
Make the buffer large enough for both forms, and reject anything that's
still too large.

Found by Inet6AddressTest.
d6bd7c28c3e3b7f598173bd887ac1d86fec0a500 12-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id726991b

* changes:
Jit stress mode: translate everything we can and self verify.
95c454e15a038836cdccd1ec4135b5ef6bd61fb5 12-Nov-2009 Elliott Hughes <enh@google.com> Fix typos in the XmlPullParser documentation.
65023640dcc2408edd0e573db6d164af88670652 10-Nov-2009 Bill Buzbee <buzbee@google.com> Jit stress mode: translate everything we can and self verify.

This represents a general clean-up of some existing command-line
options: -Xjitthreshold:num and -Xjitblocking. The jit threshold
controls how quickly we treat a Dalvik address as a potential trace
head. Normally this is set around 200 (and the range is 0..255, where
0 is in effect 256 and 1 means begin trace selection on first visit).

-Xjitblocking forces the system to pause execution whenever a translation
request is made and resume when that translation is complete. Normally
the system make a request but continues execution (to avoid jitter).

Additionally, if WITH_SELF_VERIFICATION is defined, we force blocking
to be true, and set the threshold to 1. And finally, we treat
threshold==1 as a special case and disable the 2nd-level trace-building
filter - which causes the system to immediately start trace selection.
d6e3e109762095639555fd6163d2454332a98933 10-Nov-2009 Elliott Hughes <enh@google.com> Fix DOM parsing of character references/entities.

Our DOM parser didn't support &#123; or &#x9a; character references,
and didn't merge adjacent text nodes into one (so "a&amp;b" would be
three text nodes rather than one; SAX allows the former, but DOM
guarantees the latter).

This patch fixes both bugs, and adds tests.

Bug: 2607 (and duplicates)
65def344bc5593992d4442e04ba4ba5bf2a7c203 10-Nov-2009 Elliott Hughes <enh@google.com> Bring our kxml2 up to date with upstream.

Much of this is spurious whitespace changes, but there's some increased
"relaxation". I deliberately lost the Android-specific change that was
avoiding Runtime, since we do now have Runtime. I've added an Android-specific
change to comment out some System.out logging that's been added upstream.

I'd tell you the upstream revision number, but they're still using CVS, so
there isn't one.
adddc81c6f3f26cf189fbedac45097774621105c 09-Nov-2009 Brett Chabot <brettchabot@android.com> am 216438fc: (-s ours) am 83859891: am 3dc6a811: (-s ours) DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.

Merge commit '216438fc405d78069b1042cc21fc43dc85f860a9'

* commit '216438fc405d78069b1042cc21fc43dc85f860a9':
DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.
df5d3481a4973914efb07ef568b27955306a0093 09-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ie65d9758

* changes:
Introduce "just interpret" chainable pseudo-translation.
52f08dac43cdbd1f5d35db853ed5bd4f07fbb3e2 08-Nov-2009 Bill Buzbee <buzbee@google.com> Introduce "just interpret" chainable pseudo-translation.

This is the first step towards enabling translation & self-cosim stress modes.
When trace selection begins, the trace head address is pinned and
remains in a limbo state until the translation is complete. Previously,
if the trace selected aborted for any reason, the trace head would remain
forever in limbo. This was not a correctness problem, but caused some
small performance anomolies and made life more difficult for self-cosimulation
mode.

This CL introduces a pseudo-translation that simply routes control to
the interpreter. When we detect that a trace selection attempt has
failed, the trace head is associated with this fully-chainable
pseudo-translation. This also has the benefit for self-cosimulation that
we are guaranteed forward progress.
1d2bc805d5382b8b5aa068d4a3ff5477059bc1e4 09-Nov-2009 Brett Chabot <brettchabot@android.com> am 83859891: am 3dc6a811: (-s ours) DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.

Merge commit '838598912874c49de45aba3baac644d177920115' into eclair-mr2-plus-aosp

* commit '838598912874c49de45aba3baac644d177920115':
DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.
a764789d8a0b5f7e3c11f133be6722f23cca9657 09-Nov-2009 Brett Chabot <brettchabot@android.com> am 3dc6a811: (-s ours) DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.

Merge commit '3dc6a81182178a8ac9570a7679cf24b6a2665a0b' into eclair-mr2

* commit '3dc6a81182178a8ac9570a7679cf24b6a2665a0b':
DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.
7d2d38b84c21131dcf81c621675bb1e7cac852de 09-Nov-2009 Brett Chabot <brettchabot@android.com> am 3dc6a811: DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.

Merge commit '3dc6a81182178a8ac9570a7679cf24b6a2665a0b' into eclair-plus-aosp

* commit '3dc6a81182178a8ac9570a7679cf24b6a2665a0b':
DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.
69915d6ac69886b4761a1da33f666ea915d046bf 09-Nov-2009 Dan Bornstein <danfuzz@android.com> List -lcrypto when building for host darwin-x86, as that's part of
OpenSSL (in addition to -lssl, which was already listed).

Change-Id: Iddc53ee474dae030755395266a35f472f9b568b5
f2fefbd67dc0ea28848d4bf8a794c52e117fd35d 05-Nov-2009 Brett Chabot <brettchabot@android.com> DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.
16d59d36528ab018fe6f1754119c642efd102ffa 06-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I16a7c847

* changes:
Our XML serializer permits \0, resulting in malformed documents.
aad179db711a0588bde613ce233d358fd69b7abe 06-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I52b6299c

* changes:
Sanitize text before emitting to XML.
51eab65085b684bc31cfe0ae3c277b75d70609a8 06-Nov-2009 Jesse Wilson <jessewilson@google.com> Sanitize text before emitting to XML.

This is the absolute least amount of sanitization that will work.
I'll consider adding more as necessary; currently I'm not too
interested in spending the time to make this perfect.
1551957002a22b3ac2df69ada2c9a888be1bbadf 06-Nov-2009 Jesse Wilson <jessewilson@google.com> Our XML serializer permits \0, resulting in malformed documents.

This failing test demonstrates the problem. It also adds AllTests
plumbing for this test and some missing ones.
8cb0ab3ad7e66e3ceeaa1edcd1c84cd188228445 06-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I2d4116b7

* changes:
Clean up sieb.[ch], including changing a reference to <malloc.h> to instead be the more standard <stdlib.h>.
115c2318327212e1c483996c473492c94afd83d7 06-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I364c9428

* changes:
Remove 'GTE CyberTrust Root', which expired on 2/23/06.
b9adaafc8cf350453728302abcbc8de951c33b10 06-Nov-2009 Nagendra Modadugu <ngm@google.com> Remove 'GTE CyberTrust Root', which expired on 2/23/06.
fb4d110488e4da0f07f04b970e2846516fb67bb3 06-Nov-2009 Dan Bornstein <danfuzz@android.com> Clean up sieb.[ch], including changing a reference to <malloc.h> to instead
be the more standard <stdlib.h>.

I have no idea what "sieb" means (stands for?), and it looks like these
files may want to be placed in the nearest recycling receptacle, but I'm
not ready to go there today.

Change-Id: I2d4116b742e61018fdbea127070154545ff82dbd
13b160e41d4706b09fb12793f8ebf1b4c6dc6134 05-Nov-2009 Elliott Hughes <enh@google.com> More OSNetworkSystem cleanup.

Handle select(2) errors by throwing exceptions from native code (which is
simpler and provides more useful detail messages).

Factor out exception throwing commonality. This is probably ready for JNIHelp.h
now.

Remove sockSelect. Simplify selectWait by observing that it's only ever called
with a "read" fdset.

Remove a little more SOCKERR_* cruft.

Remove a few unused #defines.
cb62c828a14d7870f724402ede909a619412facc 05-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I5cae54d2

* changes:
More OSNetworkSystem cleanup.
535ea9261ea99d51500c599b670c0a2a22f6e8cf 05-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iefbd3c5e

* changes:
Fix DEADLOCK_DETECTION mode for the Jit.
b3b8958d3dca117a99ab5591657e00c25d6223dd 05-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I7b302183

* changes:
Remove cruft in the default libdvm.so and add 3 more special targets.
9c8017978efb53dcd4a0651cd6b912d0ea13032b 05-Nov-2009 Elliott Hughes <enh@google.com> More OSNetworkSystem cleanup.

Fix danfuzz's BSD woes by removing uses of non-standard s6_addr32,
replace isMappedAddress with IN6_IS_ADDR_V4MAPPED, and change
convertMappedToIpv4 to reduce duplication in its callers.

Remove the TODO suggesting we consider inet_ntop instead of
getnameinfo; Ulrich Drepper says there's never any reason to
do that: http://people.redhat.com/drepper/userapi-ipv6.html

Remove our last use of sockaddr_in in favor of sockaddr_storage,
so we never have to wonder "is that big enough?" again.

Explain why we convert IPv4-mapped addresses to IPv4 addresses
when there's no obvious reason to do so.

Fix another user of the SOCKERR_* cruft.

Address the FD_ISSET and what-exception-to-throw-on-BSD comments
from danfuzz's last patch.
8c22797ac3320354a2a2458243ee915430e517e7 05-Nov-2009 Bill Buzbee <buzbee@google.com> Fix DEADLOCK_DETECTION mode for the Jit.
5ef9705c46e8e54906a6c480fb7bd696cb24fc70 05-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic5176ecb

* changes:
Remove deadlock-prone thread pool.
d4d94c5b38e02ff594c35b8101103df96a1dbf64 05-Nov-2009 Elliott Hughes <enh@google.com> Remove deadlock-prone thread pool.

This is only test code, so let's not make it any more complicated than it
needs to be.

(The code sometimes locked the Vector before the individual Worker, and
sometimes the other way round.)
d53ae33770caeefbd48779cb9eedc44420e08e83 05-Nov-2009 Dan Bornstein <danfuzz@android.com> Only compile in multicast support on Linux, for the time being.

The calls and structs provided by the underlying platform for
multicast aren't yet exactly well-established POSIX standards, and the
current Linux code is still not considered to be super-robust, and as
such it isn't a good idea to try to duplicate its functionality for
other platforms. We will revisit the issue once the Linux side has
matured a bit.

Change-Id: I630086e22f6980726fd4523cb60dfc8c9fb9b011
7177ea61aae8686affb75979a05584aa9acc02d9 04-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id9fcfa6d

* changes:
Fix for inline string indexof; added regression tests
e503274022c403886bd4156907fec5189a00f93e 04-Nov-2009 Bill Buzbee <buzbee@google.com> Fix for inline string indexof; added regression tests
f4e09218d00c818e5fd3176a6883a1d09c993af5 04-Nov-2009 Ben Cheng <bccheng@google.com> Remove cruft in the default libdvm.so and add 3 more special targets.

The idea is similar to having libc.so as the default/optimal build and
libc_debug.so at a handy place.

libdvm.so : default build to be installed with JIT on and assertion off.
libdvm_interp.so: JIT statically compiled out and assertion off.
libdvm_assert.so: assert/JIT-tuning enabled.
libdvm_sv.so : assert/JIT-self-verification enabled.

Compile time of "mmm dalvik" from clean build with -j1:

real 2m36.144s
user 2m23.029s
sys 0m12.253s

Compile time of "mmm dalvik" from touching Interp.c with -j1:

real 0m8.493s
user 0m7.416s
sys 0m1.280s

Code size:

638152 Nov 3 16:17 libdvm.so
785604 Nov 3 16:17 libdvm_assert.so
556888 Nov 3 16:17 libdvm_interp.so
793804 Nov 3 16:17 libdvm_sv.so
7b574d7b294e368378efe90f0add2c78dce781fc 04-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ib62b9223

* changes:
Emitting JUnit+Ant style XML from the jtreg test runner.
1221f33521d1bf1bc652591f0d57c3ee762549c9 04-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I6b080ffc

* changes:
Another couple of tweaks to deal with the ragged end of standardization.
b0cfa51273a7deda06f7e96ad2f0f7d79ea70510 04-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I7e695ea9

* changes:
Remove duplication in OpenSSLSocket/OpenSSLServerSocket.
70a29a58c635c3f85f5374e2617706b723a1dbb5 04-Nov-2009 Dan Bornstein <danfuzz@android.com> Another couple of tweaks to deal with the ragged end of standardization.

Change-Id: I6b080ffcc1832a902e21f5137f42e4d860c407f0
43031a7aa28afde1d7dd290fb64bb868f5ee5b80 04-Nov-2009 Jesse Wilson <jessewilson@google.com> Emitting JUnit+Ant style XML from the jtreg test runner.

This change adds some unfortunate code duplication between
the jtreg runner and the CoreTestSuite runner. I'd like to
eventually loop back and create a unified test runner for
either type of test.
32ebf38793646839eea6a9f9ad8bbe1a0d96587d 04-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I71684d91

* changes:
CharsetDecoderICU/CharsetEncoderICU should take arrayOffset into account.
db5a69b3eff82c702f6cebcfca0e819c329d14fa 04-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic80147bd

* changes:
Adding timeouts to jtreg runner.
82a4682b18350767221fd815fa679e8883910935 04-Nov-2009 Jesse Wilson <jessewilson@google.com> Adding timeouts to jtreg runner.

Also fixing some problems with the Android.mk which was
pointing at an old version of the Run class.
879d55e987d50fee87a1c405ef9954bc572071af 04-Nov-2009 Elliott Hughes <enh@google.com> Remove duplication in OpenSSLSocket/OpenSSLServerSocket.
a286475ec811eeaa7854d1c910f9dba8b0d8ad14 04-Nov-2009 Elliott Hughes <enh@google.com> CharsetDecoderICU/CharsetEncoderICU should take arrayOffset into account.

CharsetDecoderICU and CharsetEncoderICU special-case array-backed ByteBuffers
and CharBuffers for performance reasons, but they shouldn't assume that the
backing array always has offset 0.

An external user hit this while using the jAudioTagger library.

Test cases from user submission:
http://code.google.com/p/android/issues/detail?id=4237

See also: 2234697
32d0ff029f06c4302f24eb0d661eb041a649efe9 03-Nov-2009 Elliott Hughes <enh@google.com> Remove more @KnownFailures now I've run tests.AllTests.

A lunchtime run of the full suite turned up more.
cd3a8aa08e6a60e990e6b119001abda2b9f73c4f 03-Nov-2009 Ben Cheng <bccheng@google.com> Hide JIT-specific constants when JIT is not configured.
a081d3084f332b9257d58711f1877e1e435f9bb3 03-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ia61d31e2

* changes:
Remove @KnownFailure from a bunch of tests that now pass.
f507049baee96141b5bda55d5a1fbfd71aedfbc5 03-Nov-2009 Elliott Hughes <enh@google.com> Remove @KnownFailure from a bunch of tests that now pass.

Looks like we got some of our Locales back.
f5cebb5110a8eef43e267204390b9516301af159 29-Oct-2009 Ben Cheng <bccheng@google.com> Implement chaining up to the first 64 cases in a switch statement.
fafa4a1246e530115cca610d31d8b655ab10f964 03-Nov-2009 Bill Buzbee <buzbee@google.com> Back out inline string optimizations until cause of instability tracked down.
1f3c91f0f2fe07bf294f9aeca63f5f2181dfd808 03-Nov-2009 Elliott Hughes <enh@google.com> Ensure dalvikvm sets "user.name" to "root" for our tests.

dalvikvm sets "user.name" to $USER, but that environment variable isn't set
when we run the tests. I was looking at our DatagramSocketTest failure, and
it turns out it's another instance of "root can do stuff other users can't".
The typical way harmony tests check whether they're running as root is to
compare "user.name" against "root", but from run-core-tests they see "".
d010a34b95e3a90ca4cdc2397f70927366d444d6 03-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I22212019

* changes:
Kill OSNetworkSystem.inheritedChannelImpl.
00027c6a415c696bc679ea6b9716ce79879d7dd3 03-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I57dd1032

* changes:
Supporting expected results for the jtreg test runner.
f26910571aeb59ba48c72d5881fdb73538e8520a 03-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ie098e2fa

* changes:
Fixing PipedWriters/PipedOutputStreams silent failures during close().
cf16d8f367d90f7ed027b34de114cce22b4cc33e 03-Nov-2009 Elliott Hughes <enh@google.com> Kill OSNetworkSystem.inheritedChannelImpl.

This code is broken (and more broken than upstream), and not obviously relevant
to our platform. Let's make it clear that all this currently does is return
null.

The changes in the Java side bring us back in sync with upstream.
e8fadd805e9972e2849b75641948ba46ec65fd7b 02-Nov-2009 Jesse Wilson <jessewilson@google.com> Fixing PipedWriters/PipedOutputStreams silent failures during close().

See bug 2224903 and jtreg test java.io.BufferedWriter.Cleanup.
78eeae09619c7349aa1fbe3cdcdb382d3102fe38 02-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I04f3b02b

* changes:
Jit - optimized inline string compareto, indexof; fill_array_data bug fix
c2c42c56aeaab8d650714698a9f0de6b27d6b604 29-Oct-2009 Dan Bornstein <danfuzz@android.com> Some more adjustments to deal with building for a BSD(-like) target.

Change-Id: I5e33c3db160ae3af6e324492e0b6a7a0dfb9719b
698e3cf401dc2d61bebd0f17063bc82fefa7d409 02-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I318b1449

* changes:
More OSNetworkSystem cleanup.
f08050ba9cde2e4101441f991c01ce333df4b994 31-Oct-2009 Elliott Hughes <enh@google.com> More OSNetworkSystem cleanup.

valgrind didn't like what we were doing here, specifically the way we
were setting ss_family to AF_INET if getsockopt IP_MULTICAST_IF didn't
return an AF_INET address, and ignoring the fact that the rest of
the sockaddr_storage doesn't necessarily correspond to an AF_INET address.
Linux seems to return an AF_UNSPEC address (rather than INADDR_ANY) if we
haven't set a multicast interface, so we have to do the conversion ourselves.

More disturbingly (and unfixed by this patch) we sometimes see ss_family
come back as 127 (when AF_MAX is 32 on our system). My guess is that the
kernel is just handing back bad data we gave it earlier, but I'll come back
to see about fixing multicast properly later.

I've inlined socketAddressToString into osNetworkSystem_byteArrayToIpString,
its only caller, because it's clearer that way now we've simplified the
division of error handling between the two.

I've brought getSocketLocalAddressImpl and getSocketLocalPortImpl in line
with each other and changed them to at least log errors. I've also added
a new test that fails, to demonstrate that this implementation is broken
as designed.

I've changed the name of JAVASOCKOPT_IP_MULTICAST_IF to match the Java
constant.

I've fixed the exception we throw if we're asked to convert a bad address
family's address from code that can't throw IOException --- AssertionError
doesn't have a String constructor. Really, we need to kill this code, so
I've added a TODO.

I've also made a real push to get rid of most of the SOCKERR_*-based error
reporting. (I had a transient failure with a meaningless error message
that sent me to the source to work out which errno it was actually
trying to report.)

I've changed setTTL to call setTimeToLive, and change the implementation
of the latter to pass Integer rather than Byte to the native implementation,
since that's what the native code needs anyway and native Byte support was
only for TTL.

Bug: 2225748
c1a33751f692843147928403a786caf1623b7022 02-Nov-2009 Bill Buzbee <buzbee@google.com> Jit - optimized inline string compareto, indexof; fill_array_data bug fix

Added flushAllRegs() prior to C handlers in preparation for upcoming support
for holding live/dirty values in physical registers.
d614951b8eb5c87bdda45337a077cbaa1a25b7d7 31-Oct-2009 Jesse Wilson <jessewilson@google.com> Supporting expected results for the jtreg test runner.

This is necessary to suppress false positives when dalvik
intentionally differs from the RI. This came up in the fix
for issue 2224903.

Also adding additional features to the jtreg runner to make
it useful as an iterative development tool:
- debugger support, to debug through running tests
- verbose output, to aid in diagnosing hangs

Also adding a few ".expected" files for known test failures.
Hopefully this is scalable.

Renaming Run to TestRun and extracting Result as a top-level enum.
6a15ef1d3696aee898bab7e67c51afdc2f71fb5d 02-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I88e8376e

* changes:
Update logging to r820767
5a28729725302c753cdd596873eec813791e19b8 31-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id46d9a48

* changes:
Fixing 1 of the 4 BufferedReader test failures in bug 2224903.
f65c718e214e0108939384ba0c7b0769f1aa852a 30-Oct-2009 Jesse Wilson <jessewilson@google.com> Fixing 1 of the 4 BufferedReader test failures in bug 2224903.

This CL includes the following functional changes:
- changing read to not clear the mark upon reading EOF
- changing read(char[], int, int) to use the 'read
directly from the source stream' shortcut when the
mark has exceeded its limit. Previously we took the
shortcut only when the mark was unset.

And these nonfunctional changes
- rewrote read(char[], int, int) dramatically. The new
revision contains only one call to 'System.arrayCopy'
and the related bookkeeping. Previously there was one call
before the loop, and another call in the loop.
- renamed markpos to mark
- renamed marklimit to markLimit
- renamed count to end (it isn't a count, it's a position)
- simplifying conditions that used >= when > was impossible
- reducing the number of field reads where convenient
1097de2d16d5fa3c4afb8c8597b0c0023a2926ca 30-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I474dc860

* changes:
Rewrite NativeBN_twosCompFitsIntoBytes.
c104dde07417e7189b914ee172238897a89e5513 30-Oct-2009 Bill Buzbee <buzbee@google.com> Fixed typo introduced during comment reformatting.
f9a54add2a9e83b4b78cd31c3f23496fa158908d 30-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ib000d44f

* changes:
Major registor allocation rework - stage 1.
509ee5c60cc264ea330feb7e0730551c50d98687 24-Sep-2009 Bill Buzbee <buzbee@google.com> Major registor allocation rework - stage 1.

Direct usage of registers abstracted out.
Live values tracked locally. Redundant loads and stores suppressed.
Address of registers and register pairs unified w/ single "location" mechanism
Register types inferred using existing dataflow analysis pass.
Interim (i.e. Hack) mechanism for storing register liveness info. Rewrite TBD.
Stubbed-out code for linear scan allocation (for loop and long traces)
Moved optimistic lock check for monitor-enter/exit inline for Thumb2
Minor restructuring, renaming and general cleanup of codegen
Renaming of enums to follow coding convention
Formatting fixes introduced by the enum renaming

Rewrite of RallocUtil.c and addition of linear scan to come in stage 2.
05fdf87dfc875045c7c547408a97f633f5b7036e 30-Oct-2009 Elliott Hughes <enh@google.com> Rewrite NativeBN_twosCompFitsIntoBytes.

valgrind complains about invalid 4-byte reads, caused by "case 8" in the
BNInterface.c function I'm removing here, which assumed that if we're checking
whether a BIGNUM fits in 8 bytes, it must require more than 4 bytes (and so
accessing d[1] is acceptable).

We can implement this in Java using the existing BigInteger.bitLength
method (which may call down to native code, but that native code looks okay).

Also remove a related commented-out method.

Bugs: 2223213, 2225642
b8485a5eb5c600d2327d80f458323756b0e052cf 29-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I006c279b

* changes:
Remove broken .so and fix bogus test.
e2ff5703f5e0dbd839a82fb9c967007f03fa80c3 29-Oct-2009 Elliott Hughes <enh@google.com> Remove broken .so and fix bogus test.

valgrind doesn't like this because the .so *only* exists for x86 (contrary to
the claim in the @AndroidOnly annotation) but it's broken there, returning
a char* instead of a jstring.

I'm not really sure what they were trying to test here, but let's assume it
was that Runtime.getRuntime().load behaves like System.load, and fix the
tests that way.

Bug: 2223234
16089123b73fe2d83df19f7114e5d8cdde8b4926 29-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I4a356627

* changes:
Change the jtreg tool to perform both building and running steps.
0f1a5c23b5b7f6c62350f846be8657770fb17a56 29-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8fa1a78a

* changes:
Make run-core-tests with no arguments equivalent to tests.AllTests.
074e7497dd5e01e38129565c4659655b17d348c8 29-Oct-2009 Jesse Wilson <jessewilson@google.com> Change the jtreg tool to perform both building and running steps.
8fe069938a48f296cf22d824a9410796ed247204 29-Oct-2009 Elliott Hughes <enh@google.com> Make run-core-tests with no arguments equivalent to tests.AllTests.

Previous behavior would run the same set of tests, but without going through
the regular pre- and post-processing, and without initializing the command-line
flags to their default values.
97f3e04493f9a9ba1a4818b6d9b93bc60520b929 28-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id7694644

* changes:
Script for compiling and dexing jtreg tests for Dalvik.
6726ed8922ada910b572b2cbbad46845b0063f9d 28-Oct-2009 Jesse Wilson <jessewilson@google.com> Script for compiling and dexing jtreg tests for Dalvik.
978a09a6c472527e3face1480780bd3a42aa3949 28-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8c671e53

* changes:
Implement ProcessBuilder.redirectErrorStream.
8e94c783e9bb39ab24026d498875807a824e5985 27-Oct-2009 Elliott Hughes <enh@google.com> Implement ProcessBuilder.redirectErrorStream.

Also simplify and correct the security to ensure that the user can't modify
the command to be executed after the SecurityManager has approved it.

Bug: 2180063
49a19525543bc88db7054439d99aa283693701e1 28-Oct-2009 Elliott Hughes <enh@google.com> Fix a few FindBugs warnings in code that isn't upstream.

Bugs: 2099642, 2099637
5f8672bea2169d0733dfb280665a7347347e71bb 27-Oct-2009 Jesse Wilson <jessewilson@google.com> Update logging to r820767
bddbbff4a4d47690d25d4cb2d262eece90d4d6b1 27-Oct-2009 Elliott Hughes <enh@google.com> Remove OSNetworkSystem.sendStream and all use of ErrorCodeException.

Removing OSNetworkSystem.sendStream brings us in line with harmony. I've
also rewritten writeSocketImpl to not make a temporary copy of the data it's
going to send.

The weird code in writeSocketDirectImpl that threw ErrorCodeException turns out
to be a very awkward way of returning zero to the only two callers that are
paying attention. (Harmony actually calls the equivalent of this code every
time it throws SocketException from native code, but these two callers were
the only places that checked for the special case.)
72ffd12f6d415aadef726af61151b4ca95b20759 27-Oct-2009 Dan Bornstein <danfuzz@android.com> The officially sanctioned way to get memcpy() is to #include <string.h>.

Change-Id: Ie157d9305df5f9b86a09ea2224666fd2c054cda4
bba0e7cd056eaef72d2b8657b5239d86a3d52c18 26-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I4c4d050d

* changes:
Clone TEMP_FAILURE_RETRY in JNIHelp.h, to make up for (take your pick) laggard libc implementations not keeping up with the times or (perhaps) agressively modern libc implementations too eagerly expanding upon the standard.
4e19e8f5f674325f1b42806301c68c2c2840d65b 26-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ibc04ef43

* changes:
Remove dead native org.apache.harmony.nio.AddressUtils code.
8e56d2a7d193e7c8bd4f776f10fe796c21401467 26-Oct-2009 Dan Bornstein <danfuzz@android.com> Clone TEMP_FAILURE_RETRY in JNIHelp.h, to make up for (take your pick)
laggard libc implementations not keeping up with the times or
(perhaps) agressively modern libc implementations too eagerly
expanding upon the standard.

Change-Id: I4c4d050d15a00f4e82f8beb2b9c386b7c652f495
5d3e9d781d505dcf9e7491f4853d44860398bf5e 26-Oct-2009 Elliott Hughes <enh@google.com> Remove dead native org.apache.harmony.nio.AddressUtils code.

This code is dead at the moment, and were it ever to become live, I'm pretty
sure we'd want to start again from scratch rather than do whatever the author
of this had in mind.
41e7d0e023a096ad88cc6b7d16e1e5f3bb521263 26-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8a7a4c56

* changes:
Split libcore/Android.mk into two files, one for Java code and one for native code, and make each have a set of rules for building on the host.
cda0b36624171e2ad096d1518fd2fddf9389387a 26-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ibebb78b6

* changes:
Switch ProcessManager and System over to C++.
34b598a4c0f01301ea89ba5ebdee68cef4914459 26-Oct-2009 Elliott Hughes <enh@google.com> DeleteLocalRef the result of GetObjectClass more consistently.

Should fix VM crashes in tests.java.sql.StressTest, which can now be
re-enabled.

I've also added a "throwoom" to the one place where this code
calls malloc but doesn't check the result.

Bug: 2213053
713e35e43d604d2f2b4c299246b4e173ac8f0a1e 25-Oct-2009 Dan Bornstein <danfuzz@android.com> Split libcore/Android.mk into two files, one for Java code and one for
native code, and make each have a set of rules for building on the host.

I also tightened up how sub.mk processing works and documented it
a little better.

Change-Id: I8a7a4c5697b2f22c4d69941dba381d6452200911
e9be14d696ca905b5b7aa0e1fb6a0747ab5917f8 26-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I66e35647

* changes:
A new hygenic way for tests to clean up before or after execution.
07927b1b35a259739ec8ca94d1d615cdf6473dea 24-Oct-2009 Jesse Wilson <jessewilson@google.com> A new hygenic way for tests to clean up before or after execution.

This replaces PrefsTester and is more general purpose.
50d549a03e5d6d66f4adcd770abc2a3473d71c2e 26-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I968363e2

* changes:
Suppressing StressTest which is causing our continuous build to fail.
ed288e0377550bd42de227db23381882b57527b5 25-Oct-2009 Jesse Wilson <jessewilson@google.com> Suppressing StressTest which is causing our continuous build to fail.

We're tracking this under issue 2213053.
fecedfdf5e15660bf8c360dba97688bd0eaf9230 24-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ibf565c9c

* changes:
Change the host build to include whole static libraries, and to name them "*-host".
e08f21b60cfd9ab16a28e62b3fbec9e66d73c254 24-Oct-2009 Dan Bornstein <danfuzz@android.com> Change the host build to include whole static libraries, and to name
them "*-host".

Change-Id: Ibf565c9c4b0709eb25edd71786b269895a1616a4
36e6a2ca022da100bd6b306330f75acafd38416d 24-Oct-2009 Elliott Hughes <enh@google.com> Switch ProcessManager and System over to C++.

Bug 2180063 will require changes to ProcessManager, so now's a good time
to make the switch in this directory.
4b1d02d33aa9f8034c9ca84b5c052905a8bc6c67 24-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I410514c5

* changes:
Expose hooks for more efficient log handling in Android apps.
5c4920b3242e6c23ffbbf43eea89653cfd8fe12f 23-Oct-2009 Dan Bornstein <danfuzz@android.com> Sort out libnativehelper, and make related comments less redundant.

Change-Id: If25babc7b3232449a3ba8503431865273d4f481a
5b3496ee6b747aa7f67d9391970b2c3ce9a00539 23-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I3628c655

* changes:
OSMemorySystem.mmap fixes.
ad2219248d196308d7f65f09d88d3afd9d971cc4 23-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I834d8b2c

* changes:
Remove OSNetworkSystem.receiveStream.
e6918f21a5b390c1941881f2454d4f148699f06c 23-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Idb16cc7f

* changes:
Add a reference table dump call.
7cb6e6d6345783e46b240696ab620e2ab875b9ef 22-Oct-2009 Jesse Wilson <jessewilson@google.com> Expose hooks for more efficient log handling in Android apps.

This change introduces a new interface, DalvikLogHandler. Log
handlers that implement it opt-in to more efficient log handling
for common-case log messages. The API requires far fewer objects
to be allocated to log a message.

A related change in frameworks/base adopts this optimization
in the built-in AndroidHandler.

This optimization resulted in a 2.75x improvement on my device:
from 154ns to 56ns per message.
14b65f8f894c788dc83dbf235558505aa0f169dc 23-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I93fe0d1b

* changes:
Re-enable SSL handshake cutthrough support (and fixed unittest)
c84d0c784fbac4219c1abdde629e60c0df665294 23-Oct-2009 Andy McFadden <fadden@android.com> Add a reference table dump call.

This adds a hidden method to android.os.Debug that causes the contents
of various reference tables to be dumped. Currently it's the local,
global, and pinned array tables from JNI.

Bug 2075355
f39c4b9cdfa515fe4179ed92772b3b80b51c1fa5 23-Oct-2009 Elliott Hughes <enh@google.com> OSMemorySystem.mmap fixes.

Stop silently truncating the arguments to mmap. Check they're actually valid.

Fix mmap to actually throw IOException on error, as it claimed to do.

Correct parameter name 'alignment' to 'offset'.

Remove dead code (getPageSize).
591adf0a3a31059860cb8ccb95b6961c9f831ee8 23-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ia1dc94d5

* changes:
Encode recommended practice wrt libffi in comments, and attempt to actually follow those recommendations.
20946446a954d20b39aa16c959ea46331f2315f5 22-Oct-2009 Elliott Hughes <enh@google.com> Remove OSNetworkSystem.receiveStream.

Harmony removed this some time ago, and -- if we change our read/readDirect
implementations slightly -- we can too.

I've also added some bounds checking in the Java so we don't ask native code
to perform a buffer overrun for us.

I've also rewritten the native readSocketImpl to use GetByteArrayElements and
ReleaseByteArrayElements rather than its own custom stack/heap allocation and
arbitrary 64KiB limit. (As far as I can tell from the harmony history, the
limit dates from when they always read into an on-stack buffer, and was never
removed.)

I've also brought us in line with harmony so we only pass 'address' to
readDirect, rather than 'address' and 'offset'.

I've changed SocketTest to match upstream and -- since they pulled out some
of the tests into a new file -- I've added their UnixSocketTest so we don't
miss out. Our old SocketTest's test_getInputStream is the only test my new
code doesn't pass, but I think the old SocketTest was broken and the new
SocketTest/UnixSocketTest is correct.

I've also brought us back into line with harmony's MulticastSocketTest. With
the up-to-date tests, the new code behaves the same as the old code. (With
our old tests, the new code fails the joinGroup test with a
NullPointerException instead of a junit comparison failure.)
b82b54613439726f7c406e0682adc8d09c5041ad 23-Oct-2009 Dan Bornstein <danfuzz@android.com> Encode recommended practice wrt libffi in comments, and attempt to actually
follow those recommendations.

Change-Id: Ia1dc94d50158e322d4dc96fc8528c408f2a3be1c
dfbe057d05895366a373a61b1278e6b117b74ebd 22-Oct-2009 Rodrigo Ipince <ipince@google.com> Fix for unmatched entry/exit points in test traces

Added support for the creation of test traces with unmatched entries/exits (current implementation segfaulted in some cases)
efd172f15bfb4e9ba14dd57a7fdaa1484cb04c34 22-Oct-2009 Nagendra Modadugu <nagendra@android.com> Re-enable SSL handshake cutthrough support (and fixed unittest)
3c886d8fd8f2cc52cf1eef169192e8915aba867d 22-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ibeb7d4a2

* changes:
Cleaning up synchronization in Logger.
de817ed69a13a5d4002e3ff1d31ce096ea34afb4 21-Oct-2009 Jesse Wilson <jessewilson@google.com> Cleaning up synchronization in Logger.

Formerly any logged message would require synchronization on the shared
global lock to access the root logger's handlers. This change replaces
synchronization on loggers with a combination of copy-on-write and
volatile fields.

Also moving handler initialization from lazy to eager - the code has
moved from initHandlers() to setManager().

Also tidying up the info(), severe() type methods to delegate to avoid
unnecessary duplication.
af7d664b8cd45fe8095adc529331745d2d8ecea9 22-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I3d8565f0

* changes:
Collation.getSortKey returns keys generated by a different algorithm
395c5f762caa68fb9fb78d79755cbb23103ffc90 22-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I5ea630ca

* changes:
Use a binary search for sparse switch statements.
dd81d7dd127006c1bf95445e0621707fcac5d983 22-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id1f4cf7b

* changes:
Clear pending exception before throwing a new one.
331c517d61e7833f34fc35142e28c259de6868e8 22-Oct-2009 Andy McFadden <fadden@android.com> Use a binary search for sparse switch statements.

Added a couple of edge cases to test 015.

For bug 2119870.
5b13057bd2c218f6af6d4625b7ba0804eb9928cd 22-Oct-2009 Andy McFadden <fadden@android.com> Clear pending exception before throwing a new one.

The JNI helper function that throws an exception calls FindClass, which
isn't allowed if an exception is currently pending. Some of our code
called this when an operation failed without noting that the thing that
failed already threw an exception; this caused the VM to blow up in a
rather unhelpful way.

We now log the class name and optional message from the original
exception, clear it, and then allocate & throw the new one.

For bug 2141867.
240aa81069117623652ae2f377223f05f8c97949 21-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id434c469

* changes:
More OSNetworkSystem cleanup.
d24e9b5709ed0f30c1de84222f5161bc26980b84 21-Oct-2009 Elliott Hughes <enh@google.com> More OSNetworkSystem cleanup.

Rewrite OSNetworkSystem.connect in terms of connectStreamWithTimeoutSocketImpl
in Java rather than in native code. Remove OSNetworkSystem.connectSocketImpl.
Make INetworkSystem.connect void, since the return value is always 0.

Use TEMP_FAILURE_RETRY rather than explicit do loops to retry interrupted
system calls.

Fix peekDatagramImpl to actually update the byte[] in the passed-in
InetAddress.

Stop pulling the int fd out of the FileDescriptor each time round the loop
in sendStreamImpl and sendDatagramImpl2.

More tiny steps towards eliminating the SOCKERR_ nonsense in favor of errno.

Prefer sizeof(variable) to sizeof(type).

Remove a few more superfluous "struct" keywords.
c504288ffc78d2020856c54176aa287d325c76eb 21-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iacd79b8a

* changes:
Avoid shadowing fields from the superclass testcase.
e1109a6bc8f80798c30bf14b44cbfd6fb651921e 21-Oct-2009 Jesse Wilson <jessewilson@google.com> Avoid shadowing fields from the superclass testcase.
da590611dcee2ff55f4dd74622b72db24d75fad4 21-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I54b596ca

* changes:
Expose the portable "strerror_r" used by jniThrowIOException.
ff1f187f6cff3f722fbefdd818116e22cb54fa92 21-Oct-2009 Elliott Hughes <enh@google.com> Expose the portable "strerror_r" used by jniThrowIOException.

Also add one example caller I used to test this, and update the
libnativehelper README file.
3a3fb103ade852ae895995674d32debf2f88e657 21-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ib28d3a82

* changes:
Don't over flush the code cache at startup time.
069a5cca5180a25e97fe92e659f46114179634f3 21-Oct-2009 Ben Cheng <bccheng@google.com> Don't over flush the code cache at startup time.

Suspected that the kernel is having issues flushing cachelines for mmapped
pages that haven't been written to.
ff0126b4c3e4c5f7f247ca662cbb94482ff5c21c 21-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iadbb9163

* changes:
Implement JNI "weak global" references.
94a07fc103eda3bfdfc66f9209b78c2c8ceb2810 20-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ia8e64a7c

* changes:
Fix an invoke-interface bug that manifests itself with thread state warnings.
5f7d4ad6582f4c740545fc3fc769a9494cd5a1fc 20-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9b12eeb5

* changes:
Applying PrefsTester to PreferenceChangeEventTest to manage side effects.
bbd8cf6a1bd7859a37f8964f3787f8a1cac34112 20-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id752d5fb

* changes:
Including cert store location for test runner.
81acda8050d63db00016447100dcd8aa4551c23f 20-Oct-2009 Ben Cheng <bccheng@google.com> Fix an invoke-interface bug that manifests itself with thread state warnings.

r12 is a scratch register and apparently gcc 4.4 starts to actively use it in
dvmFindInterfaceMethodInCache, the very function that the original live value
is being protected around. This results in useless values setup in the chaining
cell and increases the chances to patch the cell (thus the suspend-all
requests).

Add verbose names for new JIT-related suspend reasons.

With all these changes, the thread state warning will still occur but much less
frequently.

bug 2194174.
8d598adf67960784466d8f0482b8c9756fa75d1f 25-Sep-2009 Andy McFadden <fadden@android.com> Implement JNI "weak global" references.

The VM now supports the NewWeakGlobalRef and DeleteWeakGlobalRef calls,
which create a kind of weak reference that's directly visible to native
code. While the JNI spec says that these can be used directly, the only
safe way to use them is to convert them to a strong local or global
reference first, so this is enforced.

The net result is very similar to manually creating a global reference to
a WeakReference object and manipulating it with method calls from native
code, but the JNI calls are faster and more convenient.
910941a80c8a9b08571d20bcde755322e0329660 20-Oct-2009 Jesse Wilson <jessewilson@google.com> Including cert store location for test runner.

This helps to avoid bad interactions between tests that rely
on the "java.home" property for different things. Preferences
tests tend to change it (to the writable temp directory), but
the certs tests fall back to it for the trust store.

See also TrustManagerFactoryImpl.java.
377fd8c6aeb115571006330351be9888a43894aa 16-Oct-2009 Dan Bornstein <danfuzz@android.com> Another couple of tweaks in my attempt to make a sane host build.

Change-Id: I49938c6aa933cca19874432b127ad9b1b49e3e79
afbb663e5b3aade38c1297dac671b9787efdd367 20-Oct-2009 Jesse Wilson <jessewilson@google.com> Applying PrefsTester to PreferenceChangeEventTest to manage side effects.
2785364813a735b331d9fd7a3cd37ed1d07cf351 20-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I73fd1714

* changes:
Fix OSNetworkSystem.acceptImpl error handling; additional clean-up.
9e16f35748ba42c4695ab749eac9d52dffaebcd1 08-Sep-2009 Urs Grob <ursg@google.com> Collation.getSortKey returns keys generated by a different algorithm

This test tested implementation details. This change makes the test only check specified behavior.

Note: The resulting key is incompatible with a key returned by the RI. that's the downside of using icu.
But there's also an upside: ICU compresses the sorting key that gets returned. This increases performance
when comparing the keys.

BUG=1635900
68382fa19215cd580bb161e4b6d82a305b2af825 20-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I7cc0fe4d

* changes:
rightsize StringBuilders for arrays; see bug 2135223
f428a824aa196ffe9311502e937851a1af51f700 20-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ice8c6c56

* changes:
Removing caching of file canonical path caching, and fixing NIO tests.
4091cde3152f8818ea0214c66ef623ea8a20f159 20-Oct-2009 Jesse Wilson <jessewilson@google.com> Removing caching of file canonical path caching, and fixing NIO tests.

I checked in some regressions in the NIO test cases with the NIO patch;
this addresses those problems.
7bf14855fcfe242832feda414d931be2c7f687f7 20-Oct-2009 Elliott Hughes <enh@google.com> Fix OSNetworkSystem.acceptImpl error handling; additional clean-up.

The main reason for this patch is that acceptImpl was checking the wrong
return code.

I've also removed the BADSOCKET and UNKNOWNSOCKET errors because they were
being used interchangeably with the BADDESC error and weren't genuinely
meaningful.

I've also removed the bogus checks for 0 as a file descriptor, which is
perfectly valid (if unlikely).

I've factored this common snippet out.
e94ee3cf2c8349d744e3d38118c9a7387d9325c6 20-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I36117487

* changes:
Tidy up Logger in preparation for optimizations.
3fa961b5bbd5f74f3ef249c1113613a6d6c8bdb5 20-Oct-2009 Jesse Wilson <jessewilson@google.com> Tidy up Logger in preparation for optimizations.

Highlights:
- Clean up documentation. Moved internal docs from variable use site
to declaration site, especially for special cases around null.
- Move default variable values to declaration
- Move methods requiring LogManager synchronization to LogManager.
This includes setLevelImpl(), forceChildsToInherit(),
internalSetParent() and getLoggerWithRes().
- flip "if (null == foo)" to "if (foo == null)" for readability
- Rename updateResourceBundle to initResourceBundle. Made method
non-static.
- Rename initHandler to initHandlers; changed the method to
short circuit on negative 'handlerInited' cases.
- Flipped "internalIsLoggable" methods to short-circuit.
- Expose variables used by LogManager as package-private. For example,
the childs variable is only used by LogManager, but previously it
went through the Logger class each time it was used.
921819b77d4473ae29c250727e785b716e1dbded 19-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I1f575e9e

* changes:
Improve error handling in InetAddress native code.
22b3e50f7bf6404c7b4e58182cd2ea9625dde333 17-Oct-2009 Elliott Hughes <enh@google.com> Improve error handling in InetAddress native code.

Fix a bug where we changed the return values of functions such
as byteArrayToSocketAddress without changing the logic in the
callers that's supposed to distinguish success and failure.
For simplicity, I've switch all of these functions over to
returning bool, and I've gone through all the callers to ensure
we're using the right check now. (This is the majority of the
diff.)

Also switch to throwing IllegalArgumentException instead of SocketException
when we find ourselves with a bad byte[] --- before we were throwing
a checked exception we weren't allowed to (from native code, which
can't actually be checked statically) and then trying to cover up
in Java.

I've also simply removed one case where we were trying to mask an
OutOfMemoryError with a SocketException.

I also removed dead code in socketAddressToString: this function's
sole caller always passed false for withPort. This makes the
temporary variable and the copying (which was unsafe) unnecessary.

In instances where I was already changing the code, I've removed
bogus "handle == 0" failures, but I'll come back and remove all
the other instances in another patch.

Since I was in connectSocketImpl, I've removed the dead second half
of that method.
9b40f97f054852aa64585cde50306caf74a8693f 16-Oct-2009 Jesse Wilson <jessewilson@google.com> rightsize StringBuilders for arrays; see bug 2135223
b4a7a0d16002467d26446dcc2e9633606b408271 16-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I2e354493

* changes:
Update NIO and NIO char packages to Harmony 802921.
50e828888298053754ae801a1bfb54237437e5d8 16-Oct-2009 Jesse Wilson <jessewilson@google.com> Update NIO and NIO char packages to Harmony 802921.

Notable changes:
- We don't use Harmony's new indexing for SelectorImpl. See the long bug
thread on Harmony's site, https://issues.apache.org/jira/browse/HARMONY-6312
This patch includes the latest Harmony changes to SelectorImpl, which
have been optimized since this patch was first created.
- Several uses of StringBuffer updated to use StringBuilder
- CharBuffer.read implementation changes
- Additional checking in CharsetEncoder
- Some inner classes made static
- Harmony changed their Charset impl from ICU to Java. We're sticking with ICU.
- Harmony added support for epoll. We're sticking with standard 'poll'.

commit 2ed6cb602a52f4681afbf1348928f1b0c36d914d
Merge: 8a74fca bcc5ec7
Author: Jesse Wilson <jessewilson@google.com>
Date: Fri Aug 14 15:14:10 2009 -0700

Merge branch 'nio_802921' into nio_dalvik

Conflicts:
libcore/nio/.classpath
libcore/nio/META-INF/MANIFEST.MF
libcore/nio/build.xml
libcore/nio/make/exclude.linux.x86.drl
libcore/nio/make/exclude.linux.x86.ibm
libcore/nio/make/exclude.linux.x86_64.drl
libcore/nio/src/main/java/java/nio/BaseByteBuffer.java
libcore/nio/src/main/java/java/nio/Buffer.java
libcore/nio/src/main/java/java/nio/BufferOverflowException.java
libcore/nio/src/main/java/java/nio/BufferUnderflowException.java
libcore/nio/src/main/java/java/nio/ByteBuffer.java
libcore/nio/src/main/java/java/nio/ByteOrder.java
libcore/nio/src/main/java/java/nio/CharArrayBuffer.java
libcore/nio/src/main/java/java/nio/CharBuffer.java
libcore/nio/src/main/java/java/nio/CharSequenceAdapter.java
libcore/nio/src/main/java/java/nio/CharToByteBufferAdapter.java
libcore/nio/src/main/java/java/nio/DirectByteBuffer.java
libcore/nio/src/main/java/java/nio/DirectByteBuffers.java
libcore/nio/src/main/java/java/nio/DoubleArrayBuffer.java
libcore/nio/src/main/java/java/nio/DoubleBuffer.java
libcore/nio/src/main/java/java/nio/DoubleToByteBufferAdapter.java
libcore/nio/src/main/java/java/nio/FloatArrayBuffer.java
libcore/nio/src/main/java/java/nio/FloatBuffer.java
libcore/nio/src/main/java/java/nio/FloatToByteBufferAdapter.java
libcore/nio/src/main/java/java/nio/HeapByteBuffer.java
libcore/nio/src/main/java/java/nio/IntArrayBuffer.java
libcore/nio/src/main/java/java/nio/IntBuffer.java
libcore/nio/src/main/java/java/nio/IntToByteBufferAdapter.java
libcore/nio/src/main/java/java/nio/InvalidMarkException.java
libcore/nio/src/main/java/java/nio/LongArrayBuffer.java
libcore/nio/src/main/java/java/nio/LongBuffer.java
libcore/nio/src/main/java/java/nio/LongToByteBufferAdapter.java
libcore/nio/src/main/java/java/nio/MappedByteBuffer.java
libcore/nio/src/main/java/java/nio/MappedByteBufferAdapter.java
libcore/nio/src/main/java/java/nio/ReadOnlyBufferException.java
libcore/nio/src/main/java/java/nio/ReadOnlyCharArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadOnlyDirectByteBuffer.java
libcore/nio/src/main/java/java/nio/ReadOnlyDoubleArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadOnlyFloatArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadOnlyHeapByteBuffer.java
libcore/nio/src/main/java/java/nio/ReadOnlyIntArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadOnlyLongArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadOnlyShortArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadWriteCharArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadWriteDirectByteBuffer.java
libcore/nio/src/main/java/java/nio/ReadWriteDoubleArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadWriteFloatArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadWriteHeapByteBuffer.java
libcore/nio/src/main/java/java/nio/ReadWriteIntArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadWriteLongArrayBuffer.java
libcore/nio/src/main/java/java/nio/ReadWriteShortArrayBuffer.java
libcore/nio/src/main/java/java/nio/ShortArrayBuffer.java
libcore/nio/src/main/java/java/nio/ShortBuffer.java
libcore/nio/src/main/java/java/nio/ShortToByteBufferAdapter.java
libcore/nio/src/main/java/java/nio/channels/AlreadyConnectedException.java
libcore/nio/src/main/java/java/nio/channels/AsynchronousCloseException.java
libcore/nio/src/main/java/java/nio/channels/ByteChannel.java
libcore/nio/src/main/java/java/nio/channels/CancelledKeyException.java
libcore/nio/src/main/java/java/nio/channels/Channel.java
libcore/nio/src/main/java/java/nio/channels/Channels.java
libcore/nio/src/main/java/java/nio/channels/ClosedByInterruptException.java
libcore/nio/src/main/java/java/nio/channels/ClosedChannelException.java
libcore/nio/src/main/java/java/nio/channels/ClosedSelectorException.java
libcore/nio/src/main/java/java/nio/channels/ConnectionPendingException.java
libcore/nio/src/main/java/java/nio/channels/DatagramChannel.java
libcore/nio/src/main/java/java/nio/channels/FileChannel.java
libcore/nio/src/main/java/java/nio/channels/FileLock.java
libcore/nio/src/main/java/java/nio/channels/FileLockInterruptionException.java
libcore/nio/src/main/java/java/nio/channels/GatheringByteChannel.java
libcore/nio/src/main/java/java/nio/channels/IllegalBlockingModeException.java
libcore/nio/src/main/java/java/nio/channels/IllegalSelectorException.java
libcore/nio/src/main/java/java/nio/channels/InterruptibleChannel.java
libcore/nio/src/main/java/java/nio/channels/NoConnectionPendingException.java
libcore/nio/src/main/java/java/nio/channels/NonReadableChannelException.java
libcore/nio/src/main/java/java/nio/channels/NonWritableChannelException.java
libcore/nio/src/main/java/java/nio/channels/NotYetBoundException.java
libcore/nio/src/main/java/java/nio/channels/NotYetConnectedException.java
libcore/nio/src/main/java/java/nio/channels/OverlappingFileLockException.java
libcore/nio/src/main/java/java/nio/channels/Pipe.java
libcore/nio/src/main/java/java/nio/channels/ReadableByteChannel.java
libcore/nio/src/main/java/java/nio/channels/ScatteringByteChannel.java
libcore/nio/src/main/java/java/nio/channels/SelectableChannel.java
libcore/nio/src/main/java/java/nio/channels/SelectionKey.java
libcore/nio/src/main/java/java/nio/channels/Selector.java
libcore/nio/src/main/java/java/nio/channels/ServerSocketChannel.java
libcore/nio/src/main/java/java/nio/channels/SocketChannel.java
libcore/nio/src/main/java/java/nio/channels/UnresolvedAddressException.java
libcore/nio/src/main/java/java/nio/channels/UnsupportedAddressTypeException.java
libcore/nio/src/main/java/java/nio/channels/WritableByteChannel.java
libcore/nio/src/main/java/java/nio/channels/spi/AbstractInterruptibleChannel.java
libcore/nio/src/main/java/java/nio/channels/spi/AbstractSelectableChannel.java
libcore/nio/src/main/java/java/nio/channels/spi/AbstractSelectionKey.java
libcore/nio/src/main/java/java/nio/channels/spi/AbstractSelector.java
libcore/nio/src/main/java/java/nio/channels/spi/SelectorProvider.java
libcore/nio/src/main/java/org/apache/harmony/nio/AddressUtil.java
libcore/nio/src/main/java/org/apache/harmony/nio/FileChannelFactory.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/DatagramChannelImpl.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/DirectBuffer.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/FileChannelImpl.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/FileLockImpl.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/IOUtil.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/MappedByteBufferFactory.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/ReadOnlyFileChannel.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/ReadWriteFileChannel.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/SelectorImpl.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/SelectorProviderImpl.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/SocketChannelImpl.java
libcore/nio/src/main/java/org/apache/harmony/nio/internal/WriteOnlyFileChannel.java
libcore/nio/src/main/native/nio/shared/DirectBufferUtil.c
libcore/nio/src/main/native/nio/unix/exports.txt
libcore/nio/src/main/native/nio/unix/makefile
libcore/nio/src/main/native/nio/windows/makefile
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/BufferOverflowExceptionTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/BufferUnderflowExceptionTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/CharBufferTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/FloatBufferTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/InvalidMarkExceptionTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/MappedByteBufferTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/ReadOnlyBufferExceptionTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/DatagramChannelTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/FileChannelLockingTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/FileChannelTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/FileChannelWin32OnlyTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/FileLockTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/ServerSocketChannelTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/SocketChannelTest.java
libcore/nio/src/test/java/org/apache/harmony/nio/tests/java/nio/channels/spi/AbstractSelectableChannelTest.java
libcore/nio_char/.classpath
libcore/nio_char/META-INF/MANIFEST.MF
libcore/nio_char/build.xml
libcore/nio_char/src/main/java/java/nio/charset/CharacterCodingException.java
libcore/nio_char/src/main/java/java/nio/charset/Charset.java
libcore/nio_char/src/main/java/java/nio/charset/CharsetDecoder.java
libcore/nio_char/src/main/java/java/nio/charset/CharsetEncoder.java
libcore/nio_char/src/main/java/java/nio/charset/CoderMalfunctionError.java
libcore/nio_char/src/main/java/java/nio/charset/CoderResult.java
libcore/nio_char/src/main/java/java/nio/charset/CodingErrorAction.java
libcore/nio_char/src/main/java/java/nio/charset/IllegalCharsetNameException.java
libcore/nio_char/src/main/java/java/nio/charset/MalformedInputException.java
libcore/nio_char/src/main/java/java/nio/charset/UnmappableCharacterException.java
libcore/nio_char/src/main/java/java/nio/charset/UnsupportedCharsetException.java
libcore/nio_char/src/test/java/org/apache/harmony/nio_char/tests/java/nio/charset/CharsetDecoderTest.java
libcore/nio_char/src/test/java/org/apache/harmony/nio_char/tests/java/nio/charset/CharsetEncoderTest.java
libcore/nio_char/src/test/java/org/apache/harmony/nio_char/tests/java/nio/charset/CharsetTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/ASCCharsetDecoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/CharsetDecoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/CharsetEncoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/CharsetProviderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/CharsetTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/GBCharsetDecoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/GBCharsetEncoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/ISOCharsetDecoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/UTF16BECharsetDecoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/UTF16CharsetDecoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/UTF16CharsetEncoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/UTF16LECharsetDecoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/UTFCharsetDecoderTest.java
libcore/nio_char/src/test/java/tests/api/java/nio/charset/UTFCharsetEncoderTest.java

commit 8a74fca0d85c82a9d02a83d00fd028d9b09755f7
Author: Jesse Wilson <jessewilson@google.com>
Date: Thu Aug 13 16:03:25 2009 -0700

Dalvik Nio, Nio char

commit bcc5ec78806787fbecab742e716fc0d63bcece5c
Author: Jesse Wilson <jessewilson@google.com>
Date: Thu Aug 13 16:01:06 2009 -0700

Nio, nio char 802921

commit fc1e09e74aec8e49e0e23f13643deed1e9112af4
Author: Jesse Wilson <jessewilson@google.com>
Date: Thu Aug 13 15:48:17 2009 -0700

Nio, nio char 527399
fbf6206c83b12749ba2fec0fda994ab0e2f36037 16-Oct-2009 Jesse Wilson <jessewilson@google.com> Respond to impossible CloneNotSupportedExceptions with AssertionErrors.

See bug 2183132.
9d95bae0f8623d0e1c582885078c29e9f6320117 16-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id26b232b

* changes:
Fix Float.valueOf(String) OutOfMemoryExceptions.
ad606cacb67faa3b6c893a68318e9e3b69963610 16-Oct-2009 Elliott Hughes <enh@google.com> Fix Float.valueOf(String) OutOfMemoryExceptions.

Apply http://issues.apache.org/jira/browse/HARMONY-6261, which was missed in
our recent luni merge.

Bug: 1957904
1cc00ecb9affe78d96614a6909d8f597d52d7584 16-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iccd6c010

* changes:
Make the traige process for self-verification found divergence easier.
afd1d5ba83c584f74f614272f97cb471d8ed6b61 15-Oct-2009 Ben Cheng <bccheng@google.com> Make the traige process for self-verification found divergence easier.

1. Automatically replay the code compilation with verbose mode turned on for
the offending compilation.
3. Mark the registers with divergence explicitly.
2. Print accurate operand names using the dataflow attributes. Constant values
are still printed for reference only.
3. Fixed a few correctness/style issues in self-verification code.
2cae45e90c1db279718212182a032c4aca5f5742 15-Oct-2009 Jesse Wilson <jessewilson@google.com> am 8673ee75: am 9a35ef1b: Guarantee deflaters get cleaned up, even if subclassed.

Merge commit '8673ee75052e7398aa6f5925e968d6a0b2419be8'

* commit '8673ee75052e7398aa6f5925e968d6a0b2419be8':
Guarantee deflaters get cleaned up, even if subclassed.
87e28f488c4034d57fc289eb7672c78e8699455e 15-Oct-2009 Jesse Wilson <jessewilson@google.com> am 9a35ef1b: Guarantee deflaters get cleaned up, even if subclassed.

Merge commit '9a35ef1b4b196f0479054993ab0eabac416c5214' into eclair-mr2-plus-aosp

* commit '9a35ef1b4b196f0479054993ab0eabac416c5214':
Guarantee deflaters get cleaned up, even if subclassed.
edbf1a8af451e2372bfb7d7aa1526c0f0cbea706 15-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I581bed77

* changes:
Add a memory barrier.
0372b6bbe234b653b725c8cfa6cac6195b0601db 15-Oct-2009 Jesse Wilson <jessewilson@google.com> Guarantee deflaters get cleaned up, even if subclassed.

See bug 2186927
59dea703e942da494b65d9fb285b415342ec8c6a 15-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I11b31b39

* changes:
Fix icu4jni Resources ("Locale") to not expose its internals.
0bff8eeef296f26f91b7331c5136a436b547cc55 15-Oct-2009 Andy McFadden <fadden@android.com> Add a memory barrier.

Looks like an appropriate place for one.
4ea30b1fb14b80c453e684b327f95ca68b5486f0 15-Oct-2009 Elliott Hughes <enh@google.com> Fix icu4jni Resources ("Locale") to not expose its internals.

We shouldn't expose internal arrays without copying.

Bug: 2102273
5d3bb5f8576799a27d7f35d008c1b676559c9e47 15-Oct-2009 Jean-Baptiste Queru <jbq@google.com> am c1d492ca: merge from open-source master

Merge commit 'c1d492ca536a3acf4156d06ce01c932b8b762cb9'

* commit 'c1d492ca536a3acf4156d06ce01c932b8b762cb9':
9b3e640816689827da328074f4116c7cdf989329 15-Oct-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
ff0e027e24292edd36454f23c24e4e94b8c586d7 14-Oct-2009 Elliott Hughes <enh@google.com> Fix build.

Add missing files from https://android-git.corp.google.com/g/29998.
e48c383223b2921fd75aefd50474c3a550f73fd1 14-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic8d6b3cb

* changes:
Fix Constructor and Method to not expose their internals.
1ccf764f794c260156de86ee626170439b1136ea 14-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ia0e7b60d

* changes:
Remove incorrect definition of nested local variables.
c76ae7c0603730b5b50b31af50f20741ebd0503f 14-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I0e52b194

* changes:
Bug fixing for NumberFormat and BigDecimal.
50cfddd4f20f195273a74a45101fdb816d4d8511 14-Oct-2009 Elliott Hughes <enh@google.com> Fix build.

Work around apicheck bug.
71f634756c63a91dc9df3799c8a0a84ca065642f 14-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I3a0b1f8c

* changes:
Update libcore/security to Harmony r823222.
29b771b4fb5d4622cc3979e7da690d5fe4e7bcfe 14-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic89dfdd8

* changes:
Bump "public" version from 1.1.0 to 1.2.0.
4fdb58de42e8483a78df4fa38de10e64ccd03158 14-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I0d6fff2d

* changes:
Avoid JDWP hang on nested thread suspension.
e18b4e8b8f6e7310dc7d9ffff11ac3c30c1c4d74 14-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9297389b

* changes:
Udating luni to Harmony r823222.
ccb0b7eda4e3004c753a36734f4ac1d0518eeace 14-Oct-2009 Ben Cheng <bccheng@google.com> Remove incorrect definition of nested local variables.
83df3eb8eee9c8b4bfe6713f0e85f22a4774115a 10-Oct-2009 Elliott Hughes <enh@google.com> Update libcore/security to Harmony r823222.

Squashed commit of the following:

commit e3083dde77b71fa817c8a52d9edafcb6325cfc25
Author: Elliott Hughes <enh@google.com>
Date: Fri Oct 9 13:10:11 2009 -0700

security_dalvik

commit 0fc0101e5dbfb3e3044702579ab8087a4e07984a
Author: Elliott Hughes <enh@google.com>
Date: Fri Oct 9 13:09:48 2009 -0700

security_527399
96cb50805098b74d5010ed5d2cea054d03b1c870 14-Oct-2009 Elliott Hughes <enh@google.com> Fix Constructor and Method to not expose their internals.

We shouldn't expose internal arrays without copying. Behavior confirmed
by testing against RI.

Also connect up the dalvik ThreadsTest test that had fallen by the wayside.

Bug: 2102273
b7275f502c3997a54156e3002bdee222f1ce5199 14-Oct-2009 Andy McFadden <fadden@android.com> Bump "public" version from 1.1.0 to 1.2.0.

Also, send correct version in JDWP VirtualMachine.Version packet.
46deb1def7a06ad328d4bef7a3606bde95c7160f 14-Oct-2009 Andy McFadden <fadden@android.com> Avoid JDWP hang on nested thread suspension.

With jdb, you can suspend a thread multiple times. If you try to
execute a method -- which requires resuming a thread that has been
stopped at a breakpoint -- the VM currently only does a single "resume",
which means the thread is still suspended, and the JDWP thread hangs
waiting for it.

This adds a check to prevent the hang.

For bug 2183735.
b95914b2728bceb1b9f49da7f410420e528962b2 13-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ied79ff0c

* changes:
Accept JitOff as a legal state in the debug interpreter when JIT is configured.
8efa396512a9bee0da2ea0ca598bf3d31f4afcea 13-Oct-2009 Ben Cheng <bccheng@google.com> Accept JitOff as a legal state in the debug interpreter when JIT is configured.
88879ddb5430566933f6c80979449e5e3a0257e2 13-Oct-2009 Andy McFadden <fadden@android.com> Add JDWP ReferenceType.ClassObject handler.

For bug 2157236.
17426b0761af02bbe486ef543efd873b8358346f 13-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I60282050

* changes:
Add implementation of JDWP ClassType.NewInstance
d30782f96a9f78d53b8d9b63f093891e011a9aa9 13-Oct-2009 Brett Chabot <brettchabot@android.com> am fef7556f: am 3238cc2a: am 32f89821: Merge change 26044 into donut-gms

Merge commit 'fef7556f058d0d17b30180c03387558bc59d3105'

* commit 'fef7556f058d0d17b30180c03387558bc59d3105':
Remove tests.api.java.io.FileTest#test_delete as known failure.
ec3461974a60dbfc8f781fac8df9c23b8c9efdf5 13-Oct-2009 Brett Chabot <brettchabot@android.com> am 4ebfaec4: am 98f0612b: am c4d33d9d: Fix ClassLoaderTest to work on DEXPREOPT builds.

Merge commit '4ebfaec453ae79e3ac1d7ff30cbc9f2d3beef2d1'

* commit '4ebfaec453ae79e3ac1d7ff30cbc9f2d3beef2d1':
Fix ClassLoaderTest to work on DEXPREOPT builds.
54b98c4530cc4cc17cfe99c67a4eb90e36739287 03-Oct-2009 Andy McFadden <fadden@android.com> Add implementation of JDWP ClassType.NewInstance

Add a handler for the ClassType.NewInstance request, and some bits of
plumbing to go with it.

For bug 2157236.
5432dac5b68b58e0b24cc92bd6e2c5f86eb6a9b6 12-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I8f61592d

* changes:
Set the debug interpreter entry point properly on the self-verification path.
7dc84a2a9fe0327e7385f25bad9970cbac13cab0 12-Oct-2009 Jesse Wilson <jessewilson@google.com> Bug fixing for NumberFormat and BigDecimal.

1. Fixed the bug that DecimalFormat does not handle multiplier.
2. Fixed the bug that DecimalFormat does not handle precision.

This is a copy of the original Eclair change,
https://android-git.corp.google.com/g/26297

Bug: 1897917.
dfaf79e3fbcdee41c6fed6a0c3e95c55af74c837 12-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I6618182f

* changes:
Fix CoreTestRunner to not run filtered-out tests.
ed22595158bf4b11b33cad8642d77c5aebee6928 12-Oct-2009 Ben Cheng <bccheng@google.com> Set the debug interpreter entry point properly on the self-verification path.

Also fix the encoding for SFP/DFP register names to make self-verification
happy on FP benchmarks.
3d2ca053902c201a709026a6dcb4f5e2f3e2d4ed 12-Oct-2009 Elliott Hughes <enh@google.com> Fix CoreTestRunner to not run filtered-out tests.

https://android-git.corp.google.com/g/29284 broke test filtering by accidentally
passing the unfiltered test suite to super.doRun.
c6ff365af3070cbfe87709178e3539452b0064f2 12-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I1acdca65

* changes:
Fix memory corruption.
14ad2b830458c3ea16278a24644b603c48532635 12-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iff8a3e91

* changes:
Adding timeouts to HttpsURLConnectionTest.
366c3d1943e5450b3735693c1164ceaa88939d22 12-Oct-2009 Jesse Wilson <jessewilson@google.com> Adding timeouts to HttpsURLConnectionTest.

See bug http://b/issue?id=2180571
8b0ef2f2bc9b5e408a00b4ea59db7db116cd28df 12-Oct-2009 Jesse Wilson <jessewilson@google.com> Fix memory corruption.
0c3548929667d73b5d851f6b04a0fc5e88a39ad0 12-Oct-2009 Lorenzo Colitti <lorenzo@google.com> am e652b123: Make sure res is NULL if getaddrinfo fails.

Merge commit 'e652b123d2d65d40e5f51c0145cc453ea88631dc'

* commit 'e652b123d2d65d40e5f51c0145cc453ea88631dc':
Make sure res is NULL if getaddrinfo fails.
f5971ca642a9287b5915dfc6fa9420b424081d56 10-Oct-2009 Jesse Wilson <jessewilson@google.com> Adding a timeout for standard out as well as standard error.
6981c0066a0b9ca8177134110106276cf1d5f2d2 10-Oct-2009 Jesse Wilson <jessewilson@google.com> Udating luni to Harmony r823222.

Highlights:
- InputStream.skip concurrency issue
- "better" messages in bound exceptions for streams and arrays
- prefer fewer writes to underlying streams (using byte[] buffers)
- Rename subclasses to not reuse names from their superclasses
- PlatformAddressFactory.allocMap bugfix

Plus some spelling fixes, style fixes, serial version UIDs and other
boilerplate improvements.
b7de9a40ec932024f63b8edf11405f7153187bf7 10-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I164613f2

* changes:
Rewrite Support_Exec to support timeouts on waiting processes.
aa91b2ca8f7b82a743b32c6d6fc9f5d6fef00362 10-Oct-2009 Jesse Wilson <jessewilson@google.com> Rewrite Support_Exec to support timeouts on waiting processes.

Also rewriting SupportExec to use ProcessBuilder rather
than Runtime.exec(). Changed callers to use the ProcessBuilder
directly rather than calling-through chained methods.
ea627cd5a8948e1e100e00f91de2036d51c39ed3 10-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ic98d470a

* changes:
Remove the intermediate representation in getNetworkInterfaces.
65c42efd5aa1850b8b7fe3a9d5fa0b0a60411375 10-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I6239d93b

* changes:
Fix the docs for the no-arg Random() constructor to better reflect reality, and make the constructors more resilient with respect to subclassing by using System.identityHashCode() instead of Object.hashCode(), and also by not calling overridable methods.
f267927c201bbbdfa6342f5e7d6bee9ec86b5adc 09-Oct-2009 Dan Bornstein <danfuzz@android.com> Fix the docs for the no-arg Random() constructor to better reflect reality,
and make the constructors more resilient with respect to subclassing by
using System.identityHashCode() instead of Object.hashCode(), and also by
not calling overridable methods.

Change-Id: I6239d93bb46876ef1c4a5e155a6dc1ac6fab4eae
cd9841fabe3e2644033faf379ee7be5541b7569e 09-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I0e98511f

* changes:
Do not initialize the JIT if it is not the designated execution mode.
997f44481a35d964651b04365ef3239561cedd90 09-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I98acebf9

* changes:
Disable SMALL_BUFFERS and CUTTHROUGH, as SSLSession test fails with these flags.
aada1776d80da041ce11f4bc826bf7b69de4ab7f 09-Oct-2009 Ben Cheng <bccheng@google.com> Do not initialize the JIT if it is not the designated execution mode.
0a930093d2cb0dabc3aeb2672fd9ee7d2ae743e7 08-Oct-2009 Dan Bornstein <danfuzz@android.com> Minor tweak for compatibility with BSD: Use MAP_ANON instead of MAP_ANONYMOUS.

The former is deprecated on Linux, but it is equivalent, and
MAP_ANONYMOUS isn't valid at all on BSD. (The alternative for BSD
compatibility is to use #ifdefs, but that seems gratuitously
heavyweight to me.)

Change-Id: I9c0b2cc78c4d7edc633487d5b0dde5b2f928247e
2b2ff5863974f6cfcddec0a54cfe4f46b94629a0 09-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I5ccdf0be

* changes:
Fix for "Compiler thread shutdown should switch out of VMWAIT"
26bea7e890e2c715c8370748087370c4a7ced77f 09-Oct-2009 Nagendra Modadugu <ngm@google.com> Disable SMALL_BUFFERS and CUTTHROUGH, as SSLSession test fails with these flags.
93adc1e1e47fb5494b605e33c0d7fae5111cb72e 09-Oct-2009 Elliott Hughes <enh@google.com> Squashed commit of the following:

commit 07d78447c89a11265bf909ab6bcc315c1a784281
Author: Elliott Hughes <enh@google.com>
Date: Thu Oct 8 16:38:26 2009 -0700

text_dalvik

commit c390506ce060c705b6c1b04fb1e737617de1bd8a
Author: Elliott Hughes <enh@google.com>
Date: Thu Oct 8 16:38:22 2009 -0700

text_802921
dcf4b586a1ad4acf4761be1fdfd0c0cab4cc38e7 09-Oct-2009 Ben Cheng <bccheng@google.com> Fix for "Compiler thread shutdown should switch out of VMWAIT"
483fb7738f8522f0a857612373ae8f3adb3e9d03 08-Oct-2009 Jesse Wilson <jessewilson@google.com> Tools to push code back upstream.
e847a939a1d79d5689ff89afa26290d5a1f031a6 08-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I685130ae

* changes:
JNI Delete* and Release* _are_ allowed while an exception is pending.
3adf8940663279e5864d6d0f16cc088633fbb36e 08-Oct-2009 Brett Chabot <brettchabot@android.com> am 3238cc2a: am 32f89821: Merge change 26044 into donut-gms

Merge commit '3238cc2a901ed6e0e3bb11fa601913c2ed09ddb7' into eclair-plus-aosp

* commit '3238cc2a901ed6e0e3bb11fa601913c2ed09ddb7':
Remove tests.api.java.io.FileTest#test_delete as known failure.
8c2869d4a50cad3cd9649837f3d89945f9916ad4 08-Oct-2009 Brett Chabot <brettchabot@android.com> am 98f0612b: am c4d33d9d: Fix ClassLoaderTest to work on DEXPREOPT builds.

Merge commit '98f0612b22111dd9e2d23b171b9059582cc44991' into eclair-plus-aosp

* commit '98f0612b22111dd9e2d23b171b9059582cc44991':
Fix ClassLoaderTest to work on DEXPREOPT builds.
bd0a8340a97f838d700967f1bed50ba3f94e973c 08-Oct-2009 Brett Chabot <brettchabot@android.com> am 3238cc2a: am 32f89821: Merge change 26044 into donut-gms

Merge commit '3238cc2a901ed6e0e3bb11fa601913c2ed09ddb7' into eclair-mr2

* commit '3238cc2a901ed6e0e3bb11fa601913c2ed09ddb7':
Remove tests.api.java.io.FileTest#test_delete as known failure.
03b9f9d3b903b943819b3d14eb104893a951af0a 08-Oct-2009 Brett Chabot <brettchabot@android.com> am 98f0612b: am c4d33d9d: Fix ClassLoaderTest to work on DEXPREOPT builds.

Merge commit '98f0612b22111dd9e2d23b171b9059582cc44991' into eclair-mr2

* commit '98f0612b22111dd9e2d23b171b9059582cc44991':
Fix ClassLoaderTest to work on DEXPREOPT builds.
b7d1bfe9635638778b518ca8ceb236bf349a2a21 08-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9c147b84

* changes:
Fix various bugs found when debugger is attached to the VM.
98a90ef4a4aaebf70ae9c712b6e940d04ab8455f 08-Oct-2009 Brett Chabot <brettchabot@android.com> am 32f89821: Merge change 26044 into donut-gms

Merge commit '32f8982116e5155bc3c75c86e3c861cab1a848be' into eclair

* commit '32f8982116e5155bc3c75c86e3c861cab1a848be':
Remove tests.api.java.io.FileTest#test_delete as known failure.
7a6bfbee135220891a2b14a23ae9fb83a6a4220a 08-Oct-2009 Brett Chabot <brettchabot@android.com> am c4d33d9d: Fix ClassLoaderTest to work on DEXPREOPT builds.

Merge commit 'c4d33d9d89444d86808be7072e0548007d98a49f' into eclair

* commit 'c4d33d9d89444d86808be7072e0548007d98a49f':
Fix ClassLoaderTest to work on DEXPREOPT builds.
6cf9f244cba5a4772ee566bf6bf39bb41e5e93bd 08-Oct-2009 Jesse Wilson <jessewilson@google.com> Fixing the JUnit runner to output Ant-compatible XML.

We can use this with our continuous build to track test
failure changes over time.
8fa07e0cd42c98850f1fab251e56cdfc406d733a 08-Oct-2009 Ben Cheng <bccheng@google.com> Fix various bugs found when debugger is attached to the VM.

See b/2161257 for details.
a6311013a1208f101470a3cf66a5e6e3fe1bd41f 08-Oct-2009 Elliott Hughes <enh@google.com> JNI Delete* and Release* _are_ allowed while an exception is pending.

See "Exceptions" in our own documentation:
http://android.git.kernel.org/?p=platform/dalvik.git;a=blob_plain;f=docs/jni-tips.html;hb=HEAD

This is also true of the RI, though the spec sometimes implies otherwise.
Here's the canonical reference:
http://java.sun.com/docs/books/jni/html/design.html#2193
618e5816e7282e5eede760110f0eec0c11169384 08-Oct-2009 Elliott Hughes <enh@google.com> Fix several leaks in OpenSSL JNI cipher suites code.

I first spotted the missing ReleaseStringUTFChars, but then noticed all
the duplication in the cipher suites functions, and noticed that no
copy appeared to be completely correct. The factored-out replacements
shouldn't leak, and should check all error conditions.
ec8cdd8cf9740aba3ea114d2b243236408b8da7f 07-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I492dd3f7

* changes:
Enable SMALL_BUFFERS and HANDSHAKE_CUTTHROUGH for SSL connections.
2fcd04557efbc1fc89273e08fce365c04d7da66f 07-Oct-2009 Nagendra Modadugu <ngm@google.com> Enable SMALL_BUFFERS and HANDSHAKE_CUTTHROUGH for SSL connections.
37b191146fcdbcbd264b56082ad66615833ff08b 07-Oct-2009 Elliott Hughes <enh@google.com> Remove duplication between readv and writev.

This also means we don't pin the three int arrays for the duration
of the syscall.
84d1a3777dc7c8d7ec861f34bc811bb838668151 06-Oct-2009 Elliott Hughes <enh@google.com> Don't use GetPrimitiveArrayCritical around network operations.

This code seems to have been using GetPrimitiveArrayCritical to
work around the fact that it was supply JNI_ABORT on release,
where it really wanted GetByteArrayElements and to keep its
changes (since the whole point of the byte[] was to keep state
between calls).
15522eeb12b56db7dfff7d3ed3c05ba1624e8637 06-Oct-2009 Elliott Hughes <enh@google.com> Remove the intermediate representation in getNetworkInterfaces.

This gets rid of a lot of unnecessary complexity by going straight from
the kernel's representation to the Java representation, without the useless
C structs in between.
32c56929f9fd57465e26abc8fce034db6fed44cc 06-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ia4c68278

* changes:
Remove dead code.
c8890b531bc5e51f17bde59fe39a07bb678954c1 06-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I40159068

* changes:
Use icu4jni_error more consistently.
66118bdb5ccb6858953b2e8670658e6107b50b98 06-Oct-2009 Elliott Hughes <enh@google.com> Remove dead code.
f40b3908677bf99566c372a2453222e95d592c42 02-Oct-2009 Lorenzo Colitti <lorenzo@google.com> Make sure res is NULL if getaddrinfo fails.
9796a6309c3cb23f7ef7058bf2e6ecfc8c4b9b99 06-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I7aabd791

* changes:
Refactor java_net_NetworkInterface.cpp for clarity.
d1d4a3318a8966da612541c5ab6fc3be4df7e35a 06-Oct-2009 Elliott Hughes <enh@google.com> Use icu4jni_error more consistently.

In BidiWrapperInterface.c, replace check_fail with icu4jni_error for better
error reporting.

In CollationInterface.c, make sure we call icu4jni_error *after* calling
the function that may or may not return an error.
19ce1cb60a3115f45895783d18ccf0867dfb5231 03-Oct-2009 Elliott Hughes <enh@google.com> Refactor java_net_NetworkInterface.cpp for clarity.

All I wanted to do was remove the SOCKERR_ mess, but things got out of hand.
There's still plenty of stuff that could be cleaned up, but nothing that can't
wait. I'm only doing this to make things easier for the IPv6 changes.

This patch:
* removes the SOCKERR_ mess which was causing vague "Operation failed"
IOExceptions; we now use the actual errno value of whatever caused the failure.
* simplifies memory management so we don't have to do lots of cleanup on
every exit from each function.
* simplified fd management for the same reason.
* reduces the use of the intermediate structure, going straight to Java objects
in places. (This is the unfinished work: we should get rid of the intermediate
representation. It's not useful.)
* replaces structInToJavaAddress and structInToInetAddress with a call to the
better socketAddressToInetAddress from OSNetworkSystem.cpp.
* uses more intention-revealing variable and function names.
* removes attempts to throw exceptions when perfectly good exceptions have
already been thrown.
* removes filtering of interfaces that aren't up. The RI doesn't do this
filtering, there's no reason to do it, and it's always going to be a race
condition anyway.
* removes untrue comments.
* removes a lot of inexplicably empty lines.
d3df2aa0a705ff3128adb5c12a571e088fde5b8b 05-Oct-2009 Elliott Hughes <enh@google.com> Switch to TEMP_FAILURE_RETRY now it's moved to bionic.

(The same EINTR_RETRY macro that used to be here has moved to <unistd.h>, so
we don't need another copy. EINTR_RETRY is a nicer name, I think, but
TEMP_FAILURE_RETRY is the GNU-compatible name.)
f449277d83b57987fcde517604f4eb57b7cf3321 02-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Idc84bb2b

* changes:
Fix trace builder to not confuse self-verification.
28d694d24743c1269d7be7287f308a13d06b3efb 02-Oct-2009 Ben Cheng <bccheng@google.com> Fix trace builder to not confuse self-verification.
d9001234d9e3b7a90087ef774599e57129341b3b 02-Oct-2009 Lorenzo Colitti <lorenzo@google.com> Make sure res is NULL if getaddrinfo fails.
f5de0f5f8d50520f610f050819c3c1adde11257c 02-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I4bf8618f

* changes:
Add back missing shared libraries used by executable in link command. These libraries are linked though dependencies of other libraries. While that works, it is not the right thing to do.
f2b31c6e41a8967865acca934de71cf785187eaf 02-Oct-2009 Doug Kwan <dougkwan@google.com> Add back missing shared libraries used by executable in link command. These
libraries are linked though dependencies of other libraries. While that works,
it is not the right thing to do.
697f77532d11d6d59dcc6a748761a8b15f2a011f 30-Sep-2009 Elliott Hughes <enh@google.com> Remove adb networking support from dalvik/libcore.

There's more to be removed from other projects, but this should probably
come out first.

Bug: 1122968
2200d4d61ae1e995bfa45d5fabe145a62b1e5931 02-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id5ccf4bc

* changes:
Catch bad getStackTrace() calls.
53dedf19d4a7aecb434036422d6b62d488d6641e 02-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9d8f66aa

* changes:
Switch java_net_NetworkInterface.c to C++.
52cf3e0edc0f63773aeef7e09f681f83bae0c10d 02-Oct-2009 Elliott Hughes <enh@google.com> Switch java_net_NetworkInterface.c to C++.

(I have a bigger change to make to this file, but the web claims that it's
best to keep renames in minimally small patches so git doesn't get confused.)
50abc9f0c02903e986f7ae7651567b2a77587e07 02-Oct-2009 Andy McFadden <fadden@android.com> Catch bad getStackTrace() calls.

Normally Throwable.getStackTrace() can't be called until after there's a
stack trace, but with a debugger you can call it during construction.
We weren't expecting that and the VM went boom.
0648310d3f725247b18b79ec87cbfb262560b9fb 02-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I3bc71eab

* changes:
:: is a valid local address on a newly-created socket if IPv6 is preferred.
68b58c14e8b802deef15cff6fabc0b57e3d1de28 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> :: is a valid local address on a newly-created socket if IPv6 is preferred.
40bfd412624c28c481c183849cb5985a4ed8580c 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> am ae8d0254: am 0c0cfd5c: Merge change I96cd6f5b into eclair

Merge commit 'ae8d0254dd69392dae9c922462ca2a01944b6eef'

* commit 'ae8d0254dd69392dae9c922462ca2a01944b6eef':
Make the socket test accept ::1 as a valid result for
ec85c1355e40bea7a58235429355979b17228429 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> am 1507c7ce: am f94c5d77: More multicast fixes.

Merge commit '1507c7ce4fc88f7bdf5e89ba10839809693eeefb'

* commit '1507c7ce4fc88f7bdf5e89ba10839809693eeefb':
More multicast fixes.
5f4d366ea4c5761f1ed6f7105dc3cc196fe3d63d 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> am 003d7f8d: am e851c562: Merge change Iea75a523 into eclair

Merge commit '003d7f8da66ec53b5dbece36308197dc7a932e3e'

* commit '003d7f8da66ec53b5dbece36308197dc7a932e3e':
Fixes for socket options on multicast sockets.
84891ebc40628e3b8a4d2b80f21cd738b290ad99 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I2cdad38a

* changes:
Update archive to Harmony r820767.
925bab5f30bd9d94d1ebe0361ab8c59aed285841 01-Oct-2009 Jesse Wilson <jessewilson@google.com> Update archive to Harmony r820767.
7b9c2433907ee6eb955eb0eac123f1772fcf5b79 01-Oct-2009 Jesse Wilson <jessewilson@google.com> am aa4320a4: am 1131d3da: Merge change Ie2e14dde into eclair

Merge commit 'aa4320a4fb27684bd70cfb4d82feca3845ad272e'

* commit 'aa4320a4fb27684bd70cfb4d82feca3845ad272e':
Remove @KnownFailure tags for tests that pass.
32417404725550cb4cc7842a3397f1fe474e970d 01-Oct-2009 Jesse Wilson <jessewilson@google.com> am 2b791cc2: am 910363bd: Merge change Ib5dc3f1f into eclair

Merge commit '2b791cc256e80f93fef7db2157f1cee202133201'

* commit '2b791cc256e80f93fef7db2157f1cee202133201':
Fixing a lame test that was relying on hashmap iteration order.
16c0a3b25fd44ef6053bfbb332331b49a229e623 01-Oct-2009 Jesse Wilson <jessewilson@google.com> am a20c6d23: am b5b7f4ba: Merge change I9899be9d into eclair

Merge commit 'a20c6d2347224d89dced471e61a36610699b7e71'

* commit 'a20c6d2347224d89dced471e61a36610699b7e71':
Fixing a Harmony regression in ObjectInputStream.
017e8268ce33f0c2061439e300ba3f2aacda3678 01-Oct-2009 Jesse Wilson <jessewilson@google.com> am 18ae1786: am ffa33efc: Merge change I75630000 into eclair

Merge commit '18ae1786b572d7385cbddd7da3167e190b952ded'

* commit '18ae1786b572d7385cbddd7da3167e190b952ded':
Fixing tests that exercise SecurityManager plus stack inspection.
41df4a04f3a45fbc785f220fa9d65746cc674733 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I76ecf19c

* changes:
Use jniThrowException instead of FindClass/ThrowNew.
1d4141727c0245a0d4900a02f09a1408a0b84f1f 01-Oct-2009 Jesse Wilson <jessewilson@google.com> am 4b304284: am 7f51bfee: Merge change I86898f45 into eclair

Merge commit '4b30428421d4ad93d9e6fc34bc0190a5097dc4a6'

* commit '4b30428421d4ad93d9e6fc34bc0190a5097dc4a6':
Fix BigInteger math bugs.
2fc22eadc4fc3e769a86e8c40d1388b935d744bc 01-Oct-2009 Elliott Hughes <enh@google.com> Use jniThrowException instead of FindClass/ThrowNew.

Always use our best-of-breed code for throwing exceptions. The remaining
callers of Throw have good reason, and the only caller of ThrowNew is
now JNIHelp.c (jniThrowException) itself.
7a7d1563006e5bb466721cd80843f194705aaf64 01-Oct-2009 Ben Cheng <bccheng@google.com> Fix a memory disambiguation and a SFP/DFP assembling bug in the JIT.
069933206b9cac61a5eab8c2142d2d923d4476d3 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> am 0c0cfd5c: Merge change I96cd6f5b into eclair

Merge commit '0c0cfd5ce4a26187fb910ba701d0021989103a25' into eclair-plus-aosp

* commit '0c0cfd5ce4a26187fb910ba701d0021989103a25':
Make the socket test accept ::1 as a valid result for
1f373532de9b920cc378f0fcbd36dff0d75992f3 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> am f94c5d77: More multicast fixes.

Merge commit 'f94c5d77ab659bfc1644b524fc006f24cbf6f694' into eclair-plus-aosp

* commit 'f94c5d77ab659bfc1644b524fc006f24cbf6f694':
More multicast fixes.
84a5fd68cbcc10f96f96e9e4c26a64701b87b1bd 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> am e851c562: Merge change Iea75a523 into eclair

Merge commit 'e851c562ee5eb514135b5066553fcef6b0e5c333' into eclair-plus-aosp

* commit 'e851c562ee5eb514135b5066553fcef6b0e5c333':
Fixes for socket options on multicast sockets.
98375e4747cc580997d92ee4f885ed42ede1823e 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I96cd6f5b into eclair

* changes:
Make the socket test accept ::1 as a valid result for InetAddress.getByName(null) if the system is set to prefer IPv6 addresses.
8c21196e3077f6ff3b9b558ef859f4ed65d2ebca 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> Make the socket test accept ::1 as a valid result for
InetAddress.getByName(null) if the system is set to prefer IPv6 addresses.

Change-Id: I96cd6f5b632994b73af13e341cf6f684f6eee4cd
a15c83e1803b430dd6f6a631dd3c4b809effaa25 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> More multicast fixes.

1. Make native code properly set network interface indexes that are used for
new-style multicast socket options.
2. For IP_MULTICAST_IF, check that the address is IPv4, not the socket.
3. Remove a @KnownFailure annotation for a test that now passes.

This removes one test error and changes it into a more benign failure. The
remaining test failures seem to be due to Linux bening permissive about which
interfaces you can receive multicast traffic on, which is probably good enough
for now.

Change-Id: Id1fddee338addcfce821672b983485c7dd4983d4
72b6a50f59cd09b7d24460e54c3357f29700290e 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iea75a523 into eclair

* changes:
Fixes for socket options on multicast sockets.
0724dbb3a7e9ed769e4a3ee4a9729489e34fc91c 01-Oct-2009 Lorenzo Colitti <lorenzo@google.com> Fixes for socket options on multicast sockets.

1. Properly pass get/setsockopt the pointer to the socket option instead of the
pointer to the pointer to the option. This was not caught at compile time
because it's a void *.
2. Handle IPv4 multicast addresses on IPv6 sockets. This is important because
current devices create IPv6 sockets by default.
3. Use the proper options for IPv6 multicast (i.e., IPV6_{ADD,DROP}_MEMBERSHIP
instead of IP_{ADD,DROP}_MEMBERSHIP)
4. Use integers instead of bytes when getting or setting the multicast TTL
because that's what the Linux kernel uses.

These fix 10 of the 11 MulticastSocketTest failures. Also, minor changes:

1. Add ifdefd-out logging functions for get/setsockopt.
2. Change all instances of IPPROTO_{IP,IPv6} to SOL_{IP,IPV6} in get/setsockopt
calls. Even though the values are the same (so the code worked), this way is
more correct.

Change-Id: Iea75a523d7e71f0b361a42c0e39d3ef075dc7ff4
c011d81d54b2c165db137d0de4d1a61470043739 01-Oct-2009 Jesse Wilson <jessewilson@google.com> am 1131d3da: Merge change Ie2e14dde into eclair

Merge commit '1131d3da4e3d3df7f608fb0078ec67d14035ff25' into eclair-plus-aosp

* commit '1131d3da4e3d3df7f608fb0078ec67d14035ff25':
Remove @KnownFailure tags for tests that pass.
6fc633758ecf51f88ff0dcf1ab83cb83dcd3c2b7 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ie2e14dde into eclair

* changes:
Remove @KnownFailure tags for tests that pass.
a90c270960520f1758aec6ad470b74fc9929a163 01-Oct-2009 Jesse Wilson <jessewilson@google.com> Remove @KnownFailure tags for tests that pass.

Also cleanup tests.api.java.io.SerializationStressTest4#test_writeObject_Proxy
f91c1e8958b73b2ab93e438d0a6a70849f31bc0b 01-Oct-2009 Elliott Hughes <enh@google.com> Simplify FileInputStream.skip to match the RI.

The RI throws IOException on any non-seekable stream, including stdin.
This patch removes harmony's special-case hack for stdin, and the native
cruft that wasn't even necessary if you did want a special hack for
stdin.

Bug: 1542253
52a418657c3f1ed02714f3bdba0fb24abdd0cff8 01-Oct-2009 Jesse Wilson <jessewilson@google.com> am 910363bd: Merge change Ib5dc3f1f into eclair

Merge commit '910363bd8d50c2a5558a71e47377928265c1219e' into eclair-plus-aosp

* commit '910363bd8d50c2a5558a71e47377928265c1219e':
Fixing a lame test that was relying on hashmap iteration order.
c8919f35b180f00aadc392798956c3007a298ac0 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ib5dc3f1f into eclair

* changes:
Fixing a lame test that was relying on hashmap iteration order.
fa52529e92e4348d9cef480d27e34b07f28197b5 01-Oct-2009 Jesse Wilson <jessewilson@google.com> Fixing a lame test that was relying on hashmap iteration order.
83e1ea4b8f9752faff70af10e5c65a011536b2b9 30-Sep-2009 Jesse Wilson <jessewilson@google.com> am b5b7f4ba: Merge change I9899be9d into eclair

Merge commit 'b5b7f4ba9c8e5da38d023aa5b5ae61c8392c2e99' into eclair-plus-aosp

* commit 'b5b7f4ba9c8e5da38d023aa5b5ae61c8392c2e99':
Fixing a Harmony regression in ObjectInputStream.
1f3fbb71f7cb68b90b530919fce76b3b7b352b94 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9899be9d into eclair

* changes:
Fixing a Harmony regression in ObjectInputStream.
df11648297f46e3e816e1f2cccef28d17b7e759c 30-Sep-2009 Jesse Wilson <jessewilson@google.com> Fixing a Harmony regression in ObjectInputStream.

We check the field type against the instance being
populated and not the field descriptor on the wire.
The root cause is a bug in Harmony which we should
send upstream.
d289c6431963064d95080fb88185294967f71bd9 30-Sep-2009 Jesse Wilson <jessewilson@google.com> am ffa33efc: Merge change I75630000 into eclair

Merge commit 'ffa33efc2cae574aefbc2867dd4a7e5413282e3c' into eclair-plus-aosp

* commit 'ffa33efc2cae574aefbc2867dd4a7e5413282e3c':
Fixing tests that exercise SecurityManager plus stack inspection.
81e3a4722cdd68bcdc09a0eb5ee31b5fbb6b03b0 30-Sep-2009 Elliott Hughes <enh@google.com> Fix build (don't rely on transitive #include).

The sim-eng build wasn't picking up <string.h> for memcpy(3).
a6453778d2845ee3e03afd336f9179059adb5b62 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I75630000 into eclair

* changes:
Fixing tests that exercise SecurityManager plus stack inspection.
19939b165ba6609aaac4badc6fc236d2a63e09d2 30-Sep-2009 Jesse Wilson <jessewilson@google.com> Fixing tests that exercise SecurityManager plus stack inspection.

The tests were both broken previously. They both relied on having
specific bootloader classes in their call stack.
e25061e5658e90f77ae9a04461c1027b2a235d99 27-Sep-2009 Elliott Hughes <enh@google.com> Throw meaningful IOException instances from native code.

The Java side of OSFileSystem was throwing IOExceptions with no detail
message. If we throw from the native side instead, we can supply
meaningful explanations. This turned up a couple of bugs:

* read, readDirect, readv, writev, and ttyRead would only throw IOException
if they returned < -1, which is impossible. (writev was probably a copy & paste
from readv, and the reads were probably confused by the impedence mismatch
between Unix's use of 0 to mean end of file and -1 to mean error, and Java's
use of -1 for end of file.)

* inconsistent checking for null byte[]s passed in.

* read and write would retry on EINTR, but readDirect and writeDirect wouldn't.

* we'd silently truncate seek/lock/truncate offsets that didn't fit in 32 bits;
we now throw an IOException instead.

It also means a few native functions become "void" because errors are now
reported by throwing exceptions, and the Java functions that used to call them
are no longer needed.

Also change ProcessManager to use jniThrowIOException, remove the unused
throwIOExceptionStr from OSNetworkSystem.cpp, and remove the KnownFailure from
FileTest's test_delete, now we have a fixed version of yaffs that won't
rmdir(2) non-empty directories.

Bug: 1542253
078c47332f8f037dc9570938c5bd59252b09225c 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I866cc5d6

* changes:
Improve run-core-tests.
e6b36d63e65ae87a418c80ac3983e9325aed4db8 30-Sep-2009 Jesse Wilson <jessewilson@google.com> am 7f51bfee: Merge change I86898f45 into eclair

Merge commit '7f51bfee5fc5fb34fe89f3d74f7fd40d834c0fc2' into eclair-plus-aosp

* commit '7f51bfee5fc5fb34fe89f3d74f7fd40d834c0fc2':
Fix BigInteger math bugs.
b484ff4be2e2db8c043eca449d4d11d29a114f36 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I86898f45 into eclair

* changes:
Fix BigInteger math bugs.
70ffea47e642254049aecd854b8f83bf094b238b 30-Sep-2009 Jesse Wilson <jessewilson@google.com> Fix BigInteger math bugs.

This initializes the internal representation before doing left shifts.
I'd originally missed this in the first Harmony update; change 20002.
200a9eb7ce128c89bcb4b00bb3f553d02738ce5f 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I09239e36

* changes:
Report all RegisterNatives failures, not just the first.
924f4bf96bfda3c4c6aa4a758f4ccccdb1cf63ab 30-Sep-2009 Elliott Hughes <enh@google.com> Report all RegisterNatives failures, not just the first.

(It seems that when I make one mistake, I generally make
several at once.)
5326e90d83606b15b957f49d50df98f26710493d 30-Sep-2009 Elliott Hughes <enh@google.com> Improve run-core-tests.

Allow multiple tests to be specified on the command-line, and recognize
syntax errors. (Previously, as long as the arguments ended in a test
name, invalid arguments that didn't start "--" would be silently ignored.
The new test for "-" is strictly unnecessary -- the other changes are
sufficient -- but the explicit early test allows for clearer error
reporting.)
bc4305c8abe8c4067bbc2ec473a167ee5df9d04b 30-Sep-2009 Ben Cheng <bccheng@google.com> Fixed the trace builder to correctly handle excpetion throwing instruction.

Added a new unit test 081-hot-exceptions to target this problem.
738713ee350462d1649ace53fccdb727b32f679b 19-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Manual merge of change I3665f82b into master.
0608c44df51952c6b489415b748f1e749a952c36 21-Sep-2009 Joshua Bloch <jjb@google.com> Replace existing ArrayList implementation with faster, simpler one.
a9f2bca618043557876e39a3cb2110fe47d5463a 28-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I5e88f105

* changes:
Add copyright statement to dexcheck.
f7bf4d564f230316ab0b9c3a70d7f6702eec12b5 28-Sep-2009 Andy McFadden <fadden@android.com> Add copyright statement to dexcheck.

Because even humble shell scripts deserve legal protection.
114a0211e0ed2e536fa120dff91124282fa8213c 28-Sep-2009 Jesse Wilson <jessewilson@google.com> am f591c78e: (-s ours) am 94bf2b21: Merge change 27156 into eclair

Merge commit 'f591c78e3117dfbd727411386175bf1c1aef615b'

* commit 'f591c78e3117dfbd727411386175bf1c1aef615b':
DO NOT MERGE: Cleaning up PipedInputStream
fd6150d23240404f8caf6665eb7369365bfeb149 28-Sep-2009 Jesse Wilson <jessewilson@google.com> am 2ff7a674: am 979baaea: Deprecate many of the accidentally-published APIs in dalvik.system.

Merge commit '2ff7a6741726c7f43a3cea6d30bf7c387f913e78'

* commit '2ff7a6741726c7f43a3cea6d30bf7c387f913e78':
Deprecate many of the accidentally-published APIs in dalvik.system.
ccce27f3c9157f252c59d88e2d738e37e2696895 28-Sep-2009 Ben Cheng <bccheng@google.com> Fixed OOM exception handling in JIT'ed code and added a new unit test.
0770a214dc6ff294a4312b24183355a59d509cf3 27-Sep-2009 Ben Cheng <bccheng@google.com> Registers allocated for 64-bit values should be contiguous.

Found in "Karl's Mortgage Calculator" from the market.
b7b7d04eb35b7e5bca9ac7924a89093e128d2349 26-Sep-2009 Jesse Wilson <jessewilson@google.com> am 94bf2b21: Merge change 27156 into eclair

Merge commit '94bf2b217df69e943843b51b0ea0bb72743cc6b3' into eclair-plus-aosp

* commit '94bf2b217df69e943843b51b0ea0bb72743cc6b3':
DO NOT MERGE: Cleaning up PipedInputStream
03fd9c89992b9a9345a1d7e53ee32652e11a69fe 26-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 27156 into eclair

* changes:
DO NOT MERGE: Cleaning up PipedInputStream
4e38e05200ec19d35a337ec59d8d4784002e957d 26-Sep-2009 Jesse Wilson <jessewilson@google.com> am 979baaea: Deprecate many of the accidentally-published APIs in dalvik.system.

Merge commit '979baaeae3122b0c7ad5b24e7842472127b8a967' into eclair-plus-aosp

* commit '979baaeae3122b0c7ad5b24e7842472127b8a967':
Deprecate many of the accidentally-published APIs in dalvik.system.
efab4dd855d1399ee3f118508bc75481ac209e3f 23-Sep-2009 Jesse Wilson <jessewilson@google.com> Deprecate many of the accidentally-published APIs in dalvik.system.

See bug 2021674 for discussion. I searched Google Code Search to
sample which of these APIs are being used. None of these APIs
were used by applications, so I'm quite confident that removing
them will not break applications or upset developers.

These APIs were neither formerly documented, nor intended for use
by application developers. I am deprecating them now to discourage
their use going forward. We should remove them in a future release.
6cbe6e847e053b9bdee18e229303bda4e0413c53 26-Sep-2009 Jesse Wilson <jessewilson@google.com> DO NOT MERGE: Cleaning up PipedInputStream
17c24ca392c354938d5e95d9a576a49a33cd6b81 25-Sep-2009 Andy McFadden <fadden@android.com> am 7a37c30a: am bb710e32: Remove ((noreturn)) from dvmAbort().

Merge commit '7a37c30a85c58a8c51ae3f9551132a1bf405e4f6'

* commit '7a37c30a85c58a8c51ae3f9551132a1bf405e4f6':
Remove ((noreturn)) from dvmAbort().
2f4983244a7ebbf6431292d0f8961dd5ae42dd37 25-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26716

* changes:
Fix Node.getNextSibling bounds checking.
ff11ac647ebf341f07fc14b264f1bff14c2734cd 24-Sep-2009 Elliott Hughes <enh@google.com> Fix Node.getNextSibling bounds checking.

Obvious copy & paste error in InnerNodeImpl compared to LeafNodeImpl, plus
new test.

I've also fixed a typo that annoys me whenever I look at the XML test results,
and removed a KnownFailure for a test that passes (and has been passing for
some time).

Bug: 779
aa2efed064dd616ca6f6a108c2e134bb561e3de7 22-Sep-2009 Ben Cheng <bccheng@google.com> Implemented a new scheduler and FP register allocator.

Improved performance by 50% over existing JIT for some FP benchmarks.
1bf686bdd014a8794b0bf143fac3600a4e5ff24c 25-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am ac60268a: (-s ours) am f1823804: Merge change 26285 into eclair

Merge commit 'ac60268af417d3a9a948309798d92196a958bc75'

* commit 'ac60268af417d3a9a948309798d92196a958bc75':
Use native code to convert strings to IP addresses.
46acbb5027e54430eaaf30bc25b1a64253dd74a2 25-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26934

* changes:
Fix 32-bit int shifted >= 32 bits in SSLInputStream.
c59454539052b7dfa2c22dbe3906c30d8a05469c 25-Sep-2009 Elliott Hughes <enh@google.com> Fix 32-bit int shifted >= 32 bits in SSLInputStream.

This code isn't actually called by us, but it's public API.

Bug: 2099901
a97f4af5c5ae189b73e966eca7b05ca7d321f7ef 25-Sep-2009 Andy McFadden <fadden@android.com> am bb710e32: Remove ((noreturn)) from dvmAbort().

Merge commit 'bb710e3294c57587f327c5e365353af81aa2cb5f' into eclair-plus-aosp

* commit 'bb710e3294c57587f327c5e365353af81aa2cb5f':
Remove ((noreturn)) from dvmAbort().
4dca874c9ec1131e751155f29a22e5435c40f24c 24-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26920

* changes:
Fix gcc complaint.
f7c41beb42c33ac21b5d452f2de3cf54b05f142a 24-Sep-2009 Andy McFadden <fadden@android.com> Fix gcc complaint.
52ea70728c63edc13138204024225f81ac817434 24-Sep-2009 Andy McFadden <fadden@android.com> Remove ((noreturn)) from dvmAbort().

Functions that could call dvmAbort() from more than one place were
merging the calls together, which is great until you need to decode a
native stack trace.

For 2144313.
16aadb7ecbae072b22e4c1316f4a9db3f429d7cc 23-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26371

* changes:
Fix right shift by constant 0 in Jit. Bug #2135879
6290e793f9eedc2cb2ab8880079fd5cc81f4850a 23-Sep-2009 Andy McFadden <fadden@android.com> am 5c6fee52: am 40f3271c: More doc changes.

Merge commit '5c6fee520e29bcd589b5ab310194ca9773332eba'

* commit '5c6fee520e29bcd589b5ab310194ca9773332eba':
More doc changes.
7e190a3d8e529b69e0c34c4e8c59e8ea3bc5dd0e 23-Sep-2009 Andy McFadden <fadden@android.com> am 8db3bd6e: am 9ae00645: Merge change 26280 into eclair

Merge commit '8db3bd6ec5e242d05488c2c175c90d6b5d535a43'

* commit '8db3bd6ec5e242d05488c2c175c90d6b5d535a43':
Another doc update.
2f8278483c24d456df23dd34eb61cf6b9659462b 23-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26453

* changes:
Fix Formatter.format's handling of Formattable.
e91a2292587166ced88980859003bfb0f9466a3c 23-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am f1823804: Merge change 26285 into eclair

Merge commit 'f182380424709227a08f7d84056209be0952d06d' into eclair-plus-aosp

* commit 'f182380424709227a08f7d84056209be0952d06d':
Use native code to convert strings to IP addresses.
58ce46500546bde5134892fc863f70e1003db951 23-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26285 into eclair

* changes:
Use native code to convert strings to IP addresses.
36422f8bc768bf311c24d09061ead69a5d6dee43 19-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Use native code to convert strings to IP addresses.

1. Add an ipStringToByteArray method to the OSNetworkSystem interface and
provide a native implementation for it.
2. Change InetAddress to use the new method.
3. Remove a mid-sized chunk of Inet6Util, which is now redundant.
4. Remove the KnownFailure annotations from the InetAddress, InetAddress and
Inet6Address tests that expected 1.2.3, 1.3 and 3 to be valid IPv4
addresses. These tests now pass again.
5. Removed an unused native method.
6. Added a comment to the top of the native socket implementation to the effect
that the file is significantly different from harmony.

Change-Id: I3665f82b00ebc089e9133cc6166dda5a99fa10e4
961bc15c7cfbaff952ee4ff2b33542ec4c92d21e 22-Sep-2009 Elliott Hughes <enh@google.com> 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
8ebf4b88dcc640fceb7172430833ea03bd219f30 22-Sep-2009 Andy McFadden <fadden@android.com> am 40f3271c: More doc changes.

Merge commit '40f3271c2dd386878c9a180462c75c890913e9b4' into eclair-plus-aosp

* commit '40f3271c2dd386878c9a180462c75c890913e9b4':
More doc changes.
fb2bd21624d9bdc86357829d3c161bf1211952a2 22-Sep-2009 Andy McFadden <fadden@android.com> am 9ae00645: Merge change 26280 into eclair

Merge commit '9ae0064588a6f922834c8998ef91f04a0d19b1cc' into eclair-plus-aosp

* commit '9ae0064588a6f922834c8998ef91f04a0d19b1cc':
Another doc update.
690026c07186784238c25be15e5b859df245340f 22-Sep-2009 Andy McFadden <fadden@android.com> More doc changes.

Some content changes inspired by external developer feedback, plus some
corrections of long-standing typos.
1f4f3ab43006ab967db6f9583b97bfe1e47a7001 22-Sep-2009 Elliott Hughes <enh@google.com> Fix useDaylightTime for zh_TW (and other locales).

TimeZone.useDaylightTime shouldn't report whether a locale has *ever* used DST,
but whether a locale uses DST "these days". Taiwan is an example supported
locale that historically used DST but hasn't used it since 1980.

Bug: 877
6d62fc954dacc2c131afbe3023865f81496f04a9 22-Sep-2009 Bill Buzbee <buzbee@google.com> Fix right shift by constant 0 in Jit. Bug #2135879
56c7e9a1fe51ac3843be2608d320a61818c7cba3 22-Sep-2009 Joshua Bloch <jjb@google.com> am 4b8fbfe9: am 51ccfdb5: Merge change 26318 into eclair

Merge commit '4b8fbfe9f7dcd8cfa796f968b9feaadb3c72661c'

* commit '4b8fbfe9f7dcd8cfa796f968b9feaadb3c72661c':
Fixed LinkedHashMap bug 2121546
0797a4a5aa02c6cc39e019be698f5ab1f080894f 22-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26280 into eclair

* changes:
Another doc update.
d6d8984b92d7e1996e9c32ea9cc5d80e72e436e7 22-Sep-2009 Joshua Bloch <jjb@google.com> am 51ccfdb5: Merge change 26318 into eclair

Merge commit '51ccfdb54990e2c30bc3057e8f18ee760c7eee41' into eclair-plus-aosp

* commit '51ccfdb54990e2c30bc3057e8f18ee760c7eee41':
Fixed LinkedHashMap bug 2121546
fef31bc6c07ef8f73f49f8b3f792dd6135e9f7e6 22-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26318 into eclair

* changes:
Fixed LinkedHashMap bug 2121546 Also made minor improvements in LinkedHashMap and NegativeCache. (The "opportunities for improvement" were discovered while investigating the bug.)
8eaac1f50aac4d323afc3b6f463ddca3252cb991 22-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26288

* changes:
Cleaning up PipedInputStream.
79f15e4c9e756ff9001cc038886ee1813c40fc00 21-Sep-2009 Joshua Bloch <jjb@google.com> Fixed LinkedHashMap bug 2121546
Also made minor improvements in LinkedHashMap and NegativeCache.
(The "opportunities for improvement" were discovered while investigating the bug.)
94ae8880a089881f45d7fb3ac91da1e6cf53d00c 22-Sep-2009 Jesse Wilson <jessewilson@google.com> Cleaning up PipedInputStream.

In particular, fixing a problem where the reader thread fails
as soon as the writer thread exists, even if there is data left
for the reader thread to read. Similarly, the writer fails fast
even when the buffer has space remaining.

Also fixing some concurrency issues by making readers and writers
release each other more aggressively.
c04f4be7b8d31dead9e8a2026677b643ce72991d 22-Sep-2009 Bob Lee <crazybob@crazybob.org> am 158135f4: am 2317d8dd: Merge change 26055 into eclair

Merge commit '158135f49f5372f24557d9d1e0917fd746acf6f2'

* commit '158135f49f5372f24557d9d1e0917fd746acf6f2':
Replaced an O(N) algorithm with an O(1) algorithm. This shaves off 2/3 of the server cert checking time or ~200ms on Sapphire. This is in preparation for tripling the number of certs in an upcoming change.
41d0468ff31355e2fbfa2384eec5ef82ea08f633 22-Sep-2009 Bob Lee <crazybob@crazybob.org> am 2317d8dd: Merge change 26055 into eclair

Merge commit '2317d8dd084c260712ae50c42024c57825da1472' into eclair-plus-aosp

* commit '2317d8dd084c260712ae50c42024c57825da1472':
Replaced an O(N) algorithm with an O(1) algorithm. This shaves off 2/3 of the server cert checking time or ~200ms on Sapphire. This is in preparation for tripling the number of certs in an upcoming change.
43b135400965df6e7efe7e11013580b79e062953 22-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26055 into eclair

* changes:
Replaced an O(N) algorithm with an O(1) algorithm. This shaves off 2/3 of the server cert checking time or ~200ms on Sapphire. This is in preparation for tripling the number of certs in an upcoming change.
490b429c061e6854b4368082e35d44f9d9deb3c5 22-Sep-2009 Andy McFadden <fadden@android.com> Another doc update.

Emphasized the need for global ref with FindClass. Stated that JNI_OnLoad
is optional. Added note about FindClass and class loaders.
0520b0d4a00d130edf02f36b3272b528fc46f4e2 22-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26247

* changes:
Consistently use Formatter's cached NumberFormat.
3555da51fb9740500d2921f1296def13e7433778 22-Sep-2009 David 'Digit' Turner <digit@google.com> am baa78bce: am bdfa9937: Merge change 25979 into eclair

Merge commit 'baa78bce6683560b4f9dca3b71e33d90d2d0cf29'

* commit 'baa78bce6683560b4f9dca3b71e33d90d2d0cf29':
Allow dalvik pre-optimization to run in ARMv7 emulator.
e2be629494b5f39d9d2da14a85cecdfa145f8bca 22-Sep-2009 David 'Digit' Turner <digit@google.com> am bdfa9937: Merge change 25979 into eclair

Merge commit 'bdfa9937a8fc8230ca109774ccc1eafaa20ba1a7' into eclair-plus-aosp

* commit 'bdfa9937a8fc8230ca109774ccc1eafaa20ba1a7':
Allow dalvik pre-optimization to run in ARMv7 emulator.
df171045ac05ae14a273331d4cc552fd6c632fcb 21-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25979 into eclair

* changes:
Allow dalvik pre-optimization to run in ARMv7 emulator.
ad03d85c7d8ece608a5e47192cc8efec77528f20 20-Sep-2009 David 'Digit' Turner <digit@google.com> Allow dalvik pre-optimization to run in ARMv7 emulator.

This sad hack is used to allow the Dex preopt pass to run properly
in ARMv7 emulation mode. Without it, the function dvmComputeWidths()
aborts the VM in ways that are hard to properly understand.

This issue has been discussed extensively with fadden, which provided
the patch. It seems that adding both log lines fixes it, but only using
one will not. I'm suspecting an emulation bug, or even worse, a C compiler
bug that would generate invalid machine code.

NOTE: The dex pre-optimization pass of user builds requires to run
the DexOpt in the emulator for all -user builds. While this patch
might not fix the underlying issue, it allows us to generate these
images correctly (along with a few other system hacks).
f1bb2987c2072d5fc9d962ed17b6d2f9cfdd6fd4 21-Sep-2009 Elliott Hughes <enh@google.com> Consistently use Formatter's cached NumberFormat.

%f is a lot more expensive than it should be because we're not using the cached
NumberFormat (as we are for %d). Running the microbenchmark I added to the
bug (times in ms, on a Cortex A8):

old new
new Formatter %f 1732 811
String.format %d 635 651
String.format %f 1752 900
reuse Formatter %f 1521 188
Double.toString + 149 148
Double.toString append 33 33
StringBuilder.append 143 139

Bug: 1476
dec2213b655287198c6ecfd28c2dc98b65a8ccb0 21-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25926

* changes:
Manual merge of eclair change I26548922 into master.
abb3b3e2df173467553355bc1e1db5488f6dbb7b 21-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26044 into donut-gms

* changes:
Remove tests.api.java.io.FileTest#test_delete as known failure.
336da3d36a07a513a193dcb135d2daa002b265a8 21-Sep-2009 Bob Lee <crazybob@crazybob.org> Replaced an O(N) algorithm with an O(1) algorithm. This shaves off 2/3 of the server cert checking time or ~200ms on Sapphire. This is in preparation for tripling the number of certs in an upcoming change.
be5f80b163fb3af5be33bb938b2e374a21bb8ef2 21-Sep-2009 Brett Chabot <brettchabot@android.com> Remove tests.api.java.io.FileTest#test_delete as known failure.

BUG 2133089
c3c51e1867caf30bfd5e8931f62a39e7dcab8d8d 20-Sep-2009 Jesse Wilson <jessewilson@google.com> Adding checks for already-closed ZIP files.

See bug 1635955.
ba7b6d180ec457c31151377d3ef6b7b4cb8b2241 19-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Manual merge of eclair change I26548922 into master.
0b270a394b4640bca8cecca18ed18ebe9fb4af42 19-Sep-2009 Andy McFadden <fadden@android.com> am 0f117a58: am c7659ec1: Various minor changes to Dalvik documentation.

Merge commit '0f117a580d22e6f68a6fb821e6cbc8c67389e8de'

* commit '0f117a580d22e6f68a6fb821e6cbc8c67389e8de':
Various minor changes to Dalvik documentation.
45fe68250f4d379462cb0a236330a35b09360845 19-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Merge commit 'fc8ccda5' into manualmerge
39849e425ef31d587fc4fb97af05667a766964df 19-Sep-2009 Andy McFadden <fadden@android.com> am c7659ec1: Various minor changes to Dalvik documentation.

Merge commit 'c7659ec11fb9993f8c1f89e6c72f569da5504052' into eclair-plus-aosp

* commit 'c7659ec11fb9993f8c1f89e6c72f569da5504052':
Various minor changes to Dalvik documentation.
28ea7b5a006d3adae89cdfe814954907f53e57fd 19-Sep-2009 Andy McFadden <fadden@android.com> Various minor changes to Dalvik documentation.

Some updates for Eclair, some minor fixes.
c02a5f903458eea4cca57680e0493c86345d0be4 18-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 5415f434: Merge change 25603 into eclair

Merge commit '5415f4344b4c9b9186e291909d5f369b6435011e' into eclair-plus-aosp

* commit '5415f4344b4c9b9186e291909d5f369b6435011e':
Use native code to convert IP addresses to strings.
bfe19f96bead604ddc1c448d953ba1986f0a4a22 18-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25603 into eclair

* changes:
Use native code to convert IP addresses to strings.
63b01160ce9e2892d1069ec89474726284872f17 18-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Use native code to convert IP addresses to strings.

- Add a byteArrayToIpString method to the INetworkSystem interface and implement
it in native code
- Fix the native code so it does better error reporting
- Change InetAddress's getHostAddress, getHostName and getCanonicalHostName
methods to use it and remove the IPv4-only Java implementations
- Remove Inet6Util.createIPAddrStringFromByteArray
- Fix InetAddress so getByAddress(null) throws UnknownHostException instead of
NullPointerException for compatibility with the RI.

Change-Id: I26548922e9eed63b295173456183c4ab3ce20718
5708eb55176f7b417e86059550df7d40efc6760e 18-Sep-2009 Jesse Wilson <jessewilson@google.com> am 52176e28: am 8aad9a92: Merge change 24897 into eclair

Merge commit '52176e2898f94f874d3f1ca62d70d6878ef62532'

* commit '52176e2898f94f874d3f1ca62d70d6878ef62532':
First cut at a tool to perform automated syncs from Harmony to Dalvik.
e0fc8a31312eb5595bcbb25af0558b5f1388ca0c 18-Sep-2009 Jesse Wilson <jessewilson@google.com> am 8aad9a92: Merge change 24897 into eclair

Merge commit '8aad9a92ff05b12d3ab930de29a47f29ab6ea9b0' into eclair-plus-aosp

* commit '8aad9a92ff05b12d3ab930de29a47f29ab6ea9b0':
First cut at a tool to perform automated syncs from Harmony to Dalvik.
9a0c7dfe8d4ce9f8454d8aac6f469dcd9298bbe5 18-Sep-2009 Jesse Wilson <jessewilson@google.com> am 40e5e99e: am 7f331f3e: Fixing available() and close() for archive streams.

Merge commit '40e5e99e5d19b9f2ff4cd26deeb141bc3d7f9df9'

* commit '40e5e99e5d19b9f2ff4cd26deeb141bc3d7f9df9':
Fixing available() and close() for archive streams.
f618e01435d170280a9676db42c8be8c1fb606cd 18-Sep-2009 Wei Huang <weih@google.com> am 518c44cb: am eea407c0: Merge change 25361 into eclair

Merge commit '518c44cb3e250e7b8dc91ad4b3c03a970a84793b'

* commit '518c44cb3e250e7b8dc91ad4b3c03a970a84793b':
modify gclog to take a procFilter argument, as well as the debug argument
77227245e3e70e229f51bb20adbb3301902f1bb4 18-Sep-2009 Jesse Wilson <jessewilson@google.com> am 17e591c5: am df60455b: Merge change 25126 into eclair

Merge commit '17e591c55554fc291fb8bd8a00bfdff0d6e46d11'

* commit '17e591c55554fc291fb8bd8a00bfdff0d6e46d11':
Update archive to the r802921 from Harmony.
5dd6d65cc3fa00e266fbb999b65fe96b7082505f 18-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24897 into eclair

* changes:
First cut at a tool to perform automated syncs from Harmony to Dalvik.
6699be1a9f9806959081ddbf591f95b065a48ff3 18-Sep-2009 Jesse Wilson <jessewilson@google.com> am 7f331f3e: Fixing available() and close() for archive streams.

Merge commit '7f331f3efb8c9c9879bf6b5154eaf2fdc849ab9b' into eclair-plus-aosp

* commit '7f331f3efb8c9c9879bf6b5154eaf2fdc849ab9b':
Fixing available() and close() for archive streams.
dcf67df71f700ac2a9effb808bb3cd71b57b0b50 18-Sep-2009 Elliott Hughes <enh@google.com> Fix heap corruption in nio select(2) code.

The active ingredient in this change is that we now test that the fd isn't -1,
used to represent an invalid fd. There's a race condition where a socket can be
closed between SelectorImpl.prepareChannels and the native code. This caused us
to write to the -1th element of a heap-allocated structure, leading to SIGSEGV.

I've also removed the check for an empty fd_set. It was broken before and will
never have fired, but I don't think it makes sense to fix it, given this race
condition.

The race can't be fixed because the implementation is documented to close the
socket channel and *then* cancel the selection key.

This patch also removes various dead functions and tidies up timeval usage.

Bug: 2093094
6676c49b634f246ac077f490e89675218a9854e7 17-Sep-2009 Jesse Wilson <jessewilson@google.com> Fixing available() and close() for archive streams.

This builds on work originally submitted to Harmony:
http://issues.apache.org/jira/browse/HARMONY-6210
The approach is to change available() to eagerly set eof to true,
rather than waiting for a read to fail.
bc501023dc7528a450ac2b83e34f330ce71b1171 17-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25532

* changes:
Don't throw OutOfMemoryError if it's already been thrown.
4db73802126933f4c8e0129f0604ef0219dba305 17-Sep-2009 Elliott Hughes <enh@google.com> Don't throw OutOfMemoryError if it's already been thrown.

If GetPrimitiveArrayCritical fails, it throws a suitable exception for us.

Also remove dead code.
7f9585c98ccb08f875c648b9b9365945275b86b6 17-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 120051b4: am b257c944: Report the cause of name lookup failures to Java land. The Java code already uses the exception thrown by getallbyname() as a chained exception.

Merge commit '120051b4744da2888756d901f9351ebd8e5ae467'

* commit '120051b4744da2888756d901f9351ebd8e5ae467':
Report the cause of name lookup failures to Java land. The Java code already
7560cc8e7b21bcb61aee946adbcf4e223b4139fe 17-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am a28e7d1a: am 1cf3dbce: Merge change 25160 into eclair

Merge commit 'a28e7d1a32d3883b5b279f5ddc8473e6bcbf6760'

* commit 'a28e7d1a32d3883b5b279f5ddc8473e6bcbf6760':
Make getHostByAddr and getHostByName return the proper object type.
70178994aa5a15b08f5b497cc74e40972c6b75d3 17-Sep-2009 Elliott Hughes <enh@google.com> am d9f8adbf: am cb12fde6: Make Resources preloadable again.

Merge commit 'd9f8adbfa912c24fb29d2a7e2ce7421a3f96ef82'

* commit 'd9f8adbfa912c24fb29d2a7e2ce7421a3f96ef82':
Make Resources$DefaultTimeZones preloadable again.
7e79f0612e49c8a327743f8ec07af74f65f303ee 17-Sep-2009 Wei Huang <weih@google.com> am eea407c0: Merge change 25361 into eclair

Merge commit 'eea407c0e9b0a92aa80891e94125a82fac6aa514' into eclair-plus-aosp

* commit 'eea407c0e9b0a92aa80891e94125a82fac6aa514':
modify gclog to take a procFilter argument, as well as the debug argument
6bf0fffce81d4da539a0005e67a8fbb535e80261 17-Sep-2009 Jesse Wilson <jessewilson@google.com> am df60455b: Merge change 25126 into eclair

Merge commit 'df60455be5d9d3069a07f293b4021dd184cddc2a' into eclair-plus-aosp

* commit 'df60455be5d9d3069a07f293b4021dd184cddc2a':
Update archive to the r802921 from Harmony.
ab02d34acbc864d75f7b143798e37e8d7d2d93c4 17-Sep-2009 Urs Grob <ursg@google.com> am 880e713e: am e937b1b2: Merge change 24110 into eclair

Merge commit '880e713e4811ab933571e722f5d84354baf42bae'

* commit '880e713e4811ab933571e722f5d84354baf42bae':
JarFile was not able to verify signed files with size 0.
a843bc558b6e83b3336a1e4cee27d43d9afc80a0 17-Sep-2009 Jean-Baptiste Queru <jbq@google.com> am 92f4f58d: merge from open-source master

Merge commit '92f4f58df944fd10c77e3d39d200c38c1491a941'

* commit '92f4f58df944fd10c77e3d39d200c38c1491a941':
Typo fix in javadoc
Cosmetic change: cst -> type in javadoc @param
5e3fe94e0aa385651599ee96022a6ccb6f806933 17-Sep-2009 Brett Chabot <brettchabot@android.com> Fix ClassLoaderTest to work on DEXPREOPT builds.

ie jars without classes.dex. BUG 2000272
2f1422f8938bf56b80a1e788c82b588c310bc1fb 17-Sep-2009 San Mehat <san@google.com> am 49f91878: am da03242f: Merge change 24840 into eclair

Merge commit '49f9187825d898e1b696449a0162fa8a616e0ba0'

* commit '49f9187825d898e1b696449a0162fa8a616e0ba0':
dalvik: Switch to common cutils sched_policy api
c162be819fe4753869c394633972a4ddf29201e1 17-Sep-2009 Jesse Wilson <jessewilson@google.com> am 3c9692c5: am 2d34a33a: Merge change 23348 into eclair

Merge commit '3c9692c5fa8b5232ceeafe0a3067c8bdbbf2f77a'

* commit '3c9692c5fa8b5232ceeafe0a3067c8bdbbf2f77a':
Update crypto package to Harmony r802921. Only Javadoc changes.
20718d24d5e535ee9ea9895f4b178df76c8c7daa 17-Sep-2009 Jesse Wilson <jessewilson@google.com> am cc4c69bc: am 023a932a: Merge change 24788 into eclair

Merge commit 'cc4c69bc91a8813e654095acf13e80a4d478eb24'

* commit 'cc4c69bc91a8813e654095acf13e80a4d478eb24':
Fixing the delimiter for the HTTP "Accept" header to be well-formed.
fbcccf65d479b2cbe05336ada8bdfcd0e3b1fe48 17-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25361 into eclair

* changes:
modify gclog to take a procFilter argument, as well as the debug argument
e9c0b31d9e2240675da9d5bc9598e290344f7a9c 16-Sep-2009 Wei Huang <weih@google.com> modify gclog to take a procFilter argument, as well as the debug argument

Change-Id: Id897031b76f41600b7665ae27521167c70092247
c173c4011b52c12b7e882a9eea189873fdd535ae 16-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25126 into eclair

* changes:
Update archive to the r802921 from Harmony.
53d769bb5d236658eb9bd210f0a10b75f41ba892 15-Sep-2009 Jesse Wilson <jessewilson@google.com> Update archive to the r802921 from Harmony.

This overdue update includes fixes for some Eclair bugs that I
originally submitted to Harmony: 1876785, 1635982, 1635998
57a4345ffb82ae6683e374b1355d5cebd0c2eb05 16-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am b257c944: Report the cause of name lookup failures to Java land. The Java code already uses the exception thrown by getallbyname() as a chained exception.

Merge commit 'b257c944e15c5be46a69143603426c7ce137e6a3' into eclair-plus-aosp

* commit 'b257c944e15c5be46a69143603426c7ce137e6a3':
Report the cause of name lookup failures to Java land. The Java code already
06b4fb7b3e249888d998bce5583ef2faa2b5a852 16-Sep-2009 Bob Lee <crazybob@crazybob.org> resolved conflicts for merge of 3eae287e to master
39787e7bf1ca666d311b493ce956534214345875 16-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25222

* changes:
Speling.
cd5afb70070fab31520ac552b26c783e72498617 16-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25156

* changes:
Phantom fun.
3ad8c8ed169b201327c75789484021b859d180cf 16-Sep-2009 Andy McFadden <fadden@android.com> Speling.
975f6cd1450c8acf5d7cce962ec145efdcaf01e5 16-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Report the cause of name lookup failures to Java land. The Java code already
uses the exception thrown by getallbyname() as a chained exception.

Change-Id: Ifc0d34102412ce0bf34715c9852bf751b420fb40
19c9c4f84a1150d6f2d03435f4610bd2f528d85e 16-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 1cf3dbce: Merge change 25160 into eclair

Merge commit '1cf3dbce0b94ae5427ef19422224627e20808364' into eclair-plus-aosp

* commit '1cf3dbce0b94ae5427ef19422224627e20808364':
Make getHostByAddr and getHostByName return the proper object type.
73c01bc777b7c5fe0697660e4c3e613b337b6707 16-Sep-2009 Elliott Hughes <enh@google.com> am cb12fde6: Make Resources preloadable again.

Merge commit 'cb12fde6b095f1cc38351d5998c10e1e7f0af25c' into eclair-plus-aosp

* commit 'cb12fde6b095f1cc38351d5998c10e1e7f0af25c':
Make Resources$DefaultTimeZones preloadable again.
5bbc811ee69d18623d8a9267c8c4f8f3067e3283 16-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25160 into eclair

* changes:
Make getHostByAddr and getHostByName return the proper object type.
ea56cb22848e7a0626e079b074118324f4f33ec6 16-Sep-2009 Elliott Hughes <enh@google.com> Make Resources$DefaultTimeZones preloadable again.

http://s9/81864 was a premature optimization that stopped the timezone data
being loaded in the zygote. So instead of paying the (admittedly large) time
and space costs once in the zygote, we now pay them once per application.

Revert the problematic parts of that change. Note that this isn't simply a
reverse patch:

1. I've changed the comment to make it clear that although
this *looks* like idiomatic lazy initialization, it's actually the opposite.
A comment to that effect might have prevented this code from being broken.

2. I've left the last two hunks of the original patch stand, because they
appear reasonable but unrelated.

Bug: 1941311, 1819285.
313ee7c1b275a8799a00b25e6ea2be610e12be29 16-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Make getHostByAddr and getHostByName return the proper object type.

Change-Id: I51c75205095b7fe093ccb4451bbf7cc6a287bc49
19fc38ddb025abed7726ae65be727d59e2ef8ecd 14-Sep-2009 Jesse Wilson <jessewilson@google.com> First cut at a tool to perform automated syncs from Harmony to Dalvik.

Much of the work of the tool is managing three versions of our code:
- the current Harmony code
- the current Dalvik code
- the common ancestor, an older version of Harmony

The tool calls out to the command line to perform the actual filesystem
work. Eventually I'd like to support all of our modules, and also
gathering diffs to send upstream to Harmony.
538d38b1c56606d1917fae4ddb15596289d53845 15-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24794

* changes:
Fix the final [mis]uses of iscopy.
cacc488bc2b0c40d71fd4b596e6be37a8813b877 12-Sep-2009 Elliott Hughes <enh@google.com> Fix the final [mis]uses of iscopy.

I finally got round to going through all the dalvik/libcore/ calls to the
following routines, in cases where the final argument ("iscopy") is non-NULL:

Get*ArrayElements
GetStringChars
GetStringUTFChars
GetStringCritical
Get*ArrayCritical

The calls in sqlite_jni.c were neither assuming that setting "iscopy" requests
a copy (a bug we've seen elsewhere), nor were they making use of the result.
I've changed these to pass NULL to make their lack of interest explicit. I've
also fixed a compiler warning (signed/unsigned comparison).

The ones in org_apache_harmony_luni_platform_OSFileSystem.cpp were genuine
errors. The author was under the misapprehension that iscopy == JNI_FALSE
implies that you do not need to call the corresponding "Release" function.
I've fixed those. (I haven't addressed the fact that readvImpl and writevImpl
differ by just one token, nor have I addressed the fact that -- in theory
though not with our current GC -- any of the GetIntArrayElements could fail.)
85e3cae1e024333964acdd280129fc554d3828a8 15-Sep-2009 Raphael <raphael@google.com> am 7962ad6a: am 00c464ff: Merge change 24751 into eclair

Merge commit '7962ad6a3154d86026a17be952295bdec64f1118'

* commit '7962ad6a3154d86026a17be952295bdec64f1118':
Windows SDK: add support for -J option to dx.bat
d28f885f11849c0aa937ddc0c97e6d10e65b3b10 15-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 60195db6: am 9ccfb95e: Merge change 24723 into eclair

Merge commit '60195db609e4f5125e39348651d7a06ff807cc96'

* commit '60195db609e4f5125e39348651d7a06ff807cc96':
Remove code duplication in InetAddress.getByAddress.
2d0da51bae662387dcc4bdd8c3b6f58bfd3dbdc0 15-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 08211fc1: am 1e49340a: Merge change 24320 into eclair

Merge commit '08211fc192db0bd48e78103678a902c32d67480d'

* commit '08211fc192db0bd48e78103678a902c32d67480d':
Simplify networking code initialization using static structures instead of code.
6471a25773956fab579a3ebed4db1c5b1f49ffe6 15-Sep-2009 Jesse Wilson <jessewilson@google.com> am 21d20097: am 173086a3: Merge change 24620 into eclair

Merge commit '21d20097e7a2015ac8fb55ff38e0242899b43936'

* commit '21d20097e7a2015ac8fb55ff38e0242899b43936':
Fix cert code to use the String form for TELETEX-encoded certs; see bug 2102191.
7d963717c63c8a26b5df249b5e613a89b8f7d923 15-Sep-2009 Urs Grob <ursg@google.com> am e937b1b2: Merge change 24110 into eclair

Merge commit 'e937b1b2d90dd9c1151f16af045c0fff1453c34e' into eclair-plus-aosp

* commit 'e937b1b2d90dd9c1151f16af045c0fff1453c34e':
JarFile was not able to verify signed files with size 0.
4f05f6abd9facd8fa92ae5392d225f478e76258a 15-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24110 into eclair

* changes:
JarFile was not able to verify signed files with size 0.
821fb0124bfc90ee849b08ff090387c532c4e55b 15-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
0dd45eab29e2c3025a6ec082672c645c4967347a 15-Sep-2009 San Mehat <san@google.com> am da03242f: Merge change 24840 into eclair

Merge commit 'da03242fe03a5ab342a6310b1e754e131ea628c9' into eclair-plus-aosp

* commit 'da03242fe03a5ab342a6310b1e754e131ea628c9':
dalvik: Switch to common cutils sched_policy api
322aa31527b120cdb16ea3471f3c4bcbe7685a5a 15-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24840 into eclair

* changes:
dalvik: Switch to common cutils sched_policy api
6e2b0b5478c1f08b798aafba6c4d60392195d5ac 15-Sep-2009 Jesse Wilson <jessewilson@google.com> Update regex to Harmony r802921.

Notable changes:
- Reordered methods to be consistent with Harmony. Although our
implementations are significantly different, this will make
it easier to track Javadoc and signature changes.
- Some unchecked exceptions removed from method signatures
- Changed StringBuffer use to StringBuilder
- Changed PatternSyntaxException description field to 'desc' for
serialization compatibility.

commit deba65caf92e9c5b77b29bcf9dcb26d637af90cb
Merge: b239d4a 457c6cc
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 12 09:23:58 2009 -0700

Merge branch 'regex_802921' into regex_dalvik

Conflicts:
libcore/regex/.classpath
libcore/regex/.settings/org.eclipse.jdt.core.prefs
libcore/regex/build.xml
libcore/regex/src/main/java/java/util/regex/AbstractCharClass.java
libcore/regex/src/main/java/java/util/regex/AbstractSet.java
libcore/regex/src/main/java/java/util/regex/CIDecomposedCharSet.java
libcore/regex/src/main/java/java/util/regex/CharClass.java
libcore/regex/src/main/java/java/util/regex/DecomposedCharSet.java
libcore/regex/src/main/java/java/util/regex/IntArrHash.java
libcore/regex/src/main/java/java/util/regex/JointSet.java
libcore/regex/src/main/java/java/util/regex/Lexer.java
libcore/regex/src/main/java/java/util/regex/MatchResult.java
libcore/regex/src/main/java/java/util/regex/Matcher.java
libcore/regex/src/main/java/java/util/regex/Pattern.java
libcore/regex/src/main/java/java/util/regex/PatternSyntaxException.java
libcore/regex/src/main/java/java/util/regex/SequenceSet.java
libcore/regex/src/main/java/java/util/regex/UCIDecomposedCharSet.java
libcore/regex/src/main/java/java/util/regex/UCISequenceSet.java
libcore/regex/src/main/java/org/apache/harmony/regex/internal/nls/messages.properties
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/Matcher2Test.java
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/MatcherTest.java
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/ModeTest.java
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/Pattern2Test.java
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternErrorTest.java
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternSyntaxExceptionTest.java
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/PatternTest.java
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/ReplaceTest.java
libcore/regex/src/test/java/org/apache/harmony/tests/java/util/regex/SplitTest.java

commit b239d4a17905f9e0b609eeaa12de9dfba433c44a
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 12 08:37:21 2009 -0700

Dalvik Regex

commit 457c6cca0629f20b118cd128353439763e40fe9e
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 12 08:36:40 2009 -0700

Regex 802921

commit 51f4e67d71a8f92d8efa073fab32c540f6015594
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 12 08:34:57 2009 -0700

Regex 527399
b926cc80dc67239db4d614004342af4dc4a4bef4 14-Sep-2009 Jesse Wilson <jessewilson@google.com> am 2d34a33a: Merge change 23348 into eclair

Merge commit '2d34a33a3d14ceda01c9bddfd957c3b9d3c55aa1' into eclair-plus-aosp

* commit '2d34a33a3d14ceda01c9bddfd957c3b9d3c55aa1':
Update crypto package to Harmony r802921. Only Javadoc changes.
26aceaa14ca6a6e1a1e6c144cd42d2dc6e28a135 14-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23348 into eclair

* changes:
Update crypto package to Harmony r802921. Only Javadoc changes.
89e898cd0d471dec75ad5effa9e14b2e75964dac 14-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24714

* changes:
Remove duplicate copies of ICU error translation.
a8d1b581ab82a64c68e4100536a592fea04d7c76 14-Sep-2009 Jesse Wilson <jessewilson@google.com> am 023a932a: Merge change 24788 into eclair

Merge commit '023a932add8087c96d59ea74135b28bb5e1ac16d' into eclair-plus-aosp

* commit '023a932add8087c96d59ea74135b28bb5e1ac16d':
Fixing the delimiter for the HTTP "Accept" header to be well-formed.
bb7357b6ea9d88a94f11a8a0116db63f7f92a19b 14-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24788 into eclair

* changes:
Fixing the delimiter for the HTTP "Accept" header to be well-formed.
b878b4a8c302e2663d2ac33fac16792cb29ce835 12-Sep-2009 San Mehat <san@google.com> dalvik: Switch to common cutils sched_policy api

Signed-off-by: San Mehat <san@google.com>
512961ba37c77d4c088c2fe035886ed4fe9ce73e 12-Sep-2009 Bob Lee <crazybob@google.com> am efa0dcd5: Merge change 24508 into eclair

Merge commit 'efa0dcd52c030d2ace844070902979dd09e2c881' into eclair-plus-aosp

* commit 'efa0dcd52c030d2ace844070902979dd09e2c881':
Addressed reviewer comments.
a9ad4ce251910eb0c8909fe067455b94c48a8085 12-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24508 into eclair

* changes:
Addressed reviewer comments.
007f145442016e6093a5fd1d7cc922323d315e00 12-Sep-2009 Carl Shapiro <cshapiro@google.com> Remove unused WITH_OBJECT_HEADERS code.
424d0be14ca1136c33ff426270793aec37683b14 12-Sep-2009 Raphael <raphael@google.com> am 00c464ff: Merge change 24751 into eclair

Merge commit '00c464ff62c27dc12ef70f3b2d97e8b356ad21e0' into eclair-plus-aosp

* commit '00c464ff62c27dc12ef70f3b2d97e8b356ad21e0':
Windows SDK: add support for -J option to dx.bat
b12e0dc609a38de4cb5c0bce60e9c5fa52507b8e 12-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24751 into eclair

* changes:
Windows SDK: add support for -J option to dx.bat
60138fe2a926339d493b51a199bada9d2271cbe9 12-Sep-2009 Jesse Wilson <jessewilson@google.com> Fixing the delimiter for the HTTP "Accept" header to be well-formed.

See bug 2107897.
cc192f6ede17705b0b59cf5bfefc689cb0b1781e 11-Sep-2009 Raphael <raphael@google.com> Windows SDK: add support for -J option to dx.bat

BUG 1999508

Change-Id: I0c481d2cc0a96d1ca83aaa56c46c73eae17c2246
1f41b0fd502cf0c42ffae843816063e4c64dd37b 12-Sep-2009 Ben Cheng <bccheng@google.com> Correct a typo in THUMB opcode name.
14097aea04e137e01ffa480ff91a0cd782517a06 12-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24758

* changes:
Model resource usage for each Thumb/Thumb2 instrution.
cc5b1a433fa5c9fac53fbb0568993814ceeb5d77 11-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24759

* changes:
Comment out debugging output.
eef8eb5e5ebd6a9ce0d7e1ee7397847d38637f29 11-Sep-2009 Ben Cheng <bccheng@google.com> Model resource usage for each Thumb/Thumb2 instrution.

This is an mid-point checkin to avoid future merge nightmare for the register
allocator work.
0817e9c1397b5c730936638139aee8e03c7659a7 11-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24610

* changes:
Several small native code fixes.
1252886ccf7b7f73363d16c15c694b280e123dff 11-Sep-2009 Elliott Hughes <enh@google.com> Comment out debugging output.

The other two copies of this code have this line commented out, and I assume
it's only active here by accident.
7aa800e526584e0eb23cddd2a10d45dc0a2a5afc 10-Sep-2009 Bob Lee <crazybob@google.com> Addressed reviewer comments.
3582a316aa897c4d30295e9e75349a65a1ca3aa8 11-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 9ccfb95e: Merge change 24723 into eclair

Merge commit '9ccfb95e597a93020f2731c734c2a65e743fb601' into eclair-plus-aosp

* commit '9ccfb95e597a93020f2731c734c2a65e743fb601':
Remove code duplication in InetAddress.getByAddress.
02be2d3864238f67a3f0ec9c6d5449bfceea065d 11-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24723 into eclair

* changes:
Remove code duplication in InetAddress.getByAddress.
0e17adedb762644c0894ea38e721d2043907824b 11-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Remove code duplication in InetAddress.getByAddress.

Change-Id: Id2d72572fbe5b26ff4be9a2c959c41a48b859ea0
5dfa014cc4462f8dbea6b3bd8553972dc4f98d0d 11-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 1e49340a: Merge change 24320 into eclair

Merge commit '1e49340a8249b147a2bb4f12e242ac5aedbddece' into eclair-plus-aosp

* commit '1e49340a8249b147a2bb4f12e242ac5aedbddece':
Simplify networking code initialization using static structures instead of code.
ab2c4bb8e41c2d714dc7e67f86811b034fd1b1b0 11-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24320 into eclair

* changes:
Simplify networking code initialization using static structures instead of code. Fix an uninitialized variable.
fcdc869bfb4d2edb84f743f63fe1300d25f2af83 11-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24634

* changes:
Remove NativeBN_bn2twosComp.
7eceb404422965282a390849c055febabd1eef06 11-Sep-2009 Jesse Wilson <jessewilson@google.com> am 173086a3: Merge change 24620 into eclair

Merge commit '173086a363fd54e9e905409d3db06b01dbd0ccbd' into eclair-plus-aosp

* commit '173086a363fd54e9e905409d3db06b01dbd0ccbd':
Fix cert code to use the String form for TELETEX-encoded certs; see bug 2102191.
35da50c3c52acf9474572eae6aa11ce4ba76fe10 11-Sep-2009 Elliott Hughes <enh@google.com> Remove duplicate copies of ICU error translation.

For want of an 'extern "C"', we seem to have grown several duplicates of
icu4jni_error.
368e9a68e31e578dfa8e62aef16c68edc374b8c5 11-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24620 into eclair

* changes:
Fix cert code to use the String form for TELETEX-encoded certs; see bug 2102191.
defde5a8ca8cf33c030c4a83ddae257989bcf82b 11-Sep-2009 Elliott Hughes <enh@google.com> Remove NativeBN_bn2twosComp.

NativeBN_bn2twosComp doesn't do what it claims to: it's an exact copy of
NativeBN_BN_bn2bin (observe which OpenSSL BN_ function it calls!), and -- from
the OpenSSL documentation -- that function "converts the absolute value of [its
argument] into big-endian form".

OpenSSL doesn't actually sport any appropriate function to call here, but
luckily this code isn't called anywhere, and so can be removed.

(BigInteger.toByteArray -- the most likely caller of this code -- seems to
do the right thing, using Java code to make a big-endian two's-complement
byte[]. Likewise, the conversion from a big-endian two's-complement byte[]
for the corresponding BigInteger constructor looks right too, using native
code to twiddle the bits itself.)
2a4575be2146cff05be4094107bb48aed652d407 11-Sep-2009 Jesse Wilson <jessewilson@google.com> Fix cert code to use the String form for TELETEX-encoded certs; see bug 2102191.
772ad018ee3a899e1196c7d48ca52e61c0fb22f0 09-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Simplify networking code initialization using static structures instead of code.
Fix an uninitialized variable.

Change-Id: Id9064a185525bfe072b244ea3d2acb56e5e185cd
7e4218608358fabb58f07ea89edfa0ec7ee5d759 11-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24595

* changes:
Display additional information on stack overflow.
bc14bfe17109053e2d7a6dd76435c1ce7adbc223 11-Sep-2009 San Mehat <san@google.com> am 060ed889: am 20677ed1: dalvik: Use common SchedPolicy type and fix getpid() vs. gettid() bug

Merge commit '060ed88949321e193e95976c41e647cb46b9778b'

* commit '060ed88949321e193e95976c41e647cb46b9778b':
dalvik: Use common SchedPolicy type and fix getpid() vs. gettid() bug
658e6d1e10dad060bb824cce67cca445362e56f5 11-Sep-2009 San Mehat <san@google.com> am 20677ed1: dalvik: Use common SchedPolicy type and fix getpid() vs. gettid() bug

Merge commit '20677ed1a7114a2aa51086d5097f6328cd4fb94d' into eclair-plus-aosp

* commit '20677ed1a7114a2aa51086d5097f6328cd4fb94d':
dalvik: Use common SchedPolicy type and fix getpid() vs. gettid() bug
f33128ede8422d48ac35962274c67b6bfc573606 11-Sep-2009 Elliott Hughes <enh@google.com> Several small native code fixes.

* Don't throw OutOfMemoryError manually in Adler32/CRC32: the VM does that for
us if GetPrimitiveArrayCritical needs, but fails, to allocate memory.

* Don't use anything but NULL for the "iscopy" argument to Get*ArrayElements.
The other users of this argument (removed earlier this week) were under the
mistaken impression that it's an "in" parameter rather than an "out" parameter,
and since these remaining callers aren't actually using the result, let's
remove the cruft.

* Move the null check in harmony_io_openImpl for "path" to come *before* the
first dereference.

* Make harmony_io_ttyReadImpl just delegate to harmony_io_readImpl since,
apart from the zero-length read check, they were identical.

* Remove the dead function throwIOExceptionStr from the OpenSSLSessionImpl
native code.

Tested on sapphire-eng.
84cfe547eee3fe0b7cf13f290722fe8d5b8445fe 10-Sep-2009 San Mehat <san@google.com> dalvik: Use common SchedPolicy type and fix getpid() vs. gettid() bug

Signed-off-by: San Mehat <san@google.com>
0a8e663fc9da0e6aa67b05730e58e19de2d73f37 11-Sep-2009 Andy McFadden <fadden@android.com> Display additional information on stack overflow.

This required passing an additional argument into dvmHandleStackOverflow,
which is called directly from mterp. Fortunately the method being
called is sitting in a register for both ARM and x86, so this is a
fairly simple change.

For internal bug 2110533.
4f9e3b6025ea83b5b7495a528c44c284e8f43658 10-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24439

* changes:
Fix unnecessary GetPrimitiveArrayCritical users.
ea83fd7d09b8b74f28f8e7fe2567318a656b1aca 10-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24470

* changes:
Use GetStringRegion/GetStringUTFRegion where appropriate.
cc3a73c74f516fb86fa33062d8b1e2a0eb60278b 10-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24537

* changes:
Add support for profiling when loop optimizations are active
f20ef3ea778a15ab207f0ffc10a1c7fc06baf3e5 10-Sep-2009 Elliott Hughes <enh@google.com> Use GetStringRegion/GetStringUTFRegion where appropriate.

Note that the changes to DecimalFormatInterface.cpp and RBNFInterface.cpp
are just minor tidy-ups, fixing an issue where the early error exit wouldn't
call ReleaseStringChars to undo the earlier call to GetStringChars. Also
remove a dead function and fix a comment in ExpatParser.cpp.

Tested on sapphire-eng.

Bug: 1639287
461903d84ff9afe52a1b5241548412bb3f817aa2 10-Sep-2009 Bill Buzbee <buzbee@google.com> Add support for profiling when loop optimizations are active
0cfba0d09007752cbe9ce2a7c2245a289ea9d67a 10-Sep-2009 San Mehat <san@google.com> am 95934be3: am 03c7547c: Merge change 24425 into eclair

Merge commit '95934be333d74ac48c19ae40a8207361a913516a'

* commit '95934be333d74ac48c19ae40a8207361a913516a':
vm: Add support for using scheduler policies instead of cgroups
678b02634e5ffb4ea34050e34d44197db96a2cfe 10-Sep-2009 San Mehat <san@google.com> am 03c7547c: Merge change 24425 into eclair

Merge commit '03c7547c40e6fc5b29b929b64f114e2dd3894e8e' into eclair-plus-aosp

* commit '03c7547c40e6fc5b29b929b64f114e2dd3894e8e':
vm: Add support for using scheduler policies instead of cgroups
74108be9ac626437284f14f3c0fbf5541ca3e599 10-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24425 into eclair

* changes:
vm: Add support for using scheduler policies instead of cgroups
ad208170b7dff6890d734bf598f84b45ffef1209 05-Sep-2009 Andy McFadden <fadden@android.com> Phantom fun.

Mark PhantomReference fields as volatile, since the GC can alter them.

Added a simple phantom reference exerciser.
1ff704d7e22997ef257b2dee98944841ac4da3d0 09-Sep-2009 San Mehat <san@google.com> vm: Add support for using scheduler policies instead of cgroups

Signed-off-by: San Mehat <san@google.com>
bd271954ce15712635389a15faf5a6de010b851e 10-Sep-2009 Ben Cheng <bccheng@google.com> am 2e7b31f3: (-s ours) am 500464de: DO NOT MERGE: Do not enable JIT_TUNING and assertion by default with JIT.

Merge commit '2e7b31f368be01437da025f2e12dc4dcbff46f5d'

* commit '2e7b31f368be01437da025f2e12dc4dcbff46f5d':
DO NOT MERGE: Do not enable JIT_TUNING and assertion by default with JIT.
b79e79c519e562795485a39981734cf4221a1d5d 10-Sep-2009 Ben Cheng <bccheng@google.com> am 500464de: DO NOT MERGE: Do not enable JIT_TUNING and assertion by default with JIT.

Merge commit '500464deb29dc8bfc7b5e51ab0fdffa6fa51b5d7' into eclair-plus-aosp

* commit '500464deb29dc8bfc7b5e51ab0fdffa6fa51b5d7':
DO NOT MERGE: Do not enable JIT_TUNING and assertion by default with JIT.
870a68c05a220f3dde859fe717f6160f9822ff47 10-Sep-2009 Elliott Hughes <enh@google.com> Fix unnecessary GetPrimitiveArrayCritical users.

Tested on sapphire-eng.

Bug: 1639287
72233103f168d25bee99584908136aa574b25795 09-Sep-2009 Ben Cheng <bccheng@google.com> DO NOT MERGE: Do not enable JIT_TUNING and assertion by default with JIT.
e5b3984348118f56601ed49ee2addd21aa765185 09-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24402

* changes:
Use GetByteArrayRegion instead of GetByteArrayElements.
f7b58322e2eeb87dc16d9a82a7f835ba8a7308c5 09-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24309

* changes:
Use Get*ArrayRegion/Set*ArrayRegion instead of Get*ArrayElements.
ee85eeead110ec10b447e3facfad79c0dea44006 09-Sep-2009 Elliott Hughes <enh@google.com> Use Get*ArrayRegion/Set*ArrayRegion instead of Get*ArrayElements.

This fixes all instances in the networking code, but doesn't address similar
patterns, nor non-networking code. This seemed like a reasonably-sized
meaningful chunk. Tested on sapphire-eng.

Bug: 1639287
58b300a99f2f64b469dc1600c0bc432644aadcdf 09-Sep-2009 Android Code Review <code-review@android.com> Merge change 11462

* changes:
Typo fix in javadoc
c0afecefd9fbe708a90169beba3a4bcf1bbd86a8 09-Sep-2009 Android Code Review <code-review@android.com> Merge change 11461

* changes:
Cosmetic change: cst -> type in javadoc @param
700b9d6e2c619c9ee1910b76d1b88947908bc5a0 09-Sep-2009 Elliott Hughes <enh@google.com> Use GetByteArrayRegion instead of GetByteArrayElements.

I've also cleaned up the two calls to free(3) in ubidi_close; the former had
an unnecessary NULL check, and the latter was indented as if it belonged to the
if (but didn't).

Tested on sapphire-eng.
067b76a0af3a303c405385b7ea6abdc8c1561540 09-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24308

* changes:
Remove @KnownFailure from a working test.
4d8d6b97d89bc341b2b93df8c2983a78eccec82c 09-Sep-2009 Urs Grob <ursg@google.com> am ad8efa12: am 7f5e6aa1: Merge change 23896 into eclair

Merge commit 'ad8efa123b7133895b9c198a84a32020869eba18'

* commit 'ad8efa123b7133895b9c198a84a32020869eba18':
InputStreamReader forgets to convert incomplete multibyte characters at the buffer boundary
d00c551249f449728e66d569a02c12ca93595731 09-Sep-2009 Android Git Automerger <android-git-automerger@android.com> resolved conflicts for merge of 9b5264c8 to master
6ed3788233adc8a4ed2b79f74de8a76aa083d919 09-Sep-2009 Elliott Hughes <enh@google.com> Remove @KnownFailure from a working test.

The bug causing this test's known failure was fixed 2009-07-16.

Bug: 1481226
d4c1ab3183ebbc120a51934086656159c42e4c4f 08-Sep-2009 Urs Grob <ursg@google.com> am 7f5e6aa1: Merge change 23896 into eclair

Merge commit '7f5e6aa1503d13300c277225bf4eea9e5a11495a' into eclair-plus-aosp

* commit '7f5e6aa1503d13300c277225bf4eea9e5a11495a':
InputStreamReader forgets to convert incomplete multibyte characters at the buffer boundary
eb98d2638ef1858a3d42c3a8fdd63d23788796ba 08-Sep-2009 Bob Lee <crazybob@crazybob.org> am 9dc72a3c: Modified Thread.c to allow sampling profiler thread in zygote. Added a function that queries the native thread status. Modified the profiler to sample every thread at a fixed interval instead of adjusting the delay based on the number of threads. This wil

Merge commit '9dc72a3c54af7201b6b85d96dba23a5f85309d9b' into eclair-plus-aosp

* commit '9dc72a3c54af7201b6b85d96dba23a5f85309d9b':
Modified Thread.c to allow sampling profiler thread in zygote. Added a function that
bf4f39965d9729f076fe6948434aa30c640956f1 08-Sep-2009 Elliott Hughes <enh@google.com> Add missing calls to ReleaseByteArrayElements.

Without this fix, the two new tests cause the VM to abort like this:

W/dalvikvm( 386): ReferenceTable overflow (max=1024)
W/dalvikvm( 386): Last 10 entries in JNI pinned array reference table:
W/dalvikvm( 386): 1014: 0x4038e018 cls=[B (1044 bytes)
W/dalvikvm( 386): 1015: 0x4038e430 cls=[B (1044 bytes)
W/dalvikvm( 386): 1016: 0x4038e848 cls=[B (1044 bytes)
W/dalvikvm( 386): 1017: 0x4038ec60 cls=[B (1044 bytes)
W/dalvikvm( 386): 1018: 0x4038f078 cls=[B (1044 bytes)
W/dalvikvm( 386): 1019: 0x4038f490 cls=[B (1044 bytes)
W/dalvikvm( 386): 1020: 0x4038f8a8 cls=[B (1044 bytes)
W/dalvikvm( 386): 1021: 0x4038fcc0 cls=[B (1044 bytes)
W/dalvikvm( 386): 1022: 0x403900d8 cls=[B (1044 bytes)
W/dalvikvm( 386): 1023: 0x403904f0 cls=[B (1044 bytes)
W/dalvikvm( 386): JNI pinned array reference table summary (1024 entries):
W/dalvikvm( 386): 1024 of [B 1044B (1024 unique)
W/dalvikvm( 386): Memory held directly by native code is 1069056 bytes
E/dalvikvm( 386): Failed adding to JNI pinned array ref table (1024 entries)
I/dalvikvm( 386): "main" prio=5 tid=3 RUNNABLE
I/dalvikvm( 386): | group="main" sCount=0 dsCount=0 s=N obj=0x4001e2b8 self=0xb488
I/dalvikvm( 386): | sysTid=386 nice=0 sched=0/0 cgrp=default handle=-1344005452
I/dalvikvm( 386): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.nativeinit(Native Method)
I/dalvikvm( 386): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.init(OpenSSLSocketImpl.java:126)
I/dalvikvm( 386): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.<init>(OpenSSLSocketImpl.java:158)
I/dalvikvm( 386): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketFactoryImpl.createSocket(OpenSSLSocketFactoryImpl.java:61)
I/dalvikvm( 386): at tests.api.javax.net.ssl.SSLSocketTest.test_creationStressTest(SSLSocketTest.java:359)
...

Tested on sapphire-eng.

No bug; found by inspection when investigating bug 1639287.
d9ad9ecc49872df3357d30a652348e8709ca6211 08-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24055

* changes:
Fix Package.isCompatibleWith.
8ff699be38871a905aa8d06fbb4f6aec1b535054 08-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23734

* changes:
Updated expected outputs in dalvik benchmarks. Improved debugging output and added spin loop on detection of divergence in self verification tool.
28365620d5172af06ee42cb9dd7a1dfc3c08cd43 08-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24036

* changes:
Reduce a log message, stifle a gcc warning.
8ee757c7017e0d4fe71b4fffbb0850938dccad9b 07-Sep-2009 Urs Grob <ursg@google.com> JarFile was not able to verify signed files with size 0.

This regressen was introduced by harmony optimizations done in HARMONY-4569.
This fix allows for jar entries of size 0 to also get successfully validated.
A regression test has been added to JarFileTest.
095c660d2bcaf9f835840b5b2068ba787330b635 07-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23896 into eclair

* changes:
InputStreamReader forgets to convert incomplete multibyte characters at the buffer boundary
f1d3f3c70e012090d7d924dbe76bccb3bed9fac8 05-Sep-2009 Bob Lee <crazybob@crazybob.org> Modified Thread.c to allow sampling profiler thread in zygote. Added a function that
queries the native thread status. Modified the profiler to sample every thread at
a fixed interval instead of adjusting the delay based on the number of threads. This
will make it easier to compare results across apps. Added ability to shut down
the profiler thread. Added code to track whether the method was a leaf or a
caller.
47e30ec90389344f6927ddc907b2c75b53a92571 05-Sep-2009 Elliott Hughes <enh@google.com> Fix Package.isCompatibleWith.

Note that this doesn't help us because to Dalvik, all packages have
version "0.0".

Bug: 2099697
1e45120982ae005c392d80ecec0b19e6a4994086 05-Sep-2009 Andy McFadden <fadden@android.com> Reduce a log message, stifle a gcc warning.
f5b5389750d88bfa67580385cbfdfe4cb90e362d 22-Aug-2009 Ben Cheng <bccheng@google.com> Updated expected outputs in dalvik benchmarks. Improved debugging output and added spin loop on detection of divergence in self verification tool.
16ccfbe4fc690edc5f55c5a087ceb61b1d11bfc6 04-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23992

* changes:
Inline Sqrt bug fix; add support for fp/gen register copies
31818de1ec3add2d2c42ab44b57b7112f188e9ab 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am ed216806: am f2f6f8b8: Document that createSocketFileDescriptor throws an exception on failure.

Merge commit 'ed21680602783711c7dac9675ae65ad329a050c1'

* commit 'ed21680602783711c7dac9675ae65ad329a050c1':
Document that createSocketFileDescriptor throws an exception on failure.
e60fbb9e95db83d5574ab98fe8dbe46dcfa80655 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am f2f6f8b8: Document that createSocketFileDescriptor throws an exception on failure.

Merge commit 'f2f6f8b8d47733be0f291612730690b5ce379257' into eclair-plus-aosp

* commit 'f2f6f8b8d47733be0f291612730690b5ce379257':
Document that createSocketFileDescriptor throws an exception on failure.
e160fbf3a669741b9b9204b3ba2a3ec42419a623 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Document that createSocketFileDescriptor throws an exception on failure.

Change-Id: Ic002b4dc8c40d798316afbab7a14bd81593e2541
61b337e6515e4171c0fdb70b062527135cb80f44 31-Aug-2009 Bill Buzbee <buzbee@google.com> Inline Sqrt bug fix; add support for fp/gen register copies
c805bbfe6b5f6bdc67948332bcf659163fc2c1ed 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am f751aeb1: am 3a4e4249: Merge change 23983 into eclair

Merge commit 'f751aeb179cd531df610689217f36e760bd25639'

* commit 'f751aeb179cd531df610689217f36e760bd25639':
If an error occurs when creating a socket, don't call any more JNI methods
20353ff08ef9910dad324af024cf4726eb637e86 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 3a4e4249: Merge change 23983 into eclair

Merge commit '3a4e4249032009b175ba6a3d0bcc682f97e5e650' into eclair-plus-aosp

* commit '3a4e4249032009b175ba6a3d0bcc682f97e5e650':
If an error occurs when creating a socket, don't call any more JNI methods
966cce452338d8029ad4fb102cd8c622231440d2 04-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23983 into eclair

* changes:
If an error occurs when creating a socket, don't call any more JNI methods (thus causing a segfault) but return immediately.
2050f2b9de4c7a0549b188f1c42b88ce7a63d31b 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> If an error occurs when creating a socket, don't call any more JNI methods
(thus causing a segfault) but return immediately.

Change-Id: I7d05997e38e631200542f85eba16b854d488d584
6103254cc2c4caca86a613f699c3df581c657e00 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 4fa89f9d: am 09302d63: Merge change 23572 into eclair

Merge commit '4fa89f9d9af93f9d3b9125430160818f456aed5a'

* commit '4fa89f9d9af93f9d3b9125430160818f456aed5a':
Do not check hash codes against golden values. Instead, spot check that they
ebf53b283e5a134be86024a283cb2660fdbf0b0a 04-Sep-2009 Jean-Baptiste Queru <jbq@google.com> am 614eb57f: merge from open-source master

Merge commit '614eb57fffcc5abe5c933452d297fdaa4ae98176'

* commit '614eb57fffcc5abe5c933452d297fdaa4ae98176':
54199345cfc855690a3a102339f9aa600fa7c0b3 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am d312ee58: am 02e04f8b: Merge change 22871 into eclair

Merge commit 'd312ee58231aeb808cbed1083801413ba080ceac'

* commit 'd312ee58231aeb808cbed1083801413ba080ceac':
More InetAddress fixes.
ba9048f7e32031f851f60409f123eaf0ce06eb29 04-Sep-2009 Jesse Wilson <jessewilson@google.com> am 5765fb64: (-s ours) am 365f9fbb: Merge change 23918 into eclair

Merge commit '5765fb64620d955a0bcadd14cb35f9a95df69072'

* commit '5765fb64620d955a0bcadd14cb35f9a95df69072':
do not merge: Josh's optimized HashMap and Hashtable
1fd19445c3a24b05f13e253747a52e4dbc6f9727 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 09302d63: Merge change 23572 into eclair

Merge commit '09302d631adbdc36edd3ec961149b8f0fe1931f1' into eclair-plus-aosp

* commit '09302d631adbdc36edd3ec961149b8f0fe1931f1':
Do not check hash codes against golden values. Instead, spot check that they
d7d33056f58e9654c53b517e2e1843ae4c6ff50f 04-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23572 into eclair

* changes:
Do not check hash codes against golden values. Instead, spot check that they differ for different addresses and obvious values (e.g., 0 or 1) that might be returned by buggy implementations.
4dc5e32309903388446ace7ae3a243e254f85141 04-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
13b8f08853a60d29e3c510e1c8bba96983b92d84 02-Sep-2009 Urs Grob <ursg@google.com> InputStreamReader forgets to convert incomplete multibyte characters at the buffer boundary

BUG=2033986
7e07cbca605fddf3afbd9298e4d35f27a90e69ca 04-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 02e04f8b: Merge change 22871 into eclair

Merge commit '02e04f8b1e41ce341fd765a4f9086f4b2360cfd0' into eclair-plus-aosp

* commit '02e04f8b1e41ce341fd765a4f9086f4b2360cfd0':
More InetAddress fixes.
f00e1dea4cc1245cba826471c9dcc842de08e902 04-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22871 into eclair

* changes:
More InetAddress fixes.
d737f199129ca3f8291220528dcb6614defba9bf 27-Aug-2009 Lorenzo Colitti <lorenzo@google.com> More InetAddress fixes.

1. Make sure getHostByAddrImpl actually throws UnknownHostException: set
NI_NAMEREQD when calling getnameinfo to ensure it will fail if the IP
address looked up does not have a name associated with it, and pass this
exception back to the Java code. That way, the UnknownHostException passed
back to the Java code has information on what went wrong.
2. Remove superfluous logging on reverse lookups in the C code.

Change-Id: Ie195ce1f12e7b43fbf75f494002804f9db68fd8c
15a19008aa6b2fe2787256c6b20e4523a64fe667 04-Sep-2009 Jesse Wilson <jessewilson@google.com> am 365f9fbb: Merge change 23918 into eclair

Merge commit '365f9fbb3e5444f046ee569f168a231c8106ec09' into eclair-plus-aosp

* commit '365f9fbb3e5444f046ee569f168a231c8106ec09':
do not merge: Josh's optimized HashMap and Hashtable
271269b5724b934d77626dd89d2b95cf1c67b7a8 04-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23918 into eclair

* changes:
do not merge: Josh's optimized HashMap and Hashtable
0c8932c0317e11f57d21554dc0467752dfabc339 03-Sep-2009 Jesse Wilson <jessewilson@google.com> do not merge: Josh's optimized HashMap and Hashtable

This commit squashes two changes from master. The only
additional change is that I've added "implements Map<K, V>"
to the signature of HashMap, which is necessary until we
get Josh's Apicheck fix in the master branch.

commit 5483e8adebc09b7bc58eb568793868388c240116
Author: Joshua Bloch <jjb@google.com>
Date: Mon Aug 31 17:55:19 2009 -0700

Replaced existing Hashtable implementation with fast one.

commit 90dbc304086ba1f6f51ed0d0b3a7368cc0fd46cb
Author: Joshua Bloch <jjb@google.com>
Date: Thu Aug 20 17:34:39 2009 -0700

Replace existing HashMap and LinkedHashMap with faster versions.
Among other optimizations, the new versions do no division and
use a high-quality defensive hash function to minimize the odds
of poor key distribution among buckets. Third time's a charm.
1f307d8cc1a84ee3682ac77b23487ef3eab71469 03-Sep-2009 Ben Cheng <bccheng@android.com> Various bug fixes for armv5 and loop/self-verification co-existence.

Fixed the out-of-bound problem for RegImm compares when imm cannot be encoded.

Renamed insertRegRegCheck to genRegRegCheck to be consistent with other code.

Fixed the loop formation code to break out of the tight loop in each iteration
when self-verification is enabled.
9ba217c20e4e52f1a8280f8c1321c97f6f38cc7b 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23876

* changes:
Update the JIT to use the new indexAt() inline native routines.
b5c739e5d3f0cdb322af37acca976137db60361b 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23891

* changes:
Minor fix.
f312888d349f968293656e505b556845e4e8aa50 03-Sep-2009 Andy McFadden <fadden@android.com> Minor fix.

Added a couple of allocation failure checks. For 1332727.
3d54b0ef57e38ba09ec3ee529e48f9aa70129658 03-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from donut
ca301644a382a0bf8e5ca00b6c9069f93c971cbf 03-Sep-2009 Elliott Hughes <enh@google.com> am 01d30203: am 16866f9c: Merge change 23208 into eclair

Merge commit '01d30203b6dc48ed648778f8c93767ed65fe2ac4'

* commit '01d30203b6dc48ed648778f8c93767ed65fe2ac4':
Fix Class.getConstructor("whatever", (Class[]) null).
dfbed1ca1f4d482196582d883e2d68870829d985 03-Sep-2009 Elliott Hughes <enh@google.com> am 16866f9c: Merge change 23208 into eclair

Merge commit '16866f9c1fcfe8b1d1103424ed901517ce60883a' into eclair-plus-aosp

* commit '16866f9c1fcfe8b1d1103424ed901517ce60883a':
Fix Class.getConstructor("whatever", (Class[]) null).
d1c661917181e7347ae1409eb43657fd579ec84e 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23208 into eclair

* changes:
Fix Class.getConstructor("whatever", (Class[]) null).
df892db98c506d7076d9efe7db1867edaa89ee02 03-Sep-2009 Bill Buzbee <buzbee@google.com> Update the JIT to use the new indexAt() inline native routines.
1bd1009465c3bccfe6bdad082259101b6a0e8dbd 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23857

* changes:
Add inline version of String.indexOf().
40c253144651bdc573782621acf38c681c1cf24a 29-Aug-2009 Elliott Hughes <enh@google.com> Fix Class.getConstructor("whatever", (Class[]) null).

The RI treats null parameterTypes the same as an empty array.
This behavior is specified for getMethod, but only implied for getConstructor.

This patch:

* Fixes getConstructor.
* Improves javadoc for Class methods taking "Class... parameterTypes".
* Adds tests for both getConstructor and getMethod (which was already correct).
* Removes a line of debugging output to System.out.

Bug: 1824973
240e67d86b2f7a2560b284d38ab61f69e2be29b1 03-Sep-2009 Andy McFadden <fadden@android.com> Add inline version of String.indexOf().

This provides an inline-native version of String.indexOf(int) and
String.indexOf(int, int), i.e. the functions that work like strchr().
Has a fairly solid impact on specific benchmarks. Might give a boost to
an app somewhere.

Added some indexOf tests to 020-string.

Added hard-coded field offsets for String. These are verified during
startup. Improves some of our String micro-benchmarks by ~10%.
f0e7e217c0154c8e547c390d97809c94fa826e27 03-Sep-2009 Nagendra Modadugu <ngm@google.com> am 0cc58014: am 74d65387: Update GlobalSign Root CA to one that expires in 2028.

Merge commit '0cc580141a3139d80ef683c197158d1ebb7b8ccc'

* commit '0cc580141a3139d80ef683c197158d1ebb7b8ccc':
Update GlobalSign Root CA to one that expires in 2028.
b0645a7937a6f950f3808372783e26e9d080d05c 03-Sep-2009 Nagendra Modadugu <ngm@google.com> am 74d65387: Update GlobalSign Root CA to one that expires in 2028.

Merge commit '74d65387394ddf242ca01db4e4d88e6374c74ed4' into eclair-plus-aosp

* commit '74d65387394ddf242ca01db4e4d88e6374c74ed4':
Update GlobalSign Root CA to one that expires in 2028.
83738043c0ac795e2b81b2c5340a6f494f7ed85e 03-Sep-2009 Nagendra Modadugu <ngm@google.com> Update GlobalSign Root CA to one that expires in 2028.
4bd0ff26ed980ef05e1fe795c83c742adc9eb18a 03-Sep-2009 Nagendra Modadugu <ngm@google.com> am 7fe78291: am ce90979d: Merge change 23480 into eclair

Merge commit '7fe782915199f03ec8e7484d2db35c9cb948770c'

* commit '7fe782915199f03ec8e7484d2db35c9cb948770c':
Add Entrust root and intermediate certs.
9ec4aa1d748709195fa0c063a38ffe8b33a0f3fb 03-Sep-2009 Nagendra Modadugu <ngm@google.com> am ce90979d: Merge change 23480 into eclair

Merge commit 'ce90979d06ae2e0832f3a11a7a4a0c0281de75df' into eclair-plus-aosp

* commit 'ce90979d06ae2e0832f3a11a7a4a0c0281de75df':
Add Entrust root and intermediate certs.
3de9755c3416958982ac0162d43d2dff3d02d56a 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23480 into eclair

* changes:
Add Entrust root and intermediate certs.
682dcadbea7ddbdc32735d307cfebc534c01bb3b 03-Sep-2009 Elliott Hughes <enh@google.com> am df836c58: am 91191d3e: Merge change 22771 into eclair

Merge commit 'df836c58934fd1f7ec4d7de57cd1c053399f89bb'

* commit 'df836c58934fd1f7ec4d7de57cd1c053399f89bb':
Don't mutate input in OSMemory.setIntArray/setShortArray.
8764e716570d31642f947c1c76fd8730108fdc84 03-Sep-2009 Elliott Hughes <enh@google.com> am 91191d3e: Merge change 22771 into eclair

Merge commit '91191d3e208d3a7c25c03e40018729877f954926' into eclair-plus-aosp

* commit '91191d3e208d3a7c25c03e40018729877f954926':
Don't mutate input in OSMemory.setIntArray/setShortArray.
edce8a7f2567a68e4451b8b8958fcfd1368f3ddd 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22771 into eclair

* changes:
Don't mutate input in OSMemory.setIntArray/setShortArray.
c1f4b78ff205c883203c01644416f33b4eaa9350 03-Sep-2009 Andy McFadden <fadden@android.com> am 2df5f5af: (-s ours) am 4b8a5527: Merge change 23683 into eclair

Merge commit '2df5f5af614570c109403b0f912faf71868f204a'

* commit '2df5f5af614570c109403b0f912faf71868f204a':
DO NOT MERGE: Fix implementation of Thread.isAlive
baaf6d58df70c71d96ecf0e417f6ef576dbdb336 03-Sep-2009 Andy McFadden <fadden@android.com> am 4b8a5527: Merge change 23683 into eclair

Merge commit '4b8a55273e4cdc9d17d5c0e4eef1384ceb20c571' into eclair-plus-aosp

* commit '4b8a55273e4cdc9d17d5c0e4eef1384ceb20c571':
DO NOT MERGE: Fix implementation of Thread.isAlive
cf96a0cb29e55de3e73810ba1fdc1233ecab246c 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23683 into eclair

* changes:
DO NOT MERGE: Fix implementation of Thread.isAlive
f6314afd6db242f7bf8c59048a34d0e101747b9d 03-Sep-2009 Marco Nelissen <marcone@google.com> am 13f08cfc: am ed974e9e: Merge change 23724 into eclair

Merge commit '13f08cfc9e6919e39ef5036715c3dc171d4f698b'

* commit '13f08cfc9e6919e39ef5036715c3dc171d4f698b':
Fix x86 call bridge
c8566d484e564012ea1cf4d02d04f81124a587d3 03-Sep-2009 Marco Nelissen <marcone@google.com> am ed974e9e: Merge change 23724 into eclair

Merge commit 'ed974e9ea6220b363d2f093d1a2d4bf4b8f3c429' into eclair-plus-aosp

* commit 'ed974e9ea6220b363d2f093d1a2d4bf4b8f3c429':
Fix x86 call bridge
3e038680d7d61493a2ceb9262cb0b591a2970cb2 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23724 into eclair

* changes:
Fix x86 call bridge
f4d1dd4aac2e861a71e005ff3b142029afc63b60 03-Sep-2009 Marco Nelissen <marcone@google.com> Fix x86 call bridge
56a4f7f4c74be84fb5e81445484cf13ab4e57a82 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23384

* changes:
Replaced existing Hashtable implementation with fast one.
8c1be4ab1f1921f37ff3ca544177fef655569ec1 03-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 304fcb28: am 793f1423: Merge change 23675 into eclair

Merge commit '304fcb28d7b63219e9d52423d08a41b4f6be5df1'

* commit '304fcb28d7b63219e9d52423d08a41b4f6be5df1':
Unbreak Dalvik VM initialization due to a native method that expects to be able
da633611e27b9792e12bf83f07b54f5f5c93c507 03-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 793f1423: Merge change 23675 into eclair

Merge commit '793f142323c49818ad022a05cbfb931eefddae5b' into eclair-plus-aosp

* commit '793f142323c49818ad022a05cbfb931eefddae5b':
Unbreak Dalvik VM initialization due to a native method that expects to be able
2e5a4b48995f85277aa203bebc7a287506d4a14b 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23675 into eclair

* changes:
Unbreak Dalvik VM initialization due to a native method that expects to be able to call an InetAddress no-args constructor. This constructor was package-private and was recently removed. This method is horribly complex and should go away (it probably doesn't even work, due to it attempting to find a class known as "java/io/FielDescriptor"), but it needs to be fixed for now.
166be2e00b763f171cde79b350860846cc2f4f6b 02-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Unbreak Dalvik VM initialization due to a native method that expects to be able
to call an InetAddress no-args constructor. This constructor was package-private
and was recently removed. This method is horribly complex and should go away (it
probably doesn't even work, due to it attempting to find a class known as
"java/io/FielDescriptor"), but it needs to be fixed for now.

Change-Id: I56b1e0e07f4c97af82e0a4f14dfd2d8af16f6b82
a3e715aa8bdafb2b89233794d82254e92bd5282a 01-Sep-2009 Andy McFadden <fadden@android.com> DO NOT MERGE: Fix implementation of Thread.isAlive

(Originally submitted to master, pulling over to eclair.)

The implementation of Thread.isAlive() was changed a couple of years ago
as part of the Harmony integration. The current version relies on the
thread's state value to determine its liveness, but the VM was
originally written to be like JamVM, which used GNU ClassPath, which
uses the vmThread field instead.

It looks like it's possible for Thread.join() to get stuck, though as
far as I know this hasn't happened.

We're essentially rolling back part of 27774-p9. For internal bug 1966734.

Also: ran --update on test 044.
69b5083874168b81762277d3b4979da4bc6ce2ca 02-Sep-2009 Elliott Hughes <enh@google.com> am d679e7fb: am c19d2a1d: Fix two calls to memset(3) whose arguments were reversed.

Merge commit 'd679e7fbd5df8f178aa0751e107580fc51208373'

* commit 'd679e7fbd5df8f178aa0751e107580fc51208373':
Fix two calls to memset(3) whose arguments were reversed.
ea9c537a6e8587e511094a74da8c1646232164da 02-Sep-2009 Elliott Hughes <enh@google.com> am c19d2a1d: Fix two calls to memset(3) whose arguments were reversed.

Merge commit 'c19d2a1d798d8626f196d878abcf23a14bee40af' into eclair-plus-aosp

* commit 'c19d2a1d798d8626f196d878abcf23a14bee40af':
Fix two calls to memset(3) whose arguments were reversed.
764dcac17de6e01b08e791c33231286f9c7afd12 02-Sep-2009 Elliott Hughes <enh@google.com> Fix two calls to memset(3) whose arguments were reversed.

External bug 3358 reported the libcore/x-net instance. Manual inspection
turned up another instance in vm, but nothing else in the dalvik package.

Tested by booting sapphire-eng and running the x-net tests.

Bug: 1999244
a8f2ed47689ab8a6faf4c1580c70bae59c34d0df 02-Sep-2009 Elliott Hughes <enh@google.com> am 0882b5ca: am 5ca29e14: Merge change 22629 into eclair

Merge commit '0882b5ca179ef3ce0db861b99a038f45fa00a47d'

* commit '0882b5ca179ef3ce0db861b99a038f45fa00a47d':
Fix "whatever".split(".") behavior.
1efc397bb4cc452f60a350a042d3e4f64fef9bf5 02-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23662

* changes:
Reorder the taken and fallthroug blocks and remove dead branches.
ce775f21b66a00b7cb928b09e1973936715c9bdb 02-Sep-2009 Ben Cheng <bccheng@android.com> Reorder the taken and fallthroug blocks and remove dead branches.

In the following example the order of the two chaining cells are reversed and
the branch to 0x42862ce4 is eliminated.

Before:

D/dalvikvm( 1550): 0x42862cd6 (000a): bge 0x42862cdc
D/dalvikvm( 1550): 0x42862cd8 (000c): b 0x42862ce4
D/dalvikvm( 1550): Exception_Handling:
D/dalvikvm( 1550): 0x42862cda (000e): .align4
D/dalvikvm( 1550): -------- chaining cell (normal): 0x0049
D/dalvikvm( 1550): 0x42862cdc (0010): ldr r0, [r6, #76]
D/dalvikvm( 1550): 0x42862cde (0012): blx r0
D/dalvikvm( 1550): 0x42862ce0 (0014): data 0x1512(5394)
D/dalvikvm( 1550): 0x42862ce2 (0016): data 0x42a7(17063)
D/dalvikvm( 1550): 0x42862ce4 (0018): .align4
D/dalvikvm( 1550): -------- chaining cell (normal): 0x001d
D/dalvikvm( 1550): 0x42862ce4 (0018): ldr r0, [r6, #76]
D/dalvikvm( 1550): 0x42862ce6 (001a): blx r0
D/dalvikvm( 1550): 0x42862ce8 (001c): data 0x14ba(5306)
D/dalvikvm( 1550): 0x42862cea (001e): data 0x42a7(17063)

After:

D/dalvikvm( 367): 0x42865c92 (000a): bge 0x42865c9c
D/dalvikvm( 367): Exception_Handling:
D/dalvikvm( 367): 0x42865c94 (000c): .align4
D/dalvikvm( 367): -------- chaining cell (normal): 0x001d
D/dalvikvm( 367): 0x42865c94 (000c): ldr r0, [r6, #76]
D/dalvikvm( 367): 0x42865c96 (000e): blx r0
D/dalvikvm( 367): 0x42865c98 (0010): data 0x44ba(17594)
D/dalvikvm( 367): 0x42865c9a (0012): data 0x42a7(17063)
D/dalvikvm( 367): 0x42865c9c (0014): .align4
D/dalvikvm( 367): -------- chaining cell (normal): 0x0049
D/dalvikvm( 367): 0x42865c9c (0014): ldr r0, [r6, #76]
D/dalvikvm( 367): 0x42865c9e (0016): blx r0
D/dalvikvm( 367): 0x42865ca0 (0018): data 0x4512(17682)
D/dalvikvm( 367): 0x42865ca2 (001a): data 0x42a7(17063)
2071db359da6acbced778f9e6ee9eef150dab184 02-Sep-2009 Elliott Hughes <enh@google.com> am 5ca29e14: Merge change 22629 into eclair

Merge commit '5ca29e142032b6559824e4f7d526bbc037b90c93' into eclair-plus-aosp

* commit '5ca29e142032b6559824e4f7d526bbc037b90c93':
Fix "whatever".split(".") behavior.
e3e459d53048ed40b02ed0933d38343274473184 02-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22629 into eclair

* changes:
Fix "whatever".split(".") behavior.
0028f07b1dbb16b60e2f77a353e7808c8f93be16 02-Sep-2009 Lorenzo Colitti <lorenzo@google.com> Do not check hash codes against golden values. Instead, spot check that they
differ for different addresses and obvious values (e.g., 0 or 1) that might be
returned by buggy implementations.

Change-Id: I4c093ccc268c91fc256b4ba76e1243de2d27670d
27af74c454d10b48d13fbe6e4032932a22de7fb1 02-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 0f45017c: am 94e11fc4: InetAddress refactoring.

Merge commit '0f45017ce76906ed4c43b60a4538607e5171294f'

* commit '0f45017ce76906ed4c43b60a4538607e5171294f':
InetAddress refactoring.
5013b33dcc25d627a1ecfb5824ac12bc6a14c3eb 02-Sep-2009 Lorenzo Colitti <lorenzo@google.com> am 94e11fc4: InetAddress refactoring.

Merge commit '94e11fc41d9bb7648932a21be7fa895c2432f610' into eclair-plus-aosp

* commit '94e11fc41d9bb7648932a21be7fa895c2432f610':
InetAddress refactoring.
86bba0abe6eeb921badf390c9281b62dbdbc7660 01-Sep-2009 Joshua Bloch <jjb@google.com> Replaced existing Hashtable implementation with fast one.
ce2091027802ea55715652d06fa74d59d19c0848 01-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23487

* changes:
Fix implementation of Thread.isAlive().
ce8b09d2c97b42f9a231b539fa7234727c3d9607 26-Aug-2009 Lorenzo Colitti <lorenzo@google.com> InetAddress refactoring.

1. Refactor all protocol-specific methods from InetAddress into Inet[46]Address.
2. Move all protocol-specific constants from InetAddress into Inet[46]Address.

This change should have no effect on the stack's behaviour but makes it easy to
find parts of the code that still have dependencies on IPv4 so they can be
examined and fixed.

Change-Id: I70860ee04cf7c01bffaa35c8c64199f69d99826f
9a4464f0996f45674d1fda2ee6b3bcefb5767dcf 01-Sep-2009 Andy McFadden <fadden@android.com> Fix implementation of Thread.isAlive().

The implementation of Thread.isAlive() was changed a couple of years ago
as part of the Harmony integration. The current version relies on the
thread's state value to determine its liveness, but the VM was
originally written to be like JamVM, which used GNU ClassPath, which
uses the vmThread field instead.

It looks like it's possible for Thread.join() to get stuck, though as
far as I know this hasn't happened.

We're essentially rolling back part of 27774-p9. For internal bug 1966734.

Also: ran --update on test 044.
4983d870309449d82f0a589cfd1bb920d617fc31 01-Sep-2009 Nagendra Modadugu <ngm@google.com> Add Entrust root and intermediate certs.
2d4fa70bbc972d2071ba89178ef46bb77b17f381 01-Sep-2009 Jean-Baptiste Queru <jbq@google.com> am 9c92c48f: merge from open-source master

Merge commit '9c92c48fee7d97e9218e780d32b872eb97962629'

* commit '9c92c48fee7d97e9218e780d32b872eb97962629':
Add a bit-map encoding of Object-reference field offsets to ClassObject.
Be more POSIXly correct in the use of expr.
Fix broken link in docstring. issue 1194
libcore/.../rg_apache_harmony_xml_ExpatParser: in C++, the return type
589c7014f8550a3b23b875e87fa04fd4fee49be8 25-Aug-2009 Ben Cheng <bccheng@android.com> Implement SSA-based loop optimizations.

For traces of simple natural loops (ie no invokes/side exits) null and range
checks will be hoisted in to entry block.

For acyclic traces SSA representation will be formed but no optimizations are
applied (for now).

SSA representation will be printed with the normal verbose output. For example:

D/dalvikvm( 1248): Dumping LIR insns
D/dalvikvm( 1248): installed code is at 0x428559d4
D/dalvikvm( 1248): total size is 324 bytes
D/dalvikvm( 1248): 0x428559d4 (0000): data 0x012c(300)
D/dalvikvm( 1248): -------- entry offset: 0x002b
D/dalvikvm( 1248): -------- MIR_OP_NULL_N_RANGE_UP_CHECK
D/dalvikvm( 1248): 0x428559d6 (0002): ldr r0, [r5, #36]
D/dalvikvm( 1248): 0x428559d8 (0004): ldr r1, [r5, #12]
D/dalvikvm( 1248): 0x428559da (0006): cbz r0,0x42855a06
D/dalvikvm( 1248): 0x428559dc (0008): ldr r0, [r0, #8]
D/dalvikvm( 1248): 0x428559de (000a): subs r1, #1
D/dalvikvm( 1248): 0x428559e0 (000c): cmp r1, r0
D/dalvikvm( 1248): 0x428559e2 (000e): bge 0x42855a06
D/dalvikvm( 1248): -------- MIR_OP_NULL_N_RANGE_UP_CHECK
D/dalvikvm( 1248): 0x428559e4 (0010): ldr r0, [r5, #40]
D/dalvikvm( 1248): 0x428559e6 (0012): ldr r1, [r5, #12]
D/dalvikvm( 1248): 0x428559e8 (0014): cbz r0,0x42855a06
D/dalvikvm( 1248): 0x428559ea (0016): ldr r0, [r0, #8]
D/dalvikvm( 1248): 0x428559ec (0018): subs r1, #1
D/dalvikvm( 1248): 0x428559ee (001a): cmp r1, r0
D/dalvikvm( 1248): 0x428559f0 (001c): bge 0x42855a06
D/dalvikvm( 1248): -------- MIR_OP_NULL_N_RANGE_UP_CHECK
D/dalvikvm( 1248): 0x428559f2 (001e): ldr r0, [r5, #32]
D/dalvikvm( 1248): 0x428559f4 (0020): ldr r1, [r5, #12]
D/dalvikvm( 1248): 0x428559f6 (0022): cbz r0,0x42855a06
D/dalvikvm( 1248): 0x428559f8 (0024): ldr r0, [r0, #8]
D/dalvikvm( 1248): 0x428559fa (0026): cmp r1, r0
D/dalvikvm( 1248): 0x428559fc (0028): bge 0x42855a06
D/dalvikvm( 1248): -------- MIR_OP_LOWER_BOUND_CHECK
D/dalvikvm( 1248): 0x428559fe (002a): ldr r0, [r5, #44]
D/dalvikvm( 1248): 0x42855a00 (002c): cmp r0, #1
D/dalvikvm( 1248): 0x42855a02 (002e): blt 0x42855a06
D/dalvikvm( 1248): 0x42855a04 (0030): b 0x42855a08
D/dalvikvm( 1248): 0x42855a06 (0032): b 0x42855af0
D/dalvikvm( 1248): L0x002b:
D/dalvikvm( 1248): -------- MIR_OP_PHI
D/dalvikvm( 1248): -------- s20(v11_1) <- s11(v11_0) s46(v11_2)
D/dalvikvm( 1248): -------- dalvik offset: 0x002b @ aget-wide
D/dalvikvm( 1248): -------- s21(v12_1) s22(v13_1) <- s9(v9_0) s20(v11_1)
D/dalvikvm( 1248): 0x42855a08 (0034): ldr r2, [r5, #36]
D/dalvikvm( 1248): 0x42855a0a (0036): ldr r3, [r5, #44]
D/dalvikvm( 1248): 0x42855a0c (0038): adds r2, r2, #16
D/dalvikvm( 1248): 0x42855a0e (003a): lsls r3, r3, #3
D/dalvikvm( 1248): 0x42855a10 (003c): ldr r0, [r2, r3]
D/dalvikvm( 1248): 0x42855a12 (003e): adds r2, r2, #4
D/dalvikvm( 1248): 0x42855a14 (0040): ldr r1, [r2, r3]
D/dalvikvm( 1248): -------- dalvik offset: 0x002d @ aget-wide
D/dalvikvm( 1248): -------- s23(v14_1) s24(v15_1) <- s10(v10_0) s20(v11_1)
D/dalvikvm( 1248): 0x42855a16 (0042): ldr r3, [r5, #40]
D/dalvikvm( 1248): 0x42855a18 (0044): str r0, [r5, #48]
D/dalvikvm( 1248): 0x42855a1a (0046): ldr r0, [r5, #44]
D/dalvikvm( 1248): 0x42855a1c (0048): adds r3, r3, #16
D/dalvikvm( 1248): 0x42855a1e (004a): lsls r0, r0, #3
D/dalvikvm( 1248): 0x42855a20 (004c): str r1, [r5, #52]
D/dalvikvm( 1248): 0x42855a22 (004e): ldr r1, [r3, r0]
D/dalvikvm( 1248): 0x42855a24 (0050): adds r3, r3, #4
D/dalvikvm( 1248): 0x42855a26 (0052): ldr r2, [r3, r0]
D/dalvikvm( 1248): -------- dalvik offset: 0x002f @ add-double/2addr
D/dalvikvm( 1248): -------- s25(v12_2) s26(v13_2) <- s21(v12_1) s22(v13_1) s23(v14_1) s24(v15_1)
D/dalvikvm( 1248): 0x42855a28 (0054): str r1, [r5, #56]
D/dalvikvm( 1248): 0x42855a2a (0056): str r2, [r5, #60]
D/dalvikvm( 1248): 0x42855a2c (0058): vldr d1, [r5, #48]
D/dalvikvm( 1248): 0x42855a30 (005c): vldr d2, [r5, #56]
D/dalvikvm( 1248): 0x42855a34 (0060): vadd d0, d1, d2
D/dalvikvm( 1248): -------- dalvik offset: 0x0030 @ const/4
D/dalvikvm( 1248): -------- s27(v14_2) <-
D/dalvikvm( 1248): 0x42855a38 (0064): movs r2, #1
D/dalvikvm( 1248): -------- dalvik offset: 0x0031 @ sub-int
D/dalvikvm( 1248): -------- s28(v14_3) <- s20(v11_1) s27(v14_2)
D/dalvikvm( 1248): 0x42855a3a (0066): ldr r3, [r5, #44]
D/dalvikvm( 1248): 0x42855a3c (0068): subs r0, r3, r2
D/dalvikvm( 1248): -------- dalvik offset: 0x0033 @ aget-wide
D/dalvikvm( 1248): -------- s29(v14_4) s30(v15_2) <- s8(v8_0) s28(v14_3)
D/dalvikvm( 1248): 0x42855a3e (006a): ldr r3, [r5, #32]
D/dalvikvm( 1248): 0x42855a40 (006c): adds r3, r3, #16
D/dalvikvm( 1248): 0x42855a42 (006e): str r0, [r5, #56]
D/dalvikvm( 1248): 0x42855a44 (0070): lsls r0, r0, #3
D/dalvikvm( 1248): 0x42855a46 (0072): vstr d0, [r5, #48]
D/dalvikvm( 1248): 0x42855a4a (0076): ldr r1, [r3, r0]
D/dalvikvm( 1248): 0x42855a4c (0078): adds r3, r3, #4
D/dalvikvm( 1248): 0x42855a4e (007a): ldr r2, [r3, r0]
D/dalvikvm( 1248): -------- dalvik offset: 0x0035 @ add-double/2addr
D/dalvikvm( 1248): -------- s31(v12_3) s32(v13_3) <- s25(v12_2) s26(v13_2) s29(v14_4) s30(v15_2)
D/dalvikvm( 1248): 0x42855a50 (007c): str r1, [r5, #56]
D/dalvikvm( 1248): 0x42855a52 (007e): str r2, [r5, #60]
D/dalvikvm( 1248): 0x42855a54 (0080): vldr d1, [r5, #48]
D/dalvikvm( 1248): 0x42855a58 (0084): vldr d2, [r5, #56]
D/dalvikvm( 1248): 0x42855a5c (0088): vadd d0, d1, d2
D/dalvikvm( 1248): -------- dalvik offset: 0x0036 @ add-int/lit8
D/dalvikvm( 1248): -------- s33(v14_5) <- s20(v11_1)
D/dalvikvm( 1248): 0x42855a60 (008c): ldr r2, [r5, #44]
D/dalvikvm( 1248): 0x42855a62 (008e): adds r2, r2, #1
D/dalvikvm( 1248): -------- dalvik offset: 0x0038 @ aget-wide
D/dalvikvm( 1248): -------- s34(v14_6) s35(v15_3) <- s8(v8_0) s33(v14_5)
D/dalvikvm( 1248): 0x42855a64 (0090): ldr r1, [r5, #32]
D/dalvikvm( 1248): 0x42855a66 (0092): adds r1, r1, #16
D/dalvikvm( 1248): 0x42855a68 (0094): str r2, [r5, #56]
D/dalvikvm( 1248): 0x42855a6a (0096): lsls r2, r2, #3
D/dalvikvm( 1248): 0x42855a6c (0098): vstr d0, [r5, #48]
D/dalvikvm( 1248): 0x42855a70 (009c): ldr r3, [r1, r2]
D/dalvikvm( 1248): 0x42855a72 (009e): adds r1, r1, #4
D/dalvikvm( 1248): 0x42855a74 (00a0): ldr r0, [r1, r2]
D/dalvikvm( 1248): -------- dalvik offset: 0x003a @ add-double/2addr
D/dalvikvm( 1248): -------- s36(v12_4) s37(v13_4) <- s31(v12_3) s32(v13_3) s34(v14_6) s35(v15_3)
D/dalvikvm( 1248): 0x42855a76 (00a2): str r3, [r5, #56]
D/dalvikvm( 1248): 0x42855a78 (00a4): str r0, [r5, #60]
D/dalvikvm( 1248): 0x42855a7a (00a6): vldr d1, [r5, #48]
D/dalvikvm( 1248): 0x42855a7e (00aa): vldr d2, [r5, #56]
D/dalvikvm( 1248): 0x42855a82 (00ae): vadd d0, d1, d2
D/dalvikvm( 1248): 0x42855a86 (00b2): vstr d0, [r5, #48]
D/dalvikvm( 1248): -------- dalvik offset: 0x003b @ mul-double/2addr
D/dalvikvm( 1248): -------- s38(v12_5) s39(v13_5) <- s36(v12_4) s37(v13_4) s4(v4_0) s5(v5_0)
D/dalvikvm( 1248): 0x42855a8a (00b6): vmov.f64 s2, s0
D/dalvikvm( 1248): 0x42855a8e (00ba): vldr d2, [r5, #16]
D/dalvikvm( 1248): 0x42855a92 (00be): vmuld d0, d1, d2
D/dalvikvm( 1248): -------- dalvik offset: 0x003c @ aget-wide
D/dalvikvm( 1248): -------- s40(v14_7) s41(v15_4) <- s8(v8_0) s20(v11_1)
D/dalvikvm( 1248): 0x42855a96 (00c2): ldr r2, [r5, #32]
D/dalvikvm( 1248): 0x42855a98 (00c4): ldr r3, [r5, #44]
D/dalvikvm( 1248): 0x42855a9a (00c6): adds r2, r2, #16
D/dalvikvm( 1248): 0x42855a9c (00c8): lsls r3, r3, #3
D/dalvikvm( 1248): 0x42855a9e (00ca): vstr d0, [r5, #48]
D/dalvikvm( 1248): 0x42855aa2 (00ce): ldr r0, [r2, r3]
D/dalvikvm( 1248): 0x42855aa4 (00d0): adds r2, r2, #4
D/dalvikvm( 1248): 0x42855aa6 (00d2): ldr r1, [r2, r3]
D/dalvikvm( 1248): 0x42855aa8 (00d4): str r0, [r5, #56]
D/dalvikvm( 1248): 0x42855aaa (00d6): str r1, [r5, #60]
D/dalvikvm( 1248): -------- dalvik offset: 0x003e @ mul-double
D/dalvikvm( 1248): -------- s42(v14_8) s43(v15_5) <- s40(v14_7) s41(v15_4) s16(v16_0) s17(v17_0)
D/dalvikvm( 1248): 0x42855aac (00d8): vldr d1, [r5, #56]
D/dalvikvm( 1248): 0x42855ab0 (00dc): vldr d2, [r5, #64]
D/dalvikvm( 1248): 0x42855ab4 (00e0): vmuld d0, d1, d2
D/dalvikvm( 1248): 0x42855ab8 (00e4): vstr d0, [r5, #56]
D/dalvikvm( 1248): -------- dalvik offset: 0x0040 @ add-double/2addr
D/dalvikvm( 1248): -------- s44(v12_6) s45(v13_6) <- s38(v12_5) s39(v13_5) s42(v14_8) s43(v15_5)
D/dalvikvm( 1248): 0x42855abc (00e8): vldr d1, [r5, #48]
D/dalvikvm( 1248): 0x42855ac0 (00ec): vldr d2, [r5, #56]
D/dalvikvm( 1248): 0x42855ac4 (00f0): vadd d0, d1, d2
D/dalvikvm( 1248): 0x42855ac8 (00f4): vstr d0, [r5, #48]
D/dalvikvm( 1248): -------- dalvik offset: 0x0041 @ aput-wide
D/dalvikvm( 1248): -------- s44(v12_6) s45(v13_6) s8(v8_0) s20(v11_1)
D/dalvikvm( 1248): 0x42855acc (00f8): ldr r3, [r5, #32]
D/dalvikvm( 1248): 0x42855ace (00fa): ldr r0, [r5, #44]
D/dalvikvm( 1248): 0x42855ad0 (00fc): adds r3, r3, #16
D/dalvikvm( 1248): 0x42855ad2 (00fe): ldr r1, [r5, #48]
D/dalvikvm( 1248): 0x42855ad4 (0100): ldr r2, [r5, #52]
D/dalvikvm( 1248): 0x42855ad6 (0102): lsls r0, r0, #3
D/dalvikvm( 1248): 0x42855ad8 (0104): str r1, [r3, r0]
D/dalvikvm( 1248): 0x42855ada (0106): adds r3, r3, #4
D/dalvikvm( 1248): 0x42855adc (0108): str r2, [r3, r0]
D/dalvikvm( 1248): -------- dalvik offset: 0x0043 @ add-int/lit8
D/dalvikvm( 1248): -------- s46(v11_2) <- s20(v11_1)
D/dalvikvm( 1248): 0x42855ade (010a): ldr r2, [r5, #44]
D/dalvikvm( 1248): 0x42855ae0 (010c): adds r2, r2, #1
D/dalvikvm( 1248): 0x42855ae2 (010e): str r2, [r5, #44]
D/dalvikvm( 1248): -------- dalvik offset: 0x0045 @ goto
D/dalvikvm( 1248): --------
D/dalvikvm( 1248): L0x0029:
D/dalvikvm( 1248): -------- dalvik offset: 0x0029 @ if-ge
D/dalvikvm( 1248): -------- s46(v11_2) s3(v3_0)
D/dalvikvm( 1248): 0x42855ae4 (0110): ldr r0, [r5, #44]
D/dalvikvm( 1248): 0x42855ae6 (0112): ldr r1, [r5, #12]
D/dalvikvm( 1248): 0x42855ae8 (0114): cmp r0, r1
D/dalvikvm( 1248): 0x42855aea (0116): bge 0x42855aee
D/dalvikvm( 1248): 0x42855aec (0118): b 0x42855a08
D/dalvikvm( 1248): -------- exit offset: 0x0046
D/dalvikvm( 1248): 0x42855aee (011a): b 0x42855af8
D/dalvikvm( 1248): -------- reconstruct dalvik PC : 0x42a644d6 @ +0x002b
D/dalvikvm( 1248): 0x42855af0 (011c): ldr r0, [pc, #32]
D/dalvikvm( 1248): Exception_Handling:
D/dalvikvm( 1248): 0x42855af2 (011e): ldr r1, [r6, #84]
D/dalvikvm( 1248): 0x42855af4 (0120): blx r1
D/dalvikvm( 1248): 0x42855af6 (0122): .align4
D/dalvikvm( 1248): -------- chaining cell (normal): 0x0046
D/dalvikvm( 1248): 0x42855af8 (0124): ldr r0, [r6, #76]
D/dalvikvm( 1248): 0x42855afa (0126): blx r0
D/dalvikvm( 1248): 0x42855afc (0128): data 0x450c(17676)
D/dalvikvm( 1248): 0x42855afe (012a): data 0x42a6(17062)
D/dalvikvm( 1248): 0x42855b14 (0140): .word (0x42a644d6)
D/dalvikvm( 1248): End Ljnt/scimark2/SOR;execute, 18 Dalvik instructions
a3cc2f44a348900377b2d4f7e320cb9ee7a1bf9f 01-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
bee34eb84908fe74c3b3cc1f2ff10b61ba935914 01-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23362

* changes:
Minor debugging tweaks to IndirectRefTable.
3de888a65e029b9b15c39315d44aa468e1acc9cd 01-Sep-2009 Jesse Wilson <jessewilson@google.com> am 2c23efcd: Update prefs to Harmony r772995.

Merge commit '2c23efcdb5bf7e055caa166e56cfdd50011f02df'

* commit '2c23efcdb5bf7e055caa166e56cfdd50011f02df':
Update prefs to Harmony r772995.
a4e39d76e79147a7a2744f1549b4c107e0ba8db3 01-Sep-2009 Andy McFadden <fadden@android.com> am b8f2972e: Merge change 23193 into eclair

Merge commit 'b8f2972e3ceef7e6bd5ae9763257dfae6fe06349'

* commit 'b8f2972e3ceef7e6bd5ae9763257dfae6fe06349':
Expand indirect reference ifdefs.
515b9fd4b6800afa7af4da58be449112e3169fa9 01-Sep-2009 Andy McFadden <fadden@android.com> Minor debugging tweaks to IndirectRefTable.

Added serial number checks, fixed tests, updated logging.
e998a277e339f391dc899b277ff5f1e48e58de16 01-Sep-2009 Jesse Wilson <jessewilson@google.com> Update crypto package to Harmony r802921. Only Javadoc changes.

commit d5d4307b5b9f37e6f66ab1273be1acd2a29177de
Merge: 2c2287b 1c60d7c
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Aug 31 15:36:46 2009 -0700

Merge branch 'crypto_802921' into crypto_dalvik

Conflicts:
libcore/crypto/.classpath
libcore/crypto/build.xml
libcore/crypto/src/main/java/javax/crypto/BadPaddingException.java
libcore/crypto/src/main/java/javax/crypto/Cipher.java
libcore/crypto/src/main/java/javax/crypto/CipherInputStream.java
libcore/crypto/src/main/java/javax/crypto/CipherOutputStream.java
libcore/crypto/src/main/java/javax/crypto/CipherSpi.java
libcore/crypto/src/main/java/javax/crypto/EncryptedPrivateKeyInfo.java
libcore/crypto/src/main/java/javax/crypto/ExemptionMechanism.java
libcore/crypto/src/main/java/javax/crypto/ExemptionMechanismException.java
libcore/crypto/src/main/java/javax/crypto/ExemptionMechanismSpi.java
libcore/crypto/src/main/java/javax/crypto/IllegalBlockSizeException.java
libcore/crypto/src/main/java/javax/crypto/KeyAgreement.java
libcore/crypto/src/main/java/javax/crypto/KeyAgreementSpi.java
libcore/crypto/src/main/java/javax/crypto/KeyGenerator.java
libcore/crypto/src/main/java/javax/crypto/KeyGeneratorSpi.java
libcore/crypto/src/main/java/javax/crypto/Mac.java
libcore/crypto/src/main/java/javax/crypto/MacSpi.java
libcore/crypto/src/main/java/javax/crypto/NoSuchPaddingException.java
libcore/crypto/src/main/java/javax/crypto/NullCipher.java
libcore/crypto/src/main/java/javax/crypto/SealedObject.java
libcore/crypto/src/main/java/javax/crypto/SecretKey.java
libcore/crypto/src/main/java/javax/crypto/SecretKeyFactory.java
libcore/crypto/src/main/java/javax/crypto/SecretKeyFactorySpi.java
libcore/crypto/src/main/java/javax/crypto/ShortBufferException.java
libcore/crypto/src/main/java/javax/crypto/interfaces/DHKey.java
libcore/crypto/src/main/java/javax/crypto/interfaces/DHPrivateKey.java
libcore/crypto/src/main/java/javax/crypto/interfaces/DHPublicKey.java
libcore/crypto/src/main/java/javax/crypto/interfaces/PBEKey.java
libcore/crypto/src/main/java/javax/crypto/spec/DESKeySpec.java
libcore/crypto/src/main/java/javax/crypto/spec/DESedeKeySpec.java
libcore/crypto/src/main/java/javax/crypto/spec/DHGenParameterSpec.java
libcore/crypto/src/main/java/javax/crypto/spec/DHParameterSpec.java
libcore/crypto/src/main/java/javax/crypto/spec/DHPrivateKeySpec.java
libcore/crypto/src/main/java/javax/crypto/spec/DHPublicKeySpec.java
libcore/crypto/src/main/java/javax/crypto/spec/IvParameterSpec.java
libcore/crypto/src/main/java/javax/crypto/spec/OAEPParameterSpec.java
libcore/crypto/src/main/java/javax/crypto/spec/PBEKeySpec.java
libcore/crypto/src/main/java/javax/crypto/spec/PBEParameterSpec.java
libcore/crypto/src/main/java/javax/crypto/spec/PSource.java
libcore/crypto/src/main/java/javax/crypto/spec/RC2ParameterSpec.java
libcore/crypto/src/main/java/javax/crypto/spec/RC5ParameterSpec.java
libcore/crypto/src/main/java/javax/crypto/spec/SecretKeySpec.java

commit 2c2287b521cc5f558d9929e14e31ec92da6285b1
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Aug 31 14:56:45 2009 -0700

crypto_dalvik

commit 1c60d7c222c55ae49add8345a192c54357bb4a1f
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Aug 31 14:56:34 2009 -0700

crypto_802921

commit 50cf7f5d97de2f65ee0769aafec7b5a3551cb5d0
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Aug 31 14:56:27 2009 -0700

crypto_527399
8a04dd3b512576f3405222d6b948b84e1c0a6fda 31-Aug-2009 Jesse Wilson <jessewilson@google.com> Update prefs to Harmony r772995.

Notable changes:
- exception handling has changed to cleanup more reliably
- calls to Collection.toArray() size the array properly
- lots of style tweaks (rewrapping Javadoc, reintending wrapped code, whitespace)
- new PrefsTester class ensures tests store prefs in the tmp directory

Squashed commit of the following:

commit 2157269d8ed39ccb8a71d735c12bbabcfd548243
Merge: d287282 97818bf
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 5 11:14:26 2009 -0700

Merge branch 'prefs_772995' into prefs_dalvik

Conflicts:
libcore/prefs/.classpath
libcore/prefs/.settings/org.eclipse.jdt.core.prefs
libcore/prefs/build.xml
libcore/prefs/make/exclude.linux.x86_64.drl
libcore/prefs/make/exclude.windows.x86.drl
libcore/prefs/make/exclude.windows.x86_64.drl
libcore/prefs/src/main/java/java/util/prefs/AbstractPreferences.java
libcore/prefs/src/main/java/java/util/prefs/BackingStoreException.java
libcore/prefs/src/main/java/java/util/prefs/FilePreferencesFactoryImpl.java
libcore/prefs/src/main/java/java/util/prefs/FilePreferencesImpl.java
libcore/prefs/src/main/java/java/util/prefs/InvalidPreferencesFormatException.java
libcore/prefs/src/main/java/java/util/prefs/NodeChangeEvent.java
libcore/prefs/src/main/java/java/util/prefs/NodeChangeListener.java
libcore/prefs/src/main/java/java/util/prefs/PreferenceChangeEvent.java
libcore/prefs/src/main/java/java/util/prefs/PreferenceChangeListener.java
libcore/prefs/src/main/java/java/util/prefs/Preferences.java
libcore/prefs/src/main/java/java/util/prefs/PreferencesFactory.java
libcore/prefs/src/main/java/java/util/prefs/RegistryPreferencesFactoryImpl.java
libcore/prefs/src/main/java/java/util/prefs/RegistryPreferencesImpl.java
libcore/prefs/src/main/java/java/util/prefs/XMLParser.java
libcore/prefs/src/main/java/org/apache/harmony/prefs/internal/nls/Messages.java
libcore/prefs/src/main/native/prefs/windows/PreferencesImpl.c
libcore/prefs/src/main/native/prefs/windows/hyprefs.rc
libcore/prefs/src/main/native/prefs/windows/makefile
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/AbstractPreferencesTest.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/AllTests.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/FilePreferencesImplTest.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/MockAbstractPreferences.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/MockPreferencesFactory.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/MockSecurityManager.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/NodeChangeListenerTest.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/PreferenceChangeListenerTest.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/PreferencesFactoryTest.java
libcore/prefs/src/test/java/org/apache/harmony/prefs/tests/java/util/prefs/PreferencesTest.java
libcore/prefs/src/test/java/tests/prefs/AllTests.java

commit d287282b550d4a5d262f1d1703344ed61bdc6d15
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 4 14:36:36 2009 -0700

Dalvik Prefs

commit 97818bf21cfde744eeb5fbf1f9c31d9bd66f5a2e
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 4 14:35:52 2009 -0700

Prefs 772995

commit 9a506f93947938dad3b41e1393f53b766ba0319f
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 4 14:22:40 2009 -0700

Prefs 527399
b59ceb6970f5b2b560ee7c407fa3ce673b5ee446 31-Aug-2009 Alexey Tarasov <tarasov@dodologics.com> Typo fix in javadoc

spec -> otherSpec
38c407cacc424470430220196cd916e3995d0b95 31-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23193 into eclair

* changes:
Expand indirect reference ifdefs.
699f1cd9ea55e552b36a40659643455679829270 30-Aug-2009 Alexey Tarasov <tarasov@dodologics.com> Cosmetic change: cst -> type in javadoc @param
41ca90315ca443026401891463cfc4d650a00085 28-Aug-2009 Andy McFadden <fadden@android.com> Expand indirect reference ifdefs.

This excludes some things that used to be common between the direct and
indirect reference implementations. The goal is to restore the original
method call performance. In particular, we no longer convert native
method arguments to local references when USE_INDIRECT_REF is not
defined.
6ea71bcb6420966a0bd71f6b0d11747129059dfd 28-Aug-2009 Lorenzo Colitti <lorenzo@google.com> am 3f7a2590: Merge change 22992 into eclair

Merge commit '3f7a259014f94b6515f4a5668431656498705d59'

* commit '3f7a259014f94b6515f4a5668431656498705d59':
Annotate tests that are failing due to legacy IP address formats that have not been implemented yet.
20f5458a1ef579bdd757d52e22080f3afdab07f2 28-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22992 into eclair

* changes:
Annotate tests that are failing due to legacy IP address formats that have not been implemented yet.
02b796abaf88950fa837953a29aa07c59f7221e2 28-Aug-2009 Andy McFadden <fadden@android.com> am af0e8388: Fix reporting of certain verify errors.

Merge commit 'af0e838887d3a2fa76e0d2716e39adf2bb0c01a1'

* commit 'af0e838887d3a2fa76e0d2716e39adf2bb0c01a1':
Fix reporting of certain verify errors.
e0e235f977ea518df43ed6dde6489ddda4655e09 28-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22527

* changes:
More work on getting Dalvik to build on the host (particularly OSX).
9b0a2621471a3ccfd55ebc5c84c9f2178598623e 28-Aug-2009 Andy McFadden <fadden@android.com> Fix reporting of certain verify errors.

The code was assuming that the reference type could always be inferred
from the error code, but in two cases it couldn't. This resulted in a
weird string appearing where the class name should be in the exception.
The type is now explicitly stuffed into the replacement instruction.

I added one additional test to 075; with this, plus 003 and 077, I think
we have full coverage.

For bug 2084560.
8e014d867dbab7d9ba27a1fb6c2a34e5330503e4 28-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23113

* changes:
Improved codegen for inline, continuing codegen restructuring
af44295d62bd58b0d64367b94d3ca1cd5f6d61f4 27-Aug-2009 Bill Buzbee <buzbee@google.com> Improved codegen for inline, continuing codegen restructuring

Added support for Thumb2 IT. Moved compare-long and floating point
comparisons inline. Temporarily disabled use of Thumb2 CBZ & CBNZ
because they were causing too many out-of-range assembly restarts.
Bug fix for LIR3 assert.
0771c974bb0c7e82524b8ce428f88b2023621395 28-Aug-2009 Android Code Review <code-review@android.com> Merge change 9368

* changes:
libcore/.../rg_apache_harmony_xml_ExpatParser: in C++, the return type of strchr(const char*) is 'const char*' instead of 'char *'.
371b621deb817de566f106a6ef89489cbf01b901 26-Aug-2009 Elliott Hughes <enh@google.com> Don't mutate input in OSMemory.setIntArray/setShortArray.

We now take a copy and then swap bytes in the copy if necessary,
rather than swapping the input, copying, and swapping the input
back.

I've switched to GetShortArrayRegion/GetIntArrayRegion instead
of GetPrimitiveArrayCritical because the latter makes life
unnecessarily hard for the VM/GC, and requires a second JNI call
to undo.

I've also renamed the native functions to match the Java methods
they implement.

(Tested by running the nio tests on the emulator, with added
logging to check that all four variants are called.)

Bug: 2019584
835b68eadb91ce85a8231831b6bccae232b22e92 28-Aug-2009 Lorenzo Colitti <lorenzo@google.com> Annotate tests that are failing due to legacy IP address formats that have not been implemented yet.

Change-Id: Ifdf236450007866f24c8b23d52617c41d4e9c324
b9e92ea5bcdc467b3572ff970e70c1e99cbc954c 27-Aug-2009 Andy McFadden <fadden@android.com> am 9495a944: Merge change 22965 into eclair

Merge commit '9495a9449e2f429517bac0d35722b2e9f101f5a9'

* commit '9495a9449e2f429517bac0d35722b2e9f101f5a9':
Fix some JNI indirect reference stuff.
95418f0181717ca2c5102730349e2a8557124df9 27-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22965 into eclair

* changes:
Fix some JNI indirect reference stuff.
f49b53b9019404f3cd5f76d23b6e8e6f01ea562b 27-Aug-2009 Jesse Wilson <jessewilson@google.com> am a055db83: Update x-net to Harmony r802921.

Merge commit 'a055db83f05034fcd5564ab5930e8d16d4ececfb'

* commit 'a055db83f05034fcd5564ab5930e8d16d4ececfb':
Update x-net to Harmony r802921.
9e8124918e6fd445a666d151e9e9cb3d17e6fd6a 26-Aug-2009 Jesse Wilson <jessewilson@google.com> Update x-net to Harmony r802921.

Notable changes
- synchronization added where it was needed!
- try/finally added to reliably tear down in DefaultSSLContext
- ContextImpl deleted, it wasn't necessary
- methods reordered to make statics first in the class
- PrivilegedActions parameterized with <Void>
- DigitalSignature now throws AssertionErrors in impossible states
and throws AlertExceptions on invalid keys (rather than dumping
a stacktrace)
- ValueKeys added to SSLSessionImpl instead of TwoKeyMaps
- SSLSessionImpl.clone() simplified to do a traditional clone

Squashed commit of the following:

commit 2d9e43d542ab7086af271bf52e847c582decbab1
Merge: 8b79eb4 a8dc377
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 25 15:25:21 2009 -0700

Merge branch 'x-net_802921' into x-net_dalvik

Conflicts:
libcore/x-net/.classpath
libcore/x-net/.settings/org.eclipse.jdt.core.prefs
libcore/x-net/build.xml
libcore/x-net/src/main/java/javax/net/DefaultServerSocketFactory.java
libcore/x-net/src/main/java/javax/net/DefaultSocketFactory.java
libcore/x-net/src/main/java/javax/net/ServerSocketFactory.java
libcore/x-net/src/main/java/javax/net/SocketFactory.java
libcore/x-net/src/main/java/javax/net/ssl/CertPathTrustManagerParameters.java
libcore/x-net/src/main/java/javax/net/ssl/DefaultHostnameVerifier.java
libcore/x-net/src/main/java/javax/net/ssl/DefaultSSLContext.java
libcore/x-net/src/main/java/javax/net/ssl/DefaultSSLSocketFactory.java
libcore/x-net/src/main/java/javax/net/ssl/HandshakeCompletedEvent.java
libcore/x-net/src/main/java/javax/net/ssl/HandshakeCompletedListener.java
libcore/x-net/src/main/java/javax/net/ssl/HostnameVerifier.java
libcore/x-net/src/main/java/javax/net/ssl/HttpsURLConnection.java
libcore/x-net/src/main/java/javax/net/ssl/KeyManager.java
libcore/x-net/src/main/java/javax/net/ssl/KeyManagerFactory.java
libcore/x-net/src/main/java/javax/net/ssl/KeyManagerFactorySpi.java
libcore/x-net/src/main/java/javax/net/ssl/KeyStoreBuilderParameters.java
libcore/x-net/src/main/java/javax/net/ssl/ManagerFactoryParameters.java
libcore/x-net/src/main/java/javax/net/ssl/SSLContext.java
libcore/x-net/src/main/java/javax/net/ssl/SSLContextSpi.java
libcore/x-net/src/main/java/javax/net/ssl/SSLEngine.java
libcore/x-net/src/main/java/javax/net/ssl/SSLEngineResult.java
libcore/x-net/src/main/java/javax/net/ssl/SSLException.java
libcore/x-net/src/main/java/javax/net/ssl/SSLHandshakeException.java
libcore/x-net/src/main/java/javax/net/ssl/SSLKeyException.java
libcore/x-net/src/main/java/javax/net/ssl/SSLPeerUnverifiedException.java
libcore/x-net/src/main/java/javax/net/ssl/SSLPermission.java
libcore/x-net/src/main/java/javax/net/ssl/SSLProtocolException.java
libcore/x-net/src/main/java/javax/net/ssl/SSLServerSocket.java
libcore/x-net/src/main/java/javax/net/ssl/SSLServerSocketFactory.java
libcore/x-net/src/main/java/javax/net/ssl/SSLSession.java
libcore/x-net/src/main/java/javax/net/ssl/SSLSessionBindingEvent.java
libcore/x-net/src/main/java/javax/net/ssl/SSLSessionBindingListener.java
libcore/x-net/src/main/java/javax/net/ssl/SSLSessionContext.java
libcore/x-net/src/main/java/javax/net/ssl/SSLSocket.java
libcore/x-net/src/main/java/javax/net/ssl/SSLSocketFactory.java
libcore/x-net/src/main/java/javax/net/ssl/TrustManager.java
libcore/x-net/src/main/java/javax/net/ssl/TrustManagerFactory.java
libcore/x-net/src/main/java/javax/net/ssl/TrustManagerFactorySpi.java
libcore/x-net/src/main/java/javax/net/ssl/X509ExtendedKeyManager.java
libcore/x-net/src/main/java/javax/net/ssl/X509KeyManager.java
libcore/x-net/src/main/java/javax/net/ssl/X509TrustManager.java
libcore/x-net/src/main/java/javax/net/ssl/package-info.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHandshakeImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/HandshakeProtocol.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/JSSEProvider.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/KeyManagerImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImplWrapper.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLServerSocketFactoryImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLServerSocketImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSessionContextImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSessionImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketFactoryImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketImpl.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketInputStream.java
libcore/x-net/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSocketOutputStream.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/CertPathTrustManagerParametersTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/HandshakeCompletedEventTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/HttpsURLConnectionTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/KeyStoreBuilderParametersTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLContext1Test.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLEngineTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLPermissionTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLServerSocketTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/SSLSocketTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/TrustManagerFactory1Test.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/serialization/HandshakeCompletedEventTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/serialization/SSLExceptionTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/serialization/SSLHandshakeExceptionTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/serialization/SSLKeyExceptionTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/serialization/SSLPeerUnverifiedExceptionTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/serialization/SSLProtocolExceptionTest.java
libcore/x-net/src/test/api/java/org/apache/harmony/xnet/tests/javax/net/ssl/serialization/SSLSessionBindingEventTest.java
libcore/x-net/src/test/impl/java.injected/javax/net/ServerSocketFactoryTest.java
libcore/x-net/src/test/impl/java.injected/javax/net/SocketFactoryTest.java
libcore/x-net/src/test/impl/java.injected/javax/net/ssl/DefaultSSLServerSocketFactoryTest.java
libcore/x-net/src/test/impl/java.injected/javax/net/ssl/DefaultSSLSocketFactoryTest.java
libcore/x-net/src/test/impl/java.injected/javax/net/ssl/HttpsURLConnection_ImplTest.java
libcore/x-net/src/test/impl/java.injected/javax/net/ssl/SSLServerSocketFactoryTest.java
libcore/x-net/src/test/impl/java.injected/javax/net/ssl/SSLSocketFactoryTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/CipherSuiteTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/DigitalSignatureTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/HandshakeProtocolTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/KeyManagerImplTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLEngineImplTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLServerSocketImplTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLSessionContextImplTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLSessionImplTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLSocketFactoriesTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLSocketFunctionalTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLSocketImplTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLStreamedInputTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/ServerHandshakeImplTest.java
libcore/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/TrustManagerImplTest.java
libcore/x-net/src/test/impl/java/org/apache/harmony/xnet/tests/provider/jsse/DigitalSignatureTest.java
libcore/x-net/src/test/impl/java/org/apache/harmony/xnet/tests/provider/jsse/KeyManagerFactoryImplTest.java
libcore/x-net/src/test/impl/java/org/apache/harmony/xnet/tests/provider/jsse/ProtocolVersionTest.java
libcore/x-net/src/test/impl/java/org/apache/harmony/xnet/tests/provider/jsse/TrustManagerFactoryImplTest.java
libcore/x-net/src/test/java/javax/net/ssl/KeyManagerFactorySpiTests.java
libcore/x-net/src/test/java/javax/net/ssl/MyKeyManagerFactorySpi.java
libcore/x-net/src/test/java/javax/net/ssl/MySSLContextSpi.java
libcore/x-net/src/test/java/javax/net/ssl/MyTrustManagerFactorySpi.java
libcore/x-net/src/test/java/javax/net/ssl/SSLContextSpiTests.java
libcore/x-net/src/test/java/javax/net/ssl/TrustManagerFactorySpiTests.java
libcore/x-net/src/test/java/tests/api/javax/net/ssl/KeyManagerFactory1Test.java
libcore/x-net/src/test/java/tests/api/javax/net/ssl/KeyManagerFactory2Test.java
libcore/x-net/src/test/java/tests/api/javax/net/ssl/SSLContext2Test.java
libcore/x-net/src/test/java/tests/api/javax/net/ssl/SSLSessionBindingEventTest.java
libcore/x-net/src/test/java/tests/api/javax/net/ssl/TrustManagerFactory2Test.java
libcore/x-net/src/test/support/common/java/org/apache/harmony/xnet/tests/support/MyKeyManagerFactorySpi.java
libcore/x-net/src/test/support/common/java/org/apache/harmony/xnet/tests/support/MySSLContextSpi.java
libcore/x-net/src/test/support/common/java/org/apache/harmony/xnet/tests/support/MyTrustManagerFactorySpi.java

commit 8b79eb40a27f0b336d5516606d43162ecead09ca
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 25 12:58:17 2009 -0700

x-net_dalvik

commit a8dc3778cd2a1a5d6d0cfff6eec22e7bfbdb9c14
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 25 12:56:55 2009 -0700

x-net_802921

commit 07ca0ed8aa5927c909f880559c17d162c111608e
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 25 12:56:07 2009 -0700

x-net_527399

commit 9b44ccfc38c2fc2a6cf2c3cc39a13cc5bce635ba
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 25 11:14:01 2009 -0700

Small changes missed in the original submission of 22482.
d036679544b676f0d80271c20e2e04cee1c57c01 26-Aug-2009 Andy McFadden <fadden@android.com> Fix some JNI indirect reference stuff.

Convert where needed, don't convert where not needed, and make sure
we're using the right one.

With this, my ad-hoc tests pass, and the boot proceeds until we hit a
failure that looks like it might be due to logic outside the VM.
ab5240a2e12ec38776cfda86eb887c62b503c177 27-Aug-2009 Android Code Review <code-review@android.com> Merge change 10635

* changes:
Add a bit-map encoding of Object-reference field offsets to ClassObject.
13ea892567b705fa0e5fcd15686e1f7b5f1e61c0 27-Aug-2009 Lorenzo Colitti <lorenzo@google.com> am 3a9a1a10: Merge change 22845 into eclair

Merge commit '3a9a1a10d85e7c26293ac8ea95de70763b9c317f'

* commit '3a9a1a10d85e7c26293ac8ea95de70763b9c317f':
IPv6 fixes to java.net.InetAddress.
b69375417223687b44dbad59f531a07132cf2ae2 27-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22845 into eclair

* changes:
IPv6 fixes to java.net.InetAddress.
665f99c0627305ab79c368c6a099a6869f9b0b41 27-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22193

* changes:
Replace existing HashMap and LinkedHashMap with faster versions. Among other optimizations, the new versions do no division and use a high-quality defensive hash function to minimize the odds of poor key distribution among buckets. Third time's a charm.
337c7328906ce6fda89cf88ed7733884c3dccd88 21-Aug-2009 Joshua Bloch <jjb@google.com> Replace existing HashMap and LinkedHashMap with faster versions.
Among other optimizations, the new versions do no division and
use a high-quality defensive hash function to minimize the odds
of poor key distribution among buckets. Third time's a charm.
cac9450d398d2230766468aa9c0860ab2ac5bff9 26-Aug-2009 Lorenzo Colitti <lorenzo@google.com> IPv6 fixes to java.net.InetAddress.

1. Make hashCode() do something that makes sense for IPv6 addresses.
2. Expand coverage of hashCode unit test.
3. Fix failing regression test for getAllByName().
4. Document that the getByName test is broken. I will fix it in a future change.
5. Expand test coverage of the isMulticastAddress test to include IPv6 and
non-multicast addresses.

All tests now pass.

Change-Id: I6f52c7c3213dd01bf773228b1ed5d44df813f877
a1c25851b3f8826fbf185bd1dc23d9b8569e99a8 27-Aug-2009 Bob Lee <crazybob@google.com> am d00ed329: am dfd0afbc: Each time we start an SSL session, we have to find the trust anchor. This used to be an O(N) operation. If the trust anchor we\'re looking for was close to N, finding it could take a couple seconds. This change makes the operation O(1).

Merge commit 'd00ed3291d6a2d84e14d5149826ccb4bd9de35b4'

* commit 'd00ed3291d6a2d84e14d5149826ccb4bd9de35b4':
Each time we start an SSL session, we have to find the trust anchor. This used to be an O(N) operation. If the trust anchor we're looking for was close to N, finding it could take a couple seconds. This change makes the operation O(1).
6595b39e80b005f7d6404799fb3dafec6414bfc3 27-Aug-2009 Bob Lee <crazybob@google.com> am dfd0afbc: Each time we start an SSL session, we have to find the trust anchor. This used to be an O(N) operation. If the trust anchor we\'re looking for was close to N, finding it could take a couple seconds. This change makes the operation O(1).

Merge commit 'dfd0afbcb08b871e224a28ecb4ed427a7693545c' into eclair

* commit 'dfd0afbcb08b871e224a28ecb4ed427a7693545c':
Each time we start an SSL session, we have to find the trust anchor. This used to be an O(N) operation. If the trust anchor we're looking for was close to N, finding it could take a couple seconds. This change makes the operation O(1).
b58533a15a0a0973ff2530d0a61d51ad9e607935 25-Aug-2009 Dan Bornstein <danfuzz@android.com> More work on getting Dalvik to build on the host (particularly OSX).

The dalvikvm executable still doesn't quite build (fails in linker), which
is probably due to the core library native code not getting compiled and
linked. Unfortunately, it looks like that will be pretty hairy to untangle.

Change-Id: Ib5de623e43a40116c4b7459a45a246d76886edf3
3574ca3a5d305d11e16cf9a7c9941fdd871da280 27-Aug-2009 Jesse Wilson <jessewilson@google.com> am 7ae5f692: Update sql to Harmony 802921.

Merge commit '7ae5f6927b1b186bb54b94e7907cb245f0979fde'

* commit '7ae5f6927b1b186bb54b94e7907cb245f0979fde':
Update sql to Harmony 802921.
10ee2463c705eb11b2ce3d5f26a1af0d1c66fe48 27-Aug-2009 Jesse Wilson <jessewilson@google.com> Update sql to Harmony 802921.

Notable changes
- ConnectionEvent field changed for serialization
- Date toString classes no longer use SimpleDateFormat
- Timestamp doesn't call through an overridable method in its constructor
- Timestamp now checks the String passed to valueOf() using a regex
- Properties now specifies a buffer size to avoid a user-inescapable warning

Squashed commit of the following:

commit dd9926cddda4db0227adbc174070791e5a9afa72
Merge: 8be3b27 4bed1fc
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 12 10:34:56 2009 -0700

Merge branch 'sql_802921' into sql_dalvik

Conflicts:
libcore/sql/.classpath
libcore/sql/META-INF/MANIFEST.MF
libcore/sql/build.xml
libcore/sql/src/main/java/java/sql/Array.java
libcore/sql/src/main/java/java/sql/BatchUpdateException.java
libcore/sql/src/main/java/java/sql/Blob.java
libcore/sql/src/main/java/java/sql/CallableStatement.java
libcore/sql/src/main/java/java/sql/Clob.java
libcore/sql/src/main/java/java/sql/Connection.java
libcore/sql/src/main/java/java/sql/DataTruncation.java
libcore/sql/src/main/java/java/sql/DatabaseMetaData.java
libcore/sql/src/main/java/java/sql/Date.java
libcore/sql/src/main/java/java/sql/Driver.java
libcore/sql/src/main/java/java/sql/DriverManager.java
libcore/sql/src/main/java/java/sql/DriverPropertyInfo.java
libcore/sql/src/main/java/java/sql/ParameterMetaData.java
libcore/sql/src/main/java/java/sql/PreparedStatement.java
libcore/sql/src/main/java/java/sql/Ref.java
libcore/sql/src/main/java/java/sql/ResultSet.java
libcore/sql/src/main/java/java/sql/ResultSetMetaData.java
libcore/sql/src/main/java/java/sql/SQLData.java
libcore/sql/src/main/java/java/sql/SQLException.java
libcore/sql/src/main/java/java/sql/SQLInput.java
libcore/sql/src/main/java/java/sql/SQLOutput.java
libcore/sql/src/main/java/java/sql/SQLPermission.java
libcore/sql/src/main/java/java/sql/SQLWarning.java
libcore/sql/src/main/java/java/sql/Savepoint.java
libcore/sql/src/main/java/java/sql/Statement.java
libcore/sql/src/main/java/java/sql/Struct.java
libcore/sql/src/main/java/java/sql/Time.java
libcore/sql/src/main/java/java/sql/Timestamp.java
libcore/sql/src/main/java/java/sql/Types.java
libcore/sql/src/main/java/javax/sql/ConnectionEvent.java
libcore/sql/src/main/java/javax/sql/ConnectionEventListener.java
libcore/sql/src/main/java/javax/sql/ConnectionPoolDataSource.java
libcore/sql/src/main/java/javax/sql/DataSource.java
libcore/sql/src/main/java/javax/sql/PooledConnection.java
libcore/sql/src/main/java/javax/sql/RowSet.java
libcore/sql/src/main/java/javax/sql/RowSetEvent.java
libcore/sql/src/main/java/javax/sql/RowSetInternal.java
libcore/sql/src/main/java/javax/sql/RowSetListener.java
libcore/sql/src/main/java/javax/sql/RowSetMetaData.java
libcore/sql/src/main/java/javax/sql/RowSetReader.java
libcore/sql/src/main/java/javax/sql/RowSetWriter.java
libcore/sql/src/main/java/javax/sql/rowset/BaseRowSet.java
libcore/sql/src/main/java/javax/sql/rowset/WebRowSet.java
libcore/sql/src/main/java/javax/sql/rowset/serial/SerialClob.java
libcore/sql/src/main/java/javax/sql/rowset/serial/SerialDatalink.java
libcore/sql/src/main/java/javax/sql/rowset/serial/SerialException.java
libcore/sql/src/main/java/javax/sql/rowset/serial/SerialJavaObject.java
libcore/sql/src/main/java/javax/sql/rowset/serial/SerialRef.java
libcore/sql/src/main/java/javax/sql/rowset/serial/SerialStruct.java
libcore/sql/src/main/java/javax/sql/rowset/spi/SyncFactory.java
libcore/sql/src/main/java/javax/sql/rowset/spi/SyncProvider.java
libcore/sql/src/main/java/javax/transaction/xa/XAException.java
libcore/sql/src/main/java/org/apache/harmony/sql/internal/nls/Messages.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/BatchUpdateExceptionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/ConnectionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DataTruncationTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DatabaseMetaDataTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DateTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DriverManagerTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/DriverPropertyInfoTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/ParameterMetaDataTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/ResultSetMetaDataTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/ResultSetTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/SQLExceptionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/SQLPermissionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/SQLWarningTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/StatementTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/TestHelper_ClassLoader.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/TestHelper_DriverManager.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/TimeTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/TimestampTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/TypesTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/sql/ConnectionEventTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/sql/rowset/BaseRowSetTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/sql/rowset/serial/SerialClobTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/sql/rowset/serial/SerialExceptionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/sql/rowset/serial/SerialJavaObjectTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/sql/rowset/serial/SerialRefTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/sql/rowset/serial/SerialStructTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/transaction/InvalidTransactionExceptionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/transaction/TransactionRequiredExceptionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/transaction/TransactionRolledbackExceptionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/transaction/xa/XAExceptionTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/transaction/xa/XAResourceTest.java
libcore/sql/src/test/java/org/apache/harmony/sql/tests/javax/transaction/xa/XidTest.java

commit 8be3b27082122a5c5b650ad5aad6a70b45fd58d4
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 12 09:39:01 2009 -0700

Dalvik SQL

commit 4bed1fc3972b50198299137dc152d46dd9d5d532
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 12 09:38:11 2009 -0700

SQL 802921

commit 82f57ed5049955585aecfae659310b6bde3354d8
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 12 09:36:42 2009 -0700

SQL 527399
2393747b7f70fdfa8e3738a350da049ec90e180f 26-Aug-2009 Bob Lee <crazybob@google.com> Each time we start an SSL session, we have to find the trust anchor. This used to be an O(N) operation. If the trust anchor we're looking for was close to N, finding it could take a couple seconds. This change makes the operation O(1).
b3ac7f1072525e4bad50cab0b9170e4c1e644e95 26-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22370

* changes:
Thumb/Thumb2 instruction selection rework.
c87592fdabc273d8d660c70caf23deea4dad1d15 08-Jul-2009 Barry Hayes <bhayes@google.com> Add a bit-map encoding of Object-reference field offsets to ClassObject.

Class.c populates a new field with a bit for each of the first 32 instance
fields, to show if it is a reference or not, and an escape value if there is a
reference field beyond 32.

The GC uses the encoded bitmap -- if available -- to extract Object refererences
from DataObjects.
d25a0b7170e0c8528e6b0e0812ad88d62becbb7a 26-Aug-2009 Andy McFadden <fadden@android.com> am f7fb0086: Merge change 22659 into eclair

Merge commit 'f7fb00865dd05c32aab5b968fd79ae0ef63e9d6c'

* commit 'f7fb00865dd05c32aab5b968fd79ae0ef63e9d6c':
Another round of scary indirect ref changes.
c099d9d92b9a1fa15307f5a7e2063ccc036b69df 26-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22659 into eclair

* changes:
Another round of scary indirect ref changes.
887d4c83e3e642e2fc91af93e4d7881b56125699 25-Aug-2009 Elliott Hughes <enh@google.com> Fix "whatever".split(".") behavior.

Two special cases in Pattern.split's behavior had been incorrectly combined
into one. Separate the two cases, and add tests. I've run the tests against
Java 1.5 and 1.6 too.

Bug: 1957900
8456678aae68fc7d21e7cf8d238e73983ad1fbf5 14-Aug-2009 Bill Buzbee <buzbee@google.com> Thumb/Thumb2 instruction selection rework.

Change-id: I7428278f07f49e675d0271c58b3cbf1f6a4e9da1
0bfab5168233c24fe695fd974628bc614ad7e232 25-Aug-2009 Andy McFadden <fadden@android.com> Another round of scary indirect ref changes.

This change adds a not-really-working implementation to Jni.c, with
various changes #ifdefed throughout the code. The ifdef is currently
disabled, so the old behavior should continue. Eventually the old
version will be stripped out and the ifdefs removed.

This renames the stack's "localRefTop" field, which nudged a bunch of
code. The name wasn't really right before (it's the *bottom* of the
local references), and it's even less right now. This and one other
mterp-visible constant were changed, which caused some ripples through
mterp and the JIT, but the ifdeffing was limited to one in
asm-constants.h (and the constant is the same both ways, so toggling the
ifdef won't require rebuilding asm sources).

Some comments and arg names in ReferenceTable were updated for the
correct orientation of bottom vs. top.

Some adjustments were made to the JNI code, e.g. dvmCallMethod now needs
to understand if it needs to convert reference arguments from
local/global refs to pointers (it's called from various places
throughout the VM).
b4dca8b4d16e3bfdda4be29b782494f6ee5be055 25-Aug-2009 Jesse Wilson <jessewilson@google.com> am 9b44ccfc: Small changes missed in the original submission of 22482.

Merge commit '9b44ccfc38c2fc2a6cf2c3cc39a13cc5bce635ba'

* commit '9b44ccfc38c2fc2a6cf2c3cc39a13cc5bce635ba':
Small changes missed in the original submission of 22482.
26ca1b3e583039edb9a47bafe266eeaa504f0c37 25-Aug-2009 Jesse Wilson <jessewilson@google.com> Small changes missed in the original submission of 22482.
923c6e260e9798d535a5212ab8e8e08bbae4be6f 25-Aug-2009 Jesse Wilson <jessewilson@google.com> am 35e16314: Merge change 22482 into eclair

Merge commit '35e163146caf81f824641c4560b8e118697fab1b'

* commit '35e163146caf81f824641c4560b8e118697fab1b':
Update java.text to Harmony r802921.
9874591bb3cce0cf20bfcdde22e89e13c32ae953 25-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22482 into eclair

* changes:
Update java.text to Harmony r802921.
ecec80b331e1ad827c36ccd3e1ab625842d95e70 12-Aug-2009 Dan Bornstein <danfuzz@android.com> Be more POSIXly correct in the use of expr.
0d78d343a3edaa00f17ae17df2fc8741316a9cb5 25-Aug-2009 Andy McFadden <fadden@android.com> am 0083d37b: Use local references for native method args.

Merge commit '0083d37b0e1c9e542f671cbca2e9db6819ecccba'

* commit '0083d37b0e1c9e542f671cbca2e9db6819ecccba':
Use local references for native method args.
6369b6609a46a02c0a3d3c0cebd413e1e76a6c45 21-Aug-2009 Andy McFadden <fadden@android.com> Use local references for native method args.

This changes the JNI method call mechanism to register all reference
arguments as local refs, as well as the "this" argument (for virtual
calls) and the class object (for static calls).

Before now we skipped this part, because we're handing raw object
pointers around, and we know that all of the arguments can be found by
the GC on the interpreted stack. In fact, there's no need to add the
arguments for GC-correctness; rather, we need to do this to rewrite the
pointers we hand to native code.

This change impacts JNI method call performance, especially for functions
with a large number of reference arguments. To improve things a little,
there are now four "call bridge" functions:

(1) general handler
(2) synchronized method handler (grabs lock, calls #1)
(3) virtual method, no reference args
(4) static method, no reference args

While booting the system, the virtual/static no-ref handlers are used
for about 70% of calls. Since these don't have to scan the method
signature to look for reference arguments, they're a bit faster.

At this point we're still passing raw pointers around, so nothing should
really change.
e1e58fcccb6f013959533cab8b7bf0a1e37ab078 24-Aug-2009 Jesse Wilson <jessewilson@google.com> Update java.text to Harmony r802921.

Notable changes:
- Replaced some StringBuffers with StringBuilders
- Harmony moved to ICU, we stayed with ResourceBundles
- Harmony now uses ICU's Bidi, we continue to use BidiWrapper
- Fixed DateFormat.readResolve()
- Fixed DecimalFormat serialization for setMaximumIntegerDigits
- Fixed currency to support "XXX" for null
- Support for null in MessageFormat.format()
- Rearranged methods in SimpleDateFormat. Body is the same.
- Fixed tests for Bidi.getRunLimit(). These are new failures.

commit 112ab830475bc1a1fab9c7a16589b5525892e6a0
Merge: 39b03a1 62c2b2e
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Aug 24 14:03:31 2009 -0700

Merge dalvik and Harmony for java.text

Conflicts:
libcore/text/.classpath
libcore/text/META-INF/MANIFEST.MF
libcore/text/build.xml
libcore/text/make/exclude.common
libcore/text/make/run-test.xml
libcore/text/src/main/java/java/text/Annotation.java
libcore/text/src/main/java/java/text/AttributedCharacterIterator.java
libcore/text/src/main/java/java/text/AttributedString.java
libcore/text/src/main/java/java/text/Bidi.java
libcore/text/src/main/java/java/text/BreakIterator.java
libcore/text/src/main/java/java/text/CharacterIterator.java
libcore/text/src/main/java/java/text/ChoiceFormat.java
libcore/text/src/main/java/java/text/CollationElementIterator.java
libcore/text/src/main/java/java/text/CollationKey.java
libcore/text/src/main/java/java/text/Collator.java
libcore/text/src/main/java/java/text/DateFormat.java
libcore/text/src/main/java/java/text/DateFormatSymbols.java
libcore/text/src/main/java/java/text/DecimalFormat.java
libcore/text/src/main/java/java/text/DecimalFormatSymbols.java
libcore/text/src/main/java/java/text/FieldPosition.java
libcore/text/src/main/java/java/text/Format.java
libcore/text/src/main/java/java/text/MessageFormat.java
libcore/text/src/main/java/java/text/NumberFormat.java
libcore/text/src/main/java/java/text/ParseException.java
libcore/text/src/main/java/java/text/ParsePosition.java
libcore/text/src/main/java/java/text/RuleBasedCollator.java
libcore/text/src/main/java/java/text/SimpleDateFormat.java
libcore/text/src/main/java/java/text/StringCharacterIterator.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/AttributedCharacterIteratorAttributeTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/BidiTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/CollationElementIteratorTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/DateFormatSymbolsTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/DateFormatTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatSymbolsTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/DecimalFormatTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/FieldPositionTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/MessageFormatTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/ParsePositionTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/RuleBasedCollatorTest.java
libcore/text/src/test/java/org/apache/harmony/text/tests/java/text/SimpleDateFormatTest.java

commit 39b03a1b2b150d468cc15d8ff8a92a07c9098a5c
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 19 17:00:36 2009 -0700

text_dalvik

commit 62c2b2e932da51858998820fe2558631999c1241
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 19 17:00:23 2009 -0700

text_802921

commit 2da8bc3457b9db827d96652e2bf159b7d5040ad1
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Aug 19 17:00:08 2009 -0700

text_527399
b54af886dab9149af9665e4702d556575dceea37 24-Aug-2009 Android Code Review <code-review@android.com> Merge change 10758

* changes:
Fix broken link in docstring. issue 1194
6060129c1395d3ef87fbf94ba31b29217970d3cb 22-Aug-2009 Ben Cheng <bccheng@google.com> Fix jeffhao's build breakage by not including unnecessary header files.
3211cc4da7981c7f1fd91dcc37aede6c9a54c659 13-Aug-2009 Jeff Hao <jeffhao@google.com> New changes to enable self verification mode.
4cff4ceb98a48f9d319139610ebbcb3818fdea36 21-Aug-2009 Andy McFadden <fadden@android.com> am 48a96f51: Set os.arch property from uname().machine.

Merge commit '48a96f5133f33adaadbc0187503a35f03f1348ac'

* commit '48a96f5133f33adaadbc0187503a35f03f1348ac':
Set os.arch property from uname().machine.
17d91811672f042125af5991b4c8252dcc3c7f36 21-Aug-2009 Andy McFadden <fadden@android.com> Set os.arch property from uname().machine.

Not sure why we didn't just do this in the first place. I get "x86_64"
on desktop and "armv6l" on a sapphire.
99fa4e42f0dd0a1a7b781d7ca01da1ba0f93a9c1 21-Aug-2009 Andy McFadden <fadden@android.com> am c26bb63b: Move array pinning out of global references table.

Merge commit 'c26bb63b50c7a855d25b396b1bf23a3aa6929b48'

* commit 'c26bb63b50c7a855d25b396b1bf23a3aa6929b48':
Move array pinning out of global references table.
af5d7824e76dbc3cd48b832b804a975f4918e9e8 21-Aug-2009 Andy McFadden <fadden@android.com> Move array pinning out of global references table.

We have to pin primitive arrays for certain JNI operations (it's that or
return a copy of the contents). We don't move objects around in the
virtual heap, so simply creating a global reference is enough to ensure
the correct behavior of the calls.

The global reference implementation is changing in a way that makes
this approach inconvenient, so we now have a separate table for pinned
primitive arrays.

As a bonus, if GREF tracking is enabled, we will scan through the table
when a pin entry is added. If there are 10 or more entries for the same
array, a complaint is logged. This should allow us to find mismatched
Get/Release sequences much more easily (before you had to wait until the
global reference table exploded).

We currently scan pin table entries at the same time as the JNI global
references, so they'll still show up in hprof dumps as such. (Could
also add a new Android-specific hprof root category, but that seems like
more trouble than it's worth.)
3d0820ffedff72e7a7195d534684d01ed9a8e9ae 21-Aug-2009 Andy McFadden <fadden@android.com> am ecd31154: Merge change 22183 into eclair

Merge commit 'ecd3115415793a6d39d3092bbba569bad77eb765'

* commit 'ecd3115415793a6d39d3092bbba569bad77eb765':
Progress toward indirect JNI references.
4ebfa09691fd75d6f0f87fcdc7753c2e1436409e 21-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22183 into eclair

* changes:
Progress toward indirect JNI references.
af9b06e5f2c7cb18730aeb6a21b600c64de838a5 21-Aug-2009 Bob Lee <crazybob@google.com> am 79941ae1: am 2b2e488b: Exposed default trust manager.

Merge commit '79941ae140b99de2676ce00c368c82cffbbb248b'

* commit '79941ae140b99de2676ce00c368c82cffbbb248b':
Exposed default trust manager.
e578183808144c668e2aa2b8f062c8edd738e3e0 21-Aug-2009 Bob Lee <crazybob@google.com> am 2b2e488b: Exposed default trust manager.

Merge commit '2b2e488b25922b0b34094305cac084073ffbd03c' into eclair

* commit '2b2e488b25922b0b34094305cac084073ffbd03c':
Exposed default trust manager.
a6f78670ffdc48e7cbd74d3309e6c77f714e5c51 21-Aug-2009 Bob Lee <crazybob@google.com> Exposed default trust manager.
973b7490a02f378b934484352f715340816847e3 19-Aug-2009 Andy McFadden <fadden@android.com> Progress toward indirect JNI references.

Switch from simple typecasts to conversion functions for the objects
passed in and out of JNI calls. No real change here; object references
are still just pointers.

Use explicit pin/unpin calls for primitive arrays. For GetStringChars
we now pin the char[] rather than the String object. (Which doesn't
make much difference in the grand scheme of things, since you need to
keep the String to pass into the release function anyway.)
869d623c04fcabf12a3e4bae93ff0a02d4d9f27e 21-Aug-2009 Andy McFadden <fadden@android.com> am 6070dfcb: Merge change 22152 into eclair

Merge commit '6070dfcb6b216bd338874d7626aeb4c4ce93ea8e'

* commit '6070dfcb6b216bd338874d7626aeb4c4ce93ea8e':
Fix a couple of compiler warnings.
7f4a7502dd2cd9420dd2884b2e90068833906287 21-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22152 into eclair

* changes:
Fix a couple of compiler warnings.
a279f1d40fb2fc2ef813d0d0c55e859daed88cdd 21-Aug-2009 Andy McFadden <fadden@android.com> Fix a couple of compiler warnings.
7e07711b189898263659fb3c07c5ccf940df9b3b 19-Aug-2009 Andy McFadden <fadden@android.com> am a537230a: Merge change 21907 into eclair

Merge commit 'a537230a989cd58570cdb5ebf0f75346fe79515b'

* commit 'a537230a989cd58570cdb5ebf0f75346fe79515b':
Update storage size after expansion.
d314ba78a5b5a069fa3f202acf6bf76d5dd23969 19-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21907 into eclair

* changes:
Update storage size after expansion.
4f3c659b669acd5c4392ceba46d0c39eb6320c72 19-Aug-2009 Jesse Wilson <jessewilson@google.com> am d1588bba: Merge change 21833 into eclair

Merge commit 'd1588bba601a319e6b6b99e797686b203822e8a6'

* commit 'd1588bba601a319e6b6b99e797686b203822e8a6':
Fixing Unsafe.getUnsafe() to look up the stack the correct number of frames.
4c3956757b5768546efca88c0f5024a0207d5b5c 19-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21833 into eclair

* changes:
Fixing Unsafe.getUnsafe() to look up the stack the correct number of frames.
045c0cb0966950444b573dc4d01876e81b47a15c 19-Aug-2009 Andy McFadden <fadden@android.com> Update storage size after expansion.

We allow expansion in dvmSetBit(), but failed to update the capacity
after doing so.
93f0e93f7f68175da52ad5b342a4de5ebd4d6e43 19-Aug-2009 Lorenzo Colitti <lorenzo@google.com> am fe79541b: Enable IPv6.

Merge commit 'fe79541b5cc5a490dd3a5b2e68f884fdfad4ca76'

* commit 'fe79541b5cc5a490dd3a5b2e68f884fdfad4ca76':
Enable IPv6.
5e8ce451406bc6396ba041587ffcd4a08785107a 19-Aug-2009 Jesse Wilson <jessewilson@google.com> Fixing Unsafe.getUnsafe() to look up the stack the correct number of frames.

Also tests for Unsafe.getUnsafe() and all the requisite AllTests files
to make that show up in the continuous build.
9545e510c462de8614613cf182012d150d88c4a1 19-Aug-2009 Andy McFadden <fadden@android.com> am 64520c8c: Merge change 21796 into eclair

Merge commit '64520c8c453b03190e33818306ffed3041133ea3'

* commit '64520c8c453b03190e33818306ffed3041133ea3':
Turn down RegisterMap paranoia.
b2d5d8974a0b929aa9cf3e2010ba287c1a9d67ce 19-Aug-2009 Andy McFadden <fadden@android.com> am 03bd0d5b: Minor tweaks to JNI logging.

Merge commit '03bd0d5b9b9d769e6e5245274204fbfd470de7f0'

* commit '03bd0d5b9b9d769e6e5245274204fbfd470de7f0':
Minor tweaks to JNI logging.
ff0ab7ba314f7fcab834a518c6c9f71920e1641e 19-Aug-2009 Lorenzo Colitti <lorenzo@google.com> Enable IPv6.

If the system has IPv6 connectivity, query the DNS for IPv6 addresses as well
as IPv4 addresses. If IPv6 addresses are returned, prefer them by default.

Impact of this change:

- If the device is on a network with IPv6 configured, is using wifi, and has
obtained an IPv6 address using autoconfiguration, the network stack will
request IPv6 addresses as well as IPv4 addresses when making DNS queries. This
allows the device to connect to websites and services that declare themselves
to be reachable over IPv6. If an IPv6 connection fails, the stack will fall
back to IPv4. This is what Windows Vista, Mac OS 10.4 and above, and most
Linux distributions do by default.
- If the device is not on a network that supports IPv6, or is using 3G/EVDO,
nothing will change.

I have been testing this change on self-compiled builds of master and eclair on
Dream and Sholes for several weeks with no breakage that I can see.
c3a10e0165b58fa62a7fd53263504bc49fc0693a 19-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21796 into eclair

* changes:
Turn down RegisterMap paranoia.
2f31bcc36a331a77f209efe447aa8c78258c9019 19-Aug-2009 Andy McFadden <fadden@android.com> Minor tweaks to JNI logging.

Reduced a LOGI to LOGD, normalized format, added a similar message for a
field ID lookup that was failing (due to a bad flash, as it turns out).
2cdf362eb739031c69e473cb1ea67998121b970c 19-Aug-2009 Andy McFadden <fadden@android.com> Turn down RegisterMap paranoia.

This disables verification of RegisterMap contents and compressed
output, as well as a GC-time check that double-checked the validity of a
register known to hold a reference.

For internal bug 1896437.
6fe0d7716a836064a7f9606b32cf829a9e0b6a6a 18-Aug-2009 Brett Chabot <brettchabot@google.com> am d12092a5: am affecd77: Cleanup CTS core failing tests.

Merge commit 'd12092a5b23c40a92ef51a46c3aa273af52587a3'

* commit 'd12092a5b23c40a92ef51a46c3aa273af52587a3':
Cleanup CTS core failing tests.
aced345322282258142aeec267b0bc9f51d43488 18-Aug-2009 Brett Chabot <brettchabot@google.com> am affecd77: Cleanup CTS core failing tests.

Merge commit 'affecd7714e14fabff011ad61d436df3698bf7eb' into eclair

* commit 'affecd7714e14fabff011ad61d436df3698bf7eb':
Cleanup CTS core failing tests.
06e9b4f8229428bb7843994f693dd515b786c422 14-Aug-2009 Brett Chabot <brettchabot@google.com> Cleanup CTS core failing tests.

BUG 2053939
07d13f714497ed3c3302ef240caadf620d0a5f71 14-Aug-2009 Ben Cheng <bccheng@google.com> Enable VM assert properly for JIT and fix new compilation/assertion failures.
3fa126dddd0b15172ca8f118bb194ea99c1c821a 11-Aug-2009 Bill Buzbee <buzbee@google.com> Continuing evolution of Thumb2 support.
Bug fix for local optimization
Enable partial floating point store sinking (with significant perf gain!)
0affa6bf6a06efc75935f07255aa9aba43122b4e 12-Aug-2009 Dan Bornstein <danfuzz@android.com> Be more POSIXly correct in the use of expr.
d3708e9bce38673ed0642ba24336068331982bdb 11-Aug-2009 Jesse Wilson <jessewilson@google.com> Update Luni to Harmony r802921.

Notable changes:
- replaced StringBuffer with StringBuilder in several places
- fixed a problem with BufferedInputStream's newline characters (EBCDIC)
- cleanup Timer's finalizer helper object
- new cache for the canonical path of a file
- fixed concurrency issue with ArrayList
- floating point parsing now trims length for very small numbers
- encoding specified "UTF-8" when converting some byte[]s to strings (JarURLConnection, Util, OSFileSystem)
- Harmony now implements floor and ceil in Java. We continue to use native code.
acf9e8aed1e6c376a7a31f541a99897dcc22d5d5 11-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8107

* changes:
First parts of enabling a host Dalvik build.
10819858aa76cef242e081001afa49960a5af383 22-Jul-2009 Dan Bornstein <danfuzz@android.com> First parts of enabling a host Dalvik build.

Most of this is just factoring out common make defs to include both on
the host and device side, though there is a little bit of code change
to be slightly POSIX friendlier and to avoid unnecessary sanity checks
when compiling without an asm version of the interpreter.

This patch should cause no difference in build results, except if you
turn on the newly-defined WITH_HOST_DALVIK build flag. If you do turn
it on, at this point you should probably expect the build to fail due
to insufficient dependencies, which I of course expect to address in
upcoming patches.
be69da9210ab218ddd444c0e85389fb6439819be 10-Aug-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
9e49459c9f49bf9421d7b08b47e0218954a03f72 20-May-2009 Barry Hayes <bhayes@google.com> Change strategy for freeing objects in the sweep.

dlfree() in dlmalloc.c is fairly expensive. It checks the previous and
next block to see if the curent block can be merged into one of the
free blocks, and if it does merge, that involves manipulating the
internal free lists.

The sweep phase of the GC is already visiting free objects in address
order, and has a list of objects to be freed. The new strategy is:

Loop over the list of objects to be freed, merging when possible, and
only calling free() when a either the list has run out or a
non-adjacent free object is found.
9ecacc0a7e22e2f2ac73933ca40dbb9a268c3599 07-Aug-2009 Andy McFadden <fadden@android.com> Increase priority of unresponsive threads.

The VM uses a safe-pointing thread suspension mechanism, which currently
means that the GC can't do its work until the various threads enter a
non-running state. This can be a problem if a low-priority thread was
scheduled out and other processes in the system are running flat out.

This changes the "spin on suspend" mechanism to increase the priority of
unresponsive threads. Currently we just boost the "nice" value, since
that seems to be enough to do the trick in my tests, but we may have to
shift the cgroup around as well (assuming other recent changes don't
simply render this unnecessary).
dd91212cd621b04dc7287c403f4c530cf3485875 07-Aug-2009 Andy McFadden <fadden@android.com> Read thread priority as an int, not a boolean.

We were using the wrong field get function. After our change to
stdbool.h, the thread priority was always 0 or 1.
dbaaf104ecef85652664cebd58c34f71cfd86950 07-Aug-2009 Andy McFadden <fadden@android.com> Correct the type of a pointer.

Should've been part of change 20178.
c54d8afed75351f2d954b67b81e84a5211e99a02 07-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20378

* changes:
Suspend daemon threads before exiting.
92aaf712649da43e7bf2cdfbcdedf49ed5fd8407 07-Aug-2009 Andy McFadden <fadden@android.com> Suspend daemon threads before exiting.

The VM wasn't dealing with daemon threads very well, allowing them to
run unchecked while the city burned around them. Now we carefully
suspend them before shutdown is allowed to continue.
21f1ad886d7a7437e2c982274a16ed8bf6f8fc0d 06-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8538

* changes:
A sampling profiler for Dalvik.
8609d89300a120b79ba4999f7820d0cc396ff1d5 31-Jul-2009 Bob Lee <crazybob@google.com> A sampling profiler for Dalvik.
03168146266087b419c59ccb6ef8b09a7be9b0dc 06-Aug-2009 Andy McFadden <fadden@android.com> Switch to <stdbool.h> in the VM.

We were using an enum that made the compiler unhappy on MacOS X. This
switches us to using <stdbool.h> when it's available.

The size of a "bool" is either sizeof(_Bool) or sizeof(enum bool), and
the assembly sources dislike ambiguity, so this also changes
gDvm.debuggerActive to always be a single byte. The ARM and x86 code
was already assuming that -- held over from when enums were
variable-width, and never fixed because we get the right answer on
little-endian platforms -- so it doesn't look like we need to change
anything in mterp.
a1db498cdd490e5478a6e1e2dcde706e727912b9 05-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9641

* changes:
Added thread profile to dmtracedump output
2d5820bdca9fe876d355a3bf8bd3e8894a4fa36a 05-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20002

* changes:
Updating math to Harmony r772995.
8cb2a142dfea8e63f304e4b342dca17ed010d5b1 05-Aug-2009 Andy McFadden <fadden@android.com> Regenerate mterp.

Whoops! Should've been part of d33b0c3fbd81ae96c5d5c034030d62caac33c310.
c78960c65777f00cbd932fab15423a88246bdc67 05-Aug-2009 Andy McFadden <fadden@android.com> Don't assert that all threads have stopped.

If assertions were enabled and we had a daemon thread running, the VM
would fail on exit.
7e5232e8a3e002bf7115ea73358df8e46934c9ce 05-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20020

* changes:
Improvements to cgroup stuff.
4801850358ddd6247ef27be1db50bb6c3003f8a4 04-Aug-2009 Rodrigo Ipince <ipince@google.com> Added thread profile to dmtracedump output

The thread profile lists all the running threads, sorted by elapsed time.
b1c21b8093d139cf4bb7f38b7ae8c73658edacd6 05-Aug-2009 Andy McFadden <fadden@android.com> Improvements to cgroup stuff.

When a thread is created or changes priority via Thread.setPriority(),
the cgroup value was being set incorrectly -- the code was comparing
the priority vs. the "nice" values we use in the rest of Android.
This was preventing threads from being moved into the background group
when first created. (It's not clear whether this matters in most cases,
since the system appears to move threads in and out of the background
cgroup without regard to their "nice" value in Process.setProcessGroup.)

The code that changed the cgroup wasn't really checking the return
value, though this is only meaningful if the verbose error logging is
compiled in.

The above have been fixed, and in addition the thread dump now displays
the cgroup value next to the other priority information.
f36b9be72faf2368f61de7ce0ffc3b610a3f2a2c 04-Aug-2009 Jesse Wilson <jessewilson@google.com> Updating math to Harmony r772995.

Notable changes:
- lots of trailing whitespace and "@since Android 1.0" tags removed
- shiftLeft(1) replaced with shiftLeftOneBit(). That case can be optimized
more aggressively than the general case. The new method exists in BigInteger
and calls through to a new method in BitLevel in the same way as Harmony.

This is a squashed commit of the following:

commit 3f071487bdb8fff0b4a71ce0219ee7e1e16369fb
Merge: 4fda354 10640b6
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue Aug 4 12:02:25 2009 -0700

Merge branch 'math_772995' into math_dalvik

Conflicts:
libcore/math/.classpath
libcore/math/build.xml
libcore/math/src/main/java/java/math/BigDecimal.java
libcore/math/src/main/java/java/math/BigInteger.java
libcore/math/src/main/java/java/math/Division.java
libcore/math/src/main/java/java/math/Elementary.java
libcore/math/src/main/java/java/math/Logical.java
libcore/math/src/main/java/java/math/MathContext.java
libcore/math/src/main/java/java/math/Multiplication.java
libcore/math/src/main/java/java/math/Primality.java
libcore/math/src/main/java/java/math/RoundingMode.java
libcore/math/src/test/java/tests/api/java/math/BigDecimalTest.java
libcore/math/src/test/java/tests/api/java/math/BigIntegerTest.java

commit 4fda354bd7d2c0ee918c86fa89852310cc8f2af7
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Jul 29 17:12:27 2009 -0700

Dalvik Math

commit 10640b6b254200f1c89553072e50137f6ad46c84
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Jul 29 17:11:07 2009 -0700

Math 772995

commit 15302f6d09b3547f1018e3d228f233f8f72c7de9
Author: Jesse Wilson <jessewilson@google.com>
Date: Wed Jul 29 17:08:19 2009 -0700

Math 527399
1255f8bf2727ef64ac6e7cb4e0f0726a556b2f18 04-Aug-2009 Andy McFadden <fadden@android.com> Throw an exception instead of aborting in DexFile.

If presented with an invalid DexFile cookie -- perhaps because somebody
called DexFile.close() twice -- the VM would unceremoniously abort.
This was reported as a bug (external #2443). We now throw a simple
exception.

For internal bug 1794406.
a7dcd44acb15a562d836025b4451443208e6b8ea 29-Jul-2009 Lorenzo Colitti <lorenzo@google.com> Try to connect to all the IP addresses of a host instead of just the first.
03c10156211fa325c16930bb169274e0089d5cb0 03-Aug-2009 Jean-Baptiste Queru <jbq@google.com> merge from donut
25bc2667a330758c471db5229b6c12f84ee4e18d 01-Aug-2009 Bill Buzbee <buzbee@google.com> Fixed 2 floating point bugs; improved debug output; armv7-a thumb2 inline sqrt
a94868d52c8bc7518de5c0cd5bb4431ea86c75a0 01-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9395

* changes:
Stage 3 of Thumb2 support. armv7-a now generates vfp code inline.
a460229e547a76b3c2daeedb9f0925c7d2b813c6 30-Jul-2009 Bill Buzbee <buzbee@google.com> Stage 3 of Thumb2 support. armv7-a now generates vfp code inline.
dcb7d421a7c7620473f6fc63de08c1732c776a2f 01-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9414

* changes:
Fix a LOGVV.
c19b891cbc4b8c22151e4b5273a302769c16b26b 01-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9384

* changes:
Added VMDebug.crash() (hidden).
05348115ee1ea6bc3b50ccd46ddaf6d15d969251 01-Aug-2009 Andy McFadden <fadden@android.com> Fix a LOGVV.

Somebody on android-porting stumbled over this.
c5bd114585718997930a2c5f6e855ee875232245 31-Jul-2009 Andy McFadden <fadden@android.com> Added VMDebug.crash() (hidden).

This call prints the stack trace for the current thread, and then
crashes the VM so you can see the native stack trace too. Useful for
figuring out "how did I get here?" situations.
bc5b09250949601f1a2289fe704c0569580f1be4 17-Jul-2009 Andy McFadden <fadden@android.com> Indirect reference table implementation.

This change introduces the "indirect" reference table, which will be
replacing ReferenceTable for local and global JNI references. The key
difference is that, instead of handing raw Object pointers to JNI, we
will be giving them a magic value that can be converted back to an
Object. The goal is to avoid having to pin every object that native
code is aware of.

The code is not actually used anywhere yet.

Also bundled up here:
- added detail to a log message
- fixed a string format issue in the internal assert() definition
- very minor optimization in "remove" function in ReferenceTable
- quiet a gcc complaint
- only include the hash table regression test in builds that invoke it
0bf6f9f634c31d985d5799acfa90fdfd1c9bb0ea 30-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8953

* changes:
Store all IP addresses for a hostname instead of just one.
fa3cee58382acd505a2ecf81f32acbffb7134b2c 29-Jul-2009 Lorenzo Colitti <lorenzo@google.com> Store all IP addresses for a hostname instead of just one.
99b84ec4f8e6791eca4b4ce5b13af3feebc05ea9 30-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9190

* changes:
Minor tweak (TEQS -> TEQ).
49e9671abe1bfa1c7137984289f35eeeba8d0993 30-Jul-2009 Andy McFadden <fadden@android.com> Minor tweak (TEQS -> TEQ).

Avoids "Warning: s suffix on comparison instruction is deprecated".
9c3507217bc58ce10b36ce0758b910a6f6ec147d 30-Jul-2009 Jesse Wilson <jessewilson@google.com> am bd79e449: Fix an issue where we\'re adding 4x the intended offset.

Merge commit 'bd79e4498465381117f2cbc6399a256061f1d144'

* commit 'bd79e4498465381117f2cbc6399a256061f1d144':
Fix an issue where we're adding 4x the intended offset.
804b436f3797f9b595432c54612fd998e8f44141 30-Jul-2009 Urs Grob <ursg@google.com> am 29326482: Removing MD2

Merge commit '2932648271e72bad181b293e1fa5945265c7dbed'

* commit '2932648271e72bad181b293e1fa5945265c7dbed':
Removing MD2
8ec3f300fe10f3cbcf5d183716c2643d5e2f6250 30-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9042

* changes:
Update bytecode verifier info.
624afad487da31d1ea58a59e5ccc18b941cc57a5 30-Jul-2009 Andy McFadden <fadden@android.com> Update bytecode verifier info.

Rewrote last section to describe deferred verification error reporting.
Added note about structured locking checks.
caf1cb52f7b5b658e4691d1d33f5eaca95b2bb82 29-Jul-2009 Jesse Wilson <jessewilson@google.com> Fix an issue where we're adding 4x the intended offset.

We were doing pointer arithmetic of mixed types (jint* and jint),
and the type conversion ended up causing the offset to be converted
an extra time.
825f6b00729736e31c5342e129d3d9b204ab508f 29-Jul-2009 Jean-Baptiste Queru <jbq@google.com> merge from donut
f9bd1bdab2a134293df79aae6eeea434fe040b3b 29-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9014

* changes:
Fixing some broken links in the concurrent Javadoc.
64504770780813e3c90ee3b3ee932872bb9518a8 29-Jul-2009 Jesse Wilson <jessewilson@google.com> Fixing some broken links in the concurrent Javadoc.

There's a bug in droiddoc where links to methods with generic parameters
don't resolve correctly. I'll open a buganizer issue for this; in the
interim I've simply dropped the parameters for the offending links.
0824dd23e1e3e1f296348f402fd1088cd6739893 29-Jul-2009 Jesse Wilson <jessewilson@google.com> Fixing Executors to use raw types, which is what RI v5 does.

Also fixing VMStack to hide the new API method.
d3f77bf910080b5ef62a74cfedabf86085612106 29-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8903

* changes:
Update concurrent module to Harmony r798021.
c2b4e8c88991096af361b99c34888e205f73b117 22-Jul-2009 Urs Grob <ursg@google.com> Removing MD2
59ade289dcbafadae1cfba7db428c0bc2c683dd1 29-Jul-2009 Jesse Wilson <jessewilson@google.com> Update concurrent module to Harmony r798021.

commit 56bcdc2a3b881883409267c3bd16294d80716859
Merge: 903691a f429dca
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Jul 27 17:33:19 2009 -0700

Merge branch 'concurrent_798021' into concurrent_dalvik

Conflicts:
libcore/concurrent/.classpath
libcore/concurrent/build.xml
libcore/concurrent/make/run-test.xml
libcore/concurrent/src/main/java/java/util/concurrent/ArrayBlockingQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/BlockingQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/ConcurrentHashMap.java
libcore/concurrent/src/main/java/java/util/concurrent/ConcurrentLinkedQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/ConcurrentMap.java
libcore/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArrayList.java
libcore/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArraySet.java
libcore/concurrent/src/main/java/java/util/concurrent/DelayQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/LinkedBlockingQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/PriorityBlockingQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/ScheduledThreadPoolExecutor.java
libcore/concurrent/src/main/java/java/util/concurrent/Semaphore.java
libcore/concurrent/src/main/java/java/util/concurrent/SynchronousQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/ThreadPoolExecutor.java
libcore/concurrent/src/main/java/java/util/concurrent/TimeUnit.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicBoolean.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicInteger.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicIntegerArray.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicLong.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicLongArray.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicLongFieldUpdater.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicReference.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicReferenceArray.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/package.html
libcore/concurrent/src/main/java/java/util/concurrent/locks/AbstractQueuedSynchronizer.java
libcore/concurrent/src/main/java/java/util/concurrent/locks/LockSupport.java
libcore/concurrent/src/main/java/java/util/concurrent/locks/ReentrantReadWriteLock.java
libcore/concurrent/src/main/java/java/util/concurrent/locks/package.html
libcore/concurrent/src/main/java/java/util/concurrent/package.html
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/AtomicLongFieldUpdaterTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/AtomicReferenceFieldUpdaterTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/AtomicReferenceTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/ConcurrentHashMapTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/DelayQueueTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/ExecutorsTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/JSR166TestCase.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/LinkedBlockingQueueTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/LockSupportTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/ReentrantLockTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/ReentrantReadWriteLockTest.java

commit 903691ae71cff640d5487a3d34a20e8767dbfb66
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Jul 27 16:09:58 2009 -0700

Dalvik Concurrent

commit f429dca21c408ee62e688f60d5e110718374e944
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Jul 27 16:08:25 2009 -0700

Concurrent 798021

commit b2c76fdd1056113000140bc4af57300c87469d2d
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Jul 27 16:03:45 2009 -0700

Concurrent 527399
f6e55d089a1faf6427f64fd7f6b0416e7c2250f6 29-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8867

* changes:
Fix for 1857865: Need x86 implementation for OP_THROW_VERIFICATION_ERROR
1fd7d7c7f85828ac6f45246af71e2fe4b04dc371 29-Jul-2009 Bill Buzbee <buzbee@google.com> Fix for 1857865: Need x86 implementation for OP_THROW_VERIFICATION_ERROR
ee457f118b92865f2cd634b02ba9d2d819cb0a36 28-Jul-2009 Bill Buzbee <buzbee@google.com> Prevent OP_INVOKE_DIRECT_EMPTY from terminating a trace
36793a1c8fdcbb2d7f55138f19807d4d86484b90 28-Jul-2009 Bill Buzbee <buzbee@google.com> Stage 2 of structural changes for support of THUMB2. No logic changes.
f9218f9281669f7ba294d3dc30637df5d77a2fd5 28-Jul-2009 Bill Buzbee <buzbee@google.com> Fix for 3326: Incorrect return value from native library in dalvik
Really a workaround for a gcc bug in 4.3. Don't trust the C compiler
to properly clear high bits from < 32-bit JNI return values.
7055a6e4c859b03d08c4178589a1c5c525daba46 28-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5582

* changes:
Integrate luni module (but not tests) to Harmony r772995.
addaccad1c92ad057f49c2f705c647a610d130b3 28-Jul-2009 Ben Cheng <bccheng@android.com> Fix a JIT bug where invoke-direct-empty is the last instruction in the trace.
1c50dcaed6582d02aa557a915d42b13379b58730 28-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8665

* changes:
First phase of restructuring to support THUMB2 & ARM traces Store some useful info about traces in JitTable entry; some general cleanup
58de646cd3d46456b40378d087525be24e8d0816 28-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8707

* changes:
Fix mangling to translate dollar signs.
9ac0085eac2512dc5571a99dccd638ba1cc6f62e 19-Jul-2009 Brian McKenna <puffnfresh@gmail.com> Fix mangling to translate dollar signs.

(Manually pulled from external change 10724.)
604f1ad009ccc2e97f88e303ae49ebabc57474c9 23-Jul-2009 Bill Buzbee <buzbee@google.com> First phase of restructuring to support THUMB2 & ARM traces
Store some useful info about traces in JitTable entry; some general cleanup
b2208de981390675b30d1ff8a20b2dc169869b92 27-Jul-2009 Andy McFadden <fadden@android.com> Added dvmLinearAllocContains().
2603bcad5d9bacd63414f7388d0baf1368b2f635 26-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge korg/donut into korg/master

Conflicts:

libcore/luni/src/main/java/org/apache/harmony/luni/platform/PlatformAddressFactory.java
vm/oo/Class.c
f100668c4e16a8bd56bd17d5165aa99bec8c2ed0 25-Jul-2009 Andy McFadden <fadden@android.com> am 8e696dc0: JNI direct buffer function speedup, part 3.

Merge commit '8e696dc0271299433cb3297e7aafc7bd0ee1b2b7'

* commit '8e696dc0271299433cb3297e7aafc7bd0ee1b2b7':
JNI direct buffer function speedup, part 3.
3bf58cc6cc7a58174ba8bc6993ba873bfd6bc98d 25-Jul-2009 Andy McFadden <fadden@android.com> am 8e5c7847: JNI direct buffer function speedup, part 2.

Merge commit '8e5c78470229fd2f5474574081eaa4a2286aafea'

* commit '8e5c78470229fd2f5474574081eaa4a2286aafea':
JNI direct buffer function speedup, part 2.
ddd03b1c35dd0f60bb08ef11d5f3adab336e794e 25-Jul-2009 Jesse Wilson <jessewilson@google.com> Integrate luni module (but not tests) to Harmony r772995.

Notable changes
- Stripped "@since Android 1.0" from many files. Most files
are now 100% the same in Dalvik and Harmony.
- AbstractStringBuilder.reverse() supports surrogates
- AbstractStringBuilder shares less to waste less memory
- Bitset optimized
- BufferedInputStream changed to support unsynchronized close()
- BufferedOutputStream does flushInternal
- BufferedReader supports EBCDIC NEL
- Collections.synchronizedList().indexOf() does a copy for more concurrency
- Classes in nio module changed: DatagramChannelImpl, SocketChannelImpl
and ServerSocketChannelImpl (these depend on internal APIs changed in
this update)
- DataInputStream/DataOutputStream now use a small buffer to limit the
number of times the underlying stream is accessed
- Date now has a minutes offset, more efficient toString()
- ExposedByteArrayInputStream: new internal class
- DeleteOnExit moved to top-level class
- FileDescriptor.isValid() now non-native
- Float, Double lessThan optimized (fix for compare(-0.0F, 0.0F) still pending)
- FileURLConnection now guesses content types from streams
- HashMap iterator changes
- Hashtable iterator changes
- INetworkSystem
- removes bind2(), createMulticastSocket, sendStream(),
- renames createSocket to createStreamSocket
- JarURLConnection rewritten
- LinkedHashMap: new iterator
- Locale, Currency, TimeZone: now use ICU in Harmony, plain Java in Dalvik
- ObjectInputStream: Accessor objects in Harmony, direct native in Dalvik
- ProxyClassFile - many changes
- String - optimized ascii for toLowerCase, toUpperCase, compare
- Timer - rewritten
- TreeMap - rewritten
- URLClassLoader - new
- URLConnection - new guessContentTypeFromStream(), uses org.apache.harmony.awt.www.content
to lookup content type handlers
998e3a11c506dd0765658b260c087f939bb074f8 25-Jul-2009 Andy McFadden <fadden@android.com> JNI direct buffer function speedup, part 3.

This caches the effective address in a new field in the base Buffer
object. The first time something calls through one of the various
getEffectiveAddress calls, the value is set. (This seemed easier than
chasing down the constructors and factories, and also prevents bit rot
on the "slow path" in the VM.)
bc77a0c1d47ed2ff2f390df6586c982d96c18360 24-Jul-2009 Andy McFadden <fadden@android.com> JNI direct buffer function speedup, part 2.

This converts the three direct buffer functions from JNI to internal VM
calls. As a bonus, we grab PlatformAddress.osaddr directly instead of
retrieving it with PlatformAddress.toLong().

We're still calling through getEffectiveAddress(), which is where most
of the complexity lies.

Nudged a couple of comments.
06909b80e41e5b3f7d555527a487c5779fcebb57 24-Jul-2009 Joe LaPenna <joe@joelapenna.com> Fix broken link in docstring. issue 1194
abfb4bea71fa1ac101939282f9ac1cc9ff51e5d0 23-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 828311c1: Merge change 8258 into donut

Merge commit '828311c1293ba533065895cc375abb143e14b69a'

* commit '828311c1293ba533065895cc375abb143e14b69a':
Minor fixes to CheckJNI.
ee2e30fe6a7255e2abc91ebcf4eb322c7fedc07a 23-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8258 into donut

* changes:
Minor fixes to CheckJNI.
ef7bb0cbce277cef77ca54a63a36c6ac7e9daccd 23-Jul-2009 Andy McFadden <fadden@android.com> am 5f612b82: JNI direct buffer function speedup, part 1.

Merge commit '5f612b82bbc2fcfb13865acd3c3835febab23466'

* commit '5f612b82bbc2fcfb13865acd3c3835febab23466':
JNI direct buffer function speedup, part 1.
713f176ed0e5e4b5229fd8253207a09f3a3c0301 23-Jul-2009 Andy McFadden <fadden@android.com> Minor fixes to CheckJNI.

We weren't always switching to "running" mode before playing with
objects. Now checkObject() always changes modes, and things that called
checkObject while in "running" mode now do so after switching back to
"native" (which shouldn't matter now, but I don't want to require nested
switching to work if I don't have to).

Vaguely related to internal bug 1943379, since I think we want to do
some updates to CheckJNI there.
9f8352b8d3efca0e453a7e9c282d9c0af5209cff 23-Jul-2009 Andy McFadden <fadden@android.com> JNI direct buffer function speedup, part 1.

This is a fairly straightforward improvement to GetDirectBufferAddress,
caching classes and methodIDs instead of looking them up on every call.
This is the best we can do without making the function more vulnerable
to internal changes to Harmony's NIO implementation.

It looks like we need to take this farther, but this way we have a
relatively fast and relatively safe version to fall back on.

For internal bug 1943379.
8281d92ab812c18a54d6b59dfad77415618af131 22-Jul-2009 Bill Buzbee <buzbee@google.com> Add armv7-a target to jit. Mostly a placeholder, another restructuring to come
c311cf4906d73560bfc19749b120a8fa065d7632 21-Jul-2009 Ben Cheng <bccheng@android.com> Remove unused label.
8c9add1a126361c78c34d7d3cfc0433065280275 21-Jul-2009 Ben Cheng <bccheng@android.com> Associate Java source code line number with JIT traces.

Sample output:

D/dalvikvm( 400): TRACEPROFILE 0x426d945c 5192426 [0x4(+32), 810] Lcom/android/unit_tests/PerformanceTests$AddMemberVariableTest;testRun;()V
D/dalvikvm( 400): TRACEPROFILE 0x426d955c 263 [0x2(+1), 809] (omitted)
D/dalvikvm( 400): TRACEPROFILE 0x426d9640 0 [0x53(+1), 344] (omitted)
D/dalvikvm( 400): TRACEPROFILE 0x426d960c 0 [0x72(+1), 271] (omitted)
D/dalvikvm( 400): TRACEPROFILE 0x426d9590 0 [0x74(+5), 272] (omitted)

For the first line:

5192426: execution count of this trace
0x4: starting bytecode offset
+32: number of instructions included in the trace
810: line number corresponding to 0x4 in the file containing the method

Also add WITH_JIT_TUNING for now whenever JIT is enabled.
ede948563eb8fe1fb385665e24120c99da925f2f 21-Jul-2009 Android Code Review <code-review@android.com> Merge change 10723

* changes:
Fix variable names related to bytecode tracing.
b48ff3433365af4e43096dcffa12049982e42a91 20-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7773

* changes:
Polish JIT trace profiling and fix a unchaining bug when profiling is enabled.
df167998f8e30e97e6df36f8478dc5cd64e13317 18-Jul-2009 Ben Cheng <bccheng@android.com> Polish JIT trace profiling and fix a unchaining bug when profiling is enabled.
315d4fd3b27b7019d8252407f3d0a7019486a42d 19-Jul-2009 Brian McKenna <puffnfresh@gmail.com> Fix mangling to translate dollar signs (to allow Scala methods).
438386267aa3ab9dc1cad7d95c150dbbeef39f94 08-Jul-2009 Mike Lockwood <lockwood@android.com> Fix variable names related to bytecode tracing.

Signed-off-by: Tony Yokoyama <chuuoudai@gmail.com>

The compile errors, encountered in the case that macro LOG_INSTR is
turned on, are fixed.

On branch log_instr
Changes to be committed:

modified: vm/mterp/armv5te/debug.c
modified: vm/mterp/c/gotoTargets.c
modified: vm/mterp/out/InterpC-allstubs.c
modified: vm/mterp/out/InterpC-armv4.c
modified: vm/mterp/out/InterpC-armv5te.c
modified: vm/mterp/out/InterpC-portdbg.c
modified: vm/mterp/out/InterpC-portstd.c
modified: vm/mterp/out/InterpC-x86.c
modified: vm/mterp/portable/debug.c
modified: vm/oo/Class.c
5948ed73b0d5a4ccb85d0b03806c4c647128943e 17-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7487

* changes:
Fixed a tiny bug in TimSort that slightly affects performance on small arrays Martin Buchholz discovered this bug by running all tests with assertions enabled. That's the only way he could have discovered it, as it doesn't affect correctness:) The assertion that failed was the one at the head of countRunAndMakeAscending. The cause was that I called the method with (a, start, length) instead of (a, start, end).
de6a8073330e9d069d422287201c1753ec4103f9 17-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7550

* changes:
Fixing wakeups caused by Thread.join() interacting with LockSupport.unpark.
02831cea53dc8a6d7c509a53c2f7a6ffa93ce325 16-Jul-2009 Jesse Wilson <jessewilson@google.com> Fixing wakeups caused by Thread.join() interacting with LockSupport.unpark.

This caused several concurrency tests to fail when run with timeouts, since
the tests cause park and unpark to happen frequently.

Also fixing a tiny issue with CoreTestRunnable to use the proper tmp directory
and to include the program of a failed external execution.
2d161d06323509d5d344d5d299dca67258330b14 16-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7442

* changes:
Make verifier field/method resolution conformant.
7f1bd0aa62946319f87a4cc106c4f02b081c3390 16-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7474

* changes:
Throw OutOfMemoryError on oversize array allocs.
4665990e95a8cf52c49b9e23e5059c83d28dbcb5 16-Jul-2009 Joshua Bloch <jjb@google.com> Fixed a tiny bug in TimSort that slightly affects performance on small arrays
Martin Buchholz discovered this bug by running all tests with assertions
enabled. That's the only way he could have discovered it, as it doesn't
affect correctness:) The assertion that failed was the one at the head of
countRunAndMakeAscending. The cause was that I called the method with
(a, start, length) instead of (a, start, end).
54de73853fbf3592b0183f380fdbcb98507a5045 16-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 6fbc4eb4: Merge change 7410 into donut

Merge commit '6fbc4eb48bf368199f31a25fae60f8f7a378cc52'

* commit '6fbc4eb48bf368199f31a25fae60f8f7a378cc52':
Fix bug: Arrays.deepToSting renders "[null]" as "null"; "[[]]" as "[]"; etc.
68b3e622fbfa5c34efd842a392d3dcd020653859 16-Jul-2009 Andy McFadden <fadden@android.com> Throw OutOfMemoryError on oversize array allocs.

We've been throwing InternalError because of a particular statement in
the JPL that suggests we should be clearing out SoftReferences before
throwing OOM. That seems unnecessary for an array allocation that we're
rejecting because the total size doesn't fit in a 32-bit integer.

Now we just throw OOM.
ac36801db0c830bdf6052e6b69dc61cae2e40aff 16-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6983

* changes:
Include the full stacktrace when a test times out.
2c486d51a80b1e1c8e4d03cde7bac368729711cd 15-Jul-2009 Andy McFadden <fadden@android.com> Make verifier field/method resolution conformant.

The VM spec spells out a particular way to look for fields. It assumes
that static and virtual fields are piled together into a single pool,
so it makes sense to scan through both kinds when resolving. In Dalvik,
field definitions are separated by scope, so we can save a little time
by only searching through the appropriate list.

It turns out that you can create a situation where a field with the same
name is available in both static and virtual forms in the same class.
javac won't let you do this in a single class, but with separate
compilation and inheritance you can pull it off. In these situations,
Dalvik can do the wrong thing. For example, if you ask for a static
field, Dalvik will happily use the static field from a superclass without
realizing that there's an instance field with the same name in the current
class. It's supposed to find the instance field, realize that it's not
static, and throw an exception.

This change updates the verifier to do an "untyped" scan like the VM
spec wants. Problematic situations are identifed and result in an
"incompatible class change" exception.

This does not alter "direct" method lookups (constructors, private
methods).

I also altered the annotation "ambiguous" method lookup to use the new
function, since that's probably the desired behavior there as well.
771300eb57865b718af4d1edf2669b9d96002708 15-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7410 into donut

* changes:
Fix bug: Arrays.deepToSting renders "[null]" as "null"; "[[]]" as "[]"; etc.
19e77b3ececa9ef74e3854db1f4baf61f83d58a2 15-Jul-2009 Joshua Bloch <jjb@google.com> Fix bug: Arrays.deepToSting renders "[null]" as "null"; "[[]]" as "[]"; etc.
7061ddc988aaf97e0c4a657c8c0a5d1d5053a957 15-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7162

* changes:
Throw a pre-fabricated NoClassDefFoundError.
53a25df9027b1d0f9be64c21ed9d49b61ce027e8 15-Jul-2009 Andy McFadden <fadden@android.com> Throw a pre-fabricated NoClassDefFoundError.

When a class loader tries to load a class, it first asks its parent to
look for it. This continues up the chain until the bootstrap class loader
is reached. If the class can't be found, the bootstrap loader throws a
NoClassDefFoundError. As a result, we're throwing at least one exception
for every class we load that doesn't come from the bootstrap path.

This change creates a "stock" NoClassDefFoundError exception with a trivial
stack trace and throws that instead, saving the overhead of creating and
initializing the exception object.

I think the only way that anyone will see this is if they try to
load a class directly from the bootstrap loader, in which case the
ClassNotFoundException will show the canned NCDFE as the cause. I
don't think any useful diagnostic information is being lost.
40231fcfbddee40fbfdf0098658cdd50359d7df8 15-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7171

* changes:
Add real info.
5eedea9e7cb99166894e06e006d0133047256924 15-Jul-2009 Andy McFadden <fadden@android.com> Add real info.
0e7a398d50021aaae2fd426bc66302bdbb493254 14-Jul-2009 Andy McFadden <fadden@android.com> am 798e7434: (-s ours) Don\'t init class during reflection signature scan.

Merge commit '798e74341e03edf2c30728a141dc6af7a89f9e1f'

* commit '798e74341e03edf2c30728a141dc6af7a89f9e1f':
Don't init class during reflection signature scan.
51209b62bf9f5e137a3d64387cdc85a650090e68 16-Jun-2009 Andy McFadden <fadden@android.com> Don't init class during reflection signature scan.

Do not merge to master -- this is 57ea16e8 from there.

When processing Class.getDeclaredMethods() we create Method objects.
These have arrays of classes that indicate the method parameter types.
While generating the array we were initializing the classes we found,
which isn't necessary and led to some unpleasantness described in
external bug 3005.
31b38a845bc1215e9c426dea2725948fc01a0e4e 14-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7034

* changes:
Added note about unaligned doubles.
1ab854912b628f2a719950f405ffdcb5c6dedb9a 14-Jul-2009 Andy McFadden <fadden@android.com> Added note about unaligned doubles.
668ea61c346d36bcce658cc4814527eb61a459a7 14-Jul-2009 Andy McFadden <fadden@android.com> am 2b828991: (-s ours) Remove races from JNI_OnLoad invocation.

Merge commit '2b82899181108c4ed290f8c6b6be13759b59768f'

* commit '2b82899181108c4ed290f8c6b6be13759b59768f':
Remove races from JNI_OnLoad invocation.
30d3618b14778eff346645bfd2b1ef048f6a65c5 14-Jul-2009 Jesse Wilson <jessewilson@google.com> Include the full stacktrace when a test times out.
ca573f5b4dee818586fca032657cb1a262e5c31c 10-Jul-2009 Andy McFadden <fadden@android.com> Remove races from JNI_OnLoad invocation.

Do not merge to master. (This was copied from there to donut.)

The current implementation just calls JNI_OnLoad and returns a failure
result if that goes badly. If a second load attempt is made after
dlopen() finishes but before JNI_OnLoad completes, it will succeed
immediately.

This is bad because (a) we might not have finished the initialization
steps in JNI_OnLoad, and (b) it's possible JNI_OnLoad will fail. We now
wait for an in-progress JNI_OnLoad to complete before returning. (This
also requires recognizing and handling recursive invocation.)
315b239084f7a443d0e2631c9f4680f46562b822 13-Jul-2009 Andy McFadden <fadden@android.com> Add note about -to-long conversions.

Library behavior may not be what Java spec requires. Added sample code
and pointer to dalvik test.
c3d7cb3e0557bf2d06542e53af796d2b365c4ec9 13-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6848

* changes:
Minor class loading optimization.
7a796eefea9047f6abe374a8106dc943648ba0b4 13-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6800

* changes:
Remove races from JNI_OnLoad invocation.
aa72f5f400ab79fd2340409c9da7b27b49e1827d 11-Jul-2009 Andy McFadden <fadden@android.com> Minor class loading optimization.

In internal bug 1836311, the String.replace() in PathLoader.findClass
was identifed by traceview as 6.6% of startup time for an app. This
adds a (hidden) alternative that takes a "binary name" like the
functions in ClassLoader, and we do the slash-to-dot conversion inside
the VM as we convert it to a descriptor. (This is really how it should
have been done in the first place, but now it's part of the visible API
and engraved in stone.)

The original function now does a slash-to-dot conversion and calls the
new one.

(We may want to un-hide the method for the benefit of people writing
custom class loaders. If so, we can do that in a separate API-update
commit.)
6229c60c52f6e39b9505f92aabb68d71a0e1a08a 10-Jul-2009 Andy McFadden <fadden@android.com> Remove races from JNI_OnLoad invocation.

The current implementation just calls JNI_OnLoad and returns a failure
result if that goes badly. If a second load attempt is made after
dlopen() finishes but before JNI_OnLoad completes, it will succeed
immediately.

This is bad because (a) we might not have finished the initialization
steps in JNI_OnLoad, and (b) it's possible JNI_OnLoad will fail. We now
wait for an in-progress JNI_OnLoad to complete before returning. (This
also requires recognizing and handling recursive invocation.)
a6b6dc2e616751b3c8748fbf38c386ba6dc272df 08-Jul-2009 Bill Buzbee <buzbee@google.com> Inline-execute for Java.Lang.Math routines, jit codegen restructure, various bug fixes.
5e5cea40c50426b3ad83fab7b564d2bb697f5d36 10-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4613

* changes:
Performance improvement for OpenSSLSocketImpl in read and write
a4cf13e344ada44981a996207702e8f6ca9e3290 10-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 3bef2909: Merge change 4595 into donut

Merge commit '3bef2909f1f0e8ea57e9934494b0ff8b7ecd8656'

* commit '3bef2909f1f0e8ea57e9934494b0ff8b7ecd8656':
Reactivating test that failed with a extensive gref count increase
88c628de0eec0b9c2997fdb54e5164cc23fb0fa9 10-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4595 into donut

* changes:
Reactivating test that failed with a extensive gref count increase
880fa0ba3179294bb5ae7f4f16fb669b1d4e724c 07-Jul-2009 Ben Cheng <bccheng@android.com> Improved method invocation performance: 1.5x for virtual and 2.8x for interface.

- Implemented predicted chaining for invoke virtual and interface.
- Eliminated a little bit of fat for invoke native.
- Added 078-polymorphic-virtual for stress tests.
9f90c725c78f40d1c3a32f7449bb707de448c00c 08-Jul-2009 Mike Lockwood <lockwood@android.com> Fix typo introduced in previous change.

Signed-off-by: Mike Lockwood <lockwood@android.com>
8c2e931b409e98152e058d67ad9926bfa48cb193 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit '3102d523c787402faf4590c7e25cef8c3e20afa4' into merge_korg_master

Conflicts:
vm/Android.mk
4a9eff4f9391254d1b1c5a74ccd4897be90d5b29 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit 'c1b54205471ea7824c87e53e0d9e6d4c30518007' into merge_korg_master
254a2c0f691ca219b1421f7a7d93c729775283c0 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge branch 'master' of ssh://android-git:29418/platform/dalvik into merge_korg_master
fb40c5965d8b2b4ef75441077828fe06d7150bcd 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit 'ca807d6e5d828787e06588af109941cfbbbffef7' into merge_korg_master

Conflicts:
docs/porting-guide.html
ff4d899b9fd642e18c6d954e2ce8781a51187510 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit 'eab2645a76fa91a73d77dc25c3df2be4108ca843' into merge_korg_master
579b957468b50444c122cc7445ae444270a0756a 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit '7501cdb16d99ee9f1340d0e5e81c21e22084a8f3' into merge_korg_master
41dd0c0543d645d48c8480eee59dfb8990189fc4 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit '748191eb80feda199a8fb2990221e3140a97005f' into merge_korg_master
20684026bd73b6a43eb5732e486e70aec1dc0c2b 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit '9b0e83401b0ade80e1943c2cc16ef5ec9b46eef5' into merge_korg_master

Conflicts:
vm/oo/Class.c
vm/oo/Object.h
f0a54ffcc5767716133408af26a074b13c48757e 07-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit '9974ec51bb9db86c370b2fbcd251f20865a4cd1d' into merge_korg_master
9e34e82d3707a40dbe603190bedfcd208d5cf4c0 06-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6268

* changes:
Update notes on JDWP debugger support.
eccd81e6bebc6750759bad09232bc8193af2e8bf 06-Jul-2009 Andy McFadden <fadden@android.com> Update notes on JDWP debugger support.

In particular:

- The app framework uses ro.debuggable, not ro.secure, to decide
whether or not debuggers are globally allowed.
- If you have a debugger attached, Thread objects may not be collected.
1d02e42d353a7a1056195756f0ec5ee42dd2dc9c 06-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6122

* changes:
Add mterp stub collection to aid porting.
a1c4951c0cd44d3ceec84c298ffa88802059c5d3 02-Jul-2009 Andy McFadden <fadden@android.com> Add mterp stub collection to aid porting.

For some of the more complex Dalvik operations it can be handy to see
what gcc outputs in similar circumstances. This adds a file filled with
"trivial" operations to the Dalvik porting documentation.
c6a2177e635c8175815eb4d7519704a3498e7efc 06-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am ec537042: Merge change 6098 into donut

Merge commit 'ec537042338c000af4526099599e128be63bee68'

* commit 'ec537042338c000af4526099599e128be63bee68':
Commented out invalid test.
783f8ec4fc38739b6eb2a59ed43ed1253606b3b3 06-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am ab4b7f70: Merge change 5967 into donut

Merge commit 'ab4b7f704313075838517ffec400dc5b6250c67c'

* commit 'ab4b7f704313075838517ffec400dc5b6250c67c':
Modifies OpenSSLSocketImpl to use a different lock for the instance count. It was using the same lock when use around native methods meaning that the finalizer could be blocked unnecessarily
aab2a03ff9d96d2166ef460004d87d59c81fe86b 06-Jul-2009 Andy McFadden <fadden@android.com> Merge commit 'a8e9edde' into manualmerge
3b4243e4481a463a195f070f0f8a8f16a7de6fb7 06-Jul-2009 Andy McFadden <fadden@android.com> Merge commit 'e260e580' into manualmerge
5348825c08ca516674c6edf9b2132899f4f27ac3 03-Jul-2009 crazybob <crazybob@google.com> am 4ce12e65: Fixes deadlock in Runtime.exec(). We can\'t malloc() or free() after fork() because the heap lock may be held by a thread that is no longer running.

Merge commit '4ce12e65bb5fb7cb0eaa131e8b5c0b740e8e359e'

* commit '4ce12e65bb5fb7cb0eaa131e8b5c0b740e8e359e':
Fixes deadlock in Runtime.exec(). We can't malloc() or free() after fork() because the heap lock may be held by a thread that is no longer running.
3b2da47d54a36c88ccbf17ac5cb3709cbda7f41e 02-Jul-2009 Android Code Review <code-review@android.com> Merge change 10482

* changes:
Add a bit-map encoding of Object-reference field offsets to ClassObject.
0cfbca11544bff7c76159b790e4cfe6a26e67937 02-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6098 into donut

* changes:
Commented out invalid test.
6f91a45b0078a1227279553788489b4e8715a9f4 02-Jul-2009 crazybob <crazybob@google.com> Commented out invalid test.
c7b86dd18929a07bb1fdb4c4e7efb3248bd07ed6 01-Jul-2009 Andy McFadden <fadden@android.com> Fix fill-array-data on big-endian systems.

The array data comes out of the instruction stream, which is swapped as
if it were a stream of 16-bit code units. This is great for char/short
array data, but comes out wrong for everything else.

This was verified by an external developer with big-endian MIPS hardware.
Should be no change for ARM.
bb11444d498301ab204846f59f9dfbde42c91b2a 02-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5967 into donut

* changes:
Modifies OpenSSLSocketImpl to use a different lock for the instance count. It was using the same lock when use around native methods meaning that the finalizer could be blocked unnecessarily resulting in a VM crash.
b4c7249ca7eb2d33588003f9ef6524839fae1e0e 02-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5991 into donut

* changes:
Reduce VM aborts during high CPU stress.
e065df6ff0c2f58a5937b32952dfe85704b9e1e1 02-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5990 into donut

* changes:
Pull 138592-p9 from master to donut.
7b4b382b42914e0637a69ca0932ad24b86334616 18-Jun-2009 Andy McFadden <fadden@android.com> Reduce VM aborts during high CPU stress.

(This was cherry-picked from master 2aa43610 for internal bug 1952616.)

The VM has some timeouts that are meant to kill the current process if
something gets stuck (e.g. a thread grabs a lock and then manages to die
while the rest of the process continues on). These were tripping a
little too easily during some high-load situations.

This changes the order of operations so that we now unlock the "thread
suspend" lock before sending a wakeup broadcast to the condition variable
that threads sleep on. This should make it less likely for a thread to
be running for an extended period while the lock is held. (Relates to
internal bug 1664687.)

This also wraps a couple of things (pthread_create, dlopen) with a state
change to VMWAIT. During high load situations these can take a while to
complete, and we would (with the K-Means Visualizer load generator
running) very occasionally time out.

Augmented the debug output in a couple of minor ways. Updated comments.
f95812a2955453a10c284186cb902dcf43257e1e 01-Jul-2009 Andy McFadden <fadden@android.com> Pull 138592-p9 from master to donut.

Switch from VMWAIT to RUNNING when executing code on behalf of the
debugger. Reset the thread-suspend lock timeout if we have to suspend
while trying to acquire it.

Also, clear any pending exception before calling interpreted code.

Reworked some log messages to make them easier to decipher.

(For internal bug 1952616.)
8105fc998df977e12c2bc2bde2e5dda2a0a4d6ff 01-Jul-2009 crazybob <crazybob@google.com> Modifies OpenSSLSocketImpl to use a different lock for the instance count. It was using the same lock when use around native methods meaning that the finalizer could be blocked unnecessarily
resulting in a VM crash.
6a4c2d5cc367964efbf2139dfe27dc9d02969687 19-Jun-2009 crazybob <crazybob@google.com> Fixes deadlock in Runtime.exec(). We can't malloc() or free() after fork() because the heap lock may be held by a thread that is no longer running.
86be0122717de5ad994957f1e4f5586b8d65982d 30-Jun-2009 Andy McFadden <fadden@android.com> Inline some java.lang.Math functions.

For a first pass, I inlined the various flavors of abs(), min()/max() on
integers, sqrt(), cos(), and sin(). These were selected based on a
static analysis of a few of our jar files.

A test of repeated sin/cos/sqrt calls on a G1-class device showed an
improvement of 28%. This would improve more on devices with VFP
support if the VM is compiled with -mfpu=vfp.

Also: clarified a warning and removed some "#if 0" stuff.
b977cb553087a2935513f381e73432591b46713c 30-Jun-2009 San Mehat <san@google.com> am 3e371e2e: dalvik: thread: Set the control group of a thread to the background group if the priority is logically-lower than ANDROID_PRIORITY_BACKGROUND

Merge commit '3e371e2ebbeeefe176ba1357e6ff241bd13a711e'

* commit '3e371e2ebbeeefe176ba1357e6ff241bd13a711e':
dalvik: thread: Set the control group of a thread to the background group
394a141d94498d4e0a7a06fccd7f8b01dd2ab92f 26-Jun-2009 San Mehat <san@google.com> dalvik: thread: Set the control group of a thread to the background group
if the priority is logically-lower than ANDROID_PRIORITY_BACKGROUND

Signed-off-by: San Mehat <san@google.com>
bfd8d416e6f9b15530418363b1539681afaa0e3b 22-Jun-2009 Barry Hayes <bhayes@google.com> Add a bit-map encoding of Object-reference field offsets to ClassObject.

Class.c populates a new field with a bit for each of the first 32 instance
fields, to show if it is a reference or not, and an escape value if there is a
reference field beyond 32.

The GC uses the encoded bitmap -- if available -- to extract Object refererences
from DataObjects.
77fd20cdf7bb2ffde373a5cbf50496053e656c32 26-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5440

* changes:
"External allocation" tracking for direct buffers.
0907339e84c3ee845e5e3f0727fdbe7990ae13c4 04-Jun-2009 Andy McFadden <fadden@android.com> "External allocation" tracking for direct buffers.

The native memory allocated for ByteBuffer.allocateDirect was not being
tracked by the VM's "external allocation" mechanism. This adds the
necessary calls to the Harmony OSMemory allocator, which is what
actually calls malloc().

The external alloc stuff just takes size values, so we tuck a copy of
the allocation size into the allocated block, and pull it out when it's
time to free the memory.

(Includes in a couple of other changes that I had to commit somewhere so
I could sync.)
9de974519c807f834dadf404b19679ee2cde876d 25-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5292

* changes:
Collect per-method code size statistics to show compiled vs overall Dalvik portion and total native code size.
c14b0ad9fdd6d41386f34668517cb8dfdfa5fe8c 25-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 7d8220a4: Merge change 5286 into donut

Merge commit '7d8220a4d0193b85efd7d289cbff3617f56ef0a9'

* commit '7d8220a4d0193b85efd7d289cbff3617f56ef0a9':
Check for failure in GetDirectBufferAddress.
0adee1a00a236c2e54cd473af04a57be07b8597c 25-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5286 into donut

* changes:
Check for failure in GetDirectBufferAddress.
8d0375bd2a7be84658123ddbe42ab459f258e7bf 25-Jun-2009 Ben Cheng <bccheng@android.com> Collect per-method code size statistics to show compiled vs overall Dalvik portion and total native code size.
f9ef99962718359f582f6c1d5a5b1c969c028ad2 25-Jun-2009 Andy McFadden <fadden@android.com> Check for failure in GetDirectBufferAddress.

We now check for a null result or a pending exception in the JNI
GetDirectBufferAddress function. This prevents a VM crash when somebody
tries to get the address of a non-direct buffer.

For internal bug 1926596.
b35b5015f6bb4bbc52e5b4c700aa5f3ce22c61a9 25-Jun-2009 Dianne Hackborn <hackbod@google.com> am 0f0ae023: Add FileDescriptor variation of startMethodTracing().

Merge commit '0f0ae023a3a53f7c9e254283b50a0099781acb79'

* commit '0f0ae023a3a53f7c9e254283b50a0099781acb79':
Add FileDescriptor variation of startMethodTracing().
13b9fbb4469637d226b067e01d15896b666c80bd 24-Jun-2009 Dianne Hackborn <hackbod@google.com> Add FileDescriptor variation of startMethodTracing().

This is for bug #1829561 ("am profile" with bad filename kills process), which
will allow the am command to take care of opening the file and handing the
resulting fd over to the process to be profiled.
06397d03b86bbf4c1df0b8c1110380195c4d17c0 24-Jun-2009 Andy McFadden <fadden@android.com> am cda8f8ab: Merge 137552-p9 to donut.

Merge commit 'cda8f8abd1d02f5ab58add1ebb23f20fdab6341c'

* commit 'cda8f8abd1d02f5ab58add1ebb23f20fdab6341c':
Merge 137552-p9 to donut.
c6c031e505ce244e6e109075f7a49caaaefd141e 24-Jun-2009 Andy McFadden <fadden@android.com> Merge 137552-p9 to donut.

Since we're apparently using these calls now, we probably ought to pull
the bug fix over. It's been in master for more than 3 months so it
should be safe. It'll also make future merges easier.

Prequel to fix for internal bug #1926596.
59c1121442c36132d5141046dd8e8b4fa69fd114 23-Jun-2009 Ben Cheng <bccheng@android.com> Shutdown the compiler thread before the dvmSlayDaemons call is made.
a7d80604435d89f9e2b0ffed956f6393b914a0cb 23-Jun-2009 Shin-ichiro KAWASAKI <shinichiro.kawasaki.mg@hitachi.com> added/modified to support SuperH architecture

modified: README.txt
modified: vm/Android.mk
new file: vm/arch/sh/CallSH4ABI.S
2677bfef8ce6abad783909c94e6c050bab3e6c94 22-Jun-2009 Ben Cheng <bccheng@android.com> The address of dvmMterpCommonExceptionThrown should be loaded in a position-independent way since these handlers are copied into the code cache.

BTW fixed a couple recently introduced compiler warnings in Codegen.c.
1a0a05adcc5458e6ec7c486d848727e77cd1f344 20-Jun-2009 Bill Buzbee <buzbee@google.com> New threshold mechanism for trace selections. Intended to reduce number of junk traces.
99a5e97836a3feed9cfaa1b3aa4a6530796797d4 22-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4935

* changes:
Instance_of should return false if reference is NULL.
bf1c84f7c727c1ffae8e7f5a8e34a5af486e23ac 22-Jun-2009 Ben Cheng <bccheng@android.com> Instance_of should return false if reference is NULL.
d295385c9c9293622c0cb7c59b6fa46e7e62585f 20-Jun-2009 Andy McFadden <fadden@android.com> Use paired immediates for large constants.

The double-to-int and double-to-long instructions were loading constants
from .word directives, which wastes space in the CPU data cache. This
replaces a single LDR with a pair of data operations.

We don't actually use the double-to-long handler (the ARM EABI lib
does the right thing), and double-to-int is handled by VFP on newer
devices, but on older devices this may help a smidgeon. Mostly it just
looks nicer when you don't have .words lying around.

Also picks up a change that should be in the armv7-a generated file but
got lost in all of today's various mergings (float compare tweak).
095aef0551d2c82f93711b93cca52dd09f0bdab1 20-Jun-2009 Andy McFadden <fadden@android.com> Added ARMv6T2 experiment.

These adds replacements for handlers that benefit from the use of new
instructions introduced in ARMv6T2 (notably UBFX, unsigned bit-field
extraction). This also adds an "armv7-a" mterp config file.

The benchmark improvement was tiny, so there's no real motivation to
convince the build system to use them.

This also includes an interleave fix for binop2addr.
952f0fd9d0299b32207c691042af456f88552e0d 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4809

* changes:
Warn when one handler replaces another.
28ef9f16fe7ae4aa25606ba8f3c418ec4827df13 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4798

* changes:
Replace an iterator with a traditional for loop, to reduce object allocations and memory usage.
4d8dca744f12a8a675408f441695d9d92223d8d7 19-Jun-2009 Andy McFadden <fadden@android.com> Warn when one handler replaces another.

The mterp generation script silently allows you to specify handlers for
the same opcode more than once. This can cause some confusion. We now
issue a warning when that happens.

This also reduces the overall verbosity level, so the warnings are
visible.
23a7ed1027cc2aaec9bfbb12b4fbe2f74aa47a6c 19-Jun-2009 Marco Nelissen <marcone@google.com> Replace an iterator with a traditional for loop, to reduce object allocations and memory usage.
c32053786bfcd1c38035e0e57b553fe1dd76bd89 19-Jun-2009 Andy McFadden <fadden@android.com> Improve interleave on VFP compare.

Improves FloatOps/FloatOpsD from 229/230ns to 228/229ns, an exciting
half-percentage-point gain.
baeacd058081d57eb5c2eb1df9ea49ebd7b1d548 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4695

* changes:
Quick experiment with ARMv6 instructions.
4e71a3d727d572bc8d9d433c480a51e43202c669 19-Jun-2009 Andy McFadden <fadden@android.com> Quick experiment with ARMv6 instructions.

This is a commented-out experiment with ARMv6 instructions, which our
existing products support. (We can't use these unless we want to define
an ARMv6 target. For what we gain with these, it's not worthwhile.)
61e05844035cb0cb6dcaf1885d6782d12fc3f717 19-Jun-2009 Bill Buzbee <buzbee@google.com> Neglected to rebuild template/out/* and mterp/out* in #4536
577b5dd6ae6f330bde6523579559fdb131f89d3f 18-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4658

* changes:
Bump the VM version.
973c0c9093c26773b63b418d3f78b1b60e359097 18-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4657

* changes:
Method override tests.
230728f5d361a35153a9a48f37ed0dd670578705 18-Jun-2009 Andy McFadden <fadden@android.com> Bump the VM version.

This should have been incremented when OP_THROW_VERIFICATION_ERROR was
added, since older VMs won't be able to handle the odex we generate.

Dropped the log level on the warning.
5eeefb73346ad835af8aa58a8bac225daf69b0f0 18-Jun-2009 Andy McFadden <fadden@android.com> Method override tests.

Test various method overrides, especially those that the compiler
doesn't allow (public vs. private, static vs. virtual). This doesn't
succeed right now because of the way the verifier deals with static and
virtual methods (internal bug 1752800).
297852dcc10d1c7fa2723623c702c8e2ebf00bd1 18-Jun-2009 Bill Buzbee <buzbee@google.com> Trace profiling support for the jit
de67441cbb5cb8c1570202e48659a48ec9df5d0f 18-Jun-2009 Andy McFadden <fadden@android.com> Modularize architecture selection.

"make" syntax lacks an "elif", so when you have an N-way choice the
indentation starts to get nasty. This splits the arch/variant handling
into smaller pieces, and uses the "generic" arch if none of the pieces
matched.
577c48d8edff2228969825b887b04f4c3f676d42 18-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4534

* changes:
Reduce VM aborts during high CPU stress.
00f363b86a5a7d81e7493c1f0c48737dd5920d04 18-Jun-2009 Urs Grob <ursg@google.com> Performance improvement for OpenSSLSocketImpl in read and write

This change only calls SSL_get_error only in case of an error and not in any case as it does before the change.

BUG=1322058
57871360e58d3b9f53bbd0288ac7ee0cf5cab9e7 18-Jun-2009 Urs Grob <ursg@google.com> Reactivating test that failed with a extensive gref count increase

The cause for this failure was fixed. So this test can be reactivated.
BUG=1814539
91722640809a44a14b556c4e05c69070c7987daa 18-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4495

* changes:
Implemented peephole optimizations including null-check elimination, redundant ld/st elimination, ad-hoc register renaming and store sinking.
d48fbae9309c714eedd2dda4e76be5cecedbf3a6 18-Jun-2009 Andy McFadden <fadden@android.com> Reduce VM aborts during high CPU stress.

The VM has some timeouts that are meant to kill the current process if
something gets stuck (e.g. a thread grabs a lock and then manages to die
while the rest of the process continues on). These were tripping a
little too easily during some high-load situations.

This changes the order of operations so that we now unlock the "thread
suspend" lock before sending a wakeup broadcast to the condition variable
that threads sleep on. This should make it less likely for a thread to
be running for an extended period while the lock is held. (Relates to
internal bug 1664687.)

This also wraps a couple of things (pthread_create, dlopen) with a state
change to VMWAIT. During high load situations these can take a while to
complete, and we would (with the K-Means Visualizer load generator
running) very occasionally time out.

Augmented the debug output in a couple of minor ways. Updated comments.
c3b33f1111c2412f34e2bf916342d37c91844ee8 12-Jun-2009 Lorenzo Colitti <lorenzo@google.com> Use RFC3493-conformant IPv6 headers.
646132a37fa9b7afd94471d68101d558cd0ea214 17-Jun-2009 Ben Cheng <bccheng@android.com> Implemented peephole optimizations including null-check elimination, redundant ld/st elimination, ad-hoc register renaming and store sinking.
d67f5a4d5c865a15231703f7b146143fec19d17f 17-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4372

* changes:
Don't throw away the return value of connect().
b730e48c1f8df92ad70cbe5e443f8d3a4d6b6f5f 17-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 5f9aa938: Merge change 4334 into donut

Merge commit '5f9aa93881e796a66c2a625ced1ee89292c2b570'

* commit '5f9aa93881e796a66c2a625ced1ee89292c2b570':
Modified Thread to copy the context class loader from parent to child threads. Re-enabled test that covers this. Removed security-related code from test since it was invalid (the security check
7234427b08b33bcfc2b5d17307d7f68ba61b7890 16-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4335

* changes:
Add arm vfp support for the Jit
7aed85b06437df76559ab83fb4b77324cd9568eb 16-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4334 into donut

* changes:
Modified Thread to copy the context class loader from parent to child threads. Re-enabled test that covers this. Removed security-related code from test since it was invalid (the security check doesn't occur if the calling code's class loader is an ancestor of the context class loader).
0458fe89328744471c8a1ffd0765bb30f7e6b71e 16-Jun-2009 Bill Buzbee <buzbee@google.com> Add arm vfp support for the Jit
5fcceff639cba7280948bea37e0e061618bbca4e 16-Jun-2009 Lorenzo Colitti <lorenzo@google.com> Don't throw away the return value of connect().
d2dd8d4bdf9242106e45151e8a76cfe54f79878b 16-Jun-2009 Andy McFadden <fadden@android.com> Don't init class during reflection signature scan.

When processing Class.getDeclaredMethods() we create Method objects.
These have arrays of classes that indicate the method parameter types.
While generating the array we were initializing the classes we found,
which isn't necessary and led to some unpleasantness described in
external bug 3005.
de1b3db86839e07364a5101bc61c133b689bea38 16-Jun-2009 crazybob <crazybob@google.com> Modified Thread to copy the context class loader from parent to child threads. Re-enabled test that covers this. Removed security-related code from test since it was invalid (the security check
doesn't occur if the calling code's class loader is an ancestor of the context class loader).
93ff31237a2e608e32a8059b2211972223bbae36 16-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4254

* changes:
Treat some right shifts as narrowing conversions.
13bd4221db04fd1a65425868f3447e7e8cb916e8 15-Jun-2009 Lorenzo Colitti <lorenzo@google.com> Define wrappers for connect() and bind() to support IPv6.
ea8de031be443626489dce0d80061767d9042e5d 12-Jun-2009 Andy McFadden <fadden@android.com> Treat some right shifts as narrowing conversions.

Java bytecode optimizers like ProGuard will remove explicit integer
width conversions from certain sequences. For example, after
right-shifting an integer 24 times, an int-to-byte instruction is
redundant.

This change teaches the verifier that right shifts sometimes reduce
(or at least don't increase) the width of an integer. Previously, the
result of a right shift was always a full-sized int.
02016be3813511f02f844945bcd790e54268d9c1 15-Jun-2009 Nagendra Modadugu <ngm@google.com> am ed3c841b: Adding: QuoVadis Root Certification Authority QuoVadis Root CA 2 QuoVadis Root CA 3

Merge commit 'ed3c841bc7f1100ad827146bae062e5458812fa9'

* commit 'ed3c841bc7f1100ad827146bae062e5458812fa9':
Adding:
b2304bf960058c049f5e3fd40bd877d81f6a6f89 15-Jun-2009 Nagendra Modadugu <ngm@google.com> Adding:
QuoVadis Root Certification Authority
QuoVadis Root CA 2
QuoVadis Root CA 3
9c204c5ee85f14ad73098c5f6d4d3d95c2d42848 15-Jun-2009 Lorenzo Colitti <lorenzo@google.com> am 593d6c7c: Copy the correct number of bytes for IPv6 addresses in InetAddress_gethostbyaddr

Merge commit '593d6c7c4c08c82b361dcc08c20a0120aaaacf49'

* commit '593d6c7c4c08c82b361dcc08c20a0120aaaacf49':
Copy the correct number of bytes for IPv6 addresses in InetAddress_gethostbyaddr
ee80399028b6398dd775457e942ff3d10300a15b 15-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4123

* changes:
Added a VFP utility function for future use.
326bfaf7fd61f68c84c19908327885d748968aa0 13-Jun-2009 Lorenzo Colitti <lorenzo@google.com> Copy the correct number of bytes for IPv6 addresses in InetAddress_gethostbyaddr
d61c5d4daec77a8458a60e21a913336f177070ed 13-Jun-2009 Andy McFadden <fadden@android.com> Added a VFP utility function for future use.
8fca3972283139c662a4cc4706ca8e6ecd5e3493 12-Jun-2009 Jesse Wilson <jessewilson@google.com> am 729c7056: Test and fix for the ArrayList.addAll(), bug 2954.

Merge commit '729c70568dac17c7178bbeccdde39fc21b9d5c1c'

* commit '729c70568dac17c7178bbeccdde39fc21b9d5c1c':
Test and fix for the ArrayList.addAll(), bug 2954.
7cb2507e9b70c18aecb26bb793ea6537480115a5 12-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3997

* changes:
Rename vfp to arm-vfp.
46587f002a989b24af040fa25f13ca5d8930a919 12-Jun-2009 Jesse Wilson <jessewilson@google.com> Test and fix for the ArrayList.addAll(), bug 2954.
231b5efb1056b4128ea27a86f6e0522e9970e7da 12-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4006

* changes:
Test and fix for the ArrayList.addAll(), bug 2954.
db390e2030bb540ad1b5023ee3d130b722b95780 12-Jun-2009 Jesse Wilson <jessewilson@google.com> Test and fix for the ArrayList.addAll(), bug 2954.
7055b79846b287a59c08d26e5f3ba6c62ca4d66e 12-Jun-2009 Andy McFadden <fadden@android.com> Rename vfp to arm-vfp.
240f6e4760456e9eb6e655d6d4ede285644b2fc7 12-Jun-2009 Dan Bornstein <danfuzz@android.com> Give dx a large max heap size by default.
3df42f1cde7a4fb3ec99ca87177db3e42d61e836 11-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2279

* changes:
Updating archive to Harmony r772995.
b50568c9713cb38963015e06f388ba6f9dad94f3 11-Jun-2009 Dan Bornstein <danfuzz@android.com> am 32c0ded2: Fix internal issue #1898791 ("PlatformAddressFactory PlatformAddress cache causes memory to not be freed in a timely manner.").

Merge commit '32c0ded21ec8cd40f27015b4e65ec6a1bd78ef9a'

* commit '32c0ded21ec8cd40f27015b4e65ec6a1bd78ef9a':
Fix internal issue #1898791 ("PlatformAddressFactory PlatformAddress cache
525737a81ab03c611319dea743cb23f5d452b536 11-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3764

* changes:
Allow {iput,sput}-boolean on a byte value.
47c5c634ccb968b7855b249dbb4e1c336a49c05c 10-Jun-2009 Andy McFadden <fadden@android.com> Allow {iput,sput}-boolean on a byte value.

javac generates code that can only be understood as storing a byte value
into a boolean field. The verifier now allows this.
ce54e6179cf90a97335ec24ab74c06b56dea7246 10-Jun-2009 Dan Bornstein <danfuzz@android.com> Fix internal issue #1898791 ("PlatformAddressFactory PlatformAddress cache
causes memory to not be freed in a timely manner.").

The change makes the two PlatformAddressFactory.alloc() methods always
allocate separate PlatformAddress objects instead of looking for them
in the cache. This means that, should they have auto-free turned on,
there won't be a reference in the cache that prevents the freeing from
happening. And since we're talking about freshly-allocated memory anyway,
it would be surprising that either a matching address would be found in
cache *or* that a subsequent call to on() would ever happen with the
same address. So, it's a win on several fronts.
a55b7eb8bcbab0166792d5c00c2c0a0ee027e88c 10-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3512

* changes:
At least mostly-fix internal issue #1898095 / public issue #2868.
64371f8a1e0a3c509125cf8a7e56c26019eb9d5e 10-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3625

* changes:
Bump from 1.0.1 to 1.1.0.
0ebb92a464bae0d43d7f5e067a379a7a303ff172 09-Jun-2009 Dan Bornstein <danfuzz@android.com> At least mostly-fix internal issue #1898095 / public issue #2868.

The problem is that Scala code may have two variables with the same
name that are simultaneously active, and dx didn't expect that ever to
be the case. The fix is simply to catch another case where a local
variable might be considered to become superfluous due to having an
empty extent. However, this is really more of a workaround, as the
result will be that such code when attached to a debugger will only
show one of the two (or more) same-named variables as being active at
any given time.

The thing that prevents a more satisfactory solution is that the
optimization code can end up "splitting up" a single local into
multiple registers, and the only way we have to track them is by
name/type. So, even without Scala's rules, it was already possible to
find a same-named local in multiple registers, but with the status
quo, finding that really meant that a local was moving from one
register to another. The local variable table code handles that case
by automatically "ending" variables that appear to move, and the Scala
case looks just like that.

In the long run, we probably want to have a way to tag local variables
that isn't just name/type, but that will have to come later.

(As a bonus, I did some minor renaming for clarity while I was in the
territory.)
cf8e984398bf62449b1ab1473bbf59ad8f5f239d 22-May-2009 Jesse Wilson <jessewilson@google.com> Updating archive to Harmony r772995.

Squashed commit of the following:
Adding @TestTargetNew tags

Initial merge of branch 'archive_772995' into archive_dalvik.

Fixed some problems, including InflaterInputStream.available()
and JarFile.skip() bugs.

Conflicts:
libcore/archive/.classpath
libcore/archive/META-INF/MANIFEST.MF
libcore/archive/build.xml
libcore/archive/make/hyproperties.xml
libcore/archive/src/main/java/java/util/jar/Attributes.java
libcore/archive/src/main/java/java/util/jar/JarEntry.java
libcore/archive/src/main/java/java/util/jar/JarException.java
libcore/archive/src/main/java/java/util/jar/JarFile.java
libcore/archive/src/main/java/java/util/jar/JarInputStream.java
libcore/archive/src/main/java/java/util/jar/JarVerifier.java
libcore/archive/src/main/java/java/util/jar/Manifest.java
libcore/archive/src/main/java/java/util/jar/Pack200.java
libcore/archive/src/main/java/java/util/zip/Adler32.java
libcore/archive/src/main/java/java/util/zip/CRC32.java
libcore/archive/src/main/java/java/util/zip/Checksum.java
libcore/archive/src/main/java/java/util/zip/DataFormatException.java
libcore/archive/src/main/java/java/util/zip/Deflater.java
libcore/archive/src/main/java/java/util/zip/DeflaterOutputStream.java
libcore/archive/src/main/java/java/util/zip/GZIPInputStream.java
libcore/archive/src/main/java/java/util/zip/GZIPOutputStream.java
libcore/archive/src/main/java/java/util/zip/Inflater.java
libcore/archive/src/main/java/java/util/zip/InflaterInputStream.java
libcore/archive/src/main/java/java/util/zip/ZipEntry.java
libcore/archive/src/main/java/java/util/zip/ZipException.java
libcore/archive/src/main/java/java/util/zip/ZipFile.java
libcore/archive/src/main/java/java/util/zip/ZipInputStream.java
libcore/archive/src/main/java/java/util/zip/ZipOutputStream.java
libcore/archive/src/main/java/org/apache/harmony/archive/internal/nls/Messages.java
libcore/archive/src/main/native/archive/shared/archiveglob.c
libcore/archive/src/main/native/archive/shared/jarfile.c
libcore/archive/src/main/native/archive/shared/zip.c
libcore/archive/src/main/native/archive/shared/zip.h
libcore/archive/src/main/native/archive/unix/makefile
libcore/archive/src/main/native/archive/windows/makefile
libcore/archive/src/main/native/java_util_zip_Adler32.c
libcore/archive/src/main/native/java_util_zip_CRC32.c
libcore/archive/src/main/native/java_util_zip_Deflater.c
libcore/archive/src/main/native/java_util_zip_Inflater.c
libcore/archive/src/main/native/zip/shared/hyzip.nls
libcore/archive/src/main/native/zip/unix/makefile
libcore/archive/src/main/native/zipsup.h
libcore/archive/src/main/native/zlib/unix/makefile
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/AttributesNameTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/AttributesTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/JarEntryTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/JarFileTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/JarInputStreamTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/JarOutputStreamTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/jar/ManifestTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/GZIPInputStreamTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/GZIPOutputStreamTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/InflaterTest.java
libcore/archive/src/test/java/org/apache/harmony/archive/tests/java/util/zip/ZipFileTest.java

commit 946f165f5b592f4453fd8f2c19766921544d38dd
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 15:12:55 2009 -0700

Strip @Since Android 1.0 from Archive

commit 3498f216d7e826bfc9c4cc7c0da35830ca239367
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 15:09:05 2009 -0700

Dalvik archive

commit 62e9db90bc6aa6b5d1c897cccdd616d812672677
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 15:07:51 2009 -0700

Archive 772995

commit d1bf618681d6badf1b50edaf204a083d3912213d
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 15:06:36 2009 -0700

Archive 527399
51c37f161df008131f10695ef07969fa01e9fb5d 09-Jun-2009 Andy McFadden <fadden@android.com> Bump from 1.0.1 to 1.1.0.

Give it a bump for JIT and precise GC.
508ad9aea000b8e13f1fc84e78cb469c9b80e149 09-Jun-2009 Bill Buzbee <buzbee@google.com> Makes the primary Jit table growable. Also includes a change suggested earlier by Dan to use a pre-defined mask in the hash function. Reduce the default JitTable size from 2048 entries to 512 entries.
Update per Ben's comments.
1b32cece80ffe4ca55cc823506e7261fdc213f31 09-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3531

* changes:
Fix two codegen problems: out-of-bound PC-relative addresses and missing branch to the chaining cell at the end of non-branch-ending basic blocks.
40985a84960a3cd1f4699391b0819b78ab937ac5 09-Jun-2009 Ben Cheng <bccheng@android.com> Fix two codegen problems: out-of-bound PC-relative addresses and missing branch to the chaining cell at the end of non-branch-ending basic blocks.
e91afa37ac4561f9f5aff9ead0abff009ec14da6 08-Jun-2009 Andy McFadden <fadden@android.com> Correct instruction width for move-wide/16.

We were advancing the PC by 2 code units instead of 3, which made the VM
crash whenever the instruction was used.
1f87009801a8d69d222a00a9ab4f2f7cac0488f0 06-Jun-2009 Andy McFadden <fadden@android.com> "resolved conflicts for merge of 3a73bd to master"
a5498ba7676270e869f0765b543ca9605b40ddc6 06-Jun-2009 Bill Buzbee <buzbee@google.com> Support for stopping all threads in a Jit environment.
2abed9a08e59f432f9a893de81ffd1a4d6d861c9 06-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3378

* changes:
Swap the meaning of r7 and r8.
7e969dae28f1297a96907bfb736366d2ed366dda 06-Jun-2009 Andy McFadden <fadden@android.com> Swap the meaning of r7 and r8.

This swaps rIBASE and rINST, so that we can access rINST with 16-bit
THUMB instructions.
a37b52cb3ea97b0cd769330094e0994e9644c404 06-Jun-2009 Mathias Agopian <mathias@google.com> remove all references to LogSocket.h
adb09b560a0b3c610158f196aff64d3c35330315 05-Jun-2009 Andy McFadden <fadden@android.com> Fix JNI GetDirectBufferAddress.

The GetDirectBufferAddress JNI function was using the buffer's base
address, rather than it's "effective" base address. The difference
becomes important when you create a direct buffer by "slicing" it off
of another at a nonzero offset.

For internal bug 1898762.
3654431d44992cf82614e948abd3fc12f6cb4fcc 05-Jun-2009 Andy McFadden <fadden@android.com> Handle profiling buffer underrun.

In rare circumstances it's possible for the thread executing the "stop
profiling" method to start processing the data before all other threads
have finished writing data. In particular, it's possible for a thread
to be switched out after advancing the offset pointer but before writing
actual data.

This is problematic because the buffer is expected to contain method
pointers. The fill value (0xee) does not yield a valid pointer.

This adds a short usleep() to reduce the likelihood of the problem
occurring, and adds a buffer scan to detect partial records. When
encountered, the rest of the log is truncated.

For internal bug 1861898.
2b816607908ac1e0c0df6404f14543a71c24a644 05-Jun-2009 Lorenzo Colitti <lorenzo@google.com> Fix the sim build on systems that have old versions of the glibc headers.
c354e93262140ee946250b3a6131018b945b8a57 05-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3242

* changes:
Move LOG_TAG above the includes.
bdb852a50165d2c5bdf8fc44d92778294a950796 05-Jun-2009 Andy McFadden <fadden@android.com> Move LOG_TAG above the includes.

This avoids a "LOG_TAG redefined" warning from log.h.
c331469f467b90e3f76d912d030ef1b48536a495 05-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3222

* changes:
Unbreak sim build.
f3908286af3891b38259411ec865525d6ed7ef75 05-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2832

* changes:
Initial port of the Dalvik JIT enging to the internal repository. Fixed files with trailing spaces. Addressed review comments from Dan. Addressed review comments from fadden. Addressed review comments from Dan x 2. Addressed review comments from Dan x 3.
dcf673bd6e19911f540248359fd0e891a076b7ec 04-Jun-2009 Lorenzo Colitti <lorenzo@google.com> Unbreak sim build.
07df05a6fc7908c58139b852c989e66b415ec057 01-Jun-2009 Ben Cheng <bccheng@android.com> Initial port of the Dalvik JIT enging to the internal repository.
Fixed files with trailing spaces.
Addressed review comments from Dan.
Addressed review comments from fadden.
Addressed review comments from Dan x 2.
Addressed review comments from Dan x 3.
8782f8f62f41dabc7444d65b7819b4b44488c068 04-Jun-2009 Android Code Review <code-review@android.com> Merge change 10263

* changes:
dx incorrectly writes registers as a signed leb128 in the dex debug info
04361e2066f53d0771cfcd41c5853588e1fc00f3 04-Jun-2009 Ben Gruver <jesusfreke@jesusfreke.com> Fix field names for annotation_directory_item in documentation (dex-format.html)

The names of the annotated_methods_off and annotated_parameters_off fields aren't
consistent with their purpose. _size is consistent with how "count of" type fields
are named elsewhere in the file
6bd11fe5a029c87cf98671a1cc1817a26a3de5a1 04-Jun-2009 Ben Gruver <jesusfreke@jesusfreke.com> dx incorrectly writes registers as a signed leb128 in the dex debug info

This has no functional effect, because reading the signed leb128 value
as an unsignedleb128 still produces the same value. But the encoding is
1 byte longer in some cases.
3e286422d272da50e8509f94b490e9ee71d5a6f6 04-Jun-2009 Andy McFadden <fadden@android.com> Retry on all ADB failures.

Change 2644 added retries when ADB went away. The VM occasionally
thinks it has reconnected to adbd as it's dying, which caused a
different type of failure, and the JDWP thread went off to sulk.

This rearranges the failure handling some more, so that all failures
are treated equally (with slight differences in logging).
b33b38cb035112f9820d8b28d3296fe06200390a 03-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2972

* changes:
Use monotonic clock for HeapWorker trim scheduling.
89129869aace4be7c2ee9bed77098144e184fd2d 03-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2920

* changes:
Make native socket code address-independent in preparation for IPv6 support.
bc019a51331735982b840b91e4e0dc2d39ff9d84 02-Jun-2009 Andy McFadden <fadden@android.com> Use monotonic clock for HeapWorker trim scheduling.

We're currently using gettimeofday(), which could get confused if the
wall clock jumps the wrong way.
25074d30ee3cccff446c73a4ca103f60bca1e0c4 27-May-2009 Lorenzo Colitti <lorenzo@google.com> Make native socket code address-independent in preparation for IPv6 support.
94361af61be4f84ed9c44db4bd18b19d342b6907 03-Jun-2009 Andy McFadden <fadden@android.com> Fix buffer overrun in DDM heap upload.

The HPSG heap upload was using a 4KB buffer. A test provided by an
external developer is creating massive arrays that need more than 12KB,
so we overran the buffer and trashed the native heap.

This change adds a test to prevent the overrun, and increases the buffer
size to 16KB to accomodate the current maximum heap size.
0c49061d97c355d2a50c95359b3973d16f57cb80 03-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 29febc56: Merge change 2454 into donut

Merge commit '29febc56fd523a7b1684ab04f75d6d213a282f11'

* commit '29febc56fd523a7b1684ab04f75d6d213a282f11':
Reactivating tests disabled because of ClassLoader loop
ae9aabb296d3c9795d9fc12e65046dae308b7b0d 03-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2454 into donut

* changes:
Reactivating tests disabled because of ClassLoader loop
234b71af69194fa7b1815a2eed37285fe871ae91 02-Jun-2009 Andy McFadden <fadden@android.com> Added an explicit "shutting down" flag.

Change 2644 made the JdwpAdb stuff retry when the remote side went away.
Unfortunately this also made it retry when the VM wanted to shut down.
Since the JDWP thread is a non-daemon thread, this causes the VM to
stall forever.

This adds an explict flag to allow us to drop out of the retry loop.
975ff8b97fd71f989b3a25562897e4b2248b76ab 02-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 744ab6b4: Merge change 2619 into donut

Merge commit '744ab6b47555dab886c90dbc720e207e1edefdc0'

* commit '744ab6b47555dab886c90dbc720e207e1edefdc0':
InetAddress: Stop logging DNS lookups to logcat.
a2be496eb1ced31961c6c6a18fa9286183c89ec9 02-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2619 into donut

* changes:
InetAddress: Stop logging DNS lookups to logcat.
225bd3d87d4e4d8fed3d7608554a05280fb84de4 01-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2765

* changes:
Move stuff around in an attempt to make VFP faster.
1895f105938aaa5820e040eed3936183b765052a 01-Jun-2009 Mihai Preda <preda@google.com> am e406b316: Bug 1844104: Fix buffer overwrite bugs in CharsetEncoderICU and CharsetDecoderICU.

Merge commit 'e406b316295f07d40679ce2372051c3b2bce5de4'

* commit 'e406b316295f07d40679ce2372051c3b2bce5de4':
Bug 1844104: Fix buffer overwrite bugs in CharsetEncoderICU and CharsetDecoderICU.
ba0f77a002a6465f4c2bf2440f8d7e12839c657d 30-May-2009 Andy McFadden <fadden@android.com> Move stuff around in an attempt to make VFP faster.

No effect on floating-point benchmarks. I suspect I've just moving
instructions from one delay slot to another, but I feel a little better
because the delay is in the VFP co-processor instead of the ARM CPU.
a0a7cd8ca749a426c25d52c2dbecfe10ec16539b 29-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2710

* changes:
Rename TARGET_ARCH_VERSION into TARGET_ARCH_VARIANT
94e2738a1dd5ee5ab0345a3f1409d8469a570d0e 29-May-2009 David 'Digit' Turner <digit@google.com> Rename TARGET_ARCH_VERSION into TARGET_ARCH_VARIANT
7ed8233c6b8235a51038811524b9ce10932654cf 28-May-2009 Andy McFadden <fadden@android.com> Prevent JDWP thread death when adbd dies.

The handling for "remote side disconnected" was getting folded in with
more severe failures. This separates the two, returning to the connection
retry loop when adbd disappears.

One side-effect is that the JDWP thread will now wake up every couple of
seconds when adbd isn't running. Only affects "debuggable" apps.

This also reduces the priority on a couple of log messages.

For internal bug 1844156.
6c627522292a4903a1e2189a7a27fb16754d6a4b 28-May-2009 Mike Lockwood <lockwood@android.com> InetAddress: Stop logging DNS lookups to logcat.

Logging all DNS lookups system wide raises privacy concerns to me
and might make people less likely to include logs in their bug reports.

Signed-off-by: Mike Lockwood <lockwood@android.com>
d201a8709d2315e478b7fe5e65a53ead8755fbf2 29-Apr-2009 Urs Grob <ursg@google.com> Reactivating tests disabled because of ClassLoader loop

Since ClassLoader.isAncestorOf has been fixed these tests now succeed.
So they can be reactivated.

BUG=1732214
1ff370f07250dccec079399d23f594e48f8d40ef 27-May-2009 Andy McFadden <fadden@android.com> Correct some things in test 068. Add detail to a verification error message.
27df97dc296ef6d38c95b4c78524a2a0fa68cabf 27-May-2009 Andy McFadden <fadden@android.com> Another fix for external bug 2711 (over-eager conflicting class rejection).

The validateSuperDescriptors() test also checks for conflicts with
interface classes, and wasn't doing that quite right. We need to compare
every method declared by an interface against the class' implementation
of it. Methods implemented by superclasses are now tested in the context
of the superclass, not the current class.

This is a one-word fix + comments and new/updated tests.
83dfe22a90e433ea51c65dc65321992c183964d3 27-May-2009 Andy McFadden <fadden@android.com> Correct handling of certain incompatible class changes.

Tests 065 and 066 depened on the old behavior of the verifier. Updating
them to the new behavior wasn't enough, though, because they weren't
reporting the right error. The verifier's resolution code now examines
the exception to see if the load failure was caused by an incompatible
class change error.

I also updated the description of test 071 to note that it will fail on
the device if you don't have an sdcard.

Added a method to get the exception "cause" field. It handles the
"uninitialized" state, which I keep forgetting about.

Spruced up dvmDumpObject, which hadn't been used in a while. Fixed a
warning in Profile.c.

For internal bug 1866729.
edcc082e1e50511b071554be2f820aadabbe325a 26-May-2009 Andy McFadden <fadden@android.com> Fix for external bug 2711, over-eager conflicting class rejection.

The validateSuperDescriptors() test added in Cupcake (or thereabouts) was
checking things that didn't need to be checked, and rejecting classes that
didn't need to be rejected.

Expanded test 068 to include a doubled-but-okay test.

Updates FancyLoader to use a single copy of the DexFile.
7cdbaceaf8832175bb9e622efd11af2c48988e57 25-May-2009 Mihai Preda <preda@google.com> Bug 1844104: Fix buffer overwrite bugs in CharsetEncoderICU and CharsetDecoderICU.

And add unit test.
e36f96da19909276691ca0ca27f5ccf983ff6801 22-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2346

* changes:
Ignore missing bootstrap class path jars after printing a warning.
2147f634cf039ea3150d7daba9083f983d723004 22-May-2009 Andy McFadden <fadden@android.com> Ignore missing bootstrap class path jars after printing a warning.

Previous behavior was to print an error and halt. The warning will appear
in the log whenever the VM is started, which means you'll see it on every
"dexopt" invocation but otherwise only once during zygote init.

For internal bug 1812586.
18d94715dd77d0ad934761f7cc4bcd44c88638d0 21-May-2009 t.mehrvarz <othy74@gmail.com> am 84938760: Code to reuse PlatformAddress objects. Minimizing garbage creation on the framework level and reducing the number of runtime GC-hiccups for OpenGL apps and animations. 2nd version: complete rewrite using 8 bit hash, up to 5 probes, cycle through probes cache replacement. (Thank you MichaelDt for your help.) - 1st amend: applied requested modifications - 2nd amend: comment openers, curly bracket

Merge commit '8493876016e383b59af707cb5184100374f7f353'

* commit '8493876016e383b59af707cb5184100374f7f353':
Code to reuse PlatformAddress objects. Minimizing garbage creation on the framework level and reducing the number of runtime GC-hiccups for OpenGL apps and animations.
e70e8c5ab4ac94f5ee62c83cf95f1762d2061fc6 28-Feb-2009 t.mehrvarz <othy74@gmail.com> Code to reuse PlatformAddress objects. Minimizing garbage creation on the framework level and reducing the number of runtime GC-hiccups for OpenGL apps and animations.
2nd version: complete rewrite using 8 bit hash, up to 5 probes, cycle through probes cache replacement. (Thank you MichaelDt for your help.)
- 1st amend: applied requested modifications
- 2nd amend: comment openers, curly bracket
fa5ec9edc2c6b780cc16e4e5767066ff03fdbcce 20-May-2009 Android (Google) Code Review <android-gerrit@google.com> am d3c6d366: Merge change 1987 into donut

Merge commit 'd3c6d366379142d0784ab5fe973a939d462aca28'

* commit 'd3c6d366379142d0784ab5fe973a939d462aca28':
Add tracing of native function calls to Dalvik.
ddbd1dc950f2c3eb5e225509134d2e836ad6e17d 20-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1987 into donut

* changes:
Add tracing of native function calls to Dalvik.
ec95e1a613a6272566cdffda5fac56c36150f69c 19-May-2009 Jack Veenstra <veenstra@android.com> Add tracing of native function calls to Dalvik.

Dalvik already traces Java method calls but it doesn't trace JNI calls.
This adds new trace records for JNI calls.
ce15f06959023cf54acdecf3da07d3e48a10c446 20-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1981

* changes:
Added basic VFP support to Dalvik interpreter.
cb33476130384ce7627a1d5ce0a06840b836cb9f 19-May-2009 Andy McFadden <fadden@android.com> Added basic VFP support to Dalvik interpreter.

This adds opcode handlers for all instructions that have a VFP equivalent
or (for the compare operations) near-equivalent.

The inclusion of VFP is keyed off of TARGET_ARCH_VERSION, so enabling
this requires setting "TARGET_ARCH_VERSION=armv5te-vfp" in a buildspec.
5928517b4e7b735534c59d913a0eae457a1bda2c 18-May-2009 Dan Bornstein <danfuzz@android.com> Fix up the last handful of FindBugs complaints.

And again, also do a bit of whitespace cleanup.
ecf5fe68d6653be215d5aaa181e46be7f44dda9a 15-May-2009 Dan Bornstein <danfuzz@android.com> Fix a bunch of little problems noticed by FindBugs, and cleaned up some
spacing issues that I happened to notice along the way.
45b6cec7c246c6b12d36bd10f70f3292727c66cc 09-May-2009 Andy McFadden <fadden@android.com> Defer reporting of certain verifier failures.

The verifier currently reports all failures immediately. Certain failures,
such as the failure to resolve a method, or the determination that access
to a field is not allowed, are supposed to deferred until the first time
that executing code does something that could cause the resolution.

With this change, several kinds of verification failures are deferred.
This is done by making a writable copy of the bytecode and replacing the
failing instruction with an "always throw" opcode.

Gory details:
- Added throw-verification-error instruction. Implemented in "portable"
and ARM interpreters. x86 uses portable form through stub.
- Added a function that creates a copy of a DexCode area and makes the
bytecodes writable.
- Added code that replaces a single instruction with an "always throw".
- Replaced runtime check for abstract/interface in new-instance with a
check at verification time.
- Added a test to exercise the deferred error mechanism.
- Minor cleanups (replaced tab, bad valgrind command, ...).
b352997e5dd7206ff69db7430d5f42567c04561a 16-May-2009 Andy McFadden <fadden@android.com> am 7ccb7a6a: Increase the number of entries set aside for zygote initiating loader lists.

Merge commit '7ccb7a6a563396e4b64069dd4e57977d1b5b6180'

* commit '7ccb7a6a563396e4b64069dd4e57977d1b5b6180':
Increase the number of entries set aside for zygote initiating loader lists.
Fix handling of "--dev" argument in dalvik tests.
8d8c51cc548b1ad6a758f857d5b66fafc96d20b5 15-May-2009 Andy McFadden <fadden@android.com> Increase the number of entries set aside for zygote initiating loader lists.

The number of classes that are present when the zygote finishes
initializing increased in donut/master, above the 2000 we currently
plan for. Exceeding the limit reduces zygote sharing efficiency, so
this change raises the limit.
3a7d60fba6b00b0da0241f7e8eaf9d1c4b877a16 14-May-2009 Andy McFadden <fadden@android.com> Check object types when native code returns.

Object references returned by native code were not being type checked,
so it was possible to (for example) return a byte[] when an InetAddress
was expected. This sort of thing can lead to extremely strange behavior.

Now, when "check JNI" is enabled, we insert another layer in the JNI call
sequence that verifies the type of the returned object. This makes calls
to native methods returning an object a bit slower on engineering builds,
but the added type safety is helpful.

I found two failures with this. One fairly harmless one was fixed in
master 1594, the other is filed as internal bug 1851257. The latter does
not seem to cause problems for anything other than the socks5 app that
uncovered it (but it does render SOCKS less than useful).
6c39f1290a8e43ebcd2e4c6ae6fee82439be98bf 14-May-2009 Andy McFadden <fadden@android.com> Wrote Dalvik "porting guide".
7ad097f63584c264958908c97e68161780bcdf83 14-May-2009 Andy McFadden <fadden@android.com> Return an Object[][] rather than an Object[].
548707e713b9cc76a09726b658e06d8d33f9f95b 13-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1563

* changes:
Strip some cruft from the CheckJNI method invocation macros.
baa3bbfdf29671ff10f56a2b317827fa14cc08bf 13-May-2009 Andy McFadden <fadden@android.com> Strip some cruft from the CheckJNI method invocation macros.
f683f163eb3e46fef70ca05e69c2c1cfdb141f0f 13-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1551

* changes:
Added a note in response to external feedback.
676cf1527239f692d2a97114ab0a59e3c477d87c 13-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1481

* changes:
Bringing annotation up to Harmony r772995.
bb2aee6643e05d1e57476e2a04058a434950f214 13-May-2009 Andy McFadden <fadden@android.com> Fix handling of "--dev" argument in dalvik tests.

This was originally part of p9-144240, which was only made in "master".
1e343f6c9eea35f0756c9abba15c63a010216861 13-May-2009 Andy McFadden <fadden@android.com> Added a note in response to external feedback.
e3f8d2c10156dc45c2b3490393c164839a9225f4 13-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1489

* changes:
Wrote Dalvik "porting guide".
d9a493232a8ba500200a7823ac2340f9824fd7c9 13-May-2009 Andy McFadden <fadden@android.com> Wrote Dalvik "porting guide".
9d1ee1a4288a9b90cb48d69698866497b1b4d637 12-May-2009 Jesse Wilson <jessewilson@google.com> Bringing annotation up to Harmony r772995.

commit 8f52858127fd95abc694f0080438479be3c71ac6
Merge: 68891f9 df17e4f
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 13:59:37 2009 -0700

Merge branch 'annotation_772995' into annotation_dalvik

Conflicts:
libcore/annotation/.classpath
libcore/annotation/build.xml
libcore/annotation/src/main/java/java/lang/annotation/Annotation.java
libcore/annotation/src/main/java/java/lang/annotation/AnnotationFormatError.java
libcore/annotation/src/main/java/java/lang/annotation/AnnotationTypeMismatchException.java
libcore/annotation/src/main/java/java/lang/annotation/Documented.java
libcore/annotation/src/main/java/java/lang/annotation/ElementType.java
libcore/annotation/src/main/java/java/lang/annotation/IncompleteAnnotationException.java
libcore/annotation/src/main/java/java/lang/annotation/Inherited.java
libcore/annotation/src/main/java/java/lang/annotation/Retention.java
libcore/annotation/src/main/java/java/lang/annotation/RetentionPolicy.java
libcore/annotation/src/main/java/java/lang/annotation/Target.java

commit 68891f94f87bea309f92dbe2f9a8eab95fa93614
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 13:46:16 2009 -0700

Stripped @since Android 1.0 from annotation/

commit e3acecef0db3b85369aaa6f5db7876cde29d7329
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 13:23:06 2009 -0700

Dalvik annotation

commit df17e4f396151289e7c6c645191fb27be9950f80
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 13:21:33 2009 -0700

Annotation 772995

commit b89fac88400f17b6ba8be359eacad29d9faf7baf
Author: Jesse Wilson <jessewilson@google.com>
Date: Tue May 12 13:19:55 2009 -0700

Annotation 527399.
618e4f7414bfc47739f02f45542040a1929c41e3 12-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1431

* changes:
Bringing the logging module up to Harmony r772995.
1545b0eb29ee4eef15fa4efb0f146a3697e7873f 12-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1401

* changes:
Minor cleanup.
cd0a0b70d284d1de81fee9a30599bcacdec55ae8 12-May-2009 Jesse Wilson <jessewilson@google.com> Bringing the logging module up to Harmony r772995.

commit 080ff677c719f1e53ffb544c3fb684bb9ff28677
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon May 11 19:06:05 2009 -0700

Copied test changes over manually.

commit ea52f28de5378f7dd4eff5c0f83d805e997a98de
Merge: 0c1f753 a6c8255
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon May 11 18:49:28 2009 -0700

Merge branch 'logging_772995' into logging_dalvik

Conflicts:
libcore/logging/.classpath
libcore/logging/META-INF/MANIFEST.MF
libcore/logging/build.xml
libcore/logging/src/main/java/java/util/logging/ConsoleHandler.java
libcore/logging/src/main/java/java/util/logging/FileHandler.java
libcore/logging/src/main/java/java/util/logging/Formatter.java
libcore/logging/src/main/java/java/util/logging/Handler.java
libcore/logging/src/main/java/java/util/logging/Level.java
libcore/logging/src/main/java/java/util/logging/LogManager.java
libcore/logging/src/main/java/java/util/logging/LogRecord.java
libcore/logging/src/main/java/java/util/logging/Logger.java
libcore/logging/src/main/java/java/util/logging/LoggingMXBean.java
libcore/logging/src/main/java/java/util/logging/LoggingPermission.java
libcore/logging/src/main/java/java/util/logging/MemoryHandler.java
libcore/logging/src/main/java/java/util/logging/SimpleFormatter.java
libcore/logging/src/main/java/java/util/logging/SocketHandler.java
libcore/logging/src/main/java/java/util/logging/StreamHandler.java
libcore/logging/src/main/java/java/util/logging/XMLFormatter.java
libcore/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LoggerTest.java

commit 0c1f7538e6fe3091a3d142b2ac14f5bf338b3a55
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon May 11 16:06:59 2009 -0700

Stripped @since Android 1.0

commit 4c715c6c58080b3cbed2928cd1b71b9931e217a3
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon May 11 15:57:59 2009 -0700

Logging Dalvik.

commit a6c8255dbbad85145a2066d9846d24787df0f75f
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon May 11 15:56:41 2009 -0700

Logging 772995

commit db77dbdf56e99e3dcced2d758f7150007562c41c
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon May 11 15:54:13 2009 -0700

Logging 527399
67681a0d07f3c4864dbfc6ec9e79468043a03ff3 12-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1394

* changes:
Squashed commit of the following:
bf92369cdc0887beaea6a85ada94e97efefe9eaf 11-May-2009 Dan Bornstein <danfuzz@android.com> Minor cleanup.
b9637fc01a59a38d78c808821a9948b76aa6a76a 11-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 4da0525: Merge change 1400 into donut

Merge commit '4da052510571aea4711d04de25a24b58cab1dadc'

* commit '4da052510571aea4711d04de25a24b58cab1dadc':
Increase default stack size from 8K to 12K.
4d738e7db610fed05e2b94b7a8bb96c12ed630db 11-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1400 into donut

* changes:
Increase default stack size from 8K to 12K.
36262b0457178bc131d1438d7712ca54f50c74b8 11-May-2009 Andy McFadden <fadden@android.com> Increase default stack size from 8K to 12K.

For internal bug 1844105.
3e74e2e4accb71005fee060299ebd0079c89b600 11-May-2009 Andy Stadler <nobody@android.com> am 08eacd4: am 64b928e: AI 148694: Manually copied from cupcake_dcm CL 1

Merge commit '08eacd482ca9988b021a9e9e6c8bec573d6e4057'

* commit '08eacd482ca9988b021a9e9e6c8bec573d6e4057':
AI 148694: Manually copied from cupcake_dcm CL 148669-p9. When resetting the
5d7bba841b51fd0c5b1671c133978368e7015c3f 11-May-2009 Andy Stadler <nobody@android.com> am 64b928e: AI 148694: Manually copied from cupcake_dcm CL 148669-p9. W

Merge commit '64b928e82a3b91b339ff9ee980c4a0c020daa251' into donut

* commit '64b928e82a3b91b339ff9ee980c4a0c020daa251':
AI 148694: Manually copied from cupcake_dcm CL 148669-p9. When resetting the
a9a83b65ac91d2b5a6398e6bc97830d92e35b4c8 11-May-2009 Jesse Wilson <jessewilson@google.com> Squashed commit of the following:

commit 2e4a7b3a3accb25865fb4c5535168b0d6bcebae4
Merge: 81ff13e 6c7f7e7
Author: Jesse Wilson <jessewilson@jessewilson.mtv.corp.google.com>
Date: Mon May 11 13:47:02 2009 -0700

Update our auth/ package to Harmony r772995. This change is just whitespace, plus dropping the newly added GSS tests and sample data (Generic Security services, org.ietf.jgss).

Merge branch 'auth_772995' into auth_dalvik

Conflicts:
libcore/auth/.classpath
libcore/auth/META-INF/MANIFEST.MF
libcore/auth/build.xml
libcore/auth/make/exclude.common
libcore/auth/src/main/java/javax/security/auth/AuthPermission.java
libcore/auth/src/main/java/javax/security/auth/DestroyFailedException.java
libcore/auth/src/main/java/javax/security/auth/Destroyable.java
libcore/auth/src/main/java/javax/security/auth/PrivateCredentialPermission.java
libcore/auth/src/main/java/javax/security/auth/Subject.java
libcore/auth/src/main/java/javax/security/auth/SubjectDomainCombiner.java
libcore/auth/src/main/java/javax/security/auth/callback/CallbackHandler.java
libcore/auth/src/main/java/javax/security/auth/callback/PasswordCallback.java
libcore/auth/src/main/java/javax/security/auth/callback/UnsupportedCallbackException.java
libcore/auth/src/main/java/javax/security/auth/kerberos/KerberosKey.java
libcore/auth/src/main/java/javax/security/auth/login/LoginException.java
libcore/auth/src/main/java/javax/security/auth/x500/X500Principal.java
libcore/auth/src/main/java/org/apache/harmony/auth/login/DefaultConfiguration.java
libcore/auth/src/main/native/auth/unix/exports.txt
libcore/auth/src/main/native/auth/unix/makefile
libcore/auth/src/main/native/auth/windows/makefile
libcore/auth/src/test/java/common/org/ietf/jgss/OidTest.java

commit 81ff13ec7ae480ac783f692f38c845f502b49809
Author: Jesse Wilson <jessewilson@jessewilson.mtv.corp.google.com>
Date: Fri May 8 17:53:27 2009 -0700

Stripped @since tags

commit 8b4d0e9b66d8d674a56a26f0d1bc111f9d2faa8d
Author: Jesse Wilson <jessewilson@jessewilson.mtv.corp.google.com>
Date: Fri May 8 17:40:36 2009 -0700

Auth dalvik.

commit 6c7f7e7d41393869e3900ad224bf32a26378d723
Author: Jesse Wilson <jessewilson@jessewilson.mtv.corp.google.com>
Date: Fri May 8 17:39:48 2009 -0700

Auth 772995

commit ed7f6150f8235006c59afab862d30d6033b02460
Author: Jesse Wilson <jessewilson@jessewilson.mtv.corp.google.com>
Date: Fri May 8 17:38:12 2009 -0700

Auth 527399
8a79f91d83d150d394724c2d2b5beb3213690a70 11-May-2009 Andy Stadler <nobody@android.com> AI 148694: Manually copied from cupcake_dcm CL 148669-p9. When resetting the
mode of the encoder, clear the leftover input & output buffers.
This claims to fix buffer overwriting we're seeing during account
sync and message download.
BUG=1822859

Automated import of CL 148694
e96234c03ba7bb4425a6e7fd24a477c438ca0a07 11-May-2009 Dan Bornstein <nobody@android.com> am 8cee535: am 974cdcd: AI 148692: Merge change #148679 into Cupcake, si

Merge commit '8cee535966608f63ab11fe127c9045838974e08f'

* commit '8cee535966608f63ab11fe127c9045838974e08f':
AI 148692: Merge change #148679 into Cupcake, since we probably want to
8c7960faaa454621b065f57d2b8dcedc2f3618bf 11-May-2009 Dan Bornstein <nobody@android.com> am 974cdcd: AI 148692: Merge change #148679 into Cupcake, since we proba

Merge commit '974cdcdc22ce05a0574bf7f2559a175c8d9434e9' into donut

* commit '974cdcdc22ce05a0574bf7f2559a175c8d9434e9':
AI 148692: Merge change #148679 into Cupcake, since we probably want to
71788365296187494a1382e2a874ddcff3a42054 11-May-2009 Dan Bornstein <nobody@android.com> AI 148692: Merge change #148679 into Cupcake, since we probably want to
take it for rel if there's an opportunity. Original
description:
Fix InputStreamReader to not drop input on buffer boundaries.
This fix takes the salient code from Harmony tip-of-tree,
though it's not a wholesale replacement of the file. In
particular, I left in the old encoding name handling as well
as one remaining "FIXME" that I don't think would have been
addressed.
BUG=1836908

Automated import of CL 148692
b64c831cebdc39592bfdd89615d50aad486b2a07 11-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 96e0f60: Merge change 1369 into donut

Merge commit '96e0f600a6a52aa1424c1e8787fc40c1b3b3f79a'

* commit '96e0f600a6a52aa1424c1e8787fc40c1b3b3f79a':
Updated a comment.
70a893c1014ef90126f44e8d0e22ffc43399d8f9 11-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1369 into donut

* changes:
Updated a comment.
2a59946ee5a2d7c414068977df171d8a5852082b 11-May-2009 Andy McFadden <fadden@android.com> Updated a comment.
1d6c6b46635bc7cd2f27a29e5895ae50c11c4cd0 11-May-2009 Jorg Pleumann <nobody@android.com> am ac02d18: am 2de2459: AI 148670: More tests that need to be marked bro

Merge commit 'ac02d185cf7f5b494c621ca67a4d786348deac3a'

* commit 'ac02d185cf7f5b494c621ca67a4d786348deac3a':
AI 148670: More tests that need to be marked broken, since
9a4d78fad97b8dde0aa5acad4e353cd69b96c016 11-May-2009 Jorg Pleumann <nobody@android.com> am 2de2459: AI 148670: More tests that need to be marked broken, since

Merge commit '2de2459caf88698400b7bcadaf87b5767b22f81e' into donut

* commit '2de2459caf88698400b7bcadaf87b5767b22f81e':
AI 148670: More tests that need to be marked broken, since
042116d8fa52f75dd97ddb1cd07e288ebb5369f5 11-May-2009 Jorg Pleumann <nobody@android.com> AI 148670: More tests that need to be marked broken, since
they behave differently in CTS and plain VM.
Hopefully the last ones...
BUG=1285921

Automated import of CL 148670
4443f75616b4cf8fe4882202ba272727613f6afe 11-May-2009 Andy McFadden <fadden@android.com> am 99647fb: Pull the useful part of p9-132414 over to "donut".

Merge commit '99647fbab2aee5730d277ddb2247709ccd4c95fa'

* commit '99647fbab2aee5730d277ddb2247709ccd4c95fa':
Pull the useful part of p9-132414 over to "donut".
e8593889f2032541e3bc74aa0ed5732aa35e1239 09-May-2009 Andy McFadden <fadden@android.com> Pull the useful part of p9-132414 over to "donut".

This was inspired by some valgrind complaints marcone noticed. The change
is already part of "master".

(I just noticed that the comment isn't quite right, but hopefully if I leave
it alone it'll merge trivially and I can fix it up in a subsequent change.)
97deb289e05e8bac646ec69d9f1447c4a6515d1d 08-May-2009 Andy McFadden <fadden@android.com> Increase size of LinearAlloc region, and warn about massive Mirandizing.
342a1fa323c8716ce9864ecc6f5f3576d4f166ab 07-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1170

* changes:
Added throw-verification-error instruction.
83531c9e9723e7be79fa2f31731a254bccd81fbc 07-May-2009 Andy McFadden <fadden@android.com> Added throw-verification-error instruction.

This is for the deferred verifier error reporting. It replaces OP_UNUSED_ED.
The instructions aren't actually used yet, which is good since the x86
version hasn't been written yet.

The mterp regen also pushed out some recent-ish changes that hadn't
propagated to the armv4t sources.
5a423154541a5d44e140bdb4fb3404d6847b896a 07-May-2009 Jorg Pleumann <nobody@android.com> am dbd5c90: am c423b40: AI 148447: Marking some more tests as broken, be

Merge commit 'dbd5c902c3cca79e22d0f38539cc195ef7395647'

* commit 'dbd5c902c3cca79e22d0f38539cc195ef7395647':
AI 148447: Marking some more tests as broken, because they
042689e8ca989b331bef5ef610b697208efc1133 07-May-2009 Jorg Pleumann <nobody@android.com> am c423b40: AI 148447: Marking some more tests as broken, because they

Merge commit 'c423b4096a09b1c1eae05b8ef37e7e3c428e0b92' into donut

* commit 'c423b4096a09b1c1eae05b8ef37e7e3c428e0b92':
AI 148447: Marking some more tests as broken, because they
433165a3989db556f804340ee008786dd7229dc5 07-May-2009 Jorg Pleumann <nobody@android.com> AI 148447: Marking some more tests as broken, because they
don't work properly in the CTS environment for
some reason.
BUG=1285921

Automated import of CL 148447
7f5e3b1f0476ff7d3e146634d56a7270edea4c69 07-May-2009 Jorg Pleumann <nobody@android.com> am 61df6ac: am 2f563a4: AI 148431: Marking as broken a couple of tests

Merge commit '61df6ac69e6614cb9986bf4ce3626dda914e0c6a'

* commit '61df6ac69e6614cb9986bf4ce3626dda914e0c6a':
AI 148431: Marking as broken a couple of tests
6297f5492337379ea52a804e1ef6b571e7929ab9 07-May-2009 Jorg Pleumann <nobody@android.com> am 2f563a4: AI 148431: Marking as broken a couple of tests

Merge commit '2f563a4590c4a0e54177906c47d50f4ef454eba5' into donut

* commit '2f563a4590c4a0e54177906c47d50f4ef454eba5':
AI 148431: Marking as broken a couple of tests
94f624b308a6a2b49c3b9aea71f49540d80e145c 07-May-2009 Jorg Pleumann <nobody@android.com> AI 148431: Marking as broken a couple of tests
that tend to fail in the CTS host.
BUG=1285921

Automated import of CL 148431
7874f435e83ac01af57f6481cf84f0f05a755a7d 07-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1112

* changes:
Say a few words about the virtues of IsSameObject.
96e99ff412d19b461233eb5dacbadea7c053f0b9 07-May-2009 Andy McFadden <fadden@android.com> Say a few words about the virtues of IsSameObject.
ef179afa665e73d779627b36a71d6af5bebc936c 07-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 619309e: Merge change 1003 into donut

Merge commit '619309e6a11b623b48b7231de712eaed3d469531'

* commit '619309e6a11b623b48b7231de712eaed3d469531':
Add support for tracing Java method entry/exit in emulator.
aa30a7b4704d8df000392c55ee90e0530c50d54a 07-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1003 into donut

* changes:
Add support for tracing Java method entry/exit in emulator.
702c9775272480dfe62d8fd66c9d388af4e7f415 05-May-2009 Jack Veenstra <veenstra@android.com> Add support for tracing Java method entry/exit in emulator.

This is part of a larger change and depends on changes to the
kernel and the emulator tracing code. The code used to work by
by writing to a "magic page" which the emulator would notice
because it watches every load and store. But the emulator lost
the ability to watch every load and store with the latest update
to qemu. So the new code sets up a memory-mapped page that the
emulator watches. This is cleaner and more efficient anyway.
510eaed3315c1407f03107619378ca25820eacaa 06-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 921d947: Merge change 1055 into donut

Merge commit '921d9479afef6d6df1ed9c60ef8f3110e4ad7fde'

* commit '921d9479afef6d6df1ed9c60ef8f3110e4ad7fde':
Fix issue 1687880.
6387b5f8a46e91d62719d69b5e3853d92e54c0b5 06-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1055 into donut

* changes:
Fix issue 1687880.
347012ba0e5e463daa58aba53aa1dba7b36b8e41 06-May-2009 Andy McFadden <fadden@android.com> merge a2ee53b and resolved conflicts...
f9fed077a08eab0800c1b12feeca14aadef6b151 06-May-2009 Jing Yu <jingyu@google.com> Fix issue 1687880.

Change argument va_list to a standard representation.
8898621767b5b2e1139715f9d03def053a8fa983 06-May-2009 Andy McFadden <fadden@android.com> Added XML output mode for dexdump.

This adds an output mode that looks similar to the "current.xml" we
generate for our public APIs. There are a number of differences in
content. The original ("plain") output has not been altered.

I pulled in the bad checksum handling change (internal 142686) since
it's small, has turned out to be useful, and might make the merge of
this to master slightly easier.

This also renames a buffer in the ongoing temp file variable saga.
3196fa4865989af3aa03feae2072e2598803b77f 05-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 996

* changes:
A foolish consistency is the hobgoblin of little minds. -- Ralph Waldo Emerson
5d0319c384b96281eca5244bfeffeaa290b0b0c9 05-May-2009 Dan Bornstein <danfuzz@android.com> A foolish consistency is the hobgoblin of little minds.
-- Ralph Waldo Emerson
55aa9b131d2e1125983d523ddf1e48076e5a38a7 05-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 6d874d2: Merge change 993 into donut

Merge commit '6d874d2bda563ada1034d2b3219b35d800fc6860'

* commit '6d874d2bda563ada1034d2b3219b35d800fc6860':
Pull fix from master branch, and correct filename juggling.
ea1529b33d2ca73e57af253d6ba2662c7d8d0200 05-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 993 into donut

* changes:
Pull fix from master branch, and correct filename juggling.
f4619e9fff07a322d00d4128cedb9eb0a6b6af85 05-May-2009 Andy McFadden <fadden@android.com> Pull fix from master branch, and correct filename juggling.

The original fix was in p4 144906. This also corrects some problems that
arise when the temp file is specified.
188f83c21ae42d5849cc29797b55e19af83625cb 05-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 948

* changes:
Tweaks, Mostly grep-based, to better conform to the coding guidelines.
21749b8b8fa69c4d379f35235e3febb10cedfd3e 04-May-2009 Dan Bornstein <danfuzz@android.com> Tweaks, Mostly grep-based, to better conform to the coding guidelines.
198553edb1e756beb1a104dae31fc212babd702e 04-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 1444f86: Merge change 945 into donut

Merge commit '1444f86148b2844800044b4776e2a35d362f3fa9'

* commit '1444f86148b2844800044b4776e2a35d362f3fa9':
Moved the context class loader init down a bit to ensure proper init.
7adf32708d41bd23e41fecfeb364f8708124f7d9 04-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 945 into donut

* changes:
Moved the context class loader init down a bit to ensure proper init.
e8c325ab0a4f1ca4b83e9ef134a7dc9faeece142 04-May-2009 Andy McFadden <fadden@android.com> Moved the context class loader init down a bit to ensure proper init.

Since we're executing interpreted code it's best if we set the context
class loader as late as possible in this function. I also updated a few
comments while I was in there.
f6b88de1d5f290014d50a5c3db7564572526281a 04-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 8bad31e: Merge change 944 into donut

Merge commit '8bad31ef86b3179b5725ac6e0ca9f615025b35b9'

* commit '8bad31ef86b3179b5725ac6e0ca9f615025b35b9':
Set the main thread's context class loader to the system class loader.
c684bbbfc10d1421774693ba157b2b02d1b07227 04-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 944 into donut

* changes:
Set the main thread's context class loader to the system class loader.
72aee05fc36c000768cb38581084a4454e6b9fe3 04-May-2009 Andy McFadden <fadden@android.com> Set the main thread's context class loader to the system class loader.
1b1601d06ef155dfb5c8e2084611c68dfa145e52 04-May-2009 Andy McFadden <fadden@android.com> am 1cf3b27: Test for null object in the Get<Type>Field and Set<Type>Fiel

Merge commit '1cf3b27e857824af08bab76489b6e25a213edc8d'

* commit '1cf3b27e857824af08bab76489b6e25a213edc8d':
Test for null object in the Get<Type>Field and Set<Type>Field JNI functions.
e88ea07482dd8e98f9b2c34f92652ce6eb2807a4 04-May-2009 Andy McFadden <fadden@android.com> Test for null object in the Get<Type>Field and Set<Type>Field JNI functions.

Also adds some "return" calls after abortMaybe(), since it won't actually
abort if "warnonly" is set.
c8ef0740a13343e6b2a084611959fc7136bd1ef4 02-May-2009 Dan Bornstein <danfuzz@android.com> Clean up a couple more files.

As usual, I did this while browsing the SSA code in an attempt to
understand what's going on with the weird local register assignment
issue.
7a8e99154c4527013aa53ccf00755f50cde9f56d 01-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 8eeeefc: Merge change 891 into donut

Merge commit '8eeeefccffb5e06107cd444436cc229f282a2b72'

* commit '8eeeefccffb5e06107cd444436cc229f282a2b72':
Corrected behavior of Constructor.newInstance on abstract classes.
b4a5ce4a0082064d032fedffdae3beaeb4341132 01-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 891 into donut

* changes:
Corrected behavior of Constructor.newInstance on abstract classes.
c21e8d83f5e1751903a904f98f91d903a4e10eee 01-May-2009 Andy McFadden <fadden@android.com> Corrected behavior of Constructor.newInstance on abstract classes.

The VM now throws an exception when somebody tries to create an instance
of an abstract class through a Constructor object. It also ensures that
the class is initialized before attempting to create an instance.

This change adds some Constructor tests to the 042-new-instance VM test.
(It also pulls in some additions that were made to the 042 test back
in March, on the p4 master branch.)
b9316eeeb586c225994a9398fdd0be1251e8203c 01-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 849

* changes:
Corrected behavior of Constructor.newInstance on abstract classes.
39fe35bd41d970af60e6ed76ea5b11d7c6eb5618 01-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 399fbc0: Merge change 818 into donut

Merge commit '399fbc0d87bbe4f2808cb582dc23f932432ea846'

* commit '399fbc0d87bbe4f2808cb582dc23f932432ea846':
Changed the way we check the magic number in guard pages.
a98ef1dcdad0e394f78d8b80e7c81973b7ee2d08 01-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 818 into donut

* changes:
Changed the way we check the magic number in guard pages.
f75c10ffc14da58cd8fd1a0dc199752e3c813bf7 01-May-2009 Andy McFadden <fadden@android.com> Corrected behavior of Constructor.newInstance on abstract classes.

The VM now throws an exception when somebody tries to create an instance
of an abstract class through a Constructor object. It also ensures that
the class is initialized before attempting to create an instance.

This change adds some Constructor tests to the 042-new-instance VM test.
8726affcdb397505d80c5361a6a6e609a22775ea 27-Apr-2009 Andy McFadden <fadden@android.com> Added two new Dalvik documents.

One explains the use of hprof, the other shows how to use the VM from
the command line. These are partially based on some of my responses
to questions on external mailing lists.
0801a31559d3081c1b35658d67f2d05d30c75fe6 30-Apr-2009 Andy McFadden <fadden@android.com> Drop a copyright notice in at the end.
23c644b56aa8c47bd5f5ba33f24ddf703986a7f4 30-Apr-2009 Andy McFadden <fadden@android.com> Changed the way we check the magic number in guard pages.

Use memcmp instead of "==" so that, if the pointer is unaligned on a
platform where alignment matters, we fail with a nice warning instead
of a bus error.

Found while tracking down bug 1823434.
c2bc9bf1cc94a44ecfdc41bb76b03a01a311ea58 30-Apr-2009 Joe Onorato <joeo@android.com> Merge branch 'master' of ssh://android-git.corp.google.com:29418/platform/dalvik
2d1d519cee5a9b2777ba94a9570f54db97ec75ca 30-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 764

* changes:
Script that formats dvm_gc_info lines.
c7530b348c7b9235c69041684aad4e02ad6a4065 30-Apr-2009 Andy McFadden <fadden@android.com> Script that formats dvm_gc_info lines.

Simple (?) script that parses the dvm_gc_info lines out of the event log
and parses the contents. Mostly useful for displaying the external
allocation "limit" and "allocated" values, which don't really show up
anywhere else.
e5cfbcdc5ee6d6a27cafea0700be63f73723e3e3 29-Apr-2009 Barry Hayes <bhayes@google.com> am 2c98747: Improve zygote heap sharing.

Merge commit '2c98747b403970ef4b3352e271633f93935b9825'

* commit '2c98747b403970ef4b3352e271633f93935b9825':
Improve zygote heap sharing.
21da49af0e7b59820058a29985e36e49e410f1f6 29-Apr-2009 Jorg Pleumann <> am 50f46fd: am 14da4cc: AI 147896: Some more fixes for tests that failed

Merge commit '50f46fdcf99609da579d08668fe4d3d05aaf6c0c'

* commit '50f46fdcf99609da579d08668fe4d3d05aaf6c0c':
AI 147896: Some more fixes for tests that failed in
e9439371fb5170fcc7432bedc27921a6a8e8c7d9 29-Apr-2009 Jorg Pleumann <> am 8073bbc: am ef71222: AI 147838: A couple of fixes for making the

Merge commit '8073bbcc99d6a66f49497915ee12ce13f5b2ef85'

* commit '8073bbcc99d6a66f49497915ee12ce13f5b2ef85':
AI 147838: A couple of fixes for making the
68bd7286cc289ca6cfdfea4cfae9966954f96d77 29-Apr-2009 Scott Main <> am 4e3cc66: am 4645b7c: AI 147732: fix broken links

Merge commit '4e3cc66298b8e6d97670d3ed0b4170fb161d36f3'

* commit '4e3cc66298b8e6d97670d3ed0b4170fb161d36f3':
AI 147732: fix broken links
bd0c98a1d12749779340fe79100835225a4c4804 29-Apr-2009 Jorg Pleumann <> am 8c5029b: am 210c512: AI 147726: Getting rid of tests.luni.AllTests an

Merge commit '8c5029b6aeb814facb790f4a460d85637401ede3'

* commit '8c5029b6aeb814facb790f4a460d85637401ede3':
AI 147726: Getting rid of tests.luni.AllTests and
2e7a6159d832c0336a4bdefbdce10a453b0db573 29-Apr-2009 Jorg Pleumann <> am 28352aa: am 7cc0301: AI 147723: This should have been deleted a while

Merge commit '28352aafc2dba4e0f2c507649706389e1bea327e'

* commit '28352aafc2dba4e0f2c507649706389e1bea327e':
AI 147723: This should have been deleted a while ago, since
09ec99653945d772624c1165442327da177edba6 29-Apr-2009 Urs Grob <> am d26d3fc: am 3fb3946: AI 147687: Several fixes for failing tests in th

Merge commit 'd26d3fc95151c78102bc7bff12bb4b099424fd3f'

* commit 'd26d3fc95151c78102bc7bff12bb4b099424fd3f':
AI 147687: Several fixes for failing tests in the cts host. also tests that timeout
d1e56b9efc7abe34181cfb0f1db570795971c727 29-Apr-2009 Urs Grob <> am fbf8886: am 119c75d: AI 147660: Fixes for tests in the security modul

Merge commit 'fbf888693006c4135f61f7113dab80af44241681'

* commit 'fbf888693006c4135f61f7113dab80af44241681':
AI 147660: Fixes for tests in the security module.
182fe813da87ef4ad1035d602952a148359a92d3 29-Apr-2009 Jorg Pleumann <> am 025322b: am 2b828ef: AI 147464: Some small bugfixes for the core test

Merge commit '025322b5586f76fb2b886700f7a01deaa5d513bd'

* commit '025322b5586f76fb2b886700f7a01deaa5d513bd':
AI 147464: Some small bugfixes for the core tests.
1597a66ac46446e96a2cb87d14dc974a17592670 29-Apr-2009 Urs Grob <ursg@google.com> am 1c7ba87: Fix an infinite loop in ClassLoader.isAncestorOf()

Merge commit '1c7ba87b216ec3de563ac4d70548313da9b9bc1b'

* commit '1c7ba87b216ec3de563ac4d70548313da9b9bc1b':
Fix an infinite loop in ClassLoader.isAncestorOf()
e2473198f19233fef2da6773c7eb1ac1e26beff6 29-Apr-2009 Urs Grob <ursg@google.com> am f2931ca: Fix for excessive GREF use in gethostbyaddr.

Merge commit 'f2931ca22c6307a8740f2ec61795f7cfa6971262'

* commit 'f2931ca22c6307a8740f2ec61795f7cfa6971262':
Fix for excessive GREF use in gethostbyaddr.
485ba3177fb8e4e89a8fb1ef70584d17edd44b0d 29-Apr-2009 The Android Open Source Project <initial-contribution@android.com> am b8beb5f: vm: Replace a reference to TARGET_BUILD_TYPE with DEBUG_DALV
2f444b74447eedfdfb001aed4ea88146944f1c12 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 4c99ba4: Merge change 374 into donut

Merge commit '4c99ba4317b8b900315c5e28322f1410d76c3d58'

* commit '4c99ba4317b8b900315c5e28322f1410d76c3d58':
vm: Add support for changing the scheduler group for a thread.
1152b638c96e0eed3fd33c7d5bf83c26e074249b 06-Apr-2009 Barry Hayes <bhayes@google.com> Improve zygote heap sharing.

[ This is bhayes change 9488 in external "master" ]

Lots of ClassObject structures are unshared [and thus make whole pages
unshared]. A big contributor to this is the initializing class loader
logic, which has two writable words in a ClassObject and does indeed
seem to write them a lot.

Class which are created "early" have a low serial number and are
probably being created by the zygote, and would benefit from better
sharing. This change move the two words for classes with a low serial
number to a global, making the two words in those ClassObjects unused,
and thus more likely to be shared across apps.

Measured increase in sharing is c 100K per app, at a cost of c 32K
increase in unshared globals.

This might be better as a Set<Pair<Class,ClassLoader>> or
something. Many ClassObjects have zero loaders, and the typical count
seems to be very small. It should be possible to remove the two words
from the ClassObject and at the same time have a smaller global data
structure.

Respond to reviewer's comments.
Moved the "external" InitiatingLoaderList[] from gDvm to allocated storage.
Made the warning for the "const" go away.
Remove "vm/Init.c" from the commit
Revert Globals.h to not contain ZYGOTE_CLASS_CUTOFF
Use calloc rather than malloc/clear
53e846b1e611b97cf9094ad98892e1c8ff451f67 29-Apr-2009 Aaron Kushner <akushner@gmail.com> The Android.mk file in libcore was writing a test
file outside of the Android build directory and was
not getting cleaned up after the build.
ccd7dd705631f1dada13dfb57d09967e56e2aa2e 29-Apr-2009 Jorg Pleumann <> am 14da4cc: AI 147896: Some more fixes for tests that failed in

Merge commit '14da4ccdd69d8db7cef00b2ae5aabd32b6e1bdb4' into donut

* commit '14da4ccdd69d8db7cef00b2ae5aabd32b6e1bdb4':
AI 147896: Some more fixes for tests that failed in
33406d397cef9c0d6b3925242463813f2d794aa5 29-Apr-2009 Jorg Pleumann <> am ef71222: AI 147838: A couple of fixes for making the

Merge commit 'ef7122278207e33b724c6360945f9eae1f9a5a58' into donut

* commit 'ef7122278207e33b724c6360945f9eae1f9a5a58':
AI 147838: A couple of fixes for making the
c2468862be73e78c4442e15e91443b5cc9d8c225 29-Apr-2009 Scott Main <> am 4645b7c: AI 147732: fix broken links

Merge commit '4645b7c3a461769281a0b2b846a26c79e806aaa0' into donut

* commit '4645b7c3a461769281a0b2b846a26c79e806aaa0':
AI 147732: fix broken links
e439ca341cfddad6c1bda783698345d57f5c9cc7 29-Apr-2009 Jorg Pleumann <> am 210c512: AI 147726: Getting rid of tests.luni.AllTests and

Merge commit '210c51215f36a78183de70a19987dc2ece2fda30' into donut

* commit '210c51215f36a78183de70a19987dc2ece2fda30':
AI 147726: Getting rid of tests.luni.AllTests and
db20c78df3d9e5ccce9c273491f361f741f75c70 29-Apr-2009 Jorg Pleumann <> am 7cc0301: AI 147723: This should have been deleted a while ago, since

Merge commit '7cc03015bd1bcc14fcc5a0d4ad8b235b24992de2' into donut

* commit '7cc03015bd1bcc14fcc5a0d4ad8b235b24992de2':
AI 147723: This should have been deleted a while ago, since
53a2cdea6457a5b832d88c6d5c9f1ae612f535f1 29-Apr-2009 Urs Grob <> am 3fb3946: AI 147687: Several fixes for failing tests in the cts host.

Merge commit '3fb3946640bdc1294131417ac6593a789373090d' into donut

* commit '3fb3946640bdc1294131417ac6593a789373090d':
AI 147687: Several fixes for failing tests in the cts host. also tests that timeout
3861d79d0ac9ec3f30e96fae6b9f666fdcee6882 29-Apr-2009 Urs Grob <> am 119c75d: AI 147660: Fixes for tests in the security module.

Merge commit '119c75dad5494ac611c74599747e4bdc071eced1' into donut

* commit '119c75dad5494ac611c74599747e4bdc071eced1':
AI 147660: Fixes for tests in the security module.
33a2129be732889c040a5850d61e5a33e03a6271 29-Apr-2009 Jorg Pleumann <> am 2b828ef: AI 147464: Some small bugfixes for the core tests.

Merge commit '2b828ef0e241e67319349a30285ee7b812173040' into donut

* commit '2b828ef0e241e67319349a30285ee7b812173040':
AI 147464: Some small bugfixes for the core tests.
e55a337a13531ecbe9fd2257e38da673508bbffd 18-Apr-2009 Andy McFadden <fadden@android.com> Changed the way errors are propagated through the verifier.

Changed the boolean "okay" to a "failure" enumeration. Most failures are
"generic", but some are called out specially. Added a more detailed
failure result from resolver functions.

In theory, no behavior has changed.
d6433d63d340385e9de61513088f5c0f0e3c6d84 28-Apr-2009 Jorg Pleumann <> AI 147896: Some more fixes for tests that failed in
the CTS, but worked fine in run-core-tests:
- One cert test needs isolation, because
it destroys the security provider.
- The Thread.sleep() tests were too flaky.
- Tests that tried to open a temporary DEX
file failed in the CTS because we do not
have access to the system DEX cache. We
are now simply creating our own.
The Java plan in the CTS should now pass
fully. Yippie!
BUG=1285921

Automated import of CL 147896
cd145d9bdd70c8892d92520dfab68e962d4fea55 28-Apr-2009 Urs Grob <ursg@google.com> Fix an infinite loop in ClassLoader.isAncestorOf()

The current version loops endlessly if the callers ClassLoader
is not the same as the system ClassLoader. The cause for this is
a loop variable that is not changed during the loop.

BUG=1732214
ed88bada0bcea351c4005cb5f95de6d0a0b994cf 27-Apr-2009 Andy McFadden <fadden@android.com> Added two new Dalvik documents.

One explains the use of hprof, the other shows how to use the VM from
the command line. These are partially based on some of my responses
to questions on external mailing lists.
7037d2fe7481aef63efdffdc59043f288cbb317b 27-Apr-2009 Jorg Pleumann <> AI 147838: A couple of fixes for making the
core tests work better in the CTS
environment. Some tests had to be
marked broken either because they
either expose different behavior
than in run-core-tests or they
take too much time (beyond the
CTS' timeout).
BUG=1285921

Automated import of CL 147838
c33301d8758c1300c9bf85fe56621e6448c3b7d5 27-Apr-2009 Urs Grob <ursg@google.com> Fix for excessive GREF use in gethostbyaddr.

Each call to gethostbyaddr in java_net_InetAddress.cpp increases the
GREF by one. After calling the method around 1800 times the vm
crashes because of excessive global references.
7346bd94b8e6cd89f32423d81da4e7ca82eca1ab 25-Apr-2009 Andy McFadden <fadden@android.com> Updated the "weird stuff you might see" section.
cb598e9339031ac21fb3b4ed1425ed5b8960b74d 24-Apr-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'korg/donut'
94fda49cddd373a9e863d2c4f2d182d915f9e5b4 24-Apr-2009 Scott Main <> AI 147732: fix broken links
BUG=1810005

Automated import of CL 147732
3af2dbd3903d5eabd444d4b96236c0eee0b3c9c2 24-Apr-2009 Jorg Pleumann <> AI 147726: Getting rid of tests.luni.AllTests and
corresponding CTS packages. The test
suite contains mostly duplicate tests.
Two tests would be better placed in the
StrictMath test suite. Don't know where
to put the ThreadsTest, which seems to
actually test the com.sun.Unsafe class,
so it stays orphaned for now.
BUG=1285921

Automated import of CL 147726
8a608f46e882eaf51e3dc728e10bf2493aa07beb 24-Apr-2009 Jorg Pleumann <> AI 147723: This should have been deleted a while ago, since
it's a dupe class.
BUG=1285921

Automated import of CL 147723
3142feb1cc49966f2a5a7f206ff0069c9552913e 24-Apr-2009 Urs Grob <> AI 147687: Several fixes for failing tests in the cts host. also tests that timeout
are now marked with BrokenTest to exclude them for the time being until
we have a way to execute them.
BUG=1285921

Automated import of CL 147687
43772f99dba3b28d757f4d4b454c27d0fce3691f 24-Apr-2009 Urs Grob <> AI 147660: Fixes for tests in the security module.
Some tests are still failing in the cts host environment. This CL fixes most of them in the security module
BUG=1285921

Automated import of CL 147660
1d5df09228d298b680bf6e62ea3dd60e38e852bb 24-Apr-2009 Dave Bort <dbort@android.com> vm: Replace a reference to TARGET_BUILD_TYPE with DEBUG_DALVIK_VM

We're soon going to stop using TARGET_BUILD_TYPE==debug to debug
native modules.

Signed-off-by: Dave Bort <dbort@android.com>
f21bd8b57b832fc5245fef80b1a93e7299411e0b 23-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 374 into donut

* changes:
vm: Add support for changing the scheduler group for a thread. Also temporarily bumps the scheduler group for background threads while performing GC
d9e4338f0791064a4ba593342266675bdd278267 21-Apr-2009 San Mehat <san@google.com> vm: Add support for changing the scheduler group for a thread.
Also temporarily bumps the scheduler group for background threads while performing GC

Signed-off-by: San Mehat <san@google.com>
8a61d9e8dce3ba15792d95cd44dc672526ead31c 23-Apr-2009 Jorg Pleumann <> AI 147464: Some small bugfixes for the core tests.
Some need to be marked broken, because
they take too long (or even forever) due
to implementation problems. Some need
to take into account differences between
the CTS environment and the Dalvik VM,
so they succeed in both cases.
BUG=1285921

Automated import of CL 147464
e552ee5cd6850cc8afb20b8c87c31a115c27c80c 23-Apr-2009 Jean-Baptiste Queru <jbq@google.com> Merge donut into master
6e7ddb9fe935ecab8a45b117c8296af246afd978 23-Apr-2009 Jean-Baptiste Queru <jbq@google.com> merge cupcake into donut
f9e1ba5b848c2a77d25ca2c26bca7cd6ba57ac3d 23-Apr-2009 Jean-Baptiste Queru <jbq@google.com> Merge donut into master
2920524eee7e7f88e8d263739f0b76ad2fa2b346 22-Apr-2009 Urs Grob <> AI 147386: am: CL 147384 Fixes from the review of 'Bringing luni down to 15 broken tests.
Not perfect, but an improvement.' that Joerg didn't fix yet.
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 147386
dbe6d69e6bc575720d3994a1dfef23fc46e8d132 22-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
56990e836cebd4e340e38a038b5b662c76d852b8 22-Apr-2009 Urs Grob <> AI 147388: am: CL 147386 am: CL 147384 Fixes from the review of 'Bringing luni down to 15 broken tests.
Not perfect, but an improvement.' that Joerg didn't fix yet.
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 147388
6c44154669ebb2d2e6abb1a1c958f468b3914fa1 22-Apr-2009 Urs Grob <> AI 147384: Fixes from the review of 'Bringing luni down to 15 broken tests.
Not perfect, but an improvement.' that Joerg didn't fix yet.
BUG=1285921

Automated import of CL 147384
205b2263f0d2cfeab056be7b1ece05598a42c34f 21-Apr-2009 Urs Grob <> AI 147126: am: CL 147121 Fixes for tests in the luni module.
There are still some tests that are failing in the cts host. This CL will fix most of them in the luni module.
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 147126
fb2ff6473d2b26f289d02fe5533462070a330fbb 21-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
c02a047b307e2dba5f8f950a2703530530494bad 21-Apr-2009 Urs Grob <> AI 147127: am: CL 147126 am: CL 147121 Fixes for tests in the luni module.
There are still some tests that are failing in the cts host. This CL will fix most of them in the luni module.
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 147127
78387fb19bfce8af782596ad7fe931440b0515d4 21-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
3721f974fe3a866fdfabeb34b7a2af8a7a282836 21-Apr-2009 Urs Grob <> AI 147124: am: CL 147120 am: CL 147118 Several fixes to reduce failing tests in the cts host
- Removing tests that are placed in a protected package name.
They were not part of the cts tests.
- Fixing a case of an Exception thrown in the static initializer of
GBCharsetEncoderTest.
- Remove copy/paste code which led to an exception in a 2nd thread
(the test did not fail, but its output was reported in logcat)
- fixing a test case in FileTest
- removing test code in StmtTest that tested badly specified operations and
failed.
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 147124
95d7fdb5d34c04dd30508a03af3d579ab4903c6c 21-Apr-2009 Urs Grob <> AI 147121: Fixes for tests in the luni module.
There are still some tests that are failing in the cts host. This CL will fix most of them in the luni module.
BUG=1285921

Automated import of CL 147121
d994f67bb5a1ce8b1019a8a28c302cab55c63edb 21-Apr-2009 Urs Grob <> AI 147120: am: CL 147118 Several fixes to reduce failing tests in the cts host
- Removing tests that are placed in a protected package name.
They were not part of the cts tests.
- Fixing a case of an Exception thrown in the static initializer of
GBCharsetEncoderTest.
- Remove copy/paste code which led to an exception in a 2nd thread
(the test did not fail, but its output was reported in logcat)
- fixing a test case in FileTest
- removing test code in StmtTest that tested badly specified operations and
failed.
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 147120
f40e7138be99c15a7eacc1891a4087b48d4e8412 21-Apr-2009 Urs Grob <> AI 147118: Several fixes to reduce failing tests in the cts host
- Removing tests that are placed in a protected package name.
They were not part of the cts tests.
- Fixing a case of an Exception thrown in the static initializer of
GBCharsetEncoderTest.
- Remove copy/paste code which led to an exception in a 2nd thread
(the test did not fail, but its output was reported in logcat)
- fixing a test case in FileTest
- removing test code in StmtTest that tested badly specified operations and
failed.
BUG=1285921

Automated import of CL 147118
b2d117b3919797810ddd0342c65d91a425f4b19f 20-Apr-2009 Andy McFadden <fadden@android.com> Correctly handle "permission denied" on device side.
Return nonzero exit status on failure.
Change tabs to spaces.
f6d82bbeb9c1de69f8badfa2a6b5c34d33be9977 19-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
59fba5358816a2abfc6b10ad10aa5c902862b978 19-Apr-2009 Urs Grob <> AI 146827: am: CL 146742 am: CL 146710 Splitting android.core.tests.apk into several smaller
apks. Each libcore module gets one apk and luni gets 4.
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 146827
b62a2c98b02e3e368264271c1c5393c42e105858 19-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
34f1f5e2f5ebb240cf000a99a4fa8c6a872e62d7 19-Apr-2009 Urs Grob <> AI 146589: am: CL 146495 am: CL 146479 Fixes for tests in the sql module.
Some tests are still failing in the cts host environment. this CL fixes most of them in the sql module.
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 146589
c0c6b4490e3ef3ba8d47647f73144e4ead7fcee3 19-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
a84ad2d7521dec76c18d393413ce6e3f364dd619 19-Apr-2009 Urs Grob <> AI 146537: am: CL 146133 am: CL 146132 Fixes from the review of 'Bringing XML down to one broken test.'
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 146537
8c73e7ec66bde6db90515268175790118803f78d 17-Apr-2009 Dan Bornstein <danfuzz@android.com> Update dx test #111 to reflect the new understanding of reality.

This is a followup to internal master change #277 (d24414a5), see which
for further details.
8bb998200bc23e52cfd64025ab14eb3b0ecbd7d1 17-Apr-2009 Dan Bornstein <danfuzz@android.com> Fix issue #1794388.

In particular, when encountering a known-null being used as an array,
always emit an instruction that's compatible with the element type
expected/encountered in context. This will sometimes lead to
surprising instruction choices, such as "aget-byte" when the original
source used a boolean[], but in all of these cases the output is valid
and behaves correctly, where "correctly" in this case means (a)
passing verification, and (b) throwing a NullPointerException if ever
executed.

The test case (dx test #111) reflects unsurprising expectations and
so needs updating, which I will do in a follow-up to this patch.

I know this makes me an awful git user, but I fixed some comments and
whitespace while I was in the territory and *didn't* turn these into
separate commits.
630f2ee3f43a4b7aa1aaaf5042b9f93bb41e6df7 17-Apr-2009 Urs Grob <> AI 146742: am: CL 146710 Splitting android.core.tests.apk into several smaller
apks. Each libcore module gets one apk and luni gets 4.
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 146742
edd20bbb7aa4b157f0a3ed2c83a2d5677f49efe6 06-Apr-2009 Barry Hayes <bhayes@google.com> Improve zygote heap sharing.

Lots of ClassObject structures are unshared [and thus make whole pages
unshared]. A big contributor to this is the initializing class loader
logic, which has two writable words in a ClassObject and does indeed
seem to write them a lot.

Class which are created "early" have a low serial number and are
probably being created by the zygote, and would benefit from better
sharing. This change move the two words for classes with a low serial
number to a global, making the two words in those ClassObjects unused,
and thus more likely to be shared across apps.

Measured increase in sharing is c 100K per app, at a cost of c 32K
increase in unshared globals.

This might be better as a Set<Pair<Class,ClassLoader>> or
something. Many ClassObjects have zero loaders, and the typical count
seems to be very small. It should be possible to remove the two words
from the ClassObject and at the same time have a smaller global data
structure.

Respond to reviewer's comments.
Moved the "external" InitiatingLoaderList[] from gDvm to allocated storage.
Made the warning for the "const" go away.
Remove "vm/Init.c" from the commit
Revert Globals.h to not contain ZYGOTE_CLASS_CUTOFF
Use calloc rather than malloc/clear
c2dc2cce85c1de3b4f07fa1c6ffe49a807d33516 17-Apr-2009 Urs Grob <> AI 146710: Splitting android.core.tests.apk into several smaller
apks. Each libcore module gets one apk and luni gets 4.
BUG=1789657

Automated import of CL 146710
9cfa9941249c6553746b0ad01638a995465798b5 17-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 235

* changes:
Test case for issue #1794388.
2091a6834bd1ae4305178becab439a85b95931da 17-Apr-2009 Dan Bornstein <danfuzz@android.com> Test case for issue #1794388.

It demonstrates that, yes, there is a bug right now.
2b6590503937f480803a3d76099cd56131b4a743 16-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 232

* changes:
Corrected static field resolution.
abd302a3ffbf29eb25b76fd3ec090805c2366ef9 16-Apr-2009 Andy McFadden <fadden@android.com> Corrected static field resolution.

It's legal (at the bytecode level) to have two fields with the same name
but different types.

Fixes http://b/issue?id=1788918 / http://b.android.com/2422
aa0c80c1e5f3be2f2412feaac5c423300b9ce01a 16-Apr-2009 Urs Grob <> AI 146495: am: CL 146479 Fixes for tests in the sql module.
Some tests are still failing in the cts host environment. this CL fixes most of them in the sql module.
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 146495
5fe187e096b2bd9abbb611a766e4d167bfafc708 16-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
ef6d9f2b8928e5c8dc116ba9d5376f019ea2c987 16-Apr-2009 Urs Grob <> AI 146535: am: CL 146128 am: CL 146126 Fixes from the review of 'Bringing RegEx down to zero broken tests.'
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 146535
c59ff8e938299a71a96a95bb774eb974c74066e9 16-Apr-2009 Urs Grob <> AI 146479: Fixes for tests in the sql module.
Some tests are still failing in the cts host environment. this CL fixes most of them in the sql module.
BUG=1285921

Automated import of CL 146479
e93c6b54fb7460643cf7a248e9cd5cc143b8e399 15-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 199

* changes:
Updated comments around thread exit check.
ae1e9ac62c5ce876b94968552f208b7949f3182b 15-Apr-2009 Andy McFadden <fadden@android.com> Updated comments around thread exit check.
e37ab2dc88e7019eb6677fd8bb0b2ae892d9c413 15-Apr-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'korg/cupcake'
358fd945d814bc17e337cd73b7f13be9e09def16 15-Apr-2009 Dan Bornstein <danfuzz@android.com> Made a few more tweaks as I'm reading over the SSA code.
5fcba1b5ec8b6d9d518992b2b4b07da9e8a31e56 14-Apr-2009 Urs Grob <> AI 146133: am: CL 146132 Fixes from the review of 'Bringing XML down to one broken test.'
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 146133
b993cd95f9969070da7aa05e6af1412405f96b41 14-Apr-2009 Urs Grob <> AI 146132: Fixes from the review of 'Bringing XML down to one broken test.'
BUG=1285921

Automated import of CL 146132
f48eee7694cff27a004b1b54d2ee8402126524aa 14-Apr-2009 Urs Grob <> AI 146128: am: CL 146126 Fixes from the review of 'Bringing RegEx down to zero broken tests.'
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 146128
fdb0dc182884a7c9e86acffaf255692bc7ca9bd4 14-Apr-2009 Urs Grob <> AI 146126: Fixes from the review of 'Bringing RegEx down to zero broken tests.'
BUG=1285921

Automated import of CL 146126
9e81ae451c92998924922c55b666b517e1ff0e5b 14-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
2fb55a03672df0601d9bbe677ce139ca4c0d8bdc 14-Apr-2009 Andy McFadden <> AI 145950: Quiet a log message and a tenacious gcc warning.

Automated import of CL 145950
ad89efaaddb593cb19b04476bc8e2e3cbcef77df 10-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
1e9bd835bb73b90af43ffa44590e22ec676a65e0 10-Apr-2009 Urs Grob <> AI 145652: am: CL 145615 am: CL 145291 Fixes from the review of 'Bringing XNET down to zero broken tests.'
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 145652
739cb5dc66658292234d614607f2eb7cb7cd6325 10-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
0263a8ef9877231f51afde56ee54c536f44e16e2 10-Apr-2009 Urs Grob <> AI 145650: am: CL 145613 am: CL 145289 Fixes for tests in the text module.
Some tests are still failing in the cts host environment. this CL fixes most of them for the test module.
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 145650
644b07e72cf66d8fc0ec896215486ef1a8873f9d 10-Apr-2009 Urs Grob <> Merge branch 'readonly-p4-master'
0f974d12063fa126154f71cd686b09548d66e8ea 10-Apr-2009 Urs Grob <> AI 145649: am: CL 145612 am: CL 145288 Removing tabs from tests.
Original author: ursg
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 145649
5ce61ff1f727721ff672384e0ad5b4aa60a8b100 10-Apr-2009 Urs Grob <> AI 145615: am: CL 145291 Fixes from the review of 'Bringing XNET down to zero broken tests.'
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 145615
0eceac9e6ed86385ff373dd780b339b8a7c12ef5 10-Apr-2009 Urs Grob <> AI 145613: am: CL 145289 Fixes for tests in the text module.
Some tests are still failing in the cts host environment. this CL fixes most of them for the test module.
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 145613
75e9eb6dd4aad6dc0db24e060fb2cd863a6fd27b 10-Apr-2009 Urs Grob <> AI 145612: am: CL 145288 Removing tabs from tests.
Original author: ursg
Merged from: //branches/cupcake/...

Automated import of CL 145612
46c0f6470fca2543f19560902b7a1a86406dbd4a 10-Apr-2009 Dan Bornstein <danfuzz@android.com> I love typos: Gratuitous change for me to use to go through the process of
submitting a patch and then a followup replacement/correction.
97e7aeba4150401be16084c1f81e875e0ffed885 09-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
087c880dbca80190e26d0cbd435d0efb8e7a4275 09-Apr-2009 Andy McFadden <> AI 145331: Shush.

Automated import of CL 145331
0ee2804a3331504209dbe7d25085a06c718613c2 09-Apr-2009 Urs Grob <> AI 145291: Fixes from the review of 'Bringing XNET down to zero broken tests.'
BUG=1285921

Automated import of CL 145291
cc5b3e109d86b19edc89c0ea048035c344c4a8c1 09-Apr-2009 Urs Grob <> AI 145289: Fixes for tests in the text module.
Some tests are still failing in the cts host environment. this CL fixes most of them for the test module.
BUG=1285921

Automated import of CL 145289
0c128a854629aaf3f4b8f0d8c200497cbfd242d0 09-Apr-2009 Urs Grob <> AI 145288: Removing tabs from tests.
BUG=1285921

Automated import of CL 145288
8f79f4e02a2eb894a6231bc8ba0f2edec89f6561 09-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 48

* changes:
Gratuitous change to get my feet wet with the new git reality.
7eb3e81eb08a01ea74f2c36515cf43906a35c2b4 08-Apr-2009 Dan Bornstein <danfuzz@android.com> Gratuitous change to get my feet wet with the new git reality.
9277209f2449e115b74b68498dcdf2273baaf765 08-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
ae7d74e755a90eb8320622b8459ba295f9a6674a 08-Apr-2009 Andy McFadden <> AI 145086: Use process groups to avoid a collision between dexopt and ProcessManager.
If the ProcessManager thread was waiting for a child process to finish,
it could inadvertently capture the exit status of dexopt. This
confused the VM somewhat. With this change the dexopt child runs in
its own process group, and the ProcessManager only waits for children
in the parent's process group.
I also now create a new process in the DexClassLoader test to check for
clashes. (It's a race, but it nearly always hits on the device, and
occasionally hits on desktop.)
BUG=1777736

Automated import of CL 145086
a62f9a86d518e3c90cef918233186eb4dfe362bd 08-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
11c7db7ed4e5528c1050219806677d2b535655d9 08-Apr-2009 Andy McFadden <> AI 144931: Added a (hidden) way to "pre-cache" register maps.
The 50 methods that appeared on the GC stacks of the most applications
require 13KB of native heap for their uncompressed register maps, and
the full set took 5ms to uncompress. Pre-computation doesn't represent
a significant improvement in space or time, at the cost of a big pile
of strings in ZygoteInit.
I'm leaving the method in ZygoteInit, but it's not called, and the
static final String[] of method descriptors is empty. We may want to
revisit this later.
BUG=1729570

Automated import of CL 144931
93d534cdf012af71c98dff4a7d4edbd0dbdb9ab3 08-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
0a6a5cc8321952ef6110aa717f0031f5aa9c3382 08-Apr-2009 Andy McFadden <> AI 144929: Manual integration of 144925.
The auto-merger doesn't specify "-d", and it got hung up on
out/InterpAsm-armv4.S.

Automated import of CL 144929
b14e451b3fb53534b23b722592f3c26f571d4284 08-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
b36c506860ea9737029c56a544cc67f4c4b6f3b3 08-Apr-2009 Andy McFadden <> AI 144906: Default to failure, not success.

Automated import of CL 144906
0a50a031d208c3b466624964e33f721f876033e8 08-Apr-2009 Jorg Pleumann <> Merge branch 'readonly-p4-master'
4abfa32cf53a7f40a1e359b3f68419bea907371c 08-Apr-2009 Jorg Pleumann <> AI 144842: am: CL 144841 am: CL 144839 First version of new test runner for the core tests
that is able to filter tests, treat known failures,
isolate tests and (experimentally) find side effects
between tests. It also make it easy to run the core
tests on the RI, in order to validate the suite.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144842
6650124cb9f8368534809b161a30933a2183e9a3 07-Apr-2009 Andy McFadden <> AI 144925: Rename armv4 to armv4t, which is what it really is.
We don't build armv4t internally, so this is mostly for the benefit of
external people working on older devices.
BUG=1775623

Automated import of CL 144925
462a7452162393f1bdba8b59b0e4dc36bc981334 07-Apr-2009 Jorg Pleumann <> AI 144841: am: CL 144839 First version of new test runner for the core tests
that is able to filter tests, treat known failures,
isolate tests and (experimentally) find side effects
between tests. It also make it easy to run the core
tests on the RI, in order to validate the suite.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 144841
f52d0bfea64ce3c9c5d74aaeff2d9999f6fc9360 07-Apr-2009 Jorg Pleumann <> Merge branch 'readonly-p4-master'
747b2e2ffe5b67b9fabdbc866e5d963d096a920f 07-Apr-2009 Jorg Pleumann <> AI 144833: am: CL 144830 Bringing luni down to 15 broken tests. Not perfect,
but an improvement.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 144833
267a5aefc0131f6e1daacc873f111c170537420f 07-Apr-2009 Jorg Pleumann <> AI 144836: am: CL 144833 am: CL 144830 Bringing luni down to 15 broken tests. Not perfect,
but an improvement.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144836
c032fe0478ec1f9e160e97029caf17917c1ba1a1 07-Apr-2009 Jorg Pleumann <> Merge branch 'readonly-p4-master'
2c9b8ec2f6a16d5a910732f45661875d701b72a6 07-Apr-2009 Jorg Pleumann <> AI 144832: am: CL 144828 Bringing RegEx down to zero broken tests.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 144832
31675054359b4ac869fc5ed79ffe7c1ab4006176 07-Apr-2009 Jorg Pleumann <> AI 144835: am: CL 144832 am: CL 144828 Bringing RegEx down to zero broken tests.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144835
20bff4c3d3516e4069131b4c32db9354c443657e 07-Apr-2009 Jorg Pleumann <> Merge branch 'readonly-p4-master'
41adb724097edb26b97442c74e59e8820fb474d4 07-Apr-2009 Jorg Pleumann <> AI 144827: am: CL 144822 Bringing XML down to one broken test.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 144827
c8ecb9f87d4443a97f9fea48bc4e810d6453193c 07-Apr-2009 Jorg Pleumann <> AI 144831: am: CL 144827 am: CL 144822 Bringing XML down to one broken test.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144831
35f9b7949b8fe95966794d20955ac3582ff67a3d 07-Apr-2009 Jorg Pleumann <> Merge branch 'readonly-p4-master'
65fc61db5f5ca63bdccc6325857350effb5aa9c0 07-Apr-2009 Jorg Pleumann <> AI 144821: am: CL 144818 Bringing archive down to zero broken tests.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 144821
8746d8b6b1caf3737750150c1b6eabb672fc15a9 07-Apr-2009 Jorg Pleumann <> AI 144826: am: CL 144821 am: CL 144818 Bringing archive down to zero broken tests.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144826
a23b008eff5f2e96fc006cb29ff897ee8b1853fd 07-Apr-2009 Jorg Pleumann <> Merge branch 'readonly-p4-master'
6452e1d65b7fb1c57de51dc8a280780674e185c3 07-Apr-2009 Jorg Pleumann <> AI 144820: am: CL 144816 Bringing XNET down to zero broken tests.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 144820
d8068ee8e6840005891e5403cd876e7177697dc9 07-Apr-2009 Jorg Pleumann <> AI 144825: am: CL 144820 am: CL 144816 Bringing XNET down to zero broken tests.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144825
38b282e5d53d34bf4a5211545fbceeb751ed1358 07-Apr-2009 Jorg Pleumann <> Merge branch 'readonly-p4-master'
4fff1ebebdb91b22ea740c8febd06c8edc7931d7 07-Apr-2009 Jorg Pleumann <> AI 144804: am: CL 144802 Bringing SQL down to zero broken tests. Restructuring
some overengineered tests, so they are able to execute
in the CTS host and our CoreTestRunner.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 144804
e1d584eb24b2b08f77c62ea0cda8fd0f43a6b5da 07-Apr-2009 Jorg Pleumann <> AI 144808: am: CL 144804 am: CL 144802 Bringing SQL down to zero broken tests. Restructuring
some overengineered tests, so they are able to execute
in the CTS host and our CoreTestRunner.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144808
5e4b9c6df33691d87f5864486276e64b6ef7dce8 07-Apr-2009 Jorg Pleumann <> AI 144839: First version of new test runner for the core tests
that is able to filter tests, treat known failures,
isolate tests and (experimentally) find side effects
between tests. It also make it easy to run the core
tests on the RI, in order to validate the suite.
BUG=1537738

Automated import of CL 144839
bb3082687003f6a87f35c48829448a2dd4ba065d 07-Apr-2009 Jorg Pleumann <> AI 144830: Bringing luni down to 15 broken tests. Not perfect,
but an improvement.
BUG=1285921

Automated import of CL 144830
8720db9d70e39b267e85f6e4f605ab2de287a05b 07-Apr-2009 Jorg Pleumann <> AI 144828: Bringing RegEx down to zero broken tests.
BUG=1285921

Automated import of CL 144828
7309590abd92b727e17e6b223b28807df5a2f788 07-Apr-2009 Jorg Pleumann <> AI 144822: Bringing XML down to one broken test.
BUG=1285921

Automated import of CL 144822
cf8cedf53d874c3f0fd901dd2b90bd5438d7f6d3 07-Apr-2009 Jorg Pleumann <> AI 144818: Bringing archive down to zero broken tests.
BUG=1285921

Automated import of CL 144818
85ab70b0cc36f2914bcba9c507f8b711f69ff4c4 07-Apr-2009 Jorg Pleumann <> AI 144816: Bringing XNET down to zero broken tests.
BUG=1285921

Automated import of CL 144816
d38bbb24fc61e5054406c0b948ed835d84c0314d 07-Apr-2009 Jorg Pleumann <> AI 144802: Bringing SQL down to zero broken tests. Restructuring
some overengineered tests, so they are able to execute
in the CTS host and our CoreTestRunner.
BUG=1285921

Automated import of CL 144802
f9bcf88ca145a8af8c3f08268c705f2c0b89132b 06-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
a3275c155c271b723b73dc122dc535c06f5e88a1 06-Apr-2009 Andy McFadden <> AI 144644: Added a test that smacks the GC around a little.

Automated import of CL 144644
6969cd02c636d40a90239e28b387dd6ff63c9f0b 03-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
23646d219aa68424867bfc3cd9addf9ba14d6ef2 03-Apr-2009 Andy McFadden <> AI 144469: Added test for dalvik.vm.check-dex-sum property.
Enables -Xcheckdexsum argument, which causes the VM to test checksums
when loading optimized DEX files.
BUG=1749836

Automated import of CL 144469
04207337fdc4a182b8a5f4cd0693e8a7bcd6815d 03-Apr-2009 Bob Lee <> Merge branch 'readonly-p4-master'
aacc42d6c95e8f0054ac618b361f2afb914dc4ac 03-Apr-2009 Bob Lee <> AI 144418: am: CL 144381 am: CL 144356 Synchronized code that touches native SSL sessions.
Original author: crazybob
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144418
496a193a0f07d90756616d941f276d0fe6b86bb0 03-Apr-2009 Jorg Pleumann <> Merge branch 'readonly-p4-master'
82a8ddd17398d09496f69ff6ee565a9dc4588a6c 03-Apr-2009 Jorg Pleumann <> AI 144390: am: CL 144230 am: CL 144229 Modifying build of core-tests.jar version for
the RI so that the required test annotation
classes are copied over from core.jar. Means
we don't have to maintain duplicate versions
of these classes (and there will be less
verifier complaints), so these are going away
in the process.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 144390
c0e45ff535517bd31d6674909fe1499448fe9a70 03-Apr-2009 Bob Lee <> AI 144381: am: CL 144356 Synchronized code that touches native SSL sessions.
Original author: crazybob
Merged from: //branches/cupcake/...

Automated import of CL 144381
2dc83c17a2c3e38df259bc2f71549610099d53f0 03-Apr-2009 Bob Lee <> AI 144356: Synchronized code that touches native SSL sessions.

Automated import of CL 144356
a8bb9d21c92ced78d263de982394d9022b4b0d43 03-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
eb0aac962c2dc7d7e093d651f99ec47ae770ff6a 03-Apr-2009 Andy McFadden <> AI 144304: The initialization of "os.arch" used insufficient stringification.
We now return "generic" instead of "OS_ARCH", which isn't terribly
useful but is what we originally intended.

Automated import of CL 144304
e3724a1f6c8740261079bb218460d4a88034f7b4 03-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
4af3c659a12fca4c1f690c5fa0d24cbb80f02bfe 02-Apr-2009 Andy McFadden <> AI 144290: Older versions of dexdump plow on after a checksum failure and usually
crash. Watch for any activity on stderr instead of looking for an
error message.
BUG=1758365

Automated import of CL 144290
6daf1d652a0f57ee809b836721ba807d8758fd00 02-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
1daaa30999123e33980e845cc5f91eb757dc8b1b 02-Apr-2009 Andy McFadden <> AI 144278: Some changes to make examination of flaky devices easier.
Added "dexcheck" shell script, which runs the dexdump checksum
verification against every file in /data/dalvik-cache.
Added "-c" flag to dexdump, which quits after the checksum test
(faster than sending everything to /dev/null).
Initialize a ZipArchive struct earlier; without this dexdump was
crashing in some situations when dealing with a nonexistent file.
BUG=1749836

Automated import of CL 144278
670335f0d60a5b38aee25424487bc5bbcb0f8dbb 02-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
bf91aa843f8a9274648552108e29dec7e068207b 02-Apr-2009 Andy McFadden <> AI 144244: Don't try to verify the checksum of a partially-created DEX file.
BUG=1749836

Automated import of CL 144244
d66a4136081a3f6928cc462ce51eca89f92b966a 02-Apr-2009 Andy McFadden <> Merge branch 'readonly-p4-master'
25aaf9df8dc33e72f29c3403bf44bcc015f1b970 02-Apr-2009 Andy McFadden <> AI 144240: Added a test for a bug reported externally (via android-platform).
Through separate compilation and inheritance, it's possible for a
class to have static and instance fields with the same name. This
test verifies that we throw an IncompatibleClassChangeError when this
occurs. (The test currently fails.)
Also: my change 126993-p9 made "--dev" visible to the "helper" scripts,
but only the "local" one accepts it. Fixed the other two to accept
and ignore it.
BUG=1752800

Automated import of CL 144240
e2091e27f4cd94d1762dbec207b571c99eba80a7 02-Apr-2009 Jorg Pleumann <> AI 144230: am: CL 144229 Modifying build of core-tests.jar version for
the RI so that the required test annotation
classes are copied over from core.jar. Means
we don't have to maintain duplicate versions
of these classes (and there will be less
verifier complaints), so these are going away
in the process.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 144230
65988aff944cbec680c95a9231c072473d831583 02-Apr-2009 Jorg Pleumann <> AI 144229: Modifying build of core-tests.jar version for
the RI so that the required test annotation
classes are copied over from core.jar. Means
we don't have to maintain duplicate versions
of these classes (and there will be less
verifier complaints), so these are going away
in the process.
BUG=1285921

Automated import of CL 144229
cebd1e1c8ac4baab0a2cfa4fc3f278e3945e0981 01-Apr-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'master' of git://android.git.kernel.org/platform/dalvik
12a76c370d18d00da706418e4f2e7e791cdc7193 01-Apr-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'goog/readonly-p4-master'
bf5fae59e7188c98437ae87bb297c161cc6d50e7 31-Mar-2009 Dan Bornstein <> AI 143732: Tweaks, in response to public critique.

Automated import of CL 143732
d43df3b530337629489127021a558710cb5d858e 31-Mar-2009 Jorg Pleumann <> AI 143684: am: CL 143654 am: CL 143467 Bringing archive down to zero failures and
zero broken tests.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143684
898278c6768e2b45b4dc07ebfda407e3da0198e6 31-Mar-2009 Jorg Pleumann <> AI 143683: am: CL 143652 am: CL 143466 Bringing the logging tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143683
d450dae148aeb6819045ac2de30c5a5550a60685 31-Mar-2009 Jorg Pleumann <> AI 143680: am: CL 143649 am: CL 143464 Proposal for a TestTimeout annotation that the CTS
host (or an different test harness) should take into
account.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143680
704dcc6a7469b429543a4a39928ddca087a92493 31-Mar-2009 Jorg Pleumann <> AI 143679: am: CL 143646 am: CL 143460 Adding new annotation for tests that expose or suffer from
side effecs. The test harness can isolate these in their
own process. Unfortunately we need to add the class twice.
Maybe we can find a better solution for this at a later
point.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143679
61552fcd67e7880c8dcfa7afe9388500582715c7 31-Mar-2009 Jorg Pleumann <> AI 143677: am: CL 143642 am: CL 143458 Bringing the security tests down to zero failures (and
adding lots of missing headers in the process).
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143677
8e5948c74f2355341fd9f76d2b81c34012883887 31-Mar-2009 Jorg Pleumann <> AI 143673: am: CL 143637 am: CL 143457 Bringing the nio_char tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143673
9588579452a345333df3e59dd56654542b8d9af6 31-Mar-2009 Jorg Pleumann <> AI 143668: am: CL 143635 am: CL 143456 Bringing the text tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143668
20404a5ef98b3837e2c07f7683ac6f20e04e5e90 31-Mar-2009 Jorg Pleumann <> AI 143664: am: CL 143631 am: CL 143455 Bringing the SQL tests down to zero failures (and
reducing the size of some stress tests, so they
have a chance to actually succeed before the end
of the world).
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143664
690d58f84bacf7b86c01c211254ff45a80a74291 31-Mar-2009 Jorg Pleumann <> AI 143660: am: CL 143627 am: CL 143454 Temporarily removing the Expat test from the XML
test suite, so it can be run on the RI as well.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143660
c7f750646d68cb09f8af9d589e0631a500ae890d 31-Mar-2009 Jorg Pleumann <> AI 143657: am: CL 143626 am: CL 143453 Bringing the luni tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143657
6f20044d994196bb26f9b2ccc64c1298cf83b96c 31-Mar-2009 Android Code Review <code-review@android.com> Merge change 9336

* changes:
Fixes to make dalvik compile for armv4t: - The blx instruction is only supported from armv5t and on. - Select the correct Interp-files.
bdc487de873c88a2112ca4de3aa11734a012c7ca 31-Mar-2009 Jorg Pleumann <> AI 143654: am: CL 143467 Bringing archive down to zero failures and
zero broken tests.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143654
7254293e7b38954102bc10f13e66a91cd0c3afd9 31-Mar-2009 Jorg Pleumann <> AI 143652: am: CL 143466 Bringing the logging tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143652
5ef067447efa408d55bfda43bb48081d09a18ef7 31-Mar-2009 Jorg Pleumann <> AI 143649: am: CL 143464 Proposal for a TestTimeout annotation that the CTS
host (or an different test harness) should take into
account.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143649
8d3136f054f47fc61f52f53a0a59c428eae080e1 31-Mar-2009 Jorg Pleumann <> AI 143646: am: CL 143460 Adding new annotation for tests that expose or suffer from
side effecs. The test harness can isolate these in their
own process. Unfortunately we need to add the class twice.
Maybe we can find a better solution for this at a later
point.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143646
9fd5f2ffa7985cd608ada24c6053c83b54457fff 31-Mar-2009 Jorg Pleumann <> AI 143642: am: CL 143458 Bringing the security tests down to zero failures (and
adding lots of missing headers in the process).
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143642
5d662dd2d6dbf4d96b5d7dc3a09a6ea2064653cb 31-Mar-2009 Jorg Pleumann <> AI 143637: am: CL 143457 Bringing the nio_char tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143637
43b6ba5a4b1f1cb22355a4ba410582a9a059a496 31-Mar-2009 Jorg Pleumann <> AI 143635: am: CL 143456 Bringing the text tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143635
562c0117644f8e95fa2467447c583b3122c18f70 31-Mar-2009 Jorg Pleumann <> AI 143631: am: CL 143455 Bringing the SQL tests down to zero failures (and
reducing the size of some stress tests, so they
have a chance to actually succeed before the end
of the world).
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143631
aa20afbef437ffce30ec257940a531a373855267 31-Mar-2009 Jorg Pleumann <> AI 143627: am: CL 143454 Temporarily removing the Expat test from the XML
test suite, so it can be run on the RI as well.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143627
c183d3f71483e65036ac40ade21600b9905ec1ce 31-Mar-2009 Jorg Pleumann <> AI 143626: am: CL 143453 Bringing the luni tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143626
251d878436c0a5b97c4f6583294ec0179efbfacc 30-Mar-2009 Andy McFadden <> AI 143506: Fix swap issue affecting big-endian machines.
Reported on android-porting mailing list (by "Anand Android").
Also renamed a local that shadowed an earlier local.

Automated import of CL 143506
56c8199fc0e83c12d090dbba98acbebb4b0ff47a 30-Mar-2009 Dan Bornstein <> AI 143492: Another crank of the --core-library wheel.

Automated import of CL 143492
e3cf5d1d1b8a11c98239e96f66cb4ba3f0234f4e 30-Mar-2009 Jorg Pleumann <> AI 143467: Bringing archive down to zero failures and
zero broken tests.
BUG=1285921

Automated import of CL 143467
a319c68d3e01865d32fb744d94024f0c0c8a1869 30-Mar-2009 Jorg Pleumann <> AI 143466: Bringing the logging tests down to zero failures.
BUG=1285921

Automated import of CL 143466
191e23f9726a9f3caacff0f9ef51207faa4bff2e 30-Mar-2009 Jorg Pleumann <> AI 143464: Proposal for a TestTimeout annotation that the CTS
host (or an different test harness) should take into
account.
BUG=1537738

Automated import of CL 143464
b4cf019ce1388752d59dd1024781d02a4351812a 30-Mar-2009 Jorg Pleumann <> AI 143460: Adding new annotation for tests that expose or suffer from
side effecs. The test harness can isolate these in their
own process. Unfortunately we need to add the class twice.
Maybe we can find a better solution for this at a later
point.
BUG=1285921

Automated import of CL 143460
06a8ea756c8177863c342732be52943ca7645084 30-Mar-2009 Jorg Pleumann <> AI 143458: Bringing the security tests down to zero failures (and
adding lots of missing headers in the process).
BUG=1285921

Automated import of CL 143458
69e268199e1867177ef2f491bf26d2a5ce9697bd 30-Mar-2009 Jorg Pleumann <> AI 143457: Bringing the nio_char tests down to zero failures.
BUG=1285921

Automated import of CL 143457
90e849e23d07f6ac0381a9ce54a51b30569ae596 30-Mar-2009 Jorg Pleumann <> AI 143456: Bringing the text tests down to zero failures.
BUG=1285921

Automated import of CL 143456
64d9f4ea59b41bbaa3f1d71295ebef42cea27758 30-Mar-2009 Jorg Pleumann <> AI 143455: Bringing the SQL tests down to zero failures (and
reducing the size of some stress tests, so they
have a chance to actually succeed before the end
of the world).
BUG=1285921

Automated import of CL 143455
920fc4bf584f2262e7d753a2f400f60c88b0d2c3 30-Mar-2009 Jorg Pleumann <> AI 143454: Temporarily removing the Expat test from the XML
test suite, so it can be run on the RI as well.
BUG=1285921

Automated import of CL 143454
b255e38edd4438dd47eefa5cb86dd4847d94bc30 30-Mar-2009 Jorg Pleumann <> AI 143453: Bringing the luni tests down to zero failures.
BUG=1285921

Automated import of CL 143453
5c93144af8541a727116eef8eef602965088ced2 29-Mar-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'open_source' into google_internal
f3655ab888e6782367c95c054c8bf652ee7eb151 28-Mar-2009 Jorg Pleumann <> AI 143235: am: CL 143073 Bringing the Crypto tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143235
75dbe51324b21e2934246846a84df56ceaa5270d 28-Mar-2009 Jorg Pleumann <> AI 143233: am: CL 143070 Two small fixes for the support module. The
classloader factory didn't work, since the
innerhalb classes had to be static. Plus
we don't want to see System.out stuff in the
tests.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143233
e1c7069e567c0d74d8a076d7e8765ffa5aa7ee03 28-Mar-2009 Jorg Pleumann <> AI 143385: am: CL 143235 am: CL 143073 Bringing the Crypto tests down to zero failures.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143385
a143c400eea5bc4c269e86ed45dee03b61ed97ff 28-Mar-2009 Jorg Pleumann <> AI 143383: am: CL 143233 am: CL 143070 Two small fixes for the support module. The
classloader factory didn't work, since the
innerhalb classes had to be static. Plus
we don't want to see System.out stuff in the
tests.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143383
dfea18bcf73e51a3347c762ec1d1d26637adff87 28-Mar-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'goog/cupcake'
867884d47a1ffc689c39f62778a9c1bc69351b04 28-Mar-2009 Jorg Pleumann <> AI 143332: am: CL 143182 am: CL 142925 Silencing the TestSuiteFactory. It will be
removed completely, soon, but it is referenced
by so many tests that it makes sense to do this
in its own CL once the currently open CLs are
submitted.
Original author: jorgp
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143332
76ceb83144d70cbf7ddb54d786bba4d25f4a43e3 28-Mar-2009 Jorg Pleumann <> AI 143182: am: CL 142925 Silencing the TestSuiteFactory. It will be
removed completely, soon, but it is referenced
by so many tests that it makes sense to do this
in its own CL once the currently open CLs are
submitted.
Original author: jorgp
Merged from: //branches/cupcake/...

Automated import of CL 143182
0b37a030877bca03f86c738ba6ecd69a07e5b176 27-Mar-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'korg/cupcake'
e0700765d2207181c80176743e3d5d1d8d893eaa 27-Mar-2009 Andy McFadden <> AI 143123: Three minor changes.
1. detab "dx" script
2. log an error when annotation value parsing fails
3. slightly improve a resolver failure message

Automated import of CL 143123
00ede4e09c5bcacef0141af24d64895033742504 27-Mar-2009 Andy McFadden <> AI 143120: Added simple XML output. Shuffled stuff around.

Automated import of CL 143120
4bc779d3969bc4f54b7b1c0cbe19b6eec46cf80b 27-Mar-2009 Jorg Pleumann <> AI 143073: Bringing the Crypto tests down to zero failures.
BUG=1285921

Automated import of CL 143073
ea85ef29fec0acd94099069dda7e437042267335 27-Mar-2009 Jorg Pleumann <> AI 143070: Two small fixes for the support module. The
classloader factory didn't work, since the
innerhalb classes had to be static. Plus
we don't want to see System.out stuff in the
tests.
BUG=1285921

Automated import of CL 143070
b4dffdf397323d3e3e6a8c760a66030b96633626 27-Mar-2009 Andy McFadden <> Automated import from //branches/master/...@143003,143003
5eaf91df21eb37def1091448791d079564b9a2eb 26-Mar-2009 Jorg Pleumann <> Automated import from //branches/cupcake/...@142925,142925
d208477a33cd389738e83cdd19436268cab8570c 26-Mar-2009 Ben Cheng <> Automated import from //branches/master/...@142811,142811
4cdf8fbf40e780eb15e6bb3de606f5a882f602c8 25-Mar-2009 Andy McFadden <> Automated import from //branches/master/...@142686,142686
80c8dc7805edd57ee7372d3180279f3699ec86f6 25-Mar-2009 Andy McFadden <> Automated import from //branches/master/...@142221,142221
473c8543f091d4fe48535425fe59f5b810b706bf 25-Mar-2009 Andy McFadden <> Automated import from //branches/master/...@142073,142073
20c07b6104c54ec76facf8b23bf79ccb25a6d006 25-Mar-2009 Andy McFadden <> Automated import from //branches/master/...@141983,141983
475af4ac20404bd058523b0161e1ccb5d5ec976a 25-Mar-2009 Andy McFadden <> Automated import from //branches/master/...@141837,141837
f4225841c127558f617a879927515bba51448137 25-Mar-2009 Urs Grob <> Automated import from //branches/master/...@141710,141710
1d2701054a7bd84acfc39d7dbe5dd6c9a3f00ce5 25-Mar-2009 Urs Grob <> Automated import from //branches/donutburger/...@141709,141709
60f28e5a2e15775f4c2efcee40a38aabbdb29223 25-Mar-2009 Andy McFadden <> Automated import from //branches/master/...@141645,141645
0a57f20bb3c85005a828313c1c9627a5396dccbb 25-Mar-2009 Bob Lee <> Automated import from //branches/donutburger/...@141355,141355
57fff6f5dcb770dc43f09bb58b33e2d2fe2906de 25-Mar-2009 Bob Lee <> Automated import from //branches/master/...@141357,141357
cbb1a14af03846090425beb0faee495936f2dc1f 25-Mar-2009 Mike Wakerly <> Automated import from //branches/donutburger/...@140825,140825
03581955ee82be2095aa8778ac4a64acc8f83e1a 25-Mar-2009 Mike Wakerly <> Automated import from //branches/master/...@140826,140826
b6e4af48d188ddc2e444a0df9e492c516a41c9e8 25-Mar-2009 Andy McFadden <> Automated import from //branches/donutburger/...@140700,140700
8bd09fb58923ec6518755865a107194e83550339 25-Mar-2009 Urs Grob <> Automated import from //branches/cupcake/...@141706,141706
e083440bc6e4624a7175f54402a4e496334f30e5 25-Mar-2009 Andy McFadden <> Automated import from //branches/donutburger/...@140653,140653
929e90b9edf3310cd9395aeb8f9bf44190bfffa8 25-Mar-2009 Jorg Pleumann <> Automated import from //branches/master/...@140443,140443
588f6d7f2e83b112156d26f91b8ac5e556be0b1e 25-Mar-2009 Jorg Pleumann <> Automated import from //branches/master/...@140442,140442
03fcc01e6d88dd438df8a32fc2fd5b8842c54d64 25-Mar-2009 Jorg Pleumann <> Automated import from //branches/donutburger/...@140440,140440
ec386f1eb2049d6af807d0d23a133f246c400ca1 25-Mar-2009 Jorg Pleumann <> Automated import from //branches/donutburger/...@140439,140439
9485faab99f2a0566887f5659641b0206f74702d 25-Mar-2009 Jorg Pleumann <> Automated import from //branches/master/...@140414,140414
be140a8e4ab47ddbb5c14e3a8ab37eb84d2bf28e 25-Mar-2009 Jorg Pleumann <> Automated import from //branches/donutburger/...@140376,140376
cd14fa7f10a176e16b3b7e3f52cce2e5bd3307e8 23-Mar-2009 Fredrik Markström <fredrik.markstrom@gmail.com> Fixes to make dalvik compile for armv4t:
- The blx instruction is only supported from armv5t and on.
- Select the correct Interp-files.
154b99261b15b0656cc261cb25a9a2daf715f2c4 23-Mar-2009 Scott Tsai <scottt.tw@gmail.com> libcore/.../rg_apache_harmony_xml_ExpatParser: in C++, the return type
of strchr(const char*) is 'const char*' instead of 'char *'.

C++ overloads string functions so that strchr(char*) returns 'char*' and
strchr(const char*) returns 'const char*'. This patch fixes an "invalid
conversion from ‘const char*’ to ‘char*’" error when building with gcc-4.4.
7547dd6145d142f9b09bb545a7c2e1c4dd252c33 20-Mar-2009 Hao Feng <hao.feng@intel.com> add comments for the UTF-8 string creation patch
36e756586bf62a19000c6ec1871c563d8065451b 20-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@141571
245ae3fc4b341ef2e5e672487197df08ed6dc505 20-Mar-2009 Android Code Review <code-review@android.com> Merge
517e70a3ab6955a01d9a4fe86c629c3b507551be 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import //branches/master/...@140412
761e0581aab3cbd797b2b49c987cc1563e9a47dd 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import //branches/donutburger/...@140359
dd6d515a376d4220cb0c8f2877d40e489b0db232 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
73068b357140969238822accca9b0ab7dcd76101 19-Mar-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit 'remotes/korg/cupcake' into cupcake_to_master
b5cd0559c6bcae819c54cd239edbd8df1bcfa0a4 17-Mar-2009 Barry Hayes <bhayes@google.com> Move the code in scanObject which sets the scanGeneration [and other fields] of
a chunk to before the early return in the cases where clazz is either NULL or
unlinkedJavaLangClass.

This way the "wasn't scanned last time" check in _markObjectNonNullCommon will
see the scanGeneration and markGeneration as equal, and won't dvmAbort.
25214c4e2a3f0799624366aa405bbcdc6d62abd3 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
9b60052bfb5fa96634d73a869bedf96a15ba3a96 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
50548f124476b67b9da67f66fc08af6a73f53ab6 09-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137197
229a3f00f55cccaa97ffb34ff581cbde17a523e4 09-Mar-2009 Android Code Review <code-review@android.com> Merge
2217b4725bae13061cc98c2267a1e35e1818b0ec 28-Feb-2009 t.mehrvarz <othy74@gmail.com> Code to reuse PlatformAddress objects. Minimizing garbage creation on the framework level and reducing the number of runtime GC-hiccups for OpenGL apps and animations.
2nd version: complete rewrite using 8 bit hash, up to 5 probes, cycle through probes cache replacement. (Thank you MichaelDt for your help.)
- 1st amend: applied requested modifications
- 2nd amend: comment openers, curly bracket
7f5830e8fb36e0eaf8694bdb92b8f05b7fd0fa3a 06-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136654
56bd95ad6161a0f8d145055842ec1726e12f0013 04-Mar-2009 Jean-Baptiste Queru <jbq@google.com> Use static const variable for speed. Clarify a comment.

Fixes http://code.google.com/p/android/issues/detail?id=2088
f989b2bc5fbbea8e18a5bc75752bb482efe6b6b8 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
0a0046d5c4b93bdcc3bc57e81ee6c816a1ca482d 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
f9935abc8b22d5b93cdcebf21d92dd295c2a9516 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
ec6f31b13ddb64b61d4786ecb6a0f984ff142626 03-Mar-2009 Android Code Review <code-review@android.com> Merge
f24e9b1cc55f484454a93db8268348d30f97ca24 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
4e191373c4b9c2406628583b59b0d85952e1364c 02-Mar-2009 Jean-Baptiste Queru <jbq@google.com> Remove unused variable

Fixes http://code.google.com/p/android/issues/detail?id=2089
29c7b7980980355f81408358ec465e3232c04ad0 02-Mar-2009 Android Code Review <code-review@android.com> Merge
e9c018a19f030be47b13a50c2d562fbdb6952819 21-Feb-2009 Vadim Lebedev <vadim@mbdsys.com> Fix the obvois wrong test in methodIsPublic function.
5f99dfeabce6e9e08a4fe331da1ea4091f5eed5e 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
879f2b620c374ed174c9d65991d35dd402f3d062 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
1ae87f5cd978ed37abbedc5df62ccca64f491c78 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
c177dbf84357cdc48d4101383fa508010d7b79c4 11-Feb-2009 Johnnie Birch <johnnie.l.birch.jr@intel.com> This patch rewrites common_invokeOld for the x86 fast interpreter. The implementation is similar to what is done for the armv5 code.
Testing shows the patch provides a performance boost to benchmarks such as Caffeine Mark. When testing the simulator build on an Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz, the string score for Caffeine Mark improved by 6%, the Method score improved by 12% and the overall score improved by 3%.

This patch is one of our incremental efforts to merge some Intel's x86 fast interpreter features in http://review.source.android.com/Gerrit#change,6041 to the mterp/x86 directory.
c4daf050154c43836a127072e0ff062a61697dd8 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'cupcake'
8eeeba0f1aed0f1b5e40058abb22e1869387536c 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
43918ce8be52f3c9d82370551f012615652b6bbe 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'cupcake'
1c3ec0cab81897f109d17f7ce5c1facebf242a5a 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127101
817b69c29eac44f26e6e390a2c57fa5325e522c4 16-Jan-2009 android-build SharedAccount <android-build@undroid16.corp.google.com> Merge branch 'cupcake'
8af34f3bcf40f6ee3b4886a73c36cbadb1767e77 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
d55645bfc8ccf8419dac6e5bd290f3de45560aae 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'cupcake'
cb1b8d869bfb7cdb7ea85d0791f0ed945f25ded2 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
98edb35fbb4fb735b38155760a70a9f230ffcbe2 19-Dec-2008 Jean-Baptiste Queru <jbq@google.com> Merge commit 'remotes/korg/cupcake'
a8e9de7023ae1a4531d5db7f064cd85b3a52fc0f 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
b2a73dc8a93c1ab13ff17a3ba07a3cac2f614407 16-Nov-2008 Jay Freeman (saurik) <saurik@saurik.com> A fairly obvious ifdef'd syntax error: missing closing brace.
fcfe48e7cf461bf4a6314802c0f31f292d87ab95 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution