OSDN Git Service

android-x86/dalvik.git
13 years agoMerge commit 'def30fc213d62fc93edce2ca63967ab93380075d' into mm
Brian Carlstrom [Wed, 15 Sep 2010 22:24:08 +0000 (15:24 -0700)]
Merge commit 'def30fc213d62fc93edce2ca63967ab93380075d' into mm

Change-Id: Ifb62d9074c3717c01bac712749f89c81757ebb33

13 years agoMerge "Update docs for removal of dalvik.vm.deadlock-predict." into dalvik-dev
Andy McFadden [Wed, 15 Sep 2010 20:57:01 +0000 (13:57 -0700)]
Merge "Update docs for removal of dalvik.vm.deadlock-predict." into dalvik-dev

13 years agoresolved conflicts for merge of a5d99892 to dalvik-dev
Dan Bornstein [Wed, 15 Sep 2010 20:13:33 +0000 (13:13 -0700)]
resolved conflicts for merge of a5d99892 to dalvik-dev

Change-Id: I3c030a6b19416a2ac3ca709cdbcbc6b41e6379d3

13 years agoam 8f069486: am 32bc0787: Add use of sentinel in BOOTCLASSPATH entries during preopt.
Dan Bornstein [Wed, 15 Sep 2010 18:39:00 +0000 (11:39 -0700)]
am 8f069486: am 32bc0787: Add use of sentinel in BOOTCLASSPATH entries during preopt.

Merge commit '8f069486a35e9032762063cb7c389ebde76d3529'

* commit '8f069486a35e9032762063cb7c389ebde76d3529':
  Add use of sentinel in BOOTCLASSPATH entries during preopt.

13 years agoUpdate docs for removal of dalvik.vm.deadlock-predict.
Andy McFadden [Wed, 15 Sep 2010 18:22:26 +0000 (11:22 -0700)]
Update docs for removal of dalvik.vm.deadlock-predict.

I don't think any external developers have used this, so there's not
much risk of breaking a script.  The feature itself still exists, but
now you have to use the more general dalvik.vm.extra-opts property
to enable it.

Bug 2844083

Change-Id: Id4e1d8466e9b9e5818331ab1f40429040c49437b

13 years agoNo longer exciting.
Andy McFadden [Wed, 15 Sep 2010 17:32:20 +0000 (10:32 -0700)]
No longer exciting.

Bug 3001709.

Change-Id: I7cb2033265f419b8a0cfc148cbc8e976686489d9

13 years agoStop cheating in reflective field access.
Andy McFadden [Tue, 14 Sep 2010 23:23:49 +0000 (16:23 -0700)]
Stop cheating in reflective field access.

The java.lang.reflect.Field get/set calls have been "cheating" by
reading and writing 32-bit or 64-bit values without regard to the
underlying field type.  This worked fine until recently, when we
developed three special cases:

 (1) writing to a reference field (must notify the GC)
 (2) reading/writing a volatile field (must emit barrier on SMP,
     and 64-bit accesses must be atomic on all platforms)
 (3) writing to a final field (must emit barrier on SMP)

This replaces the old "get a pointer and do stuff" approach with a
bunch of switch statements that call the ObjectInlines functions.

Bug 2992610

Change-Id: Ib30f043d325363743112e9b1bb170d9d232bca6b

13 years agoClarify the use of --boot-dirs in the header comment.
Dan Bornstein [Tue, 14 Sep 2010 23:15:49 +0000 (16:15 -0700)]
Clarify the use of --boot-dirs in the header comment.

Change-Id: I89cf275e6188d5615bfb4e45fe35580b0ebe5be2

13 years agoam 32bc0787: Add use of sentinel in BOOTCLASSPATH entries during preopt.
Dan Bornstein [Tue, 14 Sep 2010 20:01:58 +0000 (13:01 -0700)]
am 32bc0787: Add use of sentinel in BOOTCLASSPATH entries during preopt.

Merge commit '32bc0787307ba57e92fa74c52da550e2ca22af7f' into gingerbread-plus-aosp

* commit '32bc0787307ba57e92fa74c52da550e2ca22af7f':
  Add use of sentinel in BOOTCLASSPATH entries during preopt.

13 years agoAdd use of sentinel in BOOTCLASSPATH entries during preopt.
Dan Bornstein [Tue, 14 Sep 2010 00:30:10 +0000 (17:30 -0700)]
Add use of sentinel in BOOTCLASSPATH entries during preopt.

This change introduces the use of the sentinel string "/./" inside
BOOTCLASSPATH entries to signal the start of the portion of the paths
that should be preserved in optimized dex file dependency lists. It's
a little grotty, but it does serve the purpose of allowing host side
dexopt to do its thing inside a build directory without letting the
host path leading up to that build directory to leak into the results.

This change also makes it an error (instead of just a warning) for
there to be BOOTCLASSPATH entries that are not absolute paths (either
truly absolute or ones with the sentinels as per above).

FWIW, dx uses this sentinel in a similar way.

Change-Id: Ic8d0533d3ee0bd7a1d4d06fcf9232c56f0a60abf

13 years agoMerge "Emit return-void-barrier when appropriate." into dalvik-dev
Andy McFadden [Tue, 14 Sep 2010 14:51:16 +0000 (07:51 -0700)]
Merge "Emit return-void-barrier when appropriate." into dalvik-dev

13 years agoam 6a695324: am e5a8cd42: am 96604831: First possibly-working cut of dex-preopt.
Dan Bornstein [Tue, 14 Sep 2010 02:03:12 +0000 (19:03 -0700)]
am 6a695324: am e5a8cd42: am 96604831: First possibly-working cut of dex-preopt.

Merge commit '6a695324a98add795cc07161e4cd480ba63c46eb' into dalvik-dev

* commit '6a695324a98add795cc07161e4cd480ba63c46eb':
  First possibly-working cut of dex-preopt.

13 years agoam e5a8cd42: am 96604831: First possibly-working cut of dex-preopt.
Dan Bornstein [Tue, 14 Sep 2010 01:58:04 +0000 (18:58 -0700)]
am e5a8cd42: am 96604831: First possibly-working cut of dex-preopt.

Merge commit 'e5a8cd42a5d9ab9c8466fe7b333f94fe1a034f52'

