OSDN Git Service

android-x86/dalvik.git
14 years agoMerge change I200886b4
Android (Google) Code Review [Thu, 12 Nov 2009 23:53:25 +0000 (15:53 -0800)]
Merge change I200886b4

* changes:
  Make cacerts.bks available to the simulator too.

14 years agoMake cacerts.bks available to the simulator too.
Elliott Hughes [Thu, 12 Nov 2009 22:51:57 +0000 (14:51 -0800)]
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.

14 years agoRemove OSNetworkSystem.oneTimeInitialization.
Elliott Hughes [Thu, 12 Nov 2009 20:23:05 +0000 (12:23 -0800)]
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.)

14 years agoMerge change Ica2d0b8c
Android (Google) Code Review [Thu, 12 Nov 2009 20:01:23 +0000 (12:01 -0800)]
Merge change Ica2d0b8c

* changes:
  Fix a buffer overrun in OSNetworkSystem.

14 years agoFix a buffer overrun in OSNetworkSystem.
Elliott Hughes [Thu, 12 Nov 2009 05:55:42 +0000 (21:55 -0800)]
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.

14 years agoMerge change Id726991b
Android (Google) Code Review [Thu, 12 Nov 2009 17:30:38 +0000 (09:30 -0800)]
Merge change Id726991b

* changes:
  Jit stress mode: translate everything we can and self verify.

14 years agoFix typos in the XmlPullParser documentation.
Elliott Hughes [Thu, 12 Nov 2009 01:22:45 +0000 (17:22 -0800)]
Fix typos in the XmlPullParser documentation.

14 years agoJit stress mode: translate everything we can and self verify.
Bill Buzbee [Tue, 10 Nov 2009 22:31:32 +0000 (14:31 -0800)]
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.

14 years agoFix DOM parsing of character references/entities.
Elliott Hughes [Tue, 10 Nov 2009 21:20:43 +0000 (13:20 -0800)]
Fix DOM parsing of character references/entities.

Our DOM parser didn't support { or š character references,
and didn't merge adjacent text nodes into one (so "a&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)

14 years agoBring our kxml2 up to date with upstream.
Elliott Hughes [Tue, 10 Nov 2009 00:06:42 +0000 (16:06 -0800)]
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.

14 years agoam 216438fc: (-s ours) am 83859891: am 3dc6a811: (-s ours) DO NOT MERGE. CTS test...
Brett Chabot [Mon, 9 Nov 2009 21:49:10 +0000 (13:49 -0800)]
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.

14 years agoMerge change Ie65d9758
Android (Google) Code Review [Mon, 9 Nov 2009 20:43:42 +0000 (12:43 -0800)]
Merge change Ie65d9758

* changes:
  Introduce "just interpret" chainable pseudo-translation.

14 years agoIntroduce "just interpret" chainable pseudo-translation.
Bill Buzbee [Sun, 8 Nov 2009 22:31:20 +0000 (14:31 -0800)]
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.

14 years agoam 83859891: am 3dc6a811: (-s ours) DO NOT MERGE. CTS test cleanup. Mark tests as...
Brett Chabot [Mon, 9 Nov 2009 20:14:35 +0000 (12:14 -0800)]
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.

14 years agoam 3dc6a811: (-s ours) DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures...
Brett Chabot [Mon, 9 Nov 2009 19:58:12 +0000 (11:58 -0800)]
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.

14 years agoList -lcrypto when building for host darwin-x86, as that's part of
Dan Bornstein [Mon, 9 Nov 2009 01:46:20 +0000 (17:46 -0800)]
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

14 years agoDO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.
Brett Chabot [Thu, 5 Nov 2009 18:52:02 +0000 (10:52 -0800)]
DO NOT MERGE. CTS test cleanup. Mark tests as KnownFailures and BrokenTests.

14 years agoMerge change I16a7c847
Android (Google) Code Review [Fri, 6 Nov 2009 22:06:32 +0000 (17:06 -0500)]
Merge change I16a7c847

