OSDN Git Service
Carl Shapiro [Tue, 26 Jan 2010 21:22:04 +0000 (13:22 -0800)]
Test the lock shape before falling into the thin lock code. The
original formulation of this code relied on the subtly that the low
bit of a thread id is always 1 and so the shape bit was punned with
LSB of the thread id. This got us two tests for the price of one.
When this code was moved forward to the new lock encoding scheme, we
did not crack the test in two. This should correct the oversight.
Carl Shapiro [Mon, 25 Jan 2010 22:48:30 +0000 (14:48 -0800)]
Restore the lock owner ahead of calling waitSetRemove.
Carl Shapiro [Mon, 25 Jan 2010 21:38:00 +0000 (13:38 -0800)]
Merge "Move the waitSetAppend subroutine call ahead of clearing the monitor owner. We want waitSetAppend to check the invariant that the monitor must be owned by the calling thread. Clearing the owner field prior to the call breaks this invariant and causes a assertion to fail."
Carl Shapiro [Mon, 25 Jan 2010 20:51:31 +0000 (12:51 -0800)]
Move the waitSetAppend subroutine call ahead of clearing the monitor
owner. We want waitSetAppend to check the invariant that the monitor
must be owned by the calling thread. Clearing the owner field prior
to the call breaks this invariant and causes a assertion to fail.
Ben Cheng [Mon, 25 Jan 2010 19:10:25 +0000 (11:10 -0800)]
Merge "Tighten the safe points for code cache resets to happen."
Ben Cheng [Sat, 23 Jan 2010 00:45:45 +0000 (16:45 -0800)]
Tighten the safe points for code cache resets to happen.
Add a new flag in the Thread struct to track the whereabout of the top frame
in each Java thread. It is not safe to blow away the code cache if any thread
is in the JIT'ed land.
Elliott Hughes [Mon, 25 Jan 2010 19:03:54 +0000 (11:03 -0800)]
Fix @link and @see tags.
Elliott Hughes [Sat, 23 Jan 2010 03:54:51 +0000 (19:54 -0800)]
Merge "java.util.Formatter javadoc fix."
Elliott Hughes [Sat, 23 Jan 2010 03:53:40 +0000 (19:53 -0800)]
Merge "Switch our ICU JNI over to C++ and tidy up a little."
Elliott Hughes [Sat, 23 Jan 2010 03:44:51 +0000 (19:44 -0800)]
java.util.Formatter javadoc fix.
Elliott Hughes [Sat, 23 Jan 2010 02:31:10 +0000 (18:31 -0800)]
Fix java.util.Formatter "%tz".
Found by jtreg.
Elliott Hughes [Sat, 23 Jan 2010 02:29:47 +0000 (18:29 -0800)]
Merge "Rewrite java.util.Formatter documentation."
Elliott Hughes [Sat, 23 Jan 2010 02:22:53 +0000 (18:22 -0800)]
Switch our ICU JNI over to C++ and tidy up a little.
The big ugly files (implementing NativeCollation and NativeConverter), I've
just done the minimum necessary for them to compile under a C++ compiler. For
the small ones, I've been through them more thoroughly, removing duplication
and the like.
I only came across one bug; a failure path in BidiWrapper that would have
leaked.
Carl Shapiro [Sat, 23 Jan 2010 00:37:03 +0000 (16:37 -0800)]
Merge "Update the hash state bits when an identity hash code is computed."
Elliott Hughes [Fri, 22 Jan 2010 02:15:58 +0000 (18:15 -0800)]
Rewrite java.util.Formatter documentation.
Some guy on the internets pointed out that our documentation of argument
indexes was garbled. I fixed that, and then noticed that pretty much all
the documentation was close enough to be convincing but wrong enough to
not be very useful.
I've fixed everything I've found. The result isn't perfect, but it's good
enough that I could stand to use it myself now.
Jesse Wilson [Fri, 22 Jan 2010 21:47:25 +0000 (13:47 -0800)]
Merge "Adding support for arbitrary VM args in dalvik runner."
Andy McFadden [Fri, 22 Jan 2010 19:32:54 +0000 (11:32 -0800)]
Merge "Move VM feature strings (used by DDMS) into VM."
Andy McFadden [Fri, 22 Jan 2010 15:23:40 +0000 (07:23 -0800)]
Move VM feature strings (used by DDMS) into VM.
Until now, we used a place-holder in frameworks/base.
Removed cruft.
Carl Shapiro [Thu, 14 Jan 2010 06:07:50 +0000 (22:07 -0800)]
Update the hash state bits when an identity hash code is computed.
Jesse Wilson [Fri, 22 Jan 2010 18:06:15 +0000 (10:06 -0800)]
Adding support for arbitrary VM args in dalvik runner.
Jesse Wilson [Thu, 21 Jan 2010 01:24:30 +0000 (17:24 -0800)]
Teaching DalvikRunner to run arbitrary classes with main() methods.
This came up for the XML test suite, which isn't JUnit but a bunch
of main methods (that ask you to verify their output independently; ugh)
Also setting up the current working directory of the forked process.
This only works for local VMs; setting the working directory for
device VMs causes the "adb shell" call to crash.
Elliott Hughes [Fri, 22 Jan 2010 17:00:03 +0000 (09:00 -0800)]
Merge "Minor tidy-up of some of the ICU interface."
android-build SharedAccount [Fri, 22 Jan 2010 16:27:49 +0000 (08:27 -0800)]
Revert "Temporarily disable JIT for performance A/B tests."
This reverts commit
ff5363b061bea49f3fcc2afb251866c13d7c86f1.
Elliott Hughes [Fri, 22 Jan 2010 02:32:19 +0000 (18:32 -0800)]
Minor tidy-up of some of the ICU interface.
Dead code, a class that shouldn't be instantiated, work that's probably
better done all on the native side, and some slightly improved error
reporting.
Ben Cheng [Fri, 22 Jan 2010 01:09:47 +0000 (17:09 -0800)]
Merge "Temporarily disable JIT for performance A/B tests."
Ben Cheng [Fri, 22 Jan 2010 01:07:12 +0000 (17:07 -0800)]
Temporarily disable JIT for performance A/B tests.
Per jparks' request.
Nagendra Modadugu [Fri, 22 Jan 2010 00:41:12 +0000 (16:41 -0800)]
Merge "Remove StartCom MD5 root which is no longer in use: - Free SSL Certification Authority"
Nagendra Modadugu [Fri, 22 Jan 2010 00:19:47 +0000 (16:19 -0800)]
Remove StartCom MD5 root which is no longer in use:
- Free SSL Certification Authority
Elliott Hughes [Thu, 21 Jan 2010 18:52:50 +0000 (10:52 -0800)]
Improve the DecimalFormat JNI.
We don't need two identical copies of the code for double and long; ICU uses
overloading, and we should take advantage of that. We can also improve the code
to remove unnecessary heap allocation, remove unnecessary temporary copies, and
only make JNI calls and ask for the attribute data when necessary.
I've also switched the code from the thread-unsafe strtok(3) to strtok_r(3).
I've also removed unnecessary temporary char[]s and copying in DecimalFormat.
I've also fixed another instance of the "if (doubleValue == longValue) longPath"
anti-pattern that gets -0.0 wrong. (It's also worth noting that caliper says
the difference between the double and long paths is very small, on the order
of 2us.)
(The new code takes about 20us per call compared to 60us for the old code,
measured on passion-eng.)
Elliott Hughes [Thu, 21 Jan 2010 06:50:16 +0000 (22:50 -0800)]
Fix String.format("%d", null) and relatives.
Must have been asleep at the wheel when I mistranslated this.
We need to get the number of test failures down so we don't have to rely
on our memories of how many test failures we're expecting to see.
Elliott Hughes [Thu, 21 Jan 2010 04:40:14 +0000 (20:40 -0800)]
Merge "More java.util.Formatter performance work."
Elliott Hughes [Thu, 21 Jan 2010 00:29:46 +0000 (16:29 -0800)]
More java.util.Formatter performance work.
I got distracted into doing a bit more here, mainly speeding up the slow path
for integers. I've started to pull out some of the error checking too. We could
do a lot more along those lines, but then we'd fail even more jtreg tests which
assume a specific order in which checks are made. (I don't think we should
worry about that; I'm stopping here because this isn't what I wanted to do
today, not because I don't think we should press on. There's plenty of more
important stuff to look at first.)
Nagendra Modadugu [Wed, 20 Jan 2010 22:12:44 +0000 (14:12 -0800)]
Merge "Remove expired root CAs: - IPS SERVIDORES/emailAddress=ips@mail.ips.es - Secure Server Certification Authority"
Nagendra Modadugu [Wed, 20 Jan 2010 21:48:49 +0000 (13:48 -0800)]
Remove expired root CAs:
- IPS SERVIDORES/emailAddress=ips@mail.ips.es
- Secure Server Certification Authority
Nagendra Modadugu [Wed, 20 Jan 2010 21:29:37 +0000 (13:29 -0800)]
Merge "Add StartCom CA certificates: - StartCom Certification Authority - StartCom Extended Validation Server CA"
Nagendra Modadugu [Wed, 20 Jan 2010 20:48:55 +0000 (12:48 -0800)]
Add StartCom CA certificates:
- StartCom Certification Authority
- StartCom Extended Validation Server CA
Nagendra Modadugu [Wed, 20 Jan 2010 20:37:39 +0000 (12:37 -0800)]
Merge "Add two Verisign Root CA certificates: - VeriSign Class 3 Extended Validation SSL SGC CA - VeriSign Class 3 Public Primary Certification Authority - G5"
Nagendra Modadugu [Wed, 20 Jan 2010 20:26:54 +0000 (12:26 -0800)]
Add two Verisign Root CA certificates:
- VeriSign Class 3 Extended Validation SSL SGC CA
- VeriSign Class 3 Public Primary Certification Authority - G5
Ben Cheng [Wed, 20 Jan 2010 20:03:51 +0000 (12:03 -0800)]
Temporarily disable code cache reset.
Carl Shapiro [Wed, 20 Jan 2010 04:18:59 +0000 (20:18 -0800)]
Merge "Eliminate unused variables."
Carl Shapiro [Wed, 20 Jan 2010 04:02:22 +0000 (20:02 -0800)]
Eliminate unused variables.
Jesse Wilson [Wed, 20 Jan 2010 01:16:34 +0000 (17:16 -0800)]
Merge "Scrubbing some jtreg bugs."
Jesse Wilson [Wed, 20 Jan 2010 00:57:54 +0000 (16:57 -0800)]
Scrubbing some jtreg bugs.
Elliott Hughes [Tue, 19 Jan 2010 23:29:02 +0000 (15:29 -0800)]
One true way to query "java.net.preferIPv6Addresses".
Also stop querying and passing this boolean to code that doesn't care. (We
sort our InetAddress[]s appropriately, so most code doesn't need to worry
about this.)
Bug: http://code.google.com/p/android/issues/detail?id=5903
Elliott Hughes [Sat, 16 Jan 2010 02:25:27 +0000 (18:25 -0800)]
Rewrite InetAddress' DNS cache.
Replace harmony's two 5-element linked lists with a single 512-element
LinkedHashMap. Greatly reduce the time we spend under locks (and no network
I/O is done under a lock any more!). Take advantage of various properties
of how the cache is used to avoid having to do much explicit work to handle
expiry.
I've also optimized the usual no-SecurityManager/no custom system properties
configuring cache TTLs case (without making the slow path much slower than it
already was).
I've also updated the native method names to correspond to the C functions
they're really wrapping (rather than completely different IPv4-only ones
they probably used to wrap long ago).
I've also improved the InetAddress documentation.
Bug:
2320435
Ben Cheng [Fri, 15 Jan 2010 23:59:29 +0000 (15:59 -0800)]
Merge "Fix chaining offset mis-calculation for translations w/ large switch statements."
Ben Cheng [Fri, 15 Jan 2010 23:29:33 +0000 (15:29 -0800)]
Fix chaining offset mis-calculation for translations w/ large switch statements.
Bug:
2369821
There are 12 bytes of additional code after the 65th chaining cell. So if a
switch statement with more than that many cases is translated by the JIT, it
will run fine until the next unchaining event, which will patch the wrong code
and lead to all kinds of unexpected crashes.
Elliott Hughes [Fri, 15 Jan 2010 22:14:14 +0000 (14:14 -0800)]
Fix Formatter's behavior with %% and %n.
Yesterday's fix to the behavior with genuine null arguments didn't take into
account that we have format specifiers that don't take arguments. Fix the fix,
and add an explicit test.
Elliott Hughes [Fri, 15 Jan 2010 03:25:24 +0000 (19:25 -0800)]
Merge "Speed up Character."
Ficus Kirkpatrick [Fri, 15 Jan 2010 01:12:02 +0000 (17:12 -0800)]
Fix a NPE in java.util.Formatter.
A recent optimization to simple '%s' and '%d' formats was
failing to format null as "null". Also add a test.
Ben Cheng [Thu, 14 Jan 2010 22:33:27 +0000 (14:33 -0800)]
Merge "Fix bad long negate; bug
2373405 - EnumSetTest failure with JIT today"
Bill Buzbee [Thu, 14 Jan 2010 22:27:52 +0000 (14:27 -0800)]
Fix bad long negate; bug
2373405 - EnumSetTest failure with JIT today
Elliott Hughes [Thu, 14 Jan 2010 21:56:50 +0000 (13:56 -0800)]
Speed up Character.
Remove a useless layer of indirection in UCharacter (which is the bridge
between java.lang.Character and ICU). We're not at the stage where the
JIT can do this for us, and even if it could, why give it extra work to
do? Also fix the incorrect copyright header which was probably copied from
a file where it made sense.
Elliott Hughes [Thu, 14 Jan 2010 20:51:45 +0000 (12:51 -0800)]
Merge "Fix Date.toString."
Elliott Hughes [Thu, 14 Jan 2010 07:14:56 +0000 (23:14 -0800)]
Fix Date.toString.
Date.toString was using the TimeZone id ("America/Los_Angeles") rather than
the time zone short name ("PDT" or "PST", depending on time of year). The
naive fix made things 5x slower, so I improved Resources.getDisplayTimeZone
so the fixed Date.toString is only 2x slower. This could be improved further
with a faster getDisplayTimeZone.
I hoped to replace the body of Date.toString with a call to SimpleDateFormat,
but that turns out to be 40x slower. This patch also optimizes SimpleDateFormat
to bring the gap down to 8x by using Resources.getDisplayTimeZone instead of
asking for all the strings.
(Note that these improvements refer to the hopefully common case of localized
strings for the default locale. If you have the misfortune to need strings for
other locales, the new code will be more like 600x faster. At 0.5s a call on
the fastest current hardware, I hope no-one's actually doing that.
Dalvik Explorer -- available on the Market -- needs to do it when generating
summary reports, and it is indeed ridiculously slow. It uses two
SimpleDateFormat objects per locale, so it takes 1s per locale, for about 60
locales. I've tested Dalvik Explorer with this patch, and it does fix that
pathological behavior.)
Also fix a bug I introduced in https://android-git.corp.google.com/g/36242 that
meant that our zone names String[][] contained incorrect values (accidentally
concatenating each successive value in a row), found by existing tests now we
use more of those values.
Also replace a couple of "new Integer" calls with Integer.valueOf for a modest
speedup.
Also factor out some duplication.
Bug: http://code.google.com/p/android/issues/detail?id=6013
Bill Buzbee [Thu, 14 Jan 2010 00:13:48 +0000 (16:13 -0800)]
Merge "Restore threshold to 200 as a temporary workaround"
Elliott Hughes [Thu, 14 Jan 2010 00:04:22 +0000 (16:04 -0800)]
Merge "Remove the last bits of the ICU ResourceBundle hack."
Bill Buzbee [Thu, 14 Jan 2010 00:02:28 +0000 (16:02 -0800)]
Restore threshold to 200 as a temporary workaround
Also, fix blocking mode initialization.
Carl Shapiro [Wed, 13 Jan 2010 23:19:39 +0000 (15:19 -0800)]
Merge "Separately sweep the monitor list before sweeping the heap. Required for the copying collector so we can abandon objects without examining their headers. There is a liminal reduction in sweep time when using the non-moving collector. In addition, this change uncomments a call to free to reclaim the monitor when its owning object is unmarked."
Elliott Hughes [Wed, 13 Jan 2010 22:43:53 +0000 (14:43 -0800)]
Remove the last bits of the ICU ResourceBundle hack.
This patch switches us over to calling ICU directly for localized currency
symbols, and then removes all the mechanism for sneaking fake ResourceBundle
implementations in. The code's a lot simpler too, because ICU's default
behavior is what we want anyway.
Andy McFadden [Wed, 13 Jan 2010 18:29:44 +0000 (10:29 -0800)]
Support primitive array elements in annotations.
Annotations that include primitive array elements are stored internally
as arrays of boxed primitives. The VM didn't know how to un-box them
when somebody requested the contents.
For bug
2370144.
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.
Carl Shapiro [Fri, 8 Jan 2010 05:35:50 +0000 (21:35 -0800)]
Separately sweep the monitor list before sweeping the heap. Required
for the copying collector so we can abandon objects without examining
their headers. There is a liminal reduction in sweep time when using
the non-moving collector. In addition, this change uncomments a call
to free to reclaim the monitor when its owning object is unmarked.
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.