* commit 'e5a8cd42a5d9ab9c8466fe7b333f94fe1a034f52':
  First possibly-working cut of dex-preopt.

13 years agoam 96604831: First possibly-working cut of dex-preopt.
Dan Bornstein [Mon, 13 Sep 2010 23:43:59 +0000 (16:43 -0700)]
am 96604831: First possibly-working cut of dex-preopt.

Merge commit '96604831505a9ffef8d2da38c24a533a593efb34' into gingerbread-plus-aosp

* commit '96604831505a9ffef8d2da38c24a533a593efb34':
  First possibly-working cut of dex-preopt.

13 years agoFirst possibly-working cut of dex-preopt.
Dan Bornstein [Mon, 13 Sep 2010 22:37:28 +0000 (15:37 -0700)]
First possibly-working cut of dex-preopt.

Change-Id: I65c8ca76d75285ebd510babe5d0b3e0a157f82b7

13 years agoEmit return-void-barrier when appropriate.
Andy McFadden [Mon, 13 Sep 2010 21:04:02 +0000 (14:04 -0700)]
Emit return-void-barrier when appropriate.

If SMP is enabled, and we're optimizing a constructor, and the
class in question has final fields, we replace all occurrences of
"return-void" with "return-void-barrier".

This is an "essential" optimization for SMP, meaning it will be done
regardless of the verification/optimization settings.

Also, split the updateCode() helper function into two versions (one
to update the whole 16-bit code unit, one to replace just the opcode).

Also, make the presence of a duplicate class in the bootstrap class
path a failure for optimization as well as verification.  Otherwise,
if you have "-Xdexopt:all", you could end up trying to optimize a
class loaded from a bootstrap DEX file, which doesn't work well
since those classes are mapped read-only in dexopt.

Bug 2965743.

Change-Id: I29e67133731b59beb6af5003f3cd69302c5c20f5

13 years agoam 282cb814: am 10a1d761: am 20228de2: Flesh out dex-preopt a bit more.
Dan Bornstein [Mon, 13 Sep 2010 22:08:39 +0000 (15:08 -0700)]
am 282cb814: am 10a1d761: am 20228de2: Flesh out dex-preopt a bit more.

Merge commit '282cb814c1324273098adb496cc15d4f007b54d2' into dalvik-dev

* commit '282cb814c1324273098adb496cc15d4f007b54d2':
  Flesh out dex-preopt a bit more.

13 years agoam 10a1d761: am 20228de2: Flesh out dex-preopt a bit more.
Dan Bornstein [Mon, 13 Sep 2010 22:02:35 +0000 (15:02 -0700)]
am 10a1d761: am 20228de2: Flesh out dex-preopt a bit more.

Merge commit '10a1d7615652de5de0214265123044f032d45177'

* commit '10a1d7615652de5de0214265123044f032d45177':
  Flesh out dex-preopt a bit more.

13 years agoam deb42ded: am de9307da: am 46f7d54c: We also need to tell it the file mode when...
Dan Bornstein [Mon, 13 Sep 2010 21:48:25 +0000 (14:48 -0700)]
am deb42ded: am de9307da: am 46f7d54c: We also need to tell it the file mode when creating the output.

Merge commit 'deb42dedbf8fa31f9812f138361559eace4e980e' into dalvik-dev

* commit 'deb42dedbf8fa31f9812f138361559eace4e980e':
  We also need to tell it the file mode when creating the output.

13 years agoam de9307da: am 46f7d54c: We also need to tell it the file mode when creating the...
Dan Bornstein [Mon, 13 Sep 2010 21:42:26 +0000 (14:42 -0700)]
am de9307da: am 46f7d54c: We also need to tell it the file mode when creating the output.

Merge commit 'de9307dace945eea0bbcfa008d7e164f8777e28d'

* commit 'de9307dace945eea0bbcfa008d7e164f8777e28d':
  We also need to tell it the file mode when creating the output.

13 years agoam b9ef0a4b: Merge "Add several classes from dx tool to the dexgen project"
Piotr Gurgul [Mon, 13 Sep 2010 21:14:54 +0000 (14:14 -0700)]
am b9ef0a4b: Merge "Add several classes from dx tool to the dexgen project"

Merge commit 'b9ef0a4b5b3fdbb388ba2f262a370fc3aa66cae5' into dalvik-dev

* commit 'b9ef0a4b5b3fdbb388ba2f262a370fc3aa66cae5':
  Add several classes from dx tool to the dexgen project

13 years agoMerge "Add several classes from dx tool to the dexgen project"
Piotr Gurgul [Mon, 13 Sep 2010 21:02:31 +0000 (14:02 -0700)]
Merge "Add several classes from dx tool to the dexgen project"

13 years agoMerge "Added a barrier to final field updates." into dalvik-dev
Andy McFadden [Mon, 13 Sep 2010 21:02:24 +0000 (14:02 -0700)]
Merge "Added a barrier to final field updates." into dalvik-dev

13 years agoam 20228de2: Flesh out dex-preopt a bit more.
Dan Bornstein [Mon, 13 Sep 2010 20:49:41 +0000 (13:49 -0700)]
am 20228de2: Flesh out dex-preopt a bit more.

Merge commit '20228de2a8b0902d919b8acc27a9e954a597d16b' into gingerbread-plus-aosp

* commit '20228de2a8b0902d919b8acc27a9e954a597d16b':
  Flesh out dex-preopt a bit more.

13 years agoFlesh out dex-preopt a bit more.
Dan Bornstein [Mon, 13 Sep 2010 20:40:33 +0000 (13:40 -0700)]
Flesh out dex-preopt a bit more.

It's still not done.

Change-Id: I8b1cbe14841f12c8f299638c1ddaeec659ec441b

13 years agoam 46f7d54c: We also need to tell it the file mode when creating the output.
Dan Bornstein [Mon, 13 Sep 2010 18:52:10 +0000 (11:52 -0700)]
am 46f7d54c: We also need to tell it the file mode when creating the output.

Merge commit '46f7d54cbda931213bbe710c065e1bd82aa0af6c' into gingerbread-plus-aosp

* commit '46f7d54cbda931213bbe710c065e1bd82aa0af6c':
  We also need to tell it the file mode when creating the output.