* changes:
  Our XML serializer permits \0, resulting in malformed documents.

14 years agoMerge change I52b6299c
Android (Google) Code Review [Fri, 6 Nov 2009 22:04:06 +0000 (17:04 -0500)]
Merge change I52b6299c

* changes:
  Sanitize text before emitting to XML.

14 years agoSanitize text before emitting to XML.
Jesse Wilson [Fri, 6 Nov 2009 19:41:32 +0000 (11:41 -0800)]
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.

14 years agoOur XML serializer permits \0, resulting in malformed documents.
Jesse Wilson [Fri, 6 Nov 2009 19:09:08 +0000 (11:09 -0800)]
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.

14 years agoMerge change I2d4116b7
Android (Google) Code Review [Fri, 6 Nov 2009 17:40:03 +0000 (12:40 -0500)]
Merge change I2d4116b7

* changes:
  Clean up sieb.[ch], including changing a reference to <malloc.h> to instead be the more standard <stdlib.h>.

14 years agoMerge change I364c9428
Android (Google) Code Review [Fri, 6 Nov 2009 01:27:23 +0000 (20:27 -0500)]
Merge change I364c9428

* changes:
  Remove 'GTE CyberTrust Root', which expired on 2/23/06.

14 years agoRemove 'GTE CyberTrust Root', which expired on 2/23/06.
Nagendra Modadugu [Fri, 6 Nov 2009 01:17:29 +0000 (17:17 -0800)]
Remove 'GTE CyberTrust Root', which expired on 2/23/06.

14 years agoClean up sieb.[ch], including changing a reference to <malloc.h> to instead
Dan Bornstein [Fri, 6 Nov 2009 00:53:48 +0000 (16:53 -0800)]
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

14 years agoMore OSNetworkSystem cleanup.
Elliott Hughes [Thu, 5 Nov 2009 21:50:06 +0000 (13:50 -0800)]
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.

14 years agoMerge change I5cae54d2
Android (Google) Code Review [Thu, 5 Nov 2009 19:27:49 +0000 (14:27 -0500)]
Merge change I5cae54d2

* changes:
  More OSNetworkSystem cleanup.

14 years agoMerge change Iefbd3c5e
Android (Google) Code Review [Thu, 5 Nov 2009 18:48:34 +0000 (13:48 -0500)]
Merge change Iefbd3c5e

* changes:
  Fix DEADLOCK_DETECTION mode for the Jit.

14 years agoMerge change I7b302183
Android (Google) Code Review [Thu, 5 Nov 2009 18:23:43 +0000 (13:23 -0500)]
Merge change I7b302183

* changes:
  Remove cruft in the default libdvm.so and add 3 more special targets.

14 years agoMore OSNetworkSystem cleanup.
Elliott Hughes [Thu, 5 Nov 2009 18:00:02 +0000 (10:00 -0800)]
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.

14 years agoFix DEADLOCK_DETECTION mode for the Jit.
Bill Buzbee [Thu, 5 Nov 2009 06:18:40 +0000 (22:18 -0800)]
Fix DEADLOCK_DETECTION mode for the Jit.

14 years agoMerge change Ic5176ecb
Android (Google) Code Review [Thu, 5 Nov 2009 01:22:15 +0000 (20:22 -0500)]
Merge change Ic5176ecb

* changes:
  Remove deadlock-prone thread pool.

14 years agoRemove deadlock-prone thread pool.
Elliott Hughes [Thu, 5 Nov 2009 00:00:06 +0000 (16:00 -0800)]
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.)

14 years agoOnly compile in multicast support on Linux, for the time being.
Dan Bornstein [Wed, 4 Nov 2009 23:34:14 +0000 (15:34 -0800)]
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

14 years agoMerge change Id9fcfa6d
Android (Google) Code Review [Wed, 4 Nov 2009 22:56:07 +0000 (17:56 -0500)]
Merge change Id9fcfa6d

