OSDN Git Service

android-x86/dalvik.git
13 years agoam 0ff6a7cf: am aa09711b: am 2b9e8c1d: Modify dex-preopt to take better arguments...
Dan Bornstein [Fri, 17 Sep 2010 23:22:10 +0000 (16:22 -0700)]
am 0ff6a7cf: am aa09711b: am 2b9e8c1d: Modify dex-preopt to take better arguments for the build process.

Merge commit '0ff6a7cf52865c2ba9c8fc8c78a22cf1e2873631' into dalvik-dev

* commit '0ff6a7cf52865c2ba9c8fc8c78a22cf1e2873631':
  Modify dex-preopt to take better arguments for the build process.

13 years agoam aa09711b: am 2b9e8c1d: Modify dex-preopt to take better arguments for the build...
Dan Bornstein [Fri, 17 Sep 2010 23:10:34 +0000 (16:10 -0700)]
am aa09711b: am 2b9e8c1d: Modify dex-preopt to take better arguments for the build process.

Merge commit 'aa09711bd901c1eac9b2860609a56650f2dd3bb7'

* commit 'aa09711bd901c1eac9b2860609a56650f2dd3bb7':
  Modify dex-preopt to take better arguments for the build process.

13 years agoMerge "Check at startup that we can resolve all the inline natives." into dalvik-dev
Elliott Hughes [Fri, 17 Sep 2010 21:41:00 +0000 (14:41 -0700)]
Merge "Check at startup that we can resolve all the inline natives." into dalvik-dev

13 years agoCheck at startup that we can resolve all the inline natives.
Elliott Hughes [Wed, 15 Sep 2010 00:42:07 +0000 (17:42 -0700)]
Check at startup that we can resolve all the inline natives.

Also fix a bug where we'd dereference NULL if an inline native's class failed
to resolve.

Also merge this method lookup with Optimize.c's (superior) near-duplicate.

Change-Id: Ic7a95e1f7445b6c9964ddd5e2e1d14d70792a622

13 years agoam 2b9e8c1d: Modify dex-preopt to take better arguments for the build process.
Dan Bornstein [Fri, 17 Sep 2010 20:53:33 +0000 (13:53 -0700)]
am 2b9e8c1d: Modify dex-preopt to take better arguments for the build process.

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

* commit '2b9e8c1db0e886a57a13f778c01469713a8f5985':
  Modify dex-preopt to take better arguments for the build process.

13 years agoModify dex-preopt to take better arguments for the build process.
Dan Bornstein [Fri, 17 Sep 2010 19:54:07 +0000 (12:54 -0700)]
Modify dex-preopt to take better arguments for the build process.

In particular, it now takes a --product-dir that doesn't assume any
particular build tree structure, and it takes a --boot-dir for the
target path (which will be under the product-dir) for the boot
classpath files.

Change-Id: I8986f1d4d37330ab32ebe8b55d38bdd5e24d4aaf

13 years agoam 0cd73fed: am 7c73c80e: am 42929e15: Add optional tags to dalvik.
Jesse Wilson [Fri, 17 Sep 2010 06:22:44 +0000 (23:22 -0700)]
am 0cd73fed: am 7c73c80e: am 42929e15: Add optional tags to dalvik.

Merge commit '0cd73fed767e2d6f6f6147789b2b24bbaffa6670' into dalvik-dev

* commit '0cd73fed767e2d6f6f6147789b2b24bbaffa6670':
  Add optional tags to dalvik.

13 years agoam a7f5cee6: Merge "Add type name conversion methods for dexgen"
Piotr Gurgul [Fri, 17 Sep 2010 05:59:45 +0000 (22:59 -0700)]
am a7f5cee6: Merge "Add type name conversion methods for dexgen"

Merge commit 'a7f5cee6539fbfd6fd145614a5970f05439a648f' into dalvik-dev

* commit 'a7f5cee6539fbfd6fd145614a5970f05439a648f':
  Add type name conversion methods for dexgen

13 years agoam 808380c0: am 806a5160: am 4c5d26bc: Make the app processing variant of dex-preopt...
Dan Bornstein [Fri, 17 Sep 2010 05:59:38 +0000 (22:59 -0700)]
am 808380c0: am 806a5160: am 4c5d26bc: Make the app processing variant of dex-preopt more consistent.