13 years agoWe also need to tell it the file mode when creating the output.
Dan Bornstein [Mon, 13 Sep 2010 01:27:00 +0000 (18:27 -0700)]
We also need to tell it the file mode when creating the output.

Thanks to Elliott for catching this.

Change-Id: Ibb89ece3dd2e1d39a8a2d51cb8b7278842e057a1

13 years agoam 303d781d: am 1df6d930: am 17e4ea8f: Actually, dexopt needs to read the optimized...
Dan Bornstein [Mon, 13 Sep 2010 01:22:06 +0000 (18:22 -0700)]
am 303d781d: am 1df6d930: am 17e4ea8f: Actually, dexopt needs to read the optimized dex file too.

Merge commit '303d781dbeb04b9d5968a2b65b30a2a559a37fc7' into dalvik-dev

* commit '303d781dbeb04b9d5968a2b65b30a2a559a37fc7':
  Actually, dexopt needs to read the optimized dex file too.

13 years agoam 8a042d4e: am f3a6934b: am dd2502bd: Move declarations to the top to avoid potentia...
Dan Bornstein [Mon, 13 Sep 2010 01:22:04 +0000 (18:22 -0700)]
am 8a042d4e: am f3a6934b: am dd2502bd: Move declarations to the top to avoid potential uninitialized use.

Merge commit '8a042d4ee0fe84ca1f9a22090df3305782bcff67' into dalvik-dev

* commit '8a042d4ee0fe84ca1f9a22090df3305782bcff67':
  Move declarations to the top to avoid potential uninitialized use.

13 years agoam 1df6d930: am 17e4ea8f: Actually, dexopt needs to read the optimized dex file too.
Dan Bornstein [Mon, 13 Sep 2010 01:18:48 +0000 (18:18 -0700)]
am 1df6d930: am 17e4ea8f: Actually, dexopt needs to read the optimized dex file too.

Merge commit '1df6d93064c3e43356869407eff41a03bc9ca4b8'

* commit '1df6d93064c3e43356869407eff41a03bc9ca4b8':
  Actually, dexopt needs to read the optimized dex file too.

13 years agoam f3a6934b: am dd2502bd: Move declarations to the top to avoid potential uninitializ...
Dan Bornstein [Mon, 13 Sep 2010 01:18:46 +0000 (18:18 -0700)]
am f3a6934b: am dd2502bd: Move declarations to the top to avoid potential uninitialized use.

Merge commit 'f3a6934bbe1e295956f3d9f16ac675fb7d4232b7'

* commit 'f3a6934bbe1e295956f3d9f16ac675fb7d4232b7':
  Move declarations to the top to avoid potential uninitialized use.

13 years agoam 17e4ea8f: Actually, dexopt needs to read the optimized dex file too.
Dan Bornstein [Mon, 13 Sep 2010 01:17:08 +0000 (18:17 -0700)]
am 17e4ea8f: Actually, dexopt needs to read the optimized dex file too.

Merge commit '17e4ea8f17b6e4e14c483de49b3a3f053af188b4' into gingerbread-plus-aosp

* commit '17e4ea8f17b6e4e14c483de49b3a3f053af188b4':
  Actually, dexopt needs to read the optimized dex file too.

13 years agoam dd2502bd: Move declarations to the top to avoid potential uninitialized use.
Dan Bornstein [Mon, 13 Sep 2010 01:17:06 +0000 (18:17 -0700)]
am dd2502bd: Move declarations to the top to avoid potential uninitialized use.

Merge commit 'dd2502bd371ddca554b7a3d900fe120a3e7767ec' into gingerbread-plus-aosp

* commit 'dd2502bd371ddca554b7a3d900fe120a3e7767ec':
  Move declarations to the top to avoid potential uninitialized use.

13 years agoActually, dexopt needs to read the optimized dex file too.
Dan Bornstein [Mon, 13 Sep 2010 01:12:27 +0000 (18:12 -0700)]
Actually, dexopt needs to read the optimized dex file too.

Change-Id: Ib36cc0fd134a6916100060c8e2eee5158ac87201

13 years agoMove declarations to the top to avoid potential uninitialized use.
Dan Bornstein [Mon, 13 Sep 2010 00:34:35 +0000 (17:34 -0700)]
Move declarations to the top to avoid potential uninitialized use.

I didn't catch the warnings among the build spew before. Also, made
"--preopt" use stderr for its complaints about arguments.

Change-Id: I8d470ccc40c4cdc9131beb0991060358039e2727

13 years agoam 7d7efa59: am 3bb31513: am 4701d5f8: Add a new "--preopt" mode to dexopt, for runni...
Dan Bornstein [Mon, 13 Sep 2010 00:31:33 +0000 (17:31 -0700)]
am 7d7efa59: am 3bb31513: am 4701d5f8: Add a new "--preopt" mode to dexopt, for running on the host.

Merge commit '7d7efa596870843f35defd52306f23d4dc519df1' into dalvik-dev

* commit '7d7efa596870843f35defd52306f23d4dc519df1':
  Add a new "--preopt" mode to dexopt, for running on the host.

13 years agoam 3bb31513: am 4701d5f8: Add a new "--preopt" mode to dexopt, for running on the...
Dan Bornstein [Mon, 13 Sep 2010 00:26:49 +0000 (17:26 -0700)]
am 3bb31513: am 4701d5f8: Add a new "--preopt" mode to dexopt, for running on the host.

Merge commit '3bb31513f5aa1e3c4860947287a6edf7842d2c49'

* commit '3bb31513f5aa1e3c4860947287a6edf7842d2c49':
  Add a new "--preopt" mode to dexopt, for running on the host.

13 years agoam 4701d5f8: Add a new "--preopt" mode to dexopt, for running on the host.
Dan Bornstein [Mon, 13 Sep 2010 00:23:51 +0000 (17:23 -0700)]
am 4701d5f8: Add a new "--preopt" mode to dexopt, for running on the host.

Merge commit '4701d5f8d0e691eeb9a0824311d5166d301a5aa5' into gingerbread-plus-aosp

* commit '4701d5f8d0e691eeb9a0824311d5166d301a5aa5':
  Add a new "--preopt" mode to dexopt, for running on the host.

13 years agoAdd a new "--preopt" mode to dexopt, for running on the host.
Dan Bornstein [Sun, 12 Sep 2010 23:42:28 +0000 (16:42 -0700)]
Add a new "--preopt" mode to dexopt, for running on the host.