* changes:
  Fix for inline string indexof; added regression tests

14 years agoFix for inline string indexof; added regression tests
Bill Buzbee [Wed, 4 Nov 2009 00:52:53 +0000 (16:52 -0800)]
Fix for inline string indexof; added regression tests

14 years agoRemove cruft in the default libdvm.so and add 3 more special targets.
Ben Cheng [Wed, 4 Nov 2009 00:19:11 +0000 (16:19 -0800)]
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

14 years agoMerge change Ib62b9223
Android (Google) Code Review [Wed, 4 Nov 2009 21:29:46 +0000 (16:29 -0500)]
Merge change Ib62b9223

* changes:
  Emitting JUnit+Ant style XML from the jtreg test runner.

14 years agoMerge change I6b080ffc
Android (Google) Code Review [Wed, 4 Nov 2009 20:16:35 +0000 (15:16 -0500)]
Merge change I6b080ffc

* changes:
  Another couple of tweaks to deal with the ragged end of standardization.

14 years agoMerge change I7e695ea9
Android (Google) Code Review [Wed, 4 Nov 2009 19:45:16 +0000 (14:45 -0500)]
Merge change I7e695ea9

* changes:
  Remove duplication in OpenSSLSocket/OpenSSLServerSocket.

14 years agoAnother couple of tweaks to deal with the ragged end of standardization.
Dan Bornstein [Tue, 3 Nov 2009 23:10:26 +0000 (15:10 -0800)]
Another couple of tweaks to deal with the ragged end of standardization.

Change-Id: I6b080ffcc1832a902e21f5137f42e4d860c407f0

14 years agoEmitting JUnit+Ant style XML from the jtreg test runner.
Jesse Wilson [Wed, 4 Nov 2009 19:18:01 +0000 (11:18 -0800)]
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.

14 years agoMerge change I71684d91
Android (Google) Code Review [Wed, 4 Nov 2009 02:01:55 +0000 (21:01 -0500)]
Merge change I71684d91

* changes:
  CharsetDecoderICU/CharsetEncoderICU should take arrayOffset into account.

14 years agoMerge change Ic80147bd
Android (Google) Code Review [Wed, 4 Nov 2009 01:46:08 +0000 (20:46 -0500)]
Merge change Ic80147bd

* changes:
  Adding timeouts to jtreg runner.

14 years agoAdding timeouts to jtreg runner.
Jesse Wilson [Wed, 4 Nov 2009 00:45:07 +0000 (16:45 -0800)]
Adding timeouts to jtreg runner.

Also fixing some problems with the Android.mk which was
pointing at an old version of the Run class.

14 years agoRemove duplication in OpenSSLSocket/OpenSSLServerSocket.
Elliott Hughes [Wed, 4 Nov 2009 00:36:49 +0000 (16:36 -0800)]
Remove duplication in OpenSSLSocket/OpenSSLServerSocket.

14 years agoCharsetDecoderICU/CharsetEncoderICU should take arrayOffset into account.
Elliott Hughes [Tue, 3 Nov 2009 23:52:10 +0000 (15:52 -0800)]
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

14 years agoRemove more @KnownFailures now I've run tests.AllTests.
Elliott Hughes [Tue, 3 Nov 2009 21:32:16 +0000 (13:32 -0800)]
Remove more @KnownFailures now I've run tests.AllTests.

A lunchtime run of the full suite turned up more.

14 years agoHide JIT-specific constants when JIT is not configured.
Ben Cheng [Tue, 3 Nov 2009 20:20:28 +0000 (12:20 -0800)]
Hide JIT-specific constants when JIT is not configured.

14 years agoMerge change Ia61d31e2
Android (Google) Code Review [Tue, 3 Nov 2009 19:52:25 +0000 (14:52 -0500)]
Merge change Ia61d31e2

* changes:
  Remove @KnownFailure from a bunch of tests that now pass.

