OSDN Git Service

android-x86/dalvik.git
14 years agoam dad7a0ef: Merge "Add armv7-a-neon build target"
Colin Cross [Thu, 11 Mar 2010 02:18:47 +0000 (18:18 -0800)]
am dad7a0ef: Merge "Add armv7-a-neon build target"

Merge commit 'dad7a0ef6e5f056f0842f03ff3b8285ef29e6f01' into dalvik-dev

* commit 'dad7a0ef6e5f056f0842f03ff3b8285ef29e6f01':
  Add armv7-a-neon build target

14 years agoMerge "Add armv7-a-neon build target"
Colin Cross [Thu, 11 Mar 2010 02:14:13 +0000 (18:14 -0800)]
Merge "Add armv7-a-neon build target"

14 years agoMerge "Tidy up java.lang.Math and java.lang.StrictMath." into dalvik-dev
Elliott Hughes [Thu, 11 Mar 2010 00:34:08 +0000 (16:34 -0800)]
Merge "Tidy up java.lang.Math and java.lang.StrictMath." into dalvik-dev

14 years agoMerge "Minor fixes." into dalvik-dev
Andy McFadden [Thu, 11 Mar 2010 00:26:15 +0000 (16:26 -0800)]
Merge "Minor fixes." into dalvik-dev

14 years agoTidy up java.lang.Math and java.lang.StrictMath.
Elliott Hughes [Thu, 11 Mar 2010 00:15:27 +0000 (16:15 -0800)]
Tidy up java.lang.Math and java.lang.StrictMath.

Removes duplication, fixes typos, and removes some unnecessary object creation.
Note that otherwise-duplicated code that calls a native method needs to remain
duplicated, because the native methods have different implementations. Other
than that, it's not clear to me that the remaining textual differences (mainly
scalb and its implementation details) are meaningful, but it's not clear that
they're not, so I'm leaving them for now. We can always come back later.

This new code still passes all the junit and jtreg tests.

Change-Id: Ica28a01fd1469a162e05deccdb9e6f919246d9f3

14 years agoam f854a794: Merge "remove System.*.println when ddm dispatch fails."
Xavier Ducrohet [Wed, 10 Mar 2010 23:38:11 +0000 (15:38 -0800)]
am f854a794: Merge "remove System.*.println when ddm dispatch fails."

Merge commit 'f854a79457ca12a18acb76070c98e622e6c660c5' into dalvik-dev

* commit 'f854a79457ca12a18acb76070c98e622e6c660c5':
  remove System.*.println when ddm dispatch fails.

14 years agoMerge "remove System.*.println when ddm dispatch fails."
Xavier Ducrohet [Wed, 10 Mar 2010 23:33:45 +0000 (15:33 -0800)]
Merge "remove System.*.println when ddm dispatch fails."

14 years agoCopy harmony's jdk6 Math and StrictMath.
Elliott Hughes [Wed, 10 Mar 2010 23:21:32 +0000 (15:21 -0800)]
Copy harmony's jdk6 Math and StrictMath.

There's some ugliness here I want to remove, but it'll be less confusing if
I commit the upstream code first without my changes...

...that said, I've reverted the upstream Math.pow change because it it's just
cruft; we already pass their tests and jtreg's more thorough pow tests (see
http://blogs.sun.com/darcy/entry/finding_a_bug_in_fdlibm). My guess is that
their real problem was that they were using the buggy fdlibm 5.2 until after
they made the Math.pow change. We've always used 5.3, so we were fine.

Change-Id: I5a6c080d9fd6b60dc7bf77ac10096a913766f512

14 years agoMinor fixes.
Andy McFadden [Wed, 10 Mar 2010 23:21:21 +0000 (15:21 -0800)]
Minor fixes.

Quieted a couple of warnings about constness.

Added "synchronized" to BootClassLoader.getInstance(), which creates the
instance on first use.

Change-Id: I4a521bb2c6853b1ad8a118aa53f697be18b69280

14 years agoEscape ASCII NUL before trying to put it in XML, because XML can't cope.
Elliott Hughes [Wed, 10 Mar 2010 22:30:21 +0000 (14:30 -0800)]
Escape ASCII NUL before trying to put it in XML, because XML can't cope.

Our sholes continuous build is having XML trouble with a FormatterTest
failure that outputs ASCII NUL. Ideally, our junit test runner would escape
all non-printable ASCII as \u escapes, but this seems like a minimal change,
and it's one we already have in the equivalent jtreg code.

Change-Id: Ib9b3219c25515fb358c204d45cb5064293a85b9f

14 years agoremove System.*.println when ddm dispatch fails.
Xavier Ducrohet [Wed, 10 Mar 2010 22:11:40 +0000 (14:11 -0800)]
remove System.*.println when ddm dispatch fails.

Those messages are sometimes displayed to the user executing
the am command and can be really confusing (they are totally
benign)

Change-Id: I09c194a02ddc956ec52f19faa03ca9aa1eba604b

14 years agoam 504af654: Merge "Rearrange the way SignalCatcher writes logs."
Andy McFadden [Wed, 10 Mar 2010 22:11:14 +0000 (14:11 -0800)]
am 504af654: Merge "Rearrange the way SignalCatcher writes logs."

Merge commit '504af654f481ba978bbd2e216b3f05f9dfa55c00' into dalvik-dev

* commit '504af654f481ba978bbd2e216b3f05f9dfa55c00':
  Rearrange the way SignalCatcher writes logs.

14 years agoMerge "Rearrange the way SignalCatcher writes logs."
Andy McFadden [Wed, 10 Mar 2010 22:05:54 +0000 (14:05 -0800)]
Merge "Rearrange the way SignalCatcher writes logs."