This change takes much of what used to be in the function fromZip()
(the "--zip" mode implementation) and pulls it into a helper function,
which is then also used by the new preopt() function.

Change-Id: Id54618047896366448adaec0bf973627a9f1f397

13 years agoam 306c8e43: am 1c73c286: am ab9d89fb: Pre-alpha cut of the new dex preoptimization...
Dan Bornstein [Sun, 12 Sep 2010 21:07:04 +0000 (14:07 -0700)]
am 306c8e43: am 1c73c286: am ab9d89fb: Pre-alpha cut of the new dex preoptimization script.

Merge commit '306c8e43df16cddb34fac20a5deb0bc408f08fd8' into dalvik-dev

* commit '306c8e43df16cddb34fac20a5deb0bc408f08fd8':
  Pre-alpha cut of the new dex preoptimization script.

13 years agoam 1c73c286: am ab9d89fb: Pre-alpha cut of the new dex preoptimization script.
Dan Bornstein [Sun, 12 Sep 2010 21:01:40 +0000 (14:01 -0700)]
am 1c73c286: am ab9d89fb: Pre-alpha cut of the new dex preoptimization script.

Merge commit '1c73c2863feb505b2145566ec2bcc96d4ccc4641'

* commit '1c73c2863feb505b2145566ec2bcc96d4ccc4641':
  Pre-alpha cut of the new dex preoptimization script.

13 years agoam ab9d89fb: Pre-alpha cut of the new dex preoptimization script.
Dan Bornstein [Sun, 12 Sep 2010 20:12:29 +0000 (13:12 -0700)]
am ab9d89fb: Pre-alpha cut of the new dex preoptimization script.

Merge commit 'ab9d89fb7417157c3972278d1bd899cc091a8168' into gingerbread-plus-aosp

* commit 'ab9d89fb7417157c3972278d1bd899cc091a8168':
  Pre-alpha cut of the new dex preoptimization script.

13 years agoPre-alpha cut of the new dex preoptimization script.
Dan Bornstein [Sun, 12 Sep 2010 20:03:27 +0000 (13:03 -0700)]
Pre-alpha cut of the new dex preoptimization script.

This will successfully find all the right directories etc., but it doesn't
do any actual dex processing yet. Stay tuned!

Change-Id: I4926308231366d6bae7b6a4594b4edb99192bf42

13 years agoam 8d0facc6: am fd93a495: am 23608ab4: Fix inliner bug for empty callees.
Ben Cheng [Sat, 11 Sep 2010 00:36:37 +0000 (17:36 -0700)]
am 8d0facc6: am fd93a495: am 23608ab4: Fix inliner bug for empty callees.

Merge commit '8d0facc68407f28808594461cba4da6be2795a78' into dalvik-dev

* commit '8d0facc68407f28808594461cba4da6be2795a78':
  Fix inliner bug for empty callees.

13 years agoam fd93a495: am 23608ab4: Fix inliner bug for empty callees.
Ben Cheng [Sat, 11 Sep 2010 00:24:57 +0000 (17:24 -0700)]
am fd93a495: am 23608ab4: Fix inliner bug for empty callees.

Merge commit 'fd93a495deb6b1642925e0a98a63cd9b21b6a232'

* commit 'fd93a495deb6b1642925e0a98a63cd9b21b6a232':
  Fix inliner bug for empty callees.

13 years agoam 23608ab4: Fix inliner bug for empty callees.
Ben Cheng [Sat, 11 Sep 2010 00:19:42 +0000 (17:19 -0700)]
am 23608ab4: Fix inliner bug for empty callees.

Merge commit '23608ab40900463fc5c8461671ba3aa5d0a4260e' into gingerbread-plus-aosp

* commit '23608ab40900463fc5c8461671ba3aa5d0a4260e':
  Fix inliner bug for empty callees.

13 years agoFix inliner bug for empty callees.
Ben Cheng [Sat, 11 Sep 2010 00:11:11 +0000 (17:11 -0700)]
Fix inliner bug for empty callees.

Add an explicit branch to continue from the next instruction.

Bug: 2992514

(cherry-picked from dalvik-dev)

Change-Id: I6e036e330255e7cd9d1504c50c4260910c38dfff

13 years agoFix inliner bug for empty callees.
Ben Cheng [Sat, 11 Sep 2010 00:11:11 +0000 (17:11 -0700)]
Fix inliner bug for empty callees.

Add an explicit branch to continue from the next instruction.

Bug: 2992514
Change-Id: I87f7a2d86e34264688bf283e156816624556b46f

13 years agoAdded a barrier to final field updates.
Andy McFadden [Fri, 10 Sep 2010 22:36:16 +0000 (15:36 -0700)]
Added a barrier to final field updates.

When deserializing an object, code can write to final fields.  The JMM
requires that we give final fields written this way the same treatment
as we would final fields written directly in a constructor.

This adds memory barriers to the two reflection field-set handlers
when the field in question is marked "final".

Also, added a final field update to test 046.

Bug 2965743.

Change-Id: I5ea3cb49e04d932a655740058b847dcb8712e041

13 years agoRename dalvik test 084 to 085.
Andy McFadden [Fri, 10 Sep 2010 22:46:49 +0000 (15:46 -0700)]
Rename dalvik test 084 to 085.

Change-Id: I63d93389cf41006ffae0587e931aa2cd089f1675

13 years agoAdd return-void-barrier instruction.
Andy McFadden [Fri, 10 Sep 2010 15:04:52 +0000 (08:04 -0700)]
Add return-void-barrier instruction.

This introduces the return-void-barrier instruction, which is identical
to return-void on UP systems, but provides an additional store/store
barrier on SMP.  This is intended for use in constructors of objects
with final fields.

The assembler doesn't like "dmb st", and we don't have an
ANDROID_MEMBAR_STORE barrier defined, so this currently uses full
fences.

This just defines the new instruction.  It's not actually used yet.

Also, removed some stale "unused" files from the x86 and x86-atom
directories.

Bug 2965743.

Change-Id: I072e372fd2d57f2617a8d4fff5fd4b38bdda75d1