14 years agoRemove @KnownFailure from a bunch of tests that now pass.
Elliott Hughes [Tue, 3 Nov 2009 19:44:56 +0000 (11:44 -0800)]
Remove @KnownFailure from a bunch of tests that now pass.

Looks like we got some of our Locales back.

14 years agoImplement chaining up to the first 64 cases in a switch statement.
Ben Cheng [Thu, 29 Oct 2009 21:39:18 +0000 (14:39 -0700)]
Implement chaining up to the first 64 cases in a switch statement.

14 years agoBack out inline string optimizations until cause of instability tracked down.
Bill Buzbee [Tue, 3 Nov 2009 16:06:02 +0000 (08:06 -0800)]
Back out inline string optimizations until cause of instability tracked down.

14 years agoEnsure dalvikvm sets "user.name" to "root" for our tests.
Elliott Hughes [Tue, 3 Nov 2009 02:16:19 +0000 (18:16 -0800)]
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 "".

14 years agoMerge change I22212019
Android (Google) Code Review [Tue, 3 Nov 2009 00:51:25 +0000 (19:51 -0500)]
Merge change I22212019

* changes:
  Kill OSNetworkSystem.inheritedChannelImpl.

14 years agoMerge change I57dd1032
Android (Google) Code Review [Mon, 2 Nov 2009 23:35:57 +0000 (18:35 -0500)]
Merge change I57dd1032

* changes:
  Supporting expected results for the jtreg test runner.

14 years agoMerge change Ie098e2fa
Android (Google) Code Review [Mon, 2 Nov 2009 23:32:38 +0000 (18:32 -0500)]
Merge change Ie098e2fa

* changes:
  Fixing PipedWriters/PipedOutputStreams silent failures during close().

14 years agoKill OSNetworkSystem.inheritedChannelImpl.
Elliott Hughes [Mon, 2 Nov 2009 23:25:05 +0000 (15:25 -0800)]
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.

14 years agoFixing PipedWriters/PipedOutputStreams silent failures during close().
Jesse Wilson [Mon, 2 Nov 2009 21:58:26 +0000 (13:58 -0800)]
Fixing PipedWriters/PipedOutputStreams silent failures during close().

See bug 2224903 and jtreg test java.io.BufferedWriter.Cleanup.

14 years agoMerge change I04f3b02b
Android (Google) Code Review [Mon, 2 Nov 2009 22:51:29 +0000 (17:51 -0500)]
Merge change I04f3b02b

* changes:
  Jit - optimized inline string compareto, indexof; fill_array_data bug fix

14 years agoSome more adjustments to deal with building for a BSD(-like) target.
Dan Bornstein [Thu, 29 Oct 2009 17:15:42 +0000 (10:15 -0700)]
Some more adjustments to deal with building for a BSD(-like) target.

Change-Id: I5e33c3db160ae3af6e324492e0b6a7a0dfb9719b

14 years agoMerge change I318b1449
Android (Google) Code Review [Mon, 2 Nov 2009 21:33:43 +0000 (16:33 -0500)]
Merge change I318b1449

* changes:
  More OSNetworkSystem cleanup.

14 years agoMore OSNetworkSystem cleanup.
Elliott Hughes [Sat, 31 Oct 2009 00:54:32 +0000 (17:54 -0700)]
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

14 years agoJit - optimized inline string compareto, indexof; fill_array_data bug fix
Bill Buzbee [Mon, 2 Nov 2009 17:23:49 +0000 (09:23 -0800)]
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.

14 years agoSupporting expected results for the jtreg test runner.
Jesse Wilson [Fri, 30 Oct 2009 23:53:05 +0000 (16:53 -0700)]
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.

14 years agoMerge change I88e8376e
Android (Google) Code Review [Mon, 2 Nov 2009 04:47:27 +0000 (23:47 -0500)]
Merge change I88e8376e

* changes:
  Update logging to r820767