14 years agoRearrange the way SignalCatcher writes logs.
Andy McFadden [Wed, 10 Mar 2010 21:42:22 +0000 (13:42 -0800)]
Rearrange the way SignalCatcher writes logs.

This is an attempt to reduce the amount of time that threads are suspended
while dumping stack traces in response to a SIGQUIT.  This is primarily
for ANRs and bugreport generation, where many different apps may be trying
to write their stacks out concurrently.

Instead of grabbing the file with flock() and then printing the traces
to the file, we render the traces to memory and write them with a single
write() call to an O_APPEND fd.  Also, the file access now occurs after
the VM threads have been resumed to avoid stalling on I/O.

No change was made to the format of the output.

For bug 2504471.

Also: did some rearranging in the file.

Change-Id: If505ec014237289a6cc86aa09bc66b3a126b345c

14 years agoMerge "Fix Issue 7036: java.math.BigInteger ctor accepts invalid input." into dalvik-dev
Elliott Hughes [Wed, 10 Mar 2010 21:43:29 +0000 (13:43 -0800)]
Merge "Fix Issue 7036: java.math.BigInteger ctor accepts invalid input." into dalvik-dev

14 years agoFix Issue 7036: java.math.BigInteger ctor accepts invalid input.
Elliott Hughes [Wed, 10 Mar 2010 21:11:16 +0000 (13:11 -0800)]
Fix Issue 7036: java.math.BigInteger ctor accepts invalid input.

OpenSSL's BN library accepts pretty much all input, so if we want to follow
Java's rules, we have to implement them ourselves.

(The FormatterTest change is unrelated and fixes outstanding build breakage
caused by me.)

Bug: http://code.google.com/p/android/issues/detail?id=7036
Change-Id: I0f5413b56fad9289644927672bebf7c3d57e8042

14 years agoam 72621c9d: Pad the page containing ARM code in the JIT code cache to work around...
Ben Cheng [Wed, 10 Mar 2010 21:32:40 +0000 (13:32 -0800)]
am 72621c9d: Pad the page containing ARM code in the JIT code cache to work around a CPU bug.

Merge commit '72621c9d3c175b0f9b239de5b0bcd83c7e5984e8' into dalvik-dev

* commit '72621c9d3c175b0f9b239de5b0bcd83c7e5984e8':
  Pad the page containing ARM code in the JIT code cache to work around a CPU bug.

14 years agoPad the page containing ARM code in the JIT code cache to work around a CPU bug.
Ben Cheng [Wed, 10 Mar 2010 21:12:55 +0000 (13:12 -0800)]
Pad the page containing ARM code in the JIT code cache to work around a CPU bug.

Bug: 2501147

Verified with seeing the following line in the log. The 4096 number confirms
that the ARM handler code is using a full page.

D/dalvikvm(  369): 21 compilations using 4096 + 1288 bytes

Change-Id: I89e1473ce9a4353f58f740e1c86d358d3fec33b2

14 years agoAdd Java 6 additions to Double, Enum, Float, and String.
Elliott Hughes [Wed, 10 Mar 2010 01:01:16 +0000 (17:01 -0800)]
Add Java 6 additions to Double, Enum, Float, and String.

I rewrote the documentation for Double, Enum, and Float, but the "code" is the
same as harmony's. I rewrote the String code and wrote some tests to ensure
that a malicious Charset can't subvert String immutability.

I've also extracted the Android-specific bits of StringTest (which weren't
testing String at all) and brought back the latest harmony StringTest.java.

(The Class and Package changes are just to placate our API comparison tools.)

Bug: 2497395
Change-Id: Id57bda806891c3c85adfcb3b85eea8a8fad2c7b4

14 years agoam 33a939f4: Merge "New tests for JSONObject and for JSON\'s self-use."
Jesse Wilson [Wed, 10 Mar 2010 18:17:46 +0000 (10:17 -0800)]
am 33a939f4: Merge "New tests for JSONObject and for JSON\'s self-use."

Merge commit '33a939f4c016698866b495c5e752e8c16ccef0b3' into dalvik-dev

* commit '33a939f4c016698866b495c5e752e8c16ccef0b3':
  New tests for JSONObject and for JSON's self-use.

14 years agoMerge "New tests for JSONObject and for JSON's self-use."
Jesse Wilson [Wed, 10 Mar 2010 18:11:59 +0000 (10:11 -0800)]
Merge "New tests for JSONObject and for JSON's self-use."

14 years agoNew tests for JSONObject and for JSON's self-use.
Jesse Wilson [Wed, 10 Mar 2010 01:54:35 +0000 (17:54 -0800)]
New tests for JSONObject and for JSON's self-use.

Alongside development of these tests, I'm working on a new
cleanroom implementation. The self use test was written to
prevent me from self-using in a way that the original
implementation does not.

Change-Id: Ie617aca1978bd39d85b05e5c2c7bd657ed159dd6

14 years agoam 77fbf5c2: Merge "If a finalizer wedges, raise prio and retry."
Andy McFadden [Wed, 10 Mar 2010 15:29:43 +0000 (07:29 -0800)]
am 77fbf5c2: Merge "If a finalizer wedges, raise prio and retry."

Merge commit '77fbf5c29a9dd62f64e8e98376724b86e79ae8f6' into dalvik-dev

* commit '77fbf5c29a9dd62f64e8e98376724b86e79ae8f6':
  If a finalizer wedges, raise prio and retry.

14 years agoMerge "If a finalizer wedges, raise prio and retry."
Andy McFadden [Wed, 10 Mar 2010 15:25:33 +0000 (07:25 -0800)]
Merge "If a finalizer wedges, raise prio and retry."