13 years agoAdd several classes from dx tool to the dexgen project
Piotr Gurgul [Fri, 10 Sep 2010 01:22:53 +0000 (18:22 -0700)]
Add several classes from dx tool to the dexgen project

Dexgen depends on many classes from dx tool but for now there is no target
build of dx. That is why some of its classes need to be moved directly into
dexgen source code, as building target version of the whole dx project
is not an option. This CL produces a lot of duplicate classes in
dalvik/dx and dalvik/dexgen, but this will be resolved in future by removing
these classes from dalvik/dx.

Change-Id: I5411f92761d73c3ab555feaa345e5d150aa280ef

13 years agoam c94d546e: am 24628c4c: am 50afc65c: Merge "JIT: Fix inconsistent handling of sub...
buzbee [Thu, 9 Sep 2010 23:58:02 +0000 (16:58 -0700)]
am c94d546e: am 24628c4c: am 50afc65c: Merge "JIT: Fix inconsistent handling of sub-word instance git/put" into gingerbread

Merge commit 'c94d546e99f18ba445b2fd3f8e91c93d14cd725d' into dalvik-dev

* commit 'c94d546e99f18ba445b2fd3f8e91c93d14cd725d':
  JIT: Fix inconsistent handling of sub-word instance git/put

13 years agoam 24628c4c: am 50afc65c: Merge "JIT: Fix inconsistent handling of sub-word instance...
buzbee [Thu, 9 Sep 2010 23:52:00 +0000 (16:52 -0700)]
am 24628c4c: am 50afc65c: Merge "JIT: Fix inconsistent handling of sub-word instance git/put" into gingerbread

Merge commit '24628c4c898930ba350b6ac99625c8ff700f35c8'

* commit '24628c4c898930ba350b6ac99625c8ff700f35c8':
  JIT: Fix inconsistent handling of sub-word instance git/put

13 years agoam 50afc65c: Merge "JIT: Fix inconsistent handling of sub-word instance git/put"...
buzbee [Thu, 9 Sep 2010 23:48:42 +0000 (16:48 -0700)]
am 50afc65c: Merge "JIT: Fix inconsistent handling of sub-word instance git/put" into gingerbread

Merge commit '50afc65c674fee10ed9a0380daaee7862cc79d5d' into gingerbread-plus-aosp

* commit '50afc65c674fee10ed9a0380daaee7862cc79d5d':
  JIT: Fix inconsistent handling of sub-word instance git/put

13 years agoMerge "JIT: Fix inconsistent handling of sub-word instance git/put" into gingerbread
buzbee [Thu, 9 Sep 2010 23:46:09 +0000 (16:46 -0700)]
Merge "JIT: Fix inconsistent handling of sub-word instance git/put" into gingerbread

13 years agoJIT: Fix inconsistent handling of sub-word instance git/put
buzbee [Thu, 9 Sep 2010 21:07:01 +0000 (14:07 -0700)]
JIT: Fix inconsistent handling of sub-word instance git/put

The portable interpreter and fast interpreter use 32-bit accesses
for all sub-word scalars.  The JIT generated code to tailor the access
to the data size.  It doesn't matter which approach is taken, but all
interpreters & JIT must be consistent.  Changing the JIT to use 32-bit
accesses for all sub-word instance scalars.

Fix for Issue 2973137

Change-Id: I8b1e9e6be075012c7c174728b77c7a76884975b7

13 years agoam b20c366a: Merge "Add dexgen helper classes and Android.mk"
Piotr Gurgul [Thu, 9 Sep 2010 23:37:41 +0000 (16:37 -0700)]
am b20c366a: Merge "Add dexgen helper classes and Android.mk"

Merge commit 'b20c366a4cc1dbaeb7aa14fae18baa9e45a86503' into dalvik-dev

* commit 'b20c366a4cc1dbaeb7aa14fae18baa9e45a86503':
  Add dexgen helper classes and Android.mk

13 years agoMerge "Add dexgen helper classes and Android.mk"
Piotr Gurgul [Thu, 9 Sep 2010 23:34:48 +0000 (16:34 -0700)]
Merge "Add dexgen helper classes and Android.mk"

13 years agoam fb12fb32: am fdc9cfa3: am 139bd978: Added "dexopt for SMP" flag.
Andy McFadden [Thu, 9 Sep 2010 23:28:43 +0000 (16:28 -0700)]
am fb12fb32: am fdc9cfa3: am 139bd978: Added "dexopt for SMP" flag.

Merge commit 'fb12fb3242e8735e07e1a4583517f2e36a79b200' into dalvik-dev

* commit 'fb12fb3242e8735e07e1a4583517f2e36a79b200':
  Added "dexopt for SMP" flag.

13 years agoam fdc9cfa3: am 139bd978: Added "dexopt for SMP" flag.
Andy McFadden [Thu, 9 Sep 2010 23:19:42 +0000 (16:19 -0700)]
am fdc9cfa3: am 139bd978: Added "dexopt for SMP" flag.

Merge commit 'fdc9cfa3bcf418d59c47a8d114ec84452b2f1d11'

* commit 'fdc9cfa3bcf418d59c47a8d114ec84452b2f1d11':
  Added "dexopt for SMP" flag.

13 years agoam 139bd978: Added "dexopt for SMP" flag.
Andy McFadden [Thu, 9 Sep 2010 23:16:57 +0000 (16:16 -0700)]
am 139bd978: Added "dexopt for SMP" flag.

Merge commit '139bd97804a69634e7c4cecf06910a050a4ac093' into gingerbread-plus-aosp

* commit '139bd97804a69634e7c4cecf06910a050a4ac093':
  Added "dexopt for SMP" flag.

13 years agoAdded "dexopt for SMP" flag.
Andy McFadden [Thu, 9 Sep 2010 19:54:43 +0000 (12:54 -0700)]
Added "dexopt for SMP" flag.

Currently, dexopt always runs on the target device, which means that
decisions about whether or not to convert certain opcodes to SMP-safe
variants could be made based on #ifdefs.

Since we are planning to run dexopt on the host, we need to be able
to configure SMP-mode independently.  This change adds a global variable
that the dexopt code can check.

There is currently no command-line argument to set this, since it will
be set by "dexopt" rather than "dalvikvm", and the exact method of
launching dexopt from the host build is still mildly TBD.

Bug 2981136.

(cherry-pick from dalvik-dev)