14 years agoMerge change Id46d9a48
Android (Google) Code Review [Sat, 31 Oct 2009 17:32:13 +0000 (13:32 -0400)]
Merge change Id46d9a48

* changes:
  Fixing 1 of the 4 BufferedReader test failures in bug 2224903.

14 years agoFixing 1 of the 4 BufferedReader test failures in bug 2224903.
Jesse Wilson [Fri, 30 Oct 2009 01:36:38 +0000 (18:36 -0700)]
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

14 years agoMerge change I474dc860
Android (Google) Code Review [Fri, 30 Oct 2009 22:29:32 +0000 (18:29 -0400)]
Merge change I474dc860

* changes:
  Rewrite NativeBN_twosCompFitsIntoBytes.

14 years agoFixed typo introduced during comment reformatting.
Bill Buzbee [Fri, 30 Oct 2009 22:00:52 +0000 (15:00 -0700)]
Fixed typo introduced during comment reformatting.

14 years agoMerge change Ib000d44f
Android (Google) Code Review [Fri, 30 Oct 2009 21:37:44 +0000 (17:37 -0400)]
Merge change Ib000d44f

* changes:
  Major registor allocation rework - stage 1.

14 years agoMajor registor allocation rework - stage 1.
Bill Buzbee [Thu, 24 Sep 2009 00:17:35 +0000 (17:17 -0700)]
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.

14 years agoRewrite NativeBN_twosCompFitsIntoBytes.
Elliott Hughes [Fri, 30 Oct 2009 06:06:37 +0000 (23:06 -0700)]
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: 22232132225642

14 years agoMerge change I006c279b
Android (Google) Code Review [Thu, 29 Oct 2009 22:01:56 +0000 (18:01 -0400)]
Merge change I006c279b

* changes:
  Remove broken .so and fix bogus test.

14 years agoRemove broken .so and fix bogus test.
Elliott Hughes [Thu, 29 Oct 2009 21:02:57 +0000 (14:02 -0700)]
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

14 years agoMerge change I4a356627
Android (Google) Code Review [Thu, 29 Oct 2009 18:38:23 +0000 (14:38 -0400)]
Merge change I4a356627

* changes:
  Change the jtreg tool to perform both building and running steps.

14 years agoMerge change I8fa1a78a
Android (Google) Code Review [Thu, 29 Oct 2009 00:49:00 +0000 (20:49 -0400)]
Merge change I8fa1a78a

* changes:
  Make run-core-tests with no arguments equivalent to tests.AllTests.

14 years agoChange the jtreg tool to perform both building and running steps.
Jesse Wilson [Thu, 29 Oct 2009 00:36:00 +0000 (17:36 -0700)]
Change the jtreg tool to perform both building and running steps.

14 years agoMake run-core-tests with no arguments equivalent to tests.AllTests.
Elliott Hughes [Wed, 28 Oct 2009 23:19:48 +0000 (16:19 -0700)]
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.

14 years agoMerge change Id7694644
Android (Google) Code Review [Wed, 28 Oct 2009 22:07:59 +0000 (18:07 -0400)]
Merge change Id7694644

* changes:
  Script for compiling and dexing jtreg tests for Dalvik.

14 years agoScript for compiling and dexing jtreg tests for Dalvik.
Jesse Wilson [Wed, 28 Oct 2009 00:08:33 +0000 (17:08 -0700)]
Script for compiling and dexing jtreg tests for Dalvik.

14 years agoMerge change I8c671e53
Android (Google) Code Review [Wed, 28 Oct 2009 20:25:36 +0000 (16:25 -0400)]
Merge change I8c671e53

* changes:
  Implement ProcessBuilder.redirectErrorStream.

14 years agoImplement ProcessBuilder.redirectErrorStream.
Elliott Hughes [Tue, 27 Oct 2009 20:39:09 +0000 (13:39 -0700)]
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