Merge commit '808380c0917481886203e4c8c2c2177487ca3441' into dalvik-dev

* commit '808380c0917481886203e4c8c2c2177487ca3441':
  Make the app processing variant of dex-preopt more consistent.

13 years agoam e4a815d5: Merge "Move up inner class definition"
Piotr Gurgul [Fri, 17 Sep 2010 05:59:31 +0000 (22:59 -0700)]
am e4a815d5: Merge "Move up inner class definition"

Merge commit 'e4a815d57632c806b4627636efbb38ec6e04c008' into dalvik-dev

* commit 'e4a815d57632c806b4627636efbb38ec6e04c008':
  Move up inner class definition

13 years agoam b23451d0: am 3a9aa008: am def30fc2: Clarify the use of --boot-dirs in the header...
Dan Bornstein [Fri, 17 Sep 2010 05:59:21 +0000 (22:59 -0700)]
am b23451d0: am 3a9aa008: am def30fc2: Clarify the use of --boot-dirs in the header comment.

Merge commit 'b23451d0c40d6a8f49b47ce57601fafc23b4958c' into dalvik-dev

* commit 'b23451d0c40d6a8f49b47ce57601fafc23b4958c':

13 years agoam 7c73c80e: am 42929e15: Add optional tags to dalvik.
Jesse Wilson [Fri, 17 Sep 2010 00:38:46 +0000 (17:38 -0700)]
am 7c73c80e: am 42929e15: Add optional tags to dalvik.

Merge commit '7c73c80e187012b57872df0c16a42bde27d5be73'

* commit '7c73c80e187012b57872df0c16a42bde27d5be73':
  Add optional tags to dalvik.

13 years agoam 42929e15: Add optional tags to dalvik.
Jesse Wilson [Fri, 17 Sep 2010 00:37:21 +0000 (17:37 -0700)]
am 42929e15: Add optional tags to dalvik.

Merge commit '42929e15765640324d9181ec1159effd22aa86ca' into gingerbread-plus-aosp

* commit '42929e15765640324d9181ec1159effd22aa86ca':
  Add optional tags to dalvik.

13 years agoAdd optional tags to dalvik.
Jesse Wilson [Thu, 16 Sep 2010 22:56:25 +0000 (15:56 -0700)]
Add optional tags to dalvik.

Change-Id: I29a78ccb6312d12b3ef0ed02cfbc638a5b01db9c

13 years agoMerge "Use store barrier instead of full barrier." into dalvik-dev
Andy McFadden [Fri, 17 Sep 2010 00:21:37 +0000 (17:21 -0700)]
Merge "Use store barrier instead of full barrier." into dalvik-dev

13 years agoMerge "Use Throwable.getMessage() when logging exceptions." into dalvik-dev
Andy McFadden [Thu, 16 Sep 2010 23:03:37 +0000 (16:03 -0700)]
Merge "Use Throwable.getMessage() when logging exceptions." into dalvik-dev

13 years agoUse Throwable.getMessage() when logging exceptions.
Andy McFadden [Thu, 16 Sep 2010 22:32:43 +0000 (15:32 -0700)]
Use Throwable.getMessage() when logging exceptions.

The VM's internal exception logger was pulling the exception's detail
message out of a field in Throwable.  This gets the wrong answer when
the exception overrides getMessage().

The VM now invokes the appropriate getMessage() method and displays
that instead.  This is of particular interest in CheckJNI failure
messages.

Also, don't assert that switching from "running" to "running" is
a problem.  It's a bit weird, but there's nothing wrong with it,
and there's a fair chance that the updated exception log function
will do it.

Bug 2845581

Change-Id: Id8d77221129ae7b45473e700a79a335164049362

13 years agoMerge "Make exception logging a little prettier." into dalvik-dev
Andy McFadden [Thu, 16 Sep 2010 20:45:14 +0000 (13:45 -0700)]
Merge "Make exception logging a little prettier." into dalvik-dev

13 years agoMake exception logging a little prettier.
Andy McFadden [Thu, 16 Sep 2010 20:33:32 +0000 (13:33 -0700)]
Make exception logging a little prettier.

Convert the class descriptor to dotted form when logging an exception
from the VM (e.g. when CheckJNI gets upset).  Instead of

  Ljava/lang/Throwable;: yikes
    at android.test.JNITest.part1a(Native Method)

we now show:

  java.lang.Throwable: yikes
    at android.test.JNITest.part1a(Native Method)