Change-Id: I7474f79a25368223ecf1e491458f4a82e85db01f

13 years agoam 611f0c0b: am 070fceca: am d394371b: Remove the functionality in ReduceConstants...
Dan Bornstein [Thu, 9 Sep 2010 22:40:34 +0000 (15:40 -0700)]
am 611f0c0b: am 070fceca: am d394371b: Remove the functionality in ReduceConstants.[ch].

Merge commit '611f0c0b5075be16c517431354db4a3facd5a5ef' into dalvik-dev

* commit '611f0c0b5075be16c517431354db4a3facd5a5ef':
  Remove the functionality in ReduceConstants.[ch].

13 years agoAdd dexgen helper classes and Android.mk
Piotr Gurgul [Fri, 3 Sep 2010 02:15:30 +0000 (19:15 -0700)]
Add dexgen helper classes and Android.mk

This commit adds the very first classes to the dexgen project together with
its Android.mk file. These are the helper classes needed by dex class builder.

Change-Id: I47f8132443f43881826d24a854ab6bafb14181bd

13 years agoMerge "JIT: Fix inconsistent handling of sub-word instance git/put" into dalvik-dev
buzbee [Thu, 9 Sep 2010 22:03:03 +0000 (15:03 -0700)]
Merge "JIT: Fix inconsistent handling of sub-word instance git/put" into dalvik-dev

13 years agoam 070fceca: am d394371b: Remove the functionality in ReduceConstants.[ch].
Dan Bornstein [Thu, 9 Sep 2010 21:23:28 +0000 (14:23 -0700)]
am 070fceca: am d394371b: Remove the functionality in ReduceConstants.[ch].

Merge commit '070fceca4bf6d717094a0be33b322e84c0a6874d'

* commit '070fceca4bf6d717094a0be33b322e84c0a6874d':
  Remove the functionality in ReduceConstants.[ch].

13 years agoJIT: Fix inconsistent handling of sub-word instance git/put
buzbee [Thu, 9 Sep 2010 21:07:01 +0000 (14:07 -0700)]
JIT: Fix inconsistent handling of sub-word instance git/put

The portable interpreter and fast interpreter use 32-bit accesses
for all sub-word scalars.  The JIT generated code to tailor the access
to the data size.  It doesn't matter which approach is taken, but all
interpreters & JIT must be consistent.  Changing the JIT to use 32-bit
accesses for all sub-word instance scalars.

Fix for Issue 2973137

Change-Id: I6108ccc98c1b43974373764913d5f8d0d8723cd4

13 years agoAdded "dexopt for SMP" flag.
Andy McFadden [Thu, 9 Sep 2010 19:54:43 +0000 (12:54 -0700)]
Added "dexopt for SMP" flag.

Currently, dexopt always runs on the target device, which means that
decisions about whether or not to convert certain opcodes to SMP-safe
variants could be made based on #ifdefs.

Since we are planning to run dexopt on the host, we need to be able
to configure SMP-mode independently.  This change adds a global variable
that the dexopt code can check.

There is currently no command-line argument to set this, since it will
be set by "dexopt" rather than "dalvikvm", and the exact method of
launching dexopt from the host build is still mildly TBD.

Bug 2981136.

Change-Id: If20aa6f513896fd8b35394388eaca6214f0449a7

13 years agoam d394371b: Remove the functionality in ReduceConstants.[ch].
Dan Bornstein [Thu, 9 Sep 2010 19:07:28 +0000 (12:07 -0700)]
am d394371b: Remove the functionality in ReduceConstants.[ch].

Merge commit 'd394371bd84bacc51e96e2d2eacb8549d9110b1e' into gingerbread-plus-aosp

* commit 'd394371bd84bacc51e96e2d2eacb8549d9110b1e':
  Remove the functionality in ReduceConstants.[ch].

13 years agoRemove the functionality in ReduceConstants.[ch].
Dan Bornstein [Wed, 8 Sep 2010 22:50:00 +0000 (15:50 -0700)]
Remove the functionality in ReduceConstants.[ch].

It was a good experiment to try, but it was never made production-ready,
and it doesn't look like it would be a net win at this point. We
metaphorically pour out a beer in its honor.

Change-Id: I7f6ac95f5b7c963df0a3015ed33595fa1a928636

13 years agoam 194185e2: am 917aef91: am 2c81bdc3: Cherry pick new concurrent gc trigger change...
Carl Shapiro [Wed, 8 Sep 2010 02:05:09 +0000 (19:05 -0700)]
am 194185e2: am 917aef91: am 2c81bdc3: Cherry pick new concurrent gc trigger change from dalvik-dev.

Merge commit '194185e2ae8cb2d4b2828e9a1ba3d94adf9cd32f' into dalvik-dev

* commit '194185e2ae8cb2d4b2828e9a1ba3d94adf9cd32f':
  Cherry pick new concurrent gc trigger change from dalvik-dev.

13 years agoam 917aef91: am 2c81bdc3: Cherry pick new concurrent gc trigger change from dalvik...
Carl Shapiro [Wed, 8 Sep 2010 01:52:31 +0000 (18:52 -0700)]
am 917aef91: am 2c81bdc3: Cherry pick new concurrent gc trigger change from dalvik-dev.

Merge commit '917aef916f31d087b31a99b396e39be885772a8d'

* commit '917aef916f31d087b31a99b396e39be885772a8d':
  Cherry pick new concurrent gc trigger change from dalvik-dev.

13 years agoFix the Dalvik host build.
Ben Cheng [Wed, 8 Sep 2010 00:18:12 +0000 (17:18 -0700)]
Fix the Dalvik host build.

Change-Id: I7b019cfe6c6e1e37115fdcc9760c09d73dae0420

13 years agoam 2c81bdc3: Cherry pick new concurrent gc trigger change from dalvik-dev.
Carl Shapiro [Wed, 8 Sep 2010 00:10:32 +0000 (17:10 -0700)]
am 2c81bdc3: Cherry pick new concurrent gc trigger change from dalvik-dev.

Merge commit '2c81bdc3bb892d7d60855e14f61854f20a9f6cb8' into gingerbread-plus-aosp

* commit '2c81bdc3bb892d7d60855e14f61854f20a9f6cb8':
  Cherry pick new concurrent gc trigger change from dalvik-dev.