14 years agoam 40bd3d28: Merge "Work around droiddoc bug http://b/2022288."
Elliott Hughes [Wed, 10 Mar 2010 07:04:01 +0000 (23:04 -0800)]
am 40bd3d28: Merge "Work around droiddoc bug b/2022288."

Merge commit '40bd3d28fb2f34f060e7413cc19eeeb195c0ff90' into dalvik-dev

* commit '40bd3d28fb2f34f060e7413cc19eeeb195c0ff90':
  Work around droiddoc bug http://b/2022288.

14 years agoMerge "Work around droiddoc bug http://b/2022288."
Elliott Hughes [Wed, 10 Mar 2010 06:59:36 +0000 (22:59 -0800)]
Merge "Work around droiddoc bug http://b/2022288."

14 years agoWork around droiddoc bug http://b/2022288.
Elliott Hughes [Wed, 10 Mar 2010 06:58:34 +0000 (22:58 -0800)]
Work around droiddoc bug http://b/2022288.

Change-Id: Ib46a260916dee99f190aa8b9465f4f2d3b04aa67

14 years agoam f9135f32: Merge "Align fake data in the same page offsets as those in the bugreport."
Ben Cheng [Wed, 10 Mar 2010 06:42:05 +0000 (22:42 -0800)]
am f9135f32: Merge "Align fake data in the same page offsets as those in the bugreport."

Merge commit 'f9135f326ac0556f1d6e8f9bcf161e4a6d618678' into dalvik-dev

* commit 'f9135f326ac0556f1d6e8f9bcf161e4a6d618678':
  Align fake data in the same page offsets as those in the bugreport.

14 years agoMerge "Align fake data in the same page offsets as those in the bugreport."
Ben Cheng [Wed, 10 Mar 2010 06:38:34 +0000 (22:38 -0800)]
Merge "Align fake data in the same page offsets as those in the bugreport."

14 years agoAlign fake data in the same page offsets as those in the bugreport.
Ben Cheng [Wed, 10 Mar 2010 06:32:03 +0000 (22:32 -0800)]
Align fake data in the same page offsets as those in the bugreport.

Sometimes the crash in the JIT'ed code is due to CPU bugs which are sensitive
to placement of the code.

Change-Id: I017ec3620f8172e2fac9e7abfa07f76b65db2306

14 years agoam 16e0f24a: Another go at making droiddoc as happy as javadoc...
Elliott Hughes [Wed, 10 Mar 2010 06:26:19 +0000 (22:26 -0800)]
am 16e0f24a: Another go at making droiddoc as happy as javadoc...

Merge commit '16e0f24a8641d1cdf059ae15a5bf60a3e553ce1b' into dalvik-dev

* commit '16e0f24a8641d1cdf059ae15a5bf60a3e553ce1b':
  Another go at making droiddoc as happy as javadoc...

14 years agoAnother go at making droiddoc as happy as javadoc...
Elliott Hughes [Wed, 10 Mar 2010 06:19:34 +0000 (22:19 -0800)]
Another go at making droiddoc as happy as javadoc...

Change-Id: I70dd8d57053a6e60b9be0cbe8a95d9937d9b00ef

14 years agoam 1f6a0425: Fix javadoc errors.
Elliott Hughes [Wed, 10 Mar 2010 05:56:07 +0000 (21:56 -0800)]
am 1f6a0425: Fix javadoc errors.

Merge commit '1f6a0425433b4daca86cf4df5854b9dbc5ee57d7' into dalvik-dev

* commit '1f6a0425433b4daca86cf4df5854b9dbc5ee57d7':
  Fix javadoc errors.

14 years agoFix javadoc errors.
Elliott Hughes [Wed, 10 Mar 2010 05:49:16 +0000 (21:49 -0800)]
Fix javadoc errors.

Change-Id: Ib3eb500006f5b4b1dadf959397fce7737fb53fe7

14 years agoam f5274f62: Merge "Print errors encountered while writing XML reports"
Jesse Wilson [Wed, 10 Mar 2010 02:15:29 +0000 (18:15 -0800)]
am f5274f62: Merge "Print errors encountered while writing XML reports"

Merge commit 'f5274f62b9badf47965aed8382787273f1516859' into dalvik-dev

* commit 'f5274f62b9badf47965aed8382787273f1516859':
  Print errors encountered while writing XML reports

14 years agoam 5c6839b2: Merge "Implement adoptNode() and importNode()."
Jesse Wilson [Wed, 10 Mar 2010 02:15:25 +0000 (18:15 -0800)]
am 5c6839b2: Merge "Implement adoptNode() and importNode()."

Merge commit '5c6839b24356ec7e5aa93a8272472c26abd3df30' into dalvik-dev

* commit '5c6839b24356ec7e5aa93a8272472c26abd3df30':
  Implement adoptNode() and importNode().

14 years agoMerge "Print errors encountered while writing XML reports"
Jesse Wilson [Wed, 10 Mar 2010 02:10:19 +0000 (18:10 -0800)]
Merge "Print errors encountered while writing XML reports"

14 years agoMerge "Implement adoptNode() and importNode()."
Jesse Wilson [Wed, 10 Mar 2010 02:08:04 +0000 (18:08 -0800)]
Merge "Implement adoptNode() and importNode()."

14 years agoImplement adoptNode() and importNode().
Jesse Wilson [Wed, 10 Mar 2010 00:33:18 +0000 (16:33 -0800)]
Implement adoptNode() and importNode().

importNode() shares all of its implementation with Node.clone();
the only areas they differ are the ones we don't support. The
shared code is in 2 new methods, shallowCopy() and cloneOrImportNode(),
both based on the old clone() method.

Also removing some unnecessary "throws DOMException" clauses.

