OSDN Git Service
Bill Buzbee [Wed, 23 Dec 2009 00:15:39 +0000 (16:15 -0800)]
Jit: Update monitor lock/unlock to reflect thinlock changes (I34b20f49)
Android (Google) Code Review [Tue, 22 Dec 2009 05:49:54 +0000 (21:49 -0800)]
Merge change I06f254ec
* changes:
Clean up some misunderstanding about what mspaces are: They are already pointers.
Android (Google) Code Review [Tue, 22 Dec 2009 04:57:27 +0000 (20:57 -0800)]
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.
Carl Shapiro [Tue, 22 Dec 2009 02:34:11 +0000 (18:34 -0800)]
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.
Android (Google) Code Review [Tue, 22 Dec 2009 02:34:06 +0000 (18:34 -0800)]
Merge change I88786692
* changes:
Fix leaks in ICU JNI.
Android (Google) Code Review [Tue, 22 Dec 2009 02:25:06 +0000 (18:25 -0800)]
Merge change I8cf2b8be
* changes:
Remove dead code from the garbage collector. A previous commit eliminated all of the referencing code.
Android (Google) Code Review [Tue, 22 Dec 2009 02:19:18 +0000 (18:19 -0800)]
Merge change I6f22b22e
* changes:
Fixing BigDecimal.stripLeadingZeroes on "0e100", as discovered by jtreg.
Carl Shapiro [Tue, 22 Dec 2009 02:05:29 +0000 (18:05 -0800)]
Remove dead code from the garbage collector. A previous commit
eliminated all of the referencing code.
Jesse Wilson [Tue, 22 Dec 2009 01:59:46 +0000 (17:59 -0800)]
Fixing BigDecimal.stripLeadingZeroes on "0e100", as discovered by jtreg.
Plus other jtreg test scrubbing.
Carl Shapiro [Tue, 22 Dec 2009 00:40:06 +0000 (16:40 -0800)]
Remove conditionally compiled code for monitor-only locks.
Elliott Hughes [Tue, 22 Dec 2009 00:36:28 +0000 (16:36 -0800)]
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[].
Android (Google) Code Review [Mon, 21 Dec 2009 23:49:25 +0000 (15:49 -0800)]
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.
Carl Shapiro [Mon, 21 Dec 2009 19:42:59 +0000 (11:42 -0800)]
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.
Android (Google) Code Review [Mon, 21 Dec 2009 23:21:30 +0000 (15:21 -0800)]
Merge change Iaa2af1ad
* changes:
Speed up the way we access ICU's locale data.
Elliott Hughes [Mon, 21 Dec 2009 18:52:53 +0000 (10:52 -0800)]
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.
Scott Main [Mon, 21 Dec 2009 21:44:07 +0000 (13:44 -0800)]
resolved conflicts for merge of
4923840c to master
Scott Main [Mon, 21 Dec 2009 20:33:18 +0000 (12:33 -0800)]
resolved conflicts for merge of
ed7b1e77 to eclair-plus-aosp
Android (Google) Code Review [Mon, 21 Dec 2009 19:57:14 +0000 (11:57 -0800)]
Merge change I0ffa1dd4 into eclair
* changes:
doc change: fix a broken link in class summary
Scott Main [Mon, 21 Dec 2009 19:53:59 +0000 (11:53 -0800)]
doc change: fix a broken link in class summary
Jesse Wilson [Mon, 21 Dec 2009 19:31:14 +0000 (11:31 -0800)]
More expectations for our test runs
Jesse Wilson [Sun, 20 Dec 2009 22:17:37 +0000 (14:17 -0800)]
Fixing the XML emitter to honor the expectations file.
Elliott Hughes [Sun, 20 Dec 2009 17:57:21 +0000 (09:57 -0800)]
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".
Android (Google) Code Review [Sun, 20 Dec 2009 17:55:50 +0000 (09:55 -0800)]
Merge change Ic3780383
* changes:
Fix Long.toBinaryString, Long.toHexString, and Long.toOctalString for negative values.
Jesse Wilson [Sun, 20 Dec 2009 07:48:33 +0000 (23:48 -0800)]
Fixing a busted regex in the expectations file. Also doing regex checking upfront.
Elliott Hughes [Sun, 20 Dec 2009 07:39:53 +0000 (23:39 -0800)]
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.
Jesse Wilson [Sat, 19 Dec 2009 01:21:50 +0000 (17:21 -0800)]
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.
Android (Google) Code Review [Fri, 18 Dec 2009 18:40:43 +0000 (10:40 -0800)]
Merge change I1e941570
* changes:
Depessimize string conversions.
Elliott Hughes [Fri, 18 Dec 2009 05:09:08 +0000 (21:09 -0800)]
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.)
Android (Google) Code Review [Fri, 18 Dec 2009 18:17:03 +0000 (10:17 -0800)]
Merge change I60383632
* changes:
Update luni package to Harmony r888752.
Android (Google) Code Review [Fri, 18 Dec 2009 15:20:11 +0000 (07:20 -0800)]
Merge change I1ecd9dcd
* changes:
Use writev() for DDMS packets.
Android (Google) Code Review [Fri, 18 Dec 2009 05:02:25 +0000 (21:02 -0800)]
Merge change I83849e4a
* changes:
Improve our java.util.Locale documentation.
Elliott Hughes [Thu, 17 Dec 2009 21:53:47 +0000 (13:53 -0800)]
Improve our java.util.Locale documentation.
Bug: http://code.google.com/p/android/issues/detail?id=5476
Jesse Wilson [Fri, 18 Dec 2009 02:54:54 +0000 (18:54 -0800)]
Rename dalvik_jtreg to dalvik_runner.
Now that it runs caliper and JUnit, the old name was awful clumsy.
Jesse Wilson [Fri, 18 Dec 2009 02:10:17 +0000 (18:10 -0800)]
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
Andy McFadden [Fri, 18 Dec 2009 00:21:36 +0000 (16:21 -0800)]
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.
Android (Google) Code Review [Fri, 18 Dec 2009 00:05:17 +0000 (16:05 -0800)]
Merge change Ib1d8044e
* changes:
Jit: Briefly delay start of Jit'ng in attempt to avoid compiling init code
Bill Buzbee [Thu, 17 Dec 2009 22:55:21 +0000 (14:55 -0800)]
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.
Android (Google) Code Review [Thu, 17 Dec 2009 21:26:42 +0000 (13:26 -0800)]
Merge change Iac175b4f
* changes:
Two minor JNI fixes.
Andy McFadden [Thu, 17 Dec 2009 19:21:09 +0000 (11:21 -0800)]
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.
Jesse Wilson [Thu, 17 Dec 2009 19:12:33 +0000 (11:12 -0800)]
Cleaning up after each test to avoid exhausting disk space.
Moving tests to the local sdcard.
Android (Google) Code Review [Thu, 17 Dec 2009 03:43:23 +0000 (19:43 -0800)]
Merge change Ice913bbd
* changes:
Make java.lang.Character fast.
Elliott Hughes [Wed, 16 Dec 2009 23:37:18 +0000 (15:37 -0800)]
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
Joshua Bloch [Thu, 17 Dec 2009 02:01:32 +0000 (18:01 -0800)]
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.
Barry Hayes [Thu, 17 Dec 2009 00:51:04 +0000 (16:51 -0800)]
Clean up some misunderstanding about what mspaces are:
They are already pointers.
Jesse Wilson [Thu, 17 Dec 2009 00:15:34 +0000 (16:15 -0800)]
Adding some debugging to help figure out why our tests aren't completing.
Android (Google) Code Review [Wed, 16 Dec 2009 21:33:04 +0000 (13:33 -0800)]
Merge change I24ac537c
* changes:
Move VFP register save/restore routines from template to codegen.
Ben Cheng [Wed, 16 Dec 2009 21:15:53 +0000 (13:15 -0800)]
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.
Android (Google) Code Review [Wed, 16 Dec 2009 20:59:33 +0000 (12:59 -0800)]
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.).
Jesse Wilson [Wed, 16 Dec 2009 18:35:06 +0000 (10:35 -0800)]
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.
Jesse Wilson [Wed, 16 Dec 2009 01:00:02 +0000 (17:00 -0800)]
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
Android (Google) Code Review [Wed, 16 Dec 2009 07:51:57 +0000 (23:51 -0800)]
Merge change Iadae8af9
* changes:
Updating Caliper runner to correspond with caliper r20091215
Jesse Wilson [Wed, 16 Dec 2009 02:59:27 +0000 (18:59 -0800)]
Updating Caliper runner to correspond with caliper r20091215
Joshua Bloch [Tue, 15 Dec 2009 00:32:33 +0000 (16:32 -0800)]
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.
Elliott Hughes [Wed, 16 Dec 2009 00:27:08 +0000 (16:27 -0800)]
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.
Elliott Hughes [Tue, 15 Dec 2009 23:50:08 +0000 (15:50 -0800)]
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.
Android (Google) Code Review [Tue, 15 Dec 2009 23:46:19 +0000 (15:46 -0800)]
Merge change I326caaa3
* changes:
Fix our SSLSession implementations to call valueUnbound on remove.
Elliott Hughes [Tue, 15 Dec 2009 23:32:28 +0000 (15:32 -0800)]
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
Android (Google) Code Review [Tue, 15 Dec 2009 23:26:27 +0000 (15:26 -0800)]
Merge change Id2be5eb7
* changes:
Eclipse doesn't like that this class' directory didn't match its package.
Brett Chabot [Tue, 15 Dec 2009 23:06:05 +0000 (15:06 -0800)]
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.
Elliott Hughes [Tue, 15 Dec 2009 22:13:27 +0000 (14:13 -0800)]
Eclipse doesn't like that this class' directory didn't match its package.
Resolve in favor of the package declaration.
Elliott Hughes [Tue, 15 Dec 2009 21:06:11 +0000 (13:06 -0800)]
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.
Brett Chabot [Tue, 15 Dec 2009 18:59:23 +0000 (10:59 -0800)]
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.
Android Git Automerger [Tue, 15 Dec 2009 08:44:44 +0000 (00:44 -0800)]
Merge commit 'goog/eclair-plus-aosp'
Brett Chabot [Mon, 14 Dec 2009 23:49:13 +0000 (15:49 -0800)]
Temporarily omit libcore tests that fail when run in CTS harness. DO NOT MERGE.
Bug
2155700
Change-Id: Ib0f9d363842d713ce3e07cdd303078c5c3e518c9
Android (Google) Code Review [Mon, 14 Dec 2009 22:35:24 +0000 (14:35 -0800)]
Merge change I1d96b51e
* changes:
Merge branch 'archive_888752' into archive_dalvik
Android (Google) Code Review [Mon, 14 Dec 2009 22:33:06 +0000 (14:33 -0800)]
Merge change Icf57d5da
* changes:
Merge branch 'logging_888752' into logging_dalvik
Android (Google) Code Review [Mon, 14 Dec 2009 22:25:09 +0000 (14:25 -0800)]
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.
Jesse Wilson [Thu, 10 Dec 2009 00:29:30 +0000 (16:29 -0800)]
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
Andy McFadden [Sat, 5 Dec 2009 00:36:08 +0000 (16:36 -0800)]
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.
Android (Google) Code Review [Fri, 11 Dec 2009 20:36:03 +0000 (12:36 -0800)]
Merge change I11aa1bb5
* changes:
Jit: Fix 083-jit-regressions test to omit non-deterministic output
Bill Buzbee [Fri, 11 Dec 2009 17:01:12 +0000 (09:01 -0800)]
Jit: Fix 083-jit-regressions test to omit non-deterministic output
Android (Google) Code Review [Fri, 11 Dec 2009 15:28:04 +0000 (07:28 -0800)]
Merge change I4c691d1a
* changes:
Minor CheckJNI tweak.
Android (Google) Code Review [Fri, 11 Dec 2009 15:27:44 +0000 (07:27 -0800)]
Merge change I909ce240
* changes:
Iterate in JNI thread exit check.
Jesse Wilson [Tue, 8 Dec 2009 23:43:05 +0000 (15:43 -0800)]
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.
Andy McFadden [Fri, 11 Dec 2009 00:38:30 +0000 (16:38 -0800)]
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.
Andy McFadden [Thu, 10 Dec 2009 23:11:18 +0000 (15:11 -0800)]
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.
Dan Bornstein [Thu, 10 Dec 2009 23:14:59 +0000 (15:14 -0800)]
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
Dan Bornstein [Thu, 10 Dec 2009 23:09:50 +0000 (15:09 -0800)]
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
Android (Google) Code Review [Thu, 10 Dec 2009 23:07:49 +0000 (15:07 -0800)]
Merge change I9388fbfd
* changes:
More java.io.File cleanup.
Elliott Hughes [Thu, 10 Dec 2009 21:18:35 +0000 (13:18 -0800)]
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
Dan Bornstein [Thu, 10 Dec 2009 22:43:23 +0000 (14:43 -0800)]
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
Dan Bornstein [Thu, 10 Dec 2009 22:37:32 +0000 (14:37 -0800)]
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).
Dan Bornstein [Thu, 10 Dec 2009 22:24:02 +0000 (14:24 -0800)]
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
Dan Bornstein [Thu, 10 Dec 2009 21:32:09 +0000 (13:32 -0800)]
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.
Barry Hayes [Wed, 28 Oct 2009 22:32:19 +0000 (15:32 -0700)]
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.
Barry Hayes [Fri, 30 Oct 2009 16:36:08 +0000 (09:36 -0700)]
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.
Android (Google) Code Review [Thu, 10 Dec 2009 20:51:37 +0000 (12:51 -0800)]
Merge change I5f6d073a
* changes:
Jit: Save/restore callee-save floating point registers at interpreter entry/exit
Bill Buzbee [Tue, 8 Dec 2009 20:37:13 +0000 (12:37 -0800)]
Jit: Save/restore callee-save floating point registers at interpreter entry/exit
Andy McFadden [Thu, 10 Dec 2009 02:40:18 +0000 (18:40 -0800)]
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.
Elliott Hughes [Thu, 10 Dec 2009 02:40:13 +0000 (18:40 -0800)]
am
0f6512c7: am
3f77d012: Merge change I2ca00c90 into eclair-mr2
Merge commit '
0f6512c7b4dd17177a7fdb521ca440d87b4230ad'
* commit '
0f6512c7b4dd17177a7fdb521ca440d87b4230ad':
Fix dalvik test 063.
Jesse Wilson [Thu, 10 Dec 2009 02:24:19 +0000 (18:24 -0800)]
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
Elliott Hughes [Thu, 10 Dec 2009 00:05:29 +0000 (16:05 -0800)]
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.
Andy McFadden [Wed, 9 Dec 2009 23:59:48 +0000 (15:59 -0800)]
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.
Elliott Hughes [Wed, 9 Dec 2009 23:40:55 +0000 (15:40 -0800)]
am
3f77d012: Merge change I2ca00c90 into eclair-mr2
Merge commit '
3f77d0127a34798cfede935331c10c1e57ec0ff7' into eclair-mr2-plus-aosp
* commit '
3f77d0127a34798cfede935331c10c1e57ec0ff7':
Fix dalvik test 063.
Elliott Hughes [Wed, 9 Dec 2009 08:44:31 +0000 (00:44 -0800)]
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.
Andy McFadden [Thu, 3 Dec 2009 01:03:41 +0000 (17:03 -0800)]
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)
Android (Google) Code Review [Wed, 9 Dec 2009 00:34:19 +0000 (16:34 -0800)]
Merge change I7bdddfb1
* changes:
Improve the FileNotFoundExceptions thrown by OSFileSystem.open.
Elliott Hughes [Tue, 8 Dec 2009 23:41:35 +0000 (15:41 -0800)]
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
Dan Bornstein [Tue, 8 Dec 2009 22:51:58 +0000 (14:51 -0800)]
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
Elliott Hughes [Tue, 8 Dec 2009 21:20:29 +0000 (13:20 -0800)]
Fix build.