13 years agoCherry pick new concurrent gc trigger change from dalvik-dev.
Carl Shapiro [Tue, 7 Sep 2010 23:19:01 +0000 (16:19 -0700)]
Cherry pick new concurrent gc trigger change from dalvik-dev.

git cherry-pick d370c7d8c5bd4f49274b5d306751c43c7bb44a0b --no-commit
git cherry-pick 562cafca106d36ae910fafa87f3d5f245fe818ae --no-commit
git cherry-pick ab46f94967a76a1c141c1e719d5f2cffe2780a8c --no-commit

Change-Id: Iba35cd3afee5d575b8121f7ab3ef5b45b37f5278

13 years agoMerge "Use the correct constant for the limit value of size_t." into dalvik-dev
Carl Shapiro [Tue, 7 Sep 2010 23:07:36 +0000 (16:07 -0700)]
Merge "Use the correct constant for the limit value of size_t." into dalvik-dev

13 years agoStop using getEffectiveAddress.
Elliott Hughes [Tue, 7 Sep 2010 21:53:55 +0000 (14:53 -0700)]
Stop using getEffectiveAddress.

The corresponding field is now set in the constructor, thanks to:
  https://android-git.corp.google.com/g/64867

Bug: 2935622
Change-Id: Ifcd77b3e83e046eb7ba6aa2d917aa434e508f3e8

13 years agoUse the correct constant for the limit value of size_t.
Carl Shapiro [Tue, 7 Sep 2010 21:49:19 +0000 (14:49 -0700)]
Use the correct constant for the limit value of size_t.

Change-Id: Ic918a380b7f581c2cf9d3f28e6179cd0182cd495

13 years agoMerge "Fix build (track Java class name change)." into dalvik-dev
Elliott Hughes [Tue, 7 Sep 2010 17:15:16 +0000 (10:15 -0700)]
Merge "Fix build (track Java class name change)." into dalvik-dev

13 years agoFix build (track Java class name change).
Elliott Hughes [Tue, 7 Sep 2010 17:10:48 +0000 (10:10 -0700)]
Fix build (track Java class name change).

Change-Id: I731d8fe3d24becd284764f8f05d59340fbe02bb8

13 years agoThe host build lacks SIZE_T_MAX, even though bionic has it.
Barry Hayes [Fri, 3 Sep 2010 21:26:12 +0000 (14:26 -0700)]
The host build lacks SIZE_T_MAX, even though bionic has it.
Change SIZE_T_MAX to UINT_MAX.

Change-Id: Icbf74abb26cac680ff1b470260c1fba6991bc975

13 years agoMerge "Change the concurrent trigger condition from "start after N bytes allocated...
Carl Shapiro [Fri, 3 Sep 2010 19:59:02 +0000 (12:59 -0700)]
Merge "Change the concurrent trigger condition from "start after N bytes allocated" to "start when N bytes of free-space remain."" into dalvik-dev

13 years agoam dab09d9d: am e67a0f17: am 44165848: Merge "Operate on bitmaps directly for live...
Carl Shapiro [Fri, 3 Sep 2010 19:29:25 +0000 (12:29 -0700)]
am dab09d9d: am e67a0f17: am 44165848: Merge "Operate on bitmaps directly for live and mark checks." into gingerbread

Merge commit 'dab09d9d81d1a6a23f11739017cc619d0cb411c3' into dalvik-dev

* commit 'dab09d9d81d1a6a23f11739017cc619d0cb411c3':
  Operate on bitmaps directly for live and mark checks.

13 years agoam e67a0f17: am 44165848: Merge "Operate on bitmaps directly for live and mark checks...
Carl Shapiro [Fri, 3 Sep 2010 19:18:38 +0000 (12:18 -0700)]
am e67a0f17: am 44165848: Merge "Operate on bitmaps directly for live and mark checks." into gingerbread

Merge commit 'e67a0f17f1c53f248d710fe8b1476abe8ef0f622'

* commit 'e67a0f17f1c53f248d710fe8b1476abe8ef0f622':
  Operate on bitmaps directly for live and mark checks.

13 years agoChange the concurrent trigger condition from "start after N bytes
Barry Hayes [Tue, 31 Aug 2010 16:14:00 +0000 (09:14 -0700)]
Change the concurrent trigger condition from "start after N bytes
allocated" to "start when N bytes of free-space remain."

To avoid continuous concurrent collection: if free-space after a GC is
under set amount, the next GC will not be concurrent. When the
application is in steady-state near its max heap, concurrent
collection will be effectively disabled.

Change-Id: I248230ef42d49df93903b2c29faae7454eaed325

13 years agoam 44165848: Merge "Operate on bitmaps directly for live and mark checks." into ginge...
Carl Shapiro [Fri, 3 Sep 2010 19:16:34 +0000 (12:16 -0700)]
am 44165848: Merge "Operate on bitmaps directly for live and mark checks." into gingerbread

Merge commit '4416584802dbda4ade8df7f81af84a73d6887049' into gingerbread-plus-aosp

* commit '4416584802dbda4ade8df7f81af84a73d6887049':
  Operate on bitmaps directly for live and mark checks.

13 years agoMerge "Operate on bitmaps directly for live and mark checks." into gingerbread
Carl Shapiro [Fri, 3 Sep 2010 19:14:46 +0000 (12:14 -0700)]
Merge "Operate on bitmaps directly for live and mark checks." into gingerbread

13 years agoMerge "Do less work in NewDirectByteBuffer." into dalvik-dev
Elliott Hughes [Fri, 3 Sep 2010 17:10:40 +0000 (10:10 -0700)]
Merge "Do less work in NewDirectByteBuffer." into dalvik-dev

13 years agoMerge "Collect method traces with the fast interpreter and the JIT'ed code." into...
Ben Cheng [Fri, 3 Sep 2010 17:00:59 +0000 (10:00 -0700)]
Merge "Collect method traces with the fast interpreter and the JIT'ed code." into dalvik-dev

13 years agoam 8ef4d4f3: am 58a661c4: am ddc7d29b: Correct Volatile SGET/SPUT format tag, add...
buzbee [Fri, 3 Sep 2010 16:35:22 +0000 (09:35 -0700)]
am 8ef4d4f3: am 58a661c4: am ddc7d29b: Correct Volatile SGET/SPUT format tag, add missing cases for JIT

