OSDN Git Service
Ben Cheng [Thu, 23 Sep 2010 08:23:14 +0000 (01:23 -0700)]
Print the JIT codegen type in the VM configuration list.
Example:
Configured with: debugger profiler hprof jit(armv7-a-neon) show_exception=1
So that the CPU capability on JIT-enabled devices can be exposed.
Change-Id: Id35c0f68e0b9885279917ddef00b74f5c92a6786
buzbee [Wed, 22 Sep 2010 21:57:50 +0000 (14:57 -0700)]
Merge "Fix x86 mterp "longjmp"" into dalvik-dev
Andy McFadden [Wed, 22 Sep 2010 21:55:17 +0000 (14:55 -0700)]
am
419215fa: am
8f6d07fa: am
95a884f7: Fix computation of primitive array widths.
Merge commit '
419215faf3ba03185960095cab1a5eec9aab05e9' into dalvik-dev
* commit '
419215faf3ba03185960095cab1a5eec9aab05e9':
Fix computation of primitive array widths.
Andy McFadden [Wed, 22 Sep 2010 21:41:56 +0000 (14:41 -0700)]
am
8f6d07fa: am
95a884f7: Fix computation of primitive array widths.
Merge commit '
8f6d07fa2d6ec4828e824cb89052341171a4b978'
* commit '
8f6d07fa2d6ec4828e824cb89052341171a4b978':
Fix computation of primitive array widths.
Andy McFadden [Wed, 22 Sep 2010 21:29:30 +0000 (14:29 -0700)]
am
95a884f7: Fix computation of primitive array widths.
Merge commit '
95a884f7844a6e7bdd820489742254f3fd002f6d' into gingerbread-plus-aosp
* commit '
95a884f7844a6e7bdd820489742254f3fd002f6d':
Fix computation of primitive array widths.
Elliott Hughes [Wed, 22 Sep 2010 21:27:22 +0000 (14:27 -0700)]
Merge "Fail early rather than crippling the GC if -Xms == -Xmx." into dalvik-dev
Elliott Hughes [Wed, 22 Sep 2010 21:09:07 +0000 (14:09 -0700)]
Fail early rather than crippling the GC if -Xms == -Xmx.
We should revert this when the bug is fixed.
Bug:
2714377
Change-Id: Ie3600ef60fea5e4e5988680042c7e2e595bdc622
Andy McFadden [Wed, 22 Sep 2010 19:13:29 +0000 (12:13 -0700)]
Fix computation of primitive array widths.
The code was comparing class pointers, but the class objects for arrays
of primitives are initialized on demand. If the class wasn't yet
instantiated, the array width code was returning a default value of 4.
This meant the "write values to an array of longs through the unsafe
methods" code was actually scribbling on the wrong part of the array,
which went unnoticed until recently. (The new-ish ldrexd/strexd code
requires 64-bit alignment.)
We now use the existing array element width computation function. The
code needed a bit of rearranging since it expected an instance of the
class rather than the class.
Bug
3023981.
(cherry-pick from dalvik-dev)
Change-Id: Ife3258eb6798f8e7eaee7c7b6793a16137de389b
Andy McFadden [Wed, 22 Sep 2010 21:21:43 +0000 (14:21 -0700)]
Merge "Fix computation of primitive array widths." into dalvik-dev
buzbee [Wed, 22 Sep 2010 21:05:11 +0000 (14:05 -0700)]
Fix x86 mterp "longjmp"
The recent x86 mterp update failed to properly restore callee save
registers when returning from the call to dvmMterpStdRun.
Change-Id: Ied73cc5fb380a6375d1f71ce679003fbc293d08d
Andy McFadden [Wed, 22 Sep 2010 19:37:49 +0000 (12:37 -0700)]
Fix getExceptionMessage().
dvmAddTrackedAlloc() doesn't like NULL objects.
Bug
3023981.
Change-Id: I181e4dab841b063d9e2f450292732d808e70aaba
Andy McFadden [Wed, 22 Sep 2010 19:13:29 +0000 (12:13 -0700)]
Fix computation of primitive array widths.
The code was comparing class pointers, but the class objects for arrays
of primitives are initialized on demand. If the class wasn't yet
instantiated, the array width code was returning a default value of 4.
This meant the "write values to an array of longs through the unsafe
methods" code was actually scribbling on the wrong part of the array,
which went unnoticed until recently. (The new-ish ldrexd/strexd code
requires 64-bit alignment.)
We now use the existing array element width computation function. The
code needed a bit of rearranging since it expected an instance of the
class rather than the class.
Bug
3023981.
Change-Id: I51462978362b6a4fce26e13eda17e1bbc0eac192
Ben Cheng [Wed, 22 Sep 2010 01:57:20 +0000 (18:57 -0700)]
Merge "Several fixes for JIT and self-verification under corner cases." into dalvik-dev
Carl Shapiro [Tue, 21 Sep 2010 20:49:59 +0000 (13:49 -0700)]
am
ce12a935: am
a6199972: am
69259715: Merge "Fix a minor formatting discrepancy in the GC log message." into gingerbread
Merge commit '
ce12a93560050501ca0d395afe3620d8fcfdbad3' into dalvik-dev
* commit '
ce12a93560050501ca0d395afe3620d8fcfdbad3':
Fix a minor formatting discrepancy in the GC log message.
Carl Shapiro [Tue, 21 Sep 2010 20:39:18 +0000 (13:39 -0700)]
am
a6199972: am
69259715: Merge "Fix a minor formatting discrepancy in the GC log message." into gingerbread
Merge commit '
a61999728447ee91e5d4a8937b84f19561d17361'
* commit '
a61999728447ee91e5d4a8937b84f19561d17361':
Fix a minor formatting discrepancy in the GC log message.
Carl Shapiro [Tue, 21 Sep 2010 20:36:47 +0000 (13:36 -0700)]
am
69259715: Merge "Fix a minor formatting discrepancy in the GC log message." into gingerbread
Merge commit '
692597158c3e17fbafe80ec21895754017d4e9f1' into gingerbread-plus-aosp
* commit '
692597158c3e17fbafe80ec21895754017d4e9f1':
Fix a minor formatting discrepancy in the GC log message.
Carl Shapiro [Tue, 21 Sep 2010 20:34:42 +0000 (13:34 -0700)]
Merge "Fix a minor formatting discrepancy in the GC log message." into gingerbread
Carl Shapiro [Tue, 21 Sep 2010 20:28:21 +0000 (13:28 -0700)]
Fix a minor formatting discrepancy in the GC log message.
Change-Id: Ia0233c78f11d5270eefd2b28c6ea239b7ff0de50
buzbee [Tue, 21 Sep 2010 18:26:02 +0000 (11:26 -0700)]
Merge "Fix 64-bit 3-operand multiplication in x86 mterp." into dalvik-dev
buzbee [Tue, 21 Sep 2010 18:03:12 +0000 (11:03 -0700)]
Fix 64-bit 3-operand multiplication in x86 mterp.
rPC was being unspilled a bit late.
Change-Id: Idf73b9eeeb972f3fb1861224397d0592c6d3bb2f
Ben Cheng [Tue, 21 Sep 2010 05:20:31 +0000 (22:20 -0700)]
Several fixes for JIT and self-verification under corner cases.
1) Fix the self-verification mode to handle backward chaining cell
properly when a single-step instruction is in the middle of the cyclic
portion of the trace. Then found issue 2 when changing the JIT
threshold to 1.
2) When the code cache is full, the VM may stop making forward progress
and bounces back and forth between the debug and fast intepreters as the
translation request is constantly rejected. The fix is to stay in the
debug interpreter until the corner case condition is cleared. Then found
issue 3.
3) Under self-verification mode, the code cache reset request may get
delayed indefinitely due to spurious indication that a thread is
running JIT'ed code. Trivial fix - make sure the inJitCodeCache flag is
cleared.
Change-Id: I107eb23102940df07c27c7f2b5cc22e30fbdcd1c
Dan Bornstein [Tue, 21 Sep 2010 02:45:31 +0000 (19:45 -0700)]
am
2984bb58: am
6ea9db55: am
7099d194: Insert "/./" into the input file path when necessary.
Merge commit '
2984bb58fb8ee2e9bb59ef9780975ef9afc203ae' into dalvik-dev
* commit '
2984bb58fb8ee2e9bb59ef9780975ef9afc203ae':
Insert "/./" into the input file path when necessary.
Dan Bornstein [Tue, 21 Sep 2010 02:32:54 +0000 (19:32 -0700)]
am
6ea9db55: am
7099d194: Insert "/./" into the input file path when necessary.
Merge commit '
6ea9db556fcb716f3b420154c0032a4983be7380'
* commit '
6ea9db556fcb716f3b420154c0032a4983be7380':
Insert "/./" into the input file path when necessary.
Dan Bornstein [Mon, 20 Sep 2010 23:27:39 +0000 (16:27 -0700)]
am
7099d194: Insert "/./" into the input file path when necessary.
Merge commit '
7099d194aeb7d0524108aa3d4ed8a8da0595c007' into gingerbread-plus-aosp
* commit '
7099d194aeb7d0524108aa3d4ed8a8da0595c007':
Insert "/./" into the input file path when necessary.
Dan Bornstein [Mon, 20 Sep 2010 23:13:54 +0000 (16:13 -0700)]
Insert "/./" into the input file path when necessary.
This is necessary, in particular, when the input file is on the
boot classpath.
Change-Id: I18822d7b2eceba0eb15d5548a87bff5bb641788f
Carl Shapiro [Mon, 20 Sep 2010 19:48:18 +0000 (12:48 -0700)]
am
1191f662: am
60d48755: am
43c54c0b: Ensure that an explicit GC request initiates a GC.
Merge commit '
1191f6626e93a569b90692ca4c85602739a7f4d0' into dalvik-dev
* commit '
1191f6626e93a569b90692ca4c85602739a7f4d0':
Ensure that an explicit GC request initiates a GC.
Carl Shapiro [Mon, 20 Sep 2010 19:12:51 +0000 (12:12 -0700)]
am
60d48755: am
43c54c0b: Ensure that an explicit GC request initiates a GC.
Merge commit '
60d487552319a1921629978806fdffc8fe90dc8a'
* commit '
60d487552319a1921629978806fdffc8fe90dc8a':
Ensure that an explicit GC request initiates a GC.
Carl Shapiro [Mon, 20 Sep 2010 19:10:33 +0000 (12:10 -0700)]
am
43c54c0b: Ensure that an explicit GC request initiates a GC.
Merge commit '
43c54c0b3a5161dedfee9c255e60788627ed8505' into gingerbread-plus-aosp
* commit '
43c54c0b3a5161dedfee9c255e60788627ed8505':
Ensure that an explicit GC request initiates a GC.
buzbee [Sun, 12 Sep 2010 21:20:01 +0000 (14:20 -0700)]
x86 mterp: reduce x86/x86-atom differences
To ease future x86 development, elminate unnecessary differences
between x86 and x86-atom targets.
1. Macros instead of defines (cosmetic change)
2. Register naming convention (cosmetic change)
3. Register usage convention
- Drop rIBASE, freeing %edx for general usage
- use %edi for rPC (callee-save) & eliminate spills
4. Spill & temp frame layout
5. rGLUE usage 0(%ebp) instead of -24(%ebp)
6. Jump table transition between instruction interpretations
instead of computed goto.
7. Change entry convention for instruction handlers:
Previously:
%bl contains 8-bit Dalvik opcode
%bh contains 2nd half of 16-bit Dalvik insn (usually AA or BA)
upper 16 bits of %ebx are zero
Now:
%bl contains 2nd half of 16-bit Dalvik insn (usually AA or BA)
upper 24 bits of %ebx are zero
8. Include copies of x86-atom macros and defines into x86 build. This
allows the x86 build to mix-and-match x86 and x86-atom handlers
via the normal config mechanism. [Note - only for non-control-flow
instructions. There are still some conflicts in the footer.S
main loop re-entry points].
Change-Id: Ib9d549b56f7ffd7420f9dbf97b2169f65603ee83
Andy McFadden [Mon, 20 Sep 2010 17:23:46 +0000 (10:23 -0700)]
Merge "I gave some bad advice." into dalvik-dev
Andy McFadden [Mon, 20 Sep 2010 17:22:20 +0000 (10:22 -0700)]
I gave some bad advice.
Change-Id: I155da7b5dd3a3f450a904ccf33a1c01c6949ea18
buzbee [Fri, 17 Sep 2010 23:01:49 +0000 (16:01 -0700)]
Add source code skeletons for x86 work. No actual JIT'ng yet.
Change-Id: Ic94a916e777e9bc5163cf205899daf9c18dcafe1
Andy McFadden [Mon, 20 Sep 2010 14:45:14 +0000 (07:45 -0700)]
Merge "Provide "ordered" put calls." into dalvik-dev
Andy McFadden [Mon, 20 Sep 2010 14:44:42 +0000 (07:44 -0700)]
Merge "Staticify." into dalvik-dev
Carl Shapiro [Sat, 18 Sep 2010 07:23:41 +0000 (00:23 -0700)]
am
3fc70b4b: am
ac347a94: am
18131c2e: Merge "Add more context to the garbage collection log messages." into gingerbread
Merge commit '
3fc70b4bcb20ff9cff3cdd3179ee4d5e1923a31b' into dalvik-dev
* commit '
3fc70b4bcb20ff9cff3cdd3179ee4d5e1923a31b':
Add more context to the garbage collection log messages.
Carl Shapiro [Sat, 18 Sep 2010 07:14:48 +0000 (00:14 -0700)]
am
ac347a94: am
18131c2e: Merge "Add more context to the garbage collection log messages." into gingerbread
Merge commit '
ac347a94098d4563686152471b694a2be6e3d2e4'
* commit '
ac347a94098d4563686152471b694a2be6e3d2e4':
Add more context to the garbage collection log messages.
Carl Shapiro [Sat, 18 Sep 2010 02:29:15 +0000 (19:29 -0700)]
am
18131c2e: Merge "Add more context to the garbage collection log messages." into gingerbread
Merge commit '
18131c2e1426ba836b5a508842cd370d95d0a964' into gingerbread-plus-aosp
* commit '
18131c2e1426ba836b5a508842cd370d95d0a964':
Add more context to the garbage collection log messages.
Carl Shapiro [Sat, 18 Sep 2010 00:10:48 +0000 (17:10 -0700)]
Ensure that an explicit GC request initiates a GC.
Previously, if a concurrent GC was in-flight when an explicit GC was
requested a warning would be logged about a recursive GC attempt. Now,
the requesting thread will block until the GC is inactive and afterward
initiate its foreground collection.
Change-Id: Ibc4cef83315ffe7ccf822a32beb4cce5b1c816bd
Dan Bornstein [Fri, 17 Sep 2010 23:22:13 +0000 (16:22 -0700)]
am
5cd3265c: am
10d11e92: am
49f62de0: Add --dexopt option to explicitly specify the dexopt binary.
Merge commit '
5cd3265caa673e140575d167c1d90fe3d3f29e4e' into dalvik-dev
* commit '
5cd3265caa673e140575d167c1d90fe3d3f29e4e':
Add --dexopt option to explicitly specify the dexopt binary.
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.
Dan Bornstein [Fri, 17 Sep 2010 23:10:52 +0000 (16:10 -0700)]
am
10d11e92: am
49f62de0: Add --dexopt option to explicitly specify the dexopt binary.
Merge commit '
10d11e9205d9277e274d28801d881964ac092aea'
* commit '
10d11e9205d9277e274d28801d881964ac092aea':
Add --dexopt option to explicitly specify the dexopt binary.
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.
Carl Shapiro [Fri, 17 Sep 2010 23:05:35 +0000 (16:05 -0700)]
Merge "Add more context to the garbage collection log messages." into gingerbread
Carl Shapiro [Fri, 17 Sep 2010 22:53:16 +0000 (15:53 -0700)]
Add more context to the garbage collection log messages.
With this change, the heap size, number of bytes allocated, the
percentage of free heap, the external allocation limit, and the number
of external bytes allocated are logged. The number of objects freed
and suspend times are no longer logged but are still included in the
event log records.
Change-Id: I5d5a9d623ae8cb72ad7d4bc5014e218c61a33561
Andy McFadden [Fri, 17 Sep 2010 22:48:38 +0000 (15:48 -0700)]
Staticify.
Mark some functions "static".
Change-Id: Ia80bccab1f72690729e43f99783d34fe366108b2
Andy McFadden [Fri, 17 Sep 2010 21:54:24 +0000 (14:54 -0700)]
Provide "ordered" put calls.
Implement "ordered" Unsafe "put" calls, which are less expensive than
the volatile puts but provide more guarantees that plain puts. The
implementation is just a clone of the basic "put" functions with the
new store fence macro inserted.
Bug
2579452
Change-Id: If08f5d51d3ea47a4ff0925a86ad8e168721c9e55
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
Dan Bornstein [Fri, 17 Sep 2010 21:22:06 +0000 (14:22 -0700)]
am
49f62de0: Add --dexopt option to explicitly specify the dexopt binary.
Merge commit '
49f62de02d20143f73d7afbb4c5e36a6b7082c3a' into gingerbread-plus-aosp
* commit '
49f62de02d20143f73d7afbb4c5e36a6b7082c3a':
Add --dexopt option to explicitly specify the dexopt binary.
Dan Bornstein [Fri, 17 Sep 2010 21:11:19 +0000 (14:11 -0700)]
Add --dexopt option to explicitly specify the dexopt binary.
Also, cleaned up the docs and usage message a little.
Change-Id: I5bb0ce1b4f8153c19da69fca05cd9318c7e02536
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
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.
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
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.
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
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.
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
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':
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.
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.
Jesse Wilson [Thu, 16 Sep 2010 22:56:25 +0000 (15:56 -0700)]
Add optional tags to dalvik.
Change-Id: I29a78ccb6312d12b3ef0ed02cfbc638a5b01db9c
Andy McFadden [Fri, 17 Sep 2010 00:21:37 +0000 (17:21 -0700)]
Merge "Use store barrier instead of full barrier." 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
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
Andy McFadden [Thu, 16 Sep 2010 20:45:14 +0000 (13:45 -0700)]
Merge "Make exception logging a little prettier." into dalvik-dev
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
Piotr Gurgul [Thu, 16 Sep 2010 18:15:24 +0000 (11:15 -0700)]
Merge "Add type name conversion methods for dexgen"
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.
Piotr Gurgul [Thu, 16 Sep 2010 00:33:12 +0000 (17:33 -0700)]
Merge "Move up inner class definition"
Brian Carlstrom [Wed, 15 Sep 2010 22:24:08 +0000 (15:24 -0700)]
Merge commit '
def30fc213d62fc93edce2ca63967ab93380075d' into mm
Change-Id: Ifb62d9074c3717c01bac712749f89c81757ebb33
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.
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
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
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
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
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
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
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.
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.
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
Andy McFadden [Wed, 15 Sep 2010 17:32:20 +0000 (10:32 -0700)]
No longer exciting.
Bug
3001709.
Change-Id: I7cb2033265f419b8a0cfc148cbc8e976686489d9
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
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.
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
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.
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
Andy McFadden [Tue, 14 Sep 2010 14:51:16 +0000 (07:51 -0700)]
Merge "Emit return-void-barrier when appropriate." into dalvik-dev
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.
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.
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.
Dan Bornstein [Mon, 13 Sep 2010 22:37:28 +0000 (15:37 -0700)]
First possibly-working cut of dex-preopt.
Change-Id: I65c8ca76d75285ebd510babe5d0b3e0a157f82b7
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
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.
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.
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.
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.
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
Piotr Gurgul [Mon, 13 Sep 2010 21:02:31 +0000 (14:02 -0700)]
Merge "Add several classes from dx tool to the dexgen project"
Andy McFadden [Mon, 13 Sep 2010 21:02:24 +0000 (14:02 -0700)]
Merge "Added a barrier to final field updates." into dalvik-dev
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.
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