OSDN Git Service
Elliott Hughes [Wed, 13 Jan 2010 01:26:47 +0000 (17:26 -0800)]
Merge "Fix a comment."
Ben Cheng [Tue, 12 Jan 2010 22:59:30 +0000 (14:59 -0800)]
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
Bill Buzbee [Tue, 12 Jan 2010 23:48:32 +0000 (15:48 -0800)]
Merge "Performance tweak for Jit lookup & adjust table sizes for better performance"
Elliott Hughes [Tue, 12 Jan 2010 23:47:38 +0000 (15:47 -0800)]
Fix a comment.
Elliott Hughes [Tue, 12 Jan 2010 23:26:36 +0000 (15:26 -0800)]
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
Bill Buzbee [Tue, 12 Jan 2010 20:20:13 +0000 (12:20 -0800)]
Performance tweak for Jit lookup & adjust table sizes for better performance
Also, move setting of Jit table parameters to architecture-specific init
funciton.
Elliott Hughes [Tue, 12 Jan 2010 19:51:17 +0000 (11:51 -0800)]
Show DalvikRunner test output even on success when given --verbose.
Elliott Hughes [Tue, 12 Jan 2010 19:50:17 +0000 (11:50 -0800)]
Merge "Shave another 10%-25% off Formatter."
Bill Buzbee [Tue, 12 Jan 2010 19:02:12 +0000 (11:02 -0800)]
Merge "Fix for
2367397 - Runtime reset with threshold lowered to 20."
Carl Shapiro [Tue, 12 Jan 2010 18:28:29 +0000 (10:28 -0800)]
Merge "Delete remaining FANCY_REFERENCE_SUBCLASS code. According to find and grep, this is the last use of that macro in Dalvik."
Bill Buzbee [Tue, 12 Jan 2010 05:44:36 +0000 (21:44 -0800)]
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.
Carl Shapiro [Tue, 12 Jan 2010 02:15:23 +0000 (18:15 -0800)]
Delete remaining FANCY_REFERENCE_SUBCLASS code. According to find and
grep, this is the last use of that macro in Dalvik.
Brett Chabot [Tue, 12 Jan 2010 01:22:22 +0000 (17:22 -0800)]
Brett Chabot [Tue, 12 Jan 2010 01:19:26 +0000 (17:19 -0800)]
am
56176a05: Fix ScannerTest failures.
Merge commit '
56176a05205eaf469469c26988e99077aed0d7e7' into eclair-plus-aosp
* commit '
56176a05205eaf469469c26988e99077aed0d7e7':
Fix ScannerTest failures.
Elliott Hughes [Tue, 12 Jan 2010 01:18:11 +0000 (17:18 -0800)]
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.
Brett Chabot [Mon, 11 Jan 2010 21:43:59 +0000 (13:43 -0800)]
Fix ScannerTest failures.
Skip more tests if required locales are not present.
Change-Id: I562da3222bccd6f264714d10f8db57e087e2561a
Elliott Hughes [Mon, 11 Jan 2010 22:53:42 +0000 (14:53 -0800)]
Set peer for new SSLSessionImpl instances.
Bug: http://code.google.com/p/android/issues/detail?id=4914
Brett Chabot [Mon, 11 Jan 2010 21:56:27 +0000 (13:56 -0800)]
am
eb9ea32d: am
53a6c01c: Fix DecimalFormatTest#test_serializationHarmonyRICompatible.
Merge commit '
eb9ea32d1468cf753dc0091dd7e639b6bd0cbd0b'
* commit '
eb9ea32d1468cf753dc0091dd7e639b6bd0cbd0b':
Fix DecimalFormatTest#test_serializationHarmonyRICompatible.
Brett Chabot [Mon, 11 Jan 2010 21:51:48 +0000 (13:51 -0800)]
am
53a6c01c: Fix DecimalFormatTest#test_serializationHarmonyRICompatible.
Merge commit '
53a6c01cd8c8560b8eef891871c7260f6cbe71d9' into eclair-plus-aosp
* commit '
53a6c01cd8c8560b8eef891871c7260f6cbe71d9':
Fix DecimalFormatTest#test_serializationHarmonyRICompatible.
Jesse Wilson [Mon, 11 Jan 2010 20:43:04 +0000 (12:43 -0800)]
Merge "Fixing our default HTTP Accept header to be spec-compliant."
Elliott Hughes [Mon, 11 Jan 2010 18:55:28 +0000 (10:55 -0800)]
Support non-default negative patterns in NumberFormat.getIntegerInstance.
Spotted while rewriting the associated JNI recently.
Elliott Hughes [Mon, 11 Jan 2010 18:19:32 +0000 (10:19 -0800)]
Merge "Allow DalvikRunner to run tests in core library packages."
Brett Chabot [Fri, 8 Jan 2010 23:50:00 +0000 (15:50 -0800)]
Fix DecimalFormatTest#test_serializationHarmonyRICompatible.
Skip the test if required Locale is not present.
Bug
2343677
Change-Id: I0f2672bd4b56cc1685e7368921aaa1e9d4492cf0
Romain Guy [Fri, 8 Jan 2010 23:05:25 +0000 (15:05 -0800)]
Deprecate fill_parent and introduce match_parent.
Bug: #
2361749.
Jesse Wilson [Thu, 7 Jan 2010 21:41:30 +0000 (13:41 -0800)]
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.
Elliott Hughes [Fri, 8 Jan 2010 01:35:01 +0000 (17:35 -0800)]
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
Jesse Wilson [Fri, 8 Jan 2010 00:25:59 +0000 (16:25 -0800)]
The SecurityManager doesn't work, so advertise that shouldn't be used.
Elliott Hughes [Thu, 7 Jan 2010 23:45:16 +0000 (15:45 -0800)]
Merge "Fix a typo in "dalvikvm --help" output."
Elliott Hughes [Thu, 7 Jan 2010 23:42:39 +0000 (15:42 -0800)]
Fix a typo in "dalvikvm --help" output.
Ben Cheng [Thu, 7 Jan 2010 22:05:13 +0000 (14:05 -0800)]
Merge "Tear down the code cache when it is full and restart from scratch."
Ben Cheng [Mon, 4 Jan 2010 20:29:56 +0000 (12:29 -0800)]
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.
Elliott Hughes [Wed, 6 Jan 2010 19:23:18 +0000 (11:23 -0800)]
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.
Carl Shapiro [Wed, 6 Jan 2010 04:38:03 +0000 (20:38 -0800)]
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.
Elliott Hughes [Tue, 5 Jan 2010 19:24:56 +0000 (11:24 -0800)]
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.
Carl Shapiro [Tue, 5 Jan 2010 18:18:30 +0000 (10:18 -0800)]
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."
Elliott Hughes [Tue, 5 Jan 2010 01:15:49 +0000 (17:15 -0800)]
Fix a broken test.
This test assumed Integer.toString has no caching.
Elliott Hughes [Tue, 5 Jan 2010 01:09:54 +0000 (17:09 -0800)]
Merge "Speed up DecimalFormatSymbols."
Carl Shapiro [Tue, 5 Jan 2010 00:50:00 +0000 (16:50 -0800)]
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.
Elliott Hughes [Mon, 4 Jan 2010 23:23:25 +0000 (15:23 -0800)]
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.
Barry Hayes [Tue, 5 Jan 2010 00:17:36 +0000 (16:17 -0800)]
Merge "Remove the case where we make it hard to tell that a GC takes a long time."
Barry Hayes [Tue, 5 Jan 2010 00:10:09 +0000 (16:10 -0800)]
Remove the case where we make it hard to tell that a GC takes a long time.
Carl Shapiro [Tue, 5 Jan 2010 00:08:53 +0000 (16:08 -0800)]
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."
Barry Hayes [Tue, 5 Jan 2010 00:02:35 +0000 (16:02 -0800)]
Merge "Percolate the reason for a GC up far enough to print out in logging messages."
Barry Hayes [Mon, 4 Jan 2010 18:33:46 +0000 (10:33 -0800)]
Percolate the reason for a GC up far enough to print out in logging messages.
Carl Shapiro [Fri, 25 Dec 2009 03:56:53 +0000 (19:56 -0800)]
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.
Elliott Hughes [Mon, 4 Jan 2010 22:06:25 +0000 (14:06 -0800)]
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.
Elliott Hughes [Mon, 4 Jan 2010 21:32:11 +0000 (13:32 -0800)]
Merge "Stop using ResourceBundle for locale data."
Elliott Hughes [Wed, 23 Dec 2009 01:20:44 +0000 (17:20 -0800)]
Stop using ResourceBundle for locale data.
This offers an additional speed increase and gets rid of a lot of native code.
Carl Shapiro [Wed, 23 Dec 2009 05:21:41 +0000 (21:21 -0800)]
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.
Carl Shapiro [Tue, 22 Dec 2009 04:23:45 +0000 (20:23 -0800)]
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.
Android (Google) Code Review [Wed, 23 Dec 2009 01:19:20 +0000 (17:19 -0800)]
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.
Android (Google) Code Review [Wed, 23 Dec 2009 00:59:21 +0000 (16:59 -0800)]
Merge change Ic4433c3d
* changes:
Jit: Update monitor lock/unlock to reflect thinlock changes (I34b20f49)
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 23:17:26 +0000 (15:17 -0800)]
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.
Brett Chabot [Tue, 22 Dec 2009 22:10:16 +0000 (14:10 -0800)]
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.
Brett Chabot [Tue, 22 Dec 2009 22:06:21 +0000 (14:06 -0800)]
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.
Android (Google) Code Review [Tue, 22 Dec 2009 22:02:50 +0000 (14:02 -0800)]
Merge change I1d9b205f into eclair
* changes:
Skip locale dependent libcore tests if required locales are not present.
Carl Shapiro [Tue, 22 Dec 2009 21:49:53 +0000 (13:49 -0800)]
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.
Brett Chabot [Fri, 18 Dec 2009 23:32:59 +0000 (15:32 -0800)]
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
Barry Hayes [Tue, 22 Dec 2009 19:01:38 +0000 (11:01 -0800)]
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.
Android (Google) Code Review [Tue, 22 Dec 2009 18:46:45 +0000 (10:46 -0800)]
Merge change I23ada0f9
* changes:
More ICU cleanup.
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.
Elliott Hughes [Tue, 22 Dec 2009 04:24:12 +0000 (20:24 -0800)]
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.
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.