The tests for the new methods are slightly cumbersome. Most move/copy
nodes to another document, serialize that, and compare.

Change-Id: Id9fb076e020d8327a8f70da401af9bd95d7a3d1b

14 years agoPrint errors encountered while writing XML reports
Jesse Wilson [Wed, 10 Mar 2010 01:59:43 +0000 (17:59 -0800)]
Print errors encountered while writing XML reports

Change-Id: I7fdf9f6989c94a3f0fd3ff93db3426a4d080120f

14 years agoIf a finalizer wedges, raise prio and retry.
Andy McFadden [Wed, 10 Mar 2010 00:38:36 +0000 (16:38 -0800)]
If a finalizer wedges, raise prio and retry.

The VM uses a watchdog mechanism to detect stuck finalizers.  It appears
that, in some cases, the watchdog may be firing because the HeapWorker
thread in a background process doesn't get any CPU time after a
remotely-induced GC finishes.  With this change, if the HeapWorker is
running at a reduced priority, we raise the priority and allow it to
try some more.

No attempt is made to put the thread priority back.  (The HeapWorker
thread doesn't do anything in an idle process, and what it does do is
geared toward freeing one kind of resource or another.)

For bug 2492196.

Change-Id: Ic734c2e2819b9d60d20b2961f2a75085d5879495

14 years agoam a6d228d4: Merge "Minor documentation improvements."
Elliott Hughes [Tue, 9 Mar 2010 22:53:54 +0000 (14:53 -0800)]
am a6d228d4: Merge "Minor documentation improvements."

Merge commit 'a6d228d44153ea2ee831eba1d41cd363989cdf7e' into dalvik-dev

* commit 'a6d228d44153ea2ee831eba1d41cd363989cdf7e':
  Minor documentation improvements.

14 years agoMerge "Minor documentation improvements."
Elliott Hughes [Tue, 9 Mar 2010 22:49:47 +0000 (14:49 -0800)]
Merge "Minor documentation improvements."

14 years agoMinor documentation improvements.
Elliott Hughes [Tue, 9 Mar 2010 00:54:42 +0000 (16:54 -0800)]
Minor documentation improvements.

Based on user-submitted bugs that were just misunderstandings, plus
implementation bugs caused by the intended behavior being somewhat
subtle.

Change-Id: Ic2606b5e57dadc95a35c2d0a977c01434a2fa28a

14 years agoam a536d01c: Merge "Fix certimport.sh to check for Bouncy Castle provider installatio...
Brian Carlstrom [Tue, 9 Mar 2010 22:26:37 +0000 (14:26 -0800)]
am a536d01c: Merge "Fix certimport.sh to check for Bouncy Castle provider installation (and add 1.6 JDK to PATH)"

Merge commit 'a536d01c1c0119322d655a9ec35665a36abbed6d' into dalvik-dev

* commit 'a536d01c1c0119322d655a9ec35665a36abbed6d':
  Fix certimport.sh to check for Bouncy Castle provider installation (and add 1.6 JDK to PATH)

14 years agoMerge "Fix certimport.sh to check for Bouncy Castle provider installation (and add...
Brian Carlstrom [Tue, 9 Mar 2010 22:23:08 +0000 (14:23 -0800)]
Merge "Fix certimport.sh to check for Bouncy Castle provider installation (and add 1.6 JDK to PATH)"