14 years agoFix a few FindBugs warnings in code that isn't upstream.
Elliott Hughes [Tue, 27 Oct 2009 23:53:15 +0000 (16:53 -0700)]
Fix a few FindBugs warnings in code that isn't upstream.

Bugs: 20996422099637

14 years agoUpdate logging to r820767
Jesse Wilson [Tue, 27 Oct 2009 00:49:25 +0000 (17:49 -0700)]
Update logging to r820767

14 years agoRemove OSNetworkSystem.sendStream and all use of ErrorCodeException.
Elliott Hughes [Mon, 26 Oct 2009 23:38:13 +0000 (16:38 -0700)]
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.)

14 years agoThe officially sanctioned way to get memcpy() is to #include <string.h>.
Dan Bornstein [Mon, 26 Oct 2009 23:30:39 +0000 (16:30 -0700)]
The officially sanctioned way to get memcpy() is to #include <string.h>.

Change-Id: Ie157d9305df5f9b86a09ea2224666fd2c054cda4

14 years agoMerge change I4c4d050d
Android (Google) Code Review [Mon, 26 Oct 2009 22:41:14 +0000 (18:41 -0400)]
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.

14 years agoMerge change Ibc04ef43
Android (Google) Code Review [Mon, 26 Oct 2009 21:09:10 +0000 (17:09 -0400)]
Merge change Ibc04ef43

* changes:
  Remove dead native org.apache.harmony.nio.AddressUtils code.

14 years agoClone TEMP_FAILURE_RETRY in JNIHelp.h, to make up for (take your pick)
Dan Bornstein [Mon, 26 Oct 2009 20:33:22 +0000 (13:33 -0700)]
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

14 years agoRemove dead native org.apache.harmony.nio.AddressUtils code.
Elliott Hughes [Mon, 26 Oct 2009 20:14:07 +0000 (13:14 -0700)]
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.

14 years agoMerge change I8a7a4c56
Android (Google) Code Review [Mon, 26 Oct 2009 19:14:26 +0000 (15:14 -0400)]
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.

14 years agoMerge change Ibebb78b6
Android (Google) Code Review [Mon, 26 Oct 2009 18:50:11 +0000 (14:50 -0400)]
Merge change Ibebb78b6

* changes:
  Switch ProcessManager and System over to C++.

14 years agoDeleteLocalRef the result of GetObjectClass more consistently.
Elliott Hughes [Mon, 26 Oct 2009 18:18:00 +0000 (11:18 -0700)]
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

14 years agoSplit libcore/Android.mk into two files, one for Java code and one for
Dan Bornstein [Sat, 24 Oct 2009 22:33:49 +0000 (15:33 -0700)]
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

14 years agoMerge change I66e35647
Android (Google) Code Review [Mon, 26 Oct 2009 17:04:31 +0000 (13:04 -0400)]
Merge change I66e35647

* changes:
  A new hygenic way for tests to clean up before or after execution.

14 years agoA new hygenic way for tests to clean up before or after execution.
Jesse Wilson [Fri, 23 Oct 2009 22:31:41 +0000 (15:31 -0700)]
A new hygenic way for tests to clean up before or after execution.

This replaces PrefsTester and is more general purpose.

14 years agoMerge change I968363e2
Android (Google) Code Review [Mon, 26 Oct 2009 05:06:43 +0000 (01:06 -0400)]
Merge change I968363e2

* changes:
  Suppressing StressTest which is causing our continuous build to fail.

14 years agoSuppressing StressTest which is causing our continuous build to fail.
Jesse Wilson [Sun, 25 Oct 2009 18:00:06 +0000 (11:00 -0700)]
Suppressing StressTest which is causing our continuous build to fail.

We're tracking this under issue 2213053.

14 years agoMerge change Ibf565c9c
Android (Google) Code Review [Sat, 24 Oct 2009 21:39:51 +0000 (17:39 -0400)]
Merge change Ibf565c9c

* changes:
  Change the host build to include whole static libraries, and to name them "*-host".