Change-Id: I8b65920b85f03a1871e6a417b43b269b448340d5

13 years agoMerge "Add type name conversion methods for dexgen"
Piotr Gurgul [Thu, 16 Sep 2010 18:15:24 +0000 (11:15 -0700)]
Merge "Add type name conversion methods for dexgen"

13 years agoam 806a5160: am 4c5d26bc: Make the app processing variant of dex-preopt more consistent.
Dan Bornstein [Thu, 16 Sep 2010 02:02:32 +0000 (19:02 -0700)]
am 806a5160: am 4c5d26bc: Make the app processing variant of dex-preopt more consistent.

Merge commit '806a516031e6ff716891d9e471e13ee27ca0c2fe'

* commit '806a516031e6ff716891d9e471e13ee27ca0c2fe':
  Make the app processing variant of dex-preopt more consistent.

13 years agoMerge "Move up inner class definition"
Piotr Gurgul [Thu, 16 Sep 2010 00:33:12 +0000 (17:33 -0700)]
Merge "Move up inner class definition"

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 agoam 4c5d26bc: Make the app processing variant of dex-preopt more consistent.
Dan Bornstein [Wed, 15 Sep 2010 21:55:22 +0000 (14:55 -0700)]
am 4c5d26bc: Make the app processing variant of dex-preopt more consistent.

Merge commit '4c5d26bcfe9027a6e350af70a67cf2b584534509' into gingerbread-plus-aosp

* commit '4c5d26bcfe9027a6e350af70a67cf2b584534509':
  Make the app processing variant of dex-preopt more consistent.

13 years agoMake the app processing variant of dex-preopt more consistent.
Dan Bornstein [Wed, 15 Sep 2010 21:44:01 +0000 (14:44 -0700)]
Make the app processing variant of dex-preopt more consistent.

In particular, make it take paths relative to the product, just like
how the bootclasspath is found and processed.

Change-Id: I3f2a98a6bf6bbcf3145cf9be8edc1c3be4d763b9

13 years agoMove up inner class definition
Piotr Gurgul [Wed, 15 Sep 2010 21:30:00 +0000 (14:30 -0700)]
Move up inner class definition

Placing inner class definition right after enclosing class declaration.

Change-Id: If7ec40c96c3c3e54d7f29002b30e178f82a5d9c6

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 agoUse store barrier instead of full barrier.
Andy McFadden [Wed, 15 Sep 2010 20:40:01 +0000 (13:40 -0700)]
Use store barrier instead of full barrier.

Make use of ANDROID_MEMBAR_STORE when appropriate.  In mterp, define a
new SMP_DMB_ST macro that will (soon) expand into "dmb st" on ARMv7-A
platforms configured for SMP.

Bug 3003477.

Change-Id: I03c09e93e1374d1c668588c9ad52f5c08d3d2435

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 agoAdd type name conversion methods for dexgen
Piotr Gurgul [Mon, 13 Sep 2010 23:56:13 +0000 (16:56 -0700)]
Add type name conversion methods for dexgen

Methods added to Type and CstType classes are supposed to adapt
various type names and signatures from the format returned
by Java reflection into format accepted by ClassDefItem.

Change-Id: Iefbf87cfac89f6041fc9580803ea074a69fb0a55

13 years agoam 3a9aa008: am def30fc2: Clarify the use of --boot-dirs in the header comment.
Dan Bornstein [Wed, 15 Sep 2010 19:32:57 +0000 (12:32 -0700)]
am 3a9aa008: am def30fc2: Clarify the use of --boot-dirs in the header comment.

Merge commit '3a9aa008c9d4bfe29d3e35658a7f227bc4340b43'

* commit '3a9aa008c9d4bfe29d3e35658a7f227bc4340b43':
  Clarify the use of --boot-dirs in the header comment.

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 agoam def30fc2: Clarify the use of --boot-dirs in the header comment.
Dan Bornstein [Tue, 14 Sep 2010 23:21:21 +0000 (16:21 -0700)]
am def30fc2: Clarify the use of --boot-dirs in the header comment.

Merge commit 'def30fc213d62fc93edce2ca63967ab93380075d' into gingerbread-plus-aosp

* commit 'def30fc213d62fc93edce2ca63967ab93380075d':
  Clarify the use of --boot-dirs in the header comment.

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