14 years agoFix certimport.sh to check for Bouncy Castle provider installation (and add 1.6 JDK...
Brian Carlstrom [Tue, 9 Mar 2010 19:30:13 +0000 (11:30 -0800)]
Fix certimport.sh to check for Bouncy Castle provider installation (and add 1.6 JDK to PATH)

Now if certimport.sh is run on a machine without the
BouncyCastleProvider installed, it will suggest how to apt-get install
the proper package.

At enh's suggestion, I tried running with out own local Bouncy Castle
classes to see what would happen, but the code ended up depending on
our NativeCrypto JNI code and there that isn't proper JNI code to be
loading into a RI JDK.

Also at enh's suggestion, we now prepend a JDK 1.6 bin directory to
the path for correctly correct default behavior. I do make sure it
exists and warn if it does not.

Change-Id: Ic936a6cc69fa3795e917c052ed79d19b2e66b5a1

14 years agoAdd armv7-a-neon build target
Colin Cross [Tue, 9 Mar 2010 21:23:40 +0000 (13:23 -0800)]
Add armv7-a-neon build target

Change-Id: I981d55b53f6b3c185fe93384924bdbe18057132c

14 years agoam 699c9eb5: Merge "Hoist shape discrimination above thin lock owner test in the...
Carl Shapiro [Tue, 9 Mar 2010 20:33:19 +0000 (12:33 -0800)]
am 699c9eb5: Merge "Hoist shape discrimination above thin lock owner test in the lock procedure.  It is unsafe to reckon a thin lock owner without having first determined that the bit pattern of the lock word corresponds to that of a thin lock.  Without proper orderin

Merge commit '699c9eb5630d4016a984f5b501a7171848e8daa9' into dalvik-dev

* commit '699c9eb5630d4016a984f5b501a7171848e8daa9':
  Hoist shape discrimination above thin lock owner test in the lock

14 years agoMerge "Hoist shape discrimination above thin lock owner test in the lock procedure...
Carl Shapiro [Tue, 9 Mar 2010 20:25:51 +0000 (12:25 -0800)]
Merge "Hoist shape discrimination above thin lock owner test in the lock procedure.  It is unsafe to reckon a thin lock owner without having first determined that the bit pattern of the lock word corresponds to that of a thin lock.  Without proper ordering, a monitor lock can and will be created which, excluding the shape bit, corresponds to a lock owned by the calling thread."

14 years agoChange Class layout to allocate an array of StaticField objects
Barry Hayes [Mon, 1 Mar 2010 23:49:41 +0000 (15:49 -0800)]
Change Class layout to allocate an array of StaticField objects
immediately after the ClassObject, rather than use calloc.

This has the rather surprising and pleasing effect of increasing
charing about 150K per zygote-launced application, as measured at
start-up, after waiting and no-touching.

Change-Id: I6a6c9079f946eb99111326ed45f13ecfe544e4bb

14 years agoMerge "Previous changes put unlinkedJavaLangClass on the heap. It makes HprofReader...
Barry Hayes [Tue, 9 Mar 2010 16:33:37 +0000 (08:33 -0800)]
Merge "Previous changes put unlinkedJavaLangClass on the heap.  It makes HprofReader unhappy, because it has a NULL class.  So now we won't dump objects with a NULL class. This also suppresses dumping of uninitialized objects." into dalvik-dev

14 years agoFix a comment.
Elliott Hughes [Tue, 9 Mar 2010 03:10:58 +0000 (19:10 -0800)]
Fix a comment.

Change-Id: Iba79dbc04876d5c7cb93aba56541e7dda3c6f887

14 years agoMerge "Remove libcore-disabled." into dalvik-dev
Elliott Hughes [Tue, 9 Mar 2010 03:01:37 +0000 (19:01 -0800)]
Merge "Remove libcore-disabled." into dalvik-dev

14 years agoam 3521d8c2: Add an empty CleanSpec.mk
Jean-Baptiste Queru [Tue, 9 Mar 2010 02:12:40 +0000 (18:12 -0800)]
am 3521d8c2: Add an empty CleanSpec.mk

Merge commit '3521d8c26899611b385c685fa903ae2c8f3e0d92' into dalvik-dev

* commit '3521d8c26899611b385c685fa903ae2c8f3e0d92':
  Add an empty CleanSpec.mk

14 years agoAdd an empty CleanSpec.mk
Jean-Baptiste Queru [Tue, 9 Mar 2010 02:04:06 +0000 (18:04 -0800)]
Add an empty CleanSpec.mk

Change-Id: I43d2404e71aa2bc0d3d6aada35d613bb484129e7

14 years agoFix build (missing #include in sim build).
Elliott Hughes [Tue, 9 Mar 2010 01:53:31 +0000 (17:53 -0800)]
Fix build (missing #include in sim build).

Change-Id: I8691db582f2d2d926da308a813d9f1864bedcd6d

14 years agoRemove libcore-disabled.
Elliott Hughes [Tue, 9 Mar 2010 01:52:06 +0000 (17:52 -0800)]
Remove libcore-disabled.

It's in revision control if we ever need it, and we won't.

Change-Id: I1f6f15b83047c266400ea5d7ab2f8fc51bf9e2b7

14 years agoMerge "Implement the Java 6 NetworkInterface/InterfaceAddress functionality." into...
Elliott Hughes [Tue, 9 Mar 2010 01:38:17 +0000 (17:38 -0800)]
Merge "Implement the Java 6 NetworkInterface/InterfaceAddress functionality." into dalvik-dev

14 years agoImplement the Java 6 NetworkInterface/InterfaceAddress functionality.
Elliott Hughes [Thu, 4 Mar 2010 23:12:37 +0000 (15:12 -0800)]
Implement the Java 6 NetworkInterface/InterfaceAddress functionality.

The Java bits are based on harmony's code (though only the bit that pulls
out the sub-interfaces is copied verbatim), but the native side is new
code, continuing our previous plan of (a) doing the least possible work
on the native side and (b) using the BSD getifaddrs(3) interface as our
portability layer.

This patch also updates our NetworkInterfaceTest to be the latest code
from harmony's java6 branch.

We pass all the harmony and jtreg tests, and visual inspection shows that
the untested (and hard to test) bits -- such as prefix length and hardware
address -- are correct.

14 years agoam 631bbbff: Merge "Adding support for getUserData() and setUserData() to DOM nodes."
Jesse Wilson [Tue, 9 Mar 2010 01:00:19 +0000 (17:00 -0800)]
am 631bbbff: Merge "Adding support for getUserData() and setUserData() to DOM nodes."

Merge commit '631bbbff684e9fe41a5a08ffa3e13fa3bed01212' into dalvik-dev

* commit '631bbbff684e9fe41a5a08ffa3e13fa3bed01212':
  Adding support for getUserData() and setUserData() to DOM nodes.

14 years agoMerge "Adding support for getUserData() and setUserData() to DOM nodes."
Jesse Wilson [Tue, 9 Mar 2010 00:55:58 +0000 (16:55 -0800)]
Merge "Adding support for getUserData() and setUserData() to DOM nodes."

14 years agoAdding support for getUserData() and setUserData() to DOM nodes.
Jesse Wilson [Tue, 9 Mar 2010 00:19:39 +0000 (16:19 -0800)]
Adding support for getUserData() and setUserData() to DOM nodes.

Also making sure both Document and DocumentType get assigned
a Document value when possible; this is necessary to store the
user data objects.

14 years agoHoist shape discrimination above thin lock owner test in the lock
Carl Shapiro [Mon, 8 Mar 2010 22:38:42 +0000 (14:38 -0800)]
Hoist shape discrimination above thin lock owner test in the lock
procedure.  It is unsafe to reckon a thin lock owner without having
first determined that the bit pattern of the lock word corresponds to
that of a thin lock.  Without proper ordering, a monitor lock can and
will be created which, excluding the shape bit, corresponds to a lock
owned by the calling thread.

In addition, move compiler barriers so they immediately preceed base
address publication.  Also, kill cargo-cult volatiles that confounded
my bug hunt.

14 years agoPrevious changes put unlinkedJavaLangClass on the heap. It makes
Barry Hayes [Mon, 8 Mar 2010 21:57:34 +0000 (13:57 -0800)]
Previous changes put unlinkedJavaLangClass on the heap.  It makes
HprofReader unhappy, because it has a NULL class.  So now we won't
dump objects with a NULL class. This also suppresses dumping of
uninitialized objects.

Change-Id: Ie6713d4e665ab6e518f13338367ee874903e2862

14 years agoMerge "Support IPv4-compatible IPv6 addresses on IPv4 sockets." into dalvik-dev
Elliott Hughes [Mon, 8 Mar 2010 21:59:43 +0000 (13:59 -0800)]
Merge "Support IPv4-compatible IPv6 addresses on IPv4 sockets." into dalvik-dev

14 years agoam 2fc03c33: Jit: fix for 2483131 - VM daemon thread shutdown with JIT enabled
Bill Buzbee [Mon, 8 Mar 2010 20:50:30 +0000 (12:50 -0800)]
am 2fc03c33: Jit: fix for 2483131 - VM daemon thread shutdown with JIT enabled

Merge commit '2fc03c3399cc33dc1c7d669e8970a87144ec7b97' into dalvik-dev

* commit '2fc03c3399cc33dc1c7d669e8970a87144ec7b97':
  Jit: fix for 2483131 - VM daemon thread shutdown with JIT enabled

14 years agoJit: fix for 2483131 - VM daemon thread shutdown with JIT enabled
Bill Buzbee [Mon, 8 Mar 2010 19:30:19 +0000 (11:30 -0800)]
Jit: fix for 2483131 - VM daemon thread shutdown with JIT enabled

As part of shutdown, the Jit needs to unchain all translations so that
they can respond to suspend requests.  This change introduces a
dvmJitUnchainAll() into shutdown, and also removes some previous
housecleaning that freed our key tables.  We can't actually free those
because suspended threads in the process of shutting down may hold
references.

Change-Id: I7aad332e7195a94970c25a25b2d9fda5607bec08

14 years agoSupport IPv4-compatible IPv6 addresses on IPv4 sockets.
Elliott Hughes [Sat, 6 Mar 2010 04:37:25 +0000 (20:37 -0800)]
Support IPv4-compatible IPv6 addresses on IPv4 sockets.

Bug: 2194581
Change-Id: I825835280e9d7d88a4db3fa817dfb4234fc19039

14 years agoam fc519dc8: Jit: Make most Jit compile failures non-fatal; just abort offending...
Bill Buzbee [Mon, 8 Mar 2010 14:33:51 +0000 (06:33 -0800)]
am fc519dc8: Jit: Make most Jit compile failures non-fatal; just abort offending translation

Merge commit 'fc519dc8f4444f6d93806ec15ce7445b322070fd' into dalvik-dev

* commit 'fc519dc8f4444f6d93806ec15ce7445b322070fd':
  Jit: Make most Jit compile failures non-fatal; just abort offending translation

14 years agoJit: Make most Jit compile failures non-fatal; just abort offending translation
Bill Buzbee [Sun, 7 Mar 2010 07:30:57 +0000 (23:30 -0800)]
Jit: Make most Jit compile failures non-fatal; just abort offending translation

Issue 2175597 Jit compile failures should abort translation, but not the VM

Added new dvmCompileAbort() to replace uses of dvmAbort() when something goes
wrong during the compliation of a trace.  In that case, we'll abort the translation
and set it's head to the interpret-only "translation".

14 years agoam 164d1279: Merge "Jit: Fix for issue 2487769, Simplify in-line thin lock release"
Carl Shapiro [Sat, 6 Mar 2010 01:39:05 +0000 (17:39 -0800)]
am 164d1279: Merge "Jit: Fix for issue 2487769, Simplify in-line thin lock release"

Merge commit '164d1279b67ec13061e473cb453b1ff24189e0e0' into dalvik-dev

* commit '164d1279b67ec13061e473cb453b1ff24189e0e0':
  Jit: Fix for issue 2487769, Simplify in-line thin lock release

14 years agoMerge "Jit: Fix for issue 2487769, Simplify in-line thin lock release"
Carl Shapiro [Sat, 6 Mar 2010 01:34:05 +0000 (17:34 -0800)]
Merge "Jit: Fix for issue 2487769, Simplify in-line thin lock release"

14 years agoUse a manually-synchronized HashMap instead of ConcurrentHashMap in LocaleData.
Elliott Hughes [Sat, 6 Mar 2010 01:09:59 +0000 (17:09 -0800)]
Use a manually-synchronized HashMap instead of ConcurrentHashMap in LocaleData.

ConcurrentHashMap is our slowest choice at the moment:

     ConcurrentHashMapGet  782 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
               HashMapGet  272 XXXXXXXXXX|||||||||||||||
  HashMapGet_Synchronized  317 XXXXXXXXXXXX|||||||||||||
             HashtableGet  325 XXXXXXXXXXXX||||||||||||||
         LinkedHashMapGet  280 XXXXXXXXXX|||||||||||||||

The cost of some commonly-created temporary objects (such as
DateFormatSymbols) is dominated by the lookup of the locale data. This patch
takes "new DateFormatSymbols" from 3us to 2.3us on passion/froyo (a 23% drop).

Bug: 2492505

14 years agoam f8069e84: Merge "Collect more JIT stats in the assert build."
Ben Cheng [Fri, 5 Mar 2010 23:41:24 +0000 (15:41 -0800)]
am f8069e84: Merge "Collect more JIT stats in the assert build."

Merge commit 'f8069e844054d29f320a9ece29fc638a884bbf69' into dalvik-dev

* commit 'f8069e844054d29f320a9ece29fc638a884bbf69':
  Collect more JIT stats in the assert build.

14 years agoMerge "Collect more JIT stats in the assert build."
Ben Cheng [Fri, 5 Mar 2010 23:37:30 +0000 (15:37 -0800)]
Merge "Collect more JIT stats in the assert build."

14 years agoCollect more JIT stats in the assert build.
Ben Cheng [Fri, 5 Mar 2010 23:27:21 +0000 (15:27 -0800)]
Collect more JIT stats in the assert build.

New stuff includes breakdown of callsite types (ie monomorphic vs polymorphic
vs monoporphic resolved to native), total time spent in JIT'ing, and average
JIT time per compilation.

Example output:
D/dalvikvm(  840): 4042 compilations using 1976 + 329108 bytes
D/dalvikvm(  840): Compiler arena uses 10 blocks (8100 bytes each)
D/dalvikvm(  840): Compiler work queue length is 0/36
D/dalvikvm(  840): size if 8192, entries used is 4137
D/dalvikvm(  840): JIT: 4137 traces, 8192 slots, 1099 chains, 40 thresh, Non-blocking
D/dalvikvm(  840): JIT: Lookups: 1128780 hits, 168564 misses; 179520 normal, 6 punt
D/dalvikvm(  840): JIT: noChainExit: 528464 IC miss, 194708 interp callsite, 0 switch overflow
D/dalvikvm(  840): JIT: Invoke: 507 mono, 988 poly, 72 native, 1038 return
D/dalvikvm(  840): JIT: Total compilation time: 2342 ms
D/dalvikvm(  840): JIT: Avg unit compilation time: 579 us
D/dalvikvm(  840): JIT: 3357 Translation chains, 97 interp stubs
D/dalvikvm(  840): dalvik.vm.jit.op = 0-2,4-5,7-8,a-c,e-16,19-1a,1c-23,26,28-29,2b-2f,31-3d,44-4b,4d-51,60,62-63,68-69,70-72,76-78,7b,81-82,84,87,89,8d-93,95-98,a1,a3,a6,a8-a9,b0-b3,b5-b6,bb-bf,c6-c8,d0,d2-d6,d8,da-e2,ee-f0,f2-fb,
D/dalvikvm(  840): Code size stats: 50666/105126 (compiled/total Dalvik), 329108 (native)

14 years agoam 1a29c735: Merge "Fix server side SSLEngine ServerKeyExchange signature."
Costin Manolache [Fri, 5 Mar 2010 23:02:33 +0000 (15:02 -0800)]
am 1a29c735: Merge "Fix server side SSLEngine ServerKeyExchange signature."

Merge commit '1a29c735752f4082c8e32347f4a6b10c4fdeb1f5' into dalvik-dev

* commit '1a29c735752f4082c8e32347f4a6b10c4fdeb1f5':
  Fix server side SSLEngine ServerKeyExchange signature.

14 years agoMerge "Fix server side SSLEngine ServerKeyExchange signature."
Costin Manolache [Fri, 5 Mar 2010 22:56:05 +0000 (14:56 -0800)]
Merge "Fix server side SSLEngine ServerKeyExchange signature."

14 years agoMerge "Add instructions for volatile wide fields." into dalvik-dev
Andy McFadden [Fri, 5 Mar 2010 20:59:25 +0000 (12:59 -0800)]
Merge "Add instructions for volatile wide fields." into dalvik-dev

14 years agoAdd instructions for volatile wide fields.
Andy McFadden [Fri, 5 Mar 2010 15:24:27 +0000 (07:24 -0800)]
Add instructions for volatile wide fields.

This adds four new instructions for accessing volatile wide fields (long
and double).  The JLS requires that such accesses are atomic, but the
VM doesn't otherwise make guarantees about the atomicity of reads and
writes on 64-bit fields.

There are no behavioral changes.  This just adds definitions for the new
instructions and a couple of tests.  The current implementation is just
the non-volatile form of the instructions or a C stub, but since we're
not generating them it doesn't really matter yet.

Also:
 - bumped Dalvik version to 1.3.0
 - added a note to the x86-atom TODO list

For bug 1633591.

14 years agoMerge "Fix a broken assert and some broken comments about unlinkedJavaLangClass....
Barry Hayes [Fri, 5 Mar 2010 20:04:14 +0000 (12:04 -0800)]
Merge "Fix a broken assert and some broken comments about unlinkedJavaLangClass." into dalvik-dev

14 years agoJit: Fix for issue 2487769, Simplify in-line thin lock release
Bill Buzbee [Fri, 5 Mar 2010 18:56:37 +0000 (10:56 -0800)]
Jit: Fix for issue 2487769, Simplify in-line thin lock release

The Jit was using ldrex/strex to clear an owned thin lock in the
fast path.  This was not necessary - an integer store works and is
much faster.

14 years agoam 101cbfe4: Merge "Implementing the Java 7 APIs for DeflaterOutputStreams."
Jesse Wilson [Fri, 5 Mar 2010 18:48:21 +0000 (10:48 -0800)]
am 101cbfe4: Merge "Implementing the Java 7 APIs for DeflaterOutputStreams."

Merge commit '101cbfe486ad1744f666e924f600dd1b8cdecea7' into dalvik-dev

* commit '101cbfe486ad1744f666e924f600dd1b8cdecea7':
  Implementing the Java 7 APIs for DeflaterOutputStreams.

14 years agoFix a broken assert and some broken comments about unlinkedJavaLangClass.
Barry Hayes [Fri, 5 Mar 2010 17:51:12 +0000 (09:51 -0800)]
Fix a broken assert and some broken comments about unlinkedJavaLangClass.

14 years agoMerge "Implementing the Java 7 APIs for DeflaterOutputStreams."
Jesse Wilson [Fri, 5 Mar 2010 18:21:16 +0000 (10:21 -0800)]
Merge "Implementing the Java 7 APIs for DeflaterOutputStreams."

14 years agoImplementing the Java 7 APIs for DeflaterOutputStreams.
Jesse Wilson [Fri, 5 Mar 2010 01:18:44 +0000 (17:18 -0800)]
Implementing the Java 7 APIs for DeflaterOutputStreams.

See bug 1729487.

14 years agoFix server side SSLEngine ServerKeyExchange signature.
Costin Manolache [Tue, 2 Mar 2010 21:47:01 +0000 (13:47 -0800)]
Fix server side SSLEngine ServerKeyExchange signature.

Code using SSLEngine for non-blocking SSL can't talk with openssl as a client,
since the signature is computed on different content (and openssl checks it,
unlike java). The fix is to use strip the 0x00 prefix when signing - like
it is done when generating the message, refactored both to use a common
method. We also include the length in the signature, it was also missing.

14 years agoMerge "Add messages to the ArrayStoreExceptions thrown by arraycopy()." into dalvik-dev
Jesse Wilson [Thu, 4 Mar 2010 18:36:07 +0000 (10:36 -0800)]
Merge "Add messages to the ArrayStoreExceptions thrown by arraycopy()." into dalvik-dev

14 years agoam c9b3aeb6: Prevent java.text.Normalizer from getting a default constructor.
Elliott Hughes [Thu, 4 Mar 2010 16:09:13 +0000 (08:09 -0800)]
am c9b3aeb6: Prevent java.text.Normalizer from getting a default constructor.

Merge commit 'c9b3aeb659ac420bdc3d3c550423ab1fec5fde4c' into dalvik-dev

* commit 'c9b3aeb659ac420bdc3d3c550423ab1fec5fde4c':
  Prevent java.text.Normalizer from getting a default constructor.

14 years agoPrevent java.text.Normalizer from getting a default constructor.
Elliott Hughes [Thu, 4 Mar 2010 05:35:41 +0000 (21:35 -0800)]
Prevent java.text.Normalizer from getting a default constructor.

The dalvik continuous build's new jdiff run caught this.

14 years agoam 042cc582: Merge "Don\'t call a method that can be overridden from File\'s construc...
Elliott Hughes [Thu, 4 Mar 2010 02:20:11 +0000 (18:20 -0800)]
am 042cc582: Merge "Don\'t call a method that can be overridden from File\'s constructors."

Merge commit '042cc58283c6a16db56fd758481388eee0f78619' into dalvik-dev

* commit '042cc58283c6a16db56fd758481388eee0f78619':
  Don't call a method that can be overridden from File's constructors.

14 years agoMerge "Don't call a method that can be overridden from File's constructors."
Elliott Hughes [Thu, 4 Mar 2010 02:14:40 +0000 (18:14 -0800)]
Merge "Don't call a method that can be overridden from File's constructors."

14 years agoam 21cb2bea: Merge "Update local copy of getSchedulerGroup."
Andy McFadden [Thu, 4 Mar 2010 02:01:02 +0000 (18:01 -0800)]
am 21cb2bea: Merge "Update local copy of getSchedulerGroup."

Merge commit '21cb2bead6020dfcb7c594638dddd36528b4ef41' into dalvik-dev

* commit '21cb2bead6020dfcb7c594638dddd36528b4ef41':
  Update local copy of getSchedulerGroup.

14 years agoMerge "Update local copy of getSchedulerGroup."
Andy McFadden [Thu, 4 Mar 2010 01:53:00 +0000 (17:53 -0800)]
Merge "Update local copy of getSchedulerGroup."

14 years agoDon't call a method that can be overridden from File's constructors.
Elliott Hughes [Thu, 4 Mar 2010 01:39:14 +0000 (17:39 -0800)]
Don't call a method that can be overridden from File's constructors.

Bug: 2486943

14 years agoAdd messages to the ArrayStoreExceptions thrown by arraycopy().
Jesse Wilson [Wed, 3 Mar 2010 20:34:19 +0000 (12:34 -0800)]
Add messages to the ArrayStoreExceptions thrown by arraycopy().

See bug 2396302.

14 years agoUpdate local copy of getSchedulerGroup.
Andy McFadden [Wed, 3 Mar 2010 23:37:10 +0000 (15:37 -0800)]
Update local copy of getSchedulerGroup.

The getSchedulerGroup() in libcutils was updated, but for some reason we
have our own copy in the VM.  This change brings it up to date so we
stop crashing every time something requests a virtual stack (e.g. with a
"kill -3 <pid>").

(The function is now an exact clone -- the previous version was slightly
modified.)

14 years agoam 85a3fa26: Merge "Jit: Sapphire tuning - mostly scheduling."
Bill Buzbee [Wed, 3 Mar 2010 23:35:49 +0000 (15:35 -0800)]
am 85a3fa26: Merge "Jit: Sapphire tuning - mostly scheduling."

Merge commit '85a3fa260497657c62de2186841b243e177330eb' into dalvik-dev

* commit '85a3fa260497657c62de2186841b243e177330eb':
  Jit: Sapphire tuning - mostly scheduling.

14 years agoMerge "Jit: Sapphire tuning - mostly scheduling."
Bill Buzbee [Wed, 3 Mar 2010 23:30:35 +0000 (15:30 -0800)]
Merge "Jit: Sapphire tuning - mostly scheduling."