Merge commit '8ef4d4f3d050b0130dbf723285990b045f04d5f3' into dalvik-dev

* commit '8ef4d4f3d050b0130dbf723285990b045f04d5f3':
  Correct Volatile SGET/SPUT format tag, add missing cases for JIT

13 years agoam 58a661c4: am ddc7d29b: Correct Volatile SGET/SPUT format tag, add missing cases...
buzbee [Fri, 3 Sep 2010 16:27:53 +0000 (09:27 -0700)]
am 58a661c4: am ddc7d29b: Correct Volatile SGET/SPUT format tag, add missing cases for JIT

Merge commit '58a661c4ec0c18473b6b9814a78896caa74d0c8c'

* commit '58a661c4ec0c18473b6b9814a78896caa74d0c8c':
  Correct Volatile SGET/SPUT format tag, add missing cases for JIT

13 years agoam ddc7d29b: Correct Volatile SGET/SPUT format tag, add missing cases for JIT
buzbee [Fri, 3 Sep 2010 16:22:41 +0000 (09:22 -0700)]
am ddc7d29b: Correct Volatile SGET/SPUT format tag, add missing cases for JIT

Merge commit 'ddc7d29baa92cb24b7bfa80395479f878109f3f8' into gingerbread-plus-aosp

* commit 'ddc7d29baa92cb24b7bfa80395479f878109f3f8':
  Correct Volatile SGET/SPUT format tag, add missing cases for JIT

13 years agoCorrect Volatile SGET/SPUT format tag, add missing cases for JIT
buzbee [Fri, 3 Sep 2010 00:16:24 +0000 (17:16 -0700)]
Correct Volatile SGET/SPUT format tag, add missing cases for JIT

Fix for http://b/issue?id=2971877, which was identified via
debug tracing on http://b/issue?id=2971569.  There were a couple
of problems: first, the volatile sget/sput byte codes had the
wrong format tag (22c instead of 21c).  Second, the JIT was missing
a couple of case statments to handle these.  As far as the JIT goes,
this would not have caused correctness problems, but would have
been slower than necessary.

Change-Id: I57a41c4e063642b0c19acba5bb0855dd8ce2d4ba

13 years agoOperate on bitmaps directly for live and mark checks.
Carl Shapiro [Fri, 3 Sep 2010 06:32:25 +0000 (23:32 -0700)]
Operate on bitmaps directly for live and mark checks.

Previously, the card table scan use the valid object check to see if a
given address pointed to a live object header.  This check is overkill
an requires out of line function calls.  With this change, we query the
bitmaps directly during the scan avoiding significant overhead.

Change-Id: Ifccb93edb97154d44a652735c1d34845adf88740

13 years agoCollect method traces with the fast interpreter and the JIT'ed code.
Ben Cheng [Tue, 31 Aug 2010 16:30:37 +0000 (09:30 -0700)]
Collect method traces with the fast interpreter and the JIT'ed code.

Insert inline code instead of switching to the debug interpreter in the hope
that the time stamps collected in traceview are more close to the real
world behavior with minimal profiling overhead.

Because the inline polling still introduces additional overhead (20% ~ 100%),
it is only enabled in the special VM build called "libdvm_traceview.so".
It won't work on the emulator because it is not implemented to collect the
detailed instruction traces.

Here are some performance numbers using the FibonacciSlow microbenchmark
(ie recursive workloads / the shorter the faster):

       time: configuration
  8,162,602: profiling off/libdvm.so/JIT off
  2,801,829: profiling off/libdvm.so/JIT on
  9,952,236: profiling off/libdvm_traceview.so/JIT off
  4,465,701: profiling off/libdvm_traceview.so/JIT on
164,786,585: profiling on/libdvm.so/JIT off
164,664,634: profiling on/libdvm.so/JIT on
 11,231,707: profiling on/libdvm_traceview.so/JIT off
  8,427,846: profiling on/libdvm_traceview.so/JIT on

Comparing the 8,427,846 vs 164,664,634 numbers againt the true baseline
performance number of 2,801,829, the new libdvm_traceview.so improves the time
skew from 58x to 3x.

Change-Id: I48611a3a4ff9c4950059249e5503c26abd6b138e

13 years agoam 1311c9e5: am 3d1485b1: am d7400e0e: Normalize the declaration style.
Carl Shapiro [Fri, 3 Sep 2010 01:57:55 +0000 (18:57 -0700)]
am 1311c9e5: am 3d1485b1: am d7400e0e: Normalize the declaration style.

Merge commit '1311c9e54386741f846d80c36c8474c0f5b77f6c' into dalvik-dev

* commit '1311c9e54386741f846d80c36c8474c0f5b77f6c':
  Normalize the declaration style.

13 years agoam 3d1485b1: am d7400e0e: Normalize the declaration style.
Carl Shapiro [Fri, 3 Sep 2010 01:53:35 +0000 (18:53 -0700)]
am 3d1485b1: am d7400e0e: Normalize the declaration style.

Merge commit '3d1485b15d83dd920ffb1a826d42ae65f3b31a93'

* commit '3d1485b15d83dd920ffb1a826d42ae65f3b31a93':
  Normalize the declaration style.

13 years agoam d7400e0e: Normalize the declaration style.
Carl Shapiro [Fri, 3 Sep 2010 01:44:15 +0000 (18:44 -0700)]
am d7400e0e: Normalize the declaration style.

Merge commit 'd7400e0ec701dd481489ad421d55c7cd903f77ee' into gingerbread-plus-aosp

* commit 'd7400e0ec701dd481489ad421d55c7cd903f77ee':
  Normalize the declaration style.

13 years agoam b45efe57: am 23cdb738: am 3ba10c99: Use an acquiring CAS for lock acquisition.
Carl Shapiro [Fri, 3 Sep 2010 01:38:59 +0000 (18:38 -0700)]
am b45efe57: am 23cdb738: am 3ba10c99: Use an acquiring CAS for lock acquisition.

Merge commit 'b45efe5722476fb6ad9e66b4b6fba0486f6fc221' into dalvik-dev

* commit 'b45efe5722476fb6ad9e66b4b6fba0486f6fc221':
  Use an acquiring CAS for lock acquisition.