OSDN Git Service
Ben Cheng [Thu, 23 Sep 2010 06:21:00 +0000 (23:21 -0700)]
am
4934b377: Several fixes for JIT and self-verification under corner cases.
Merge commit '
4934b377d9cf5df6f80da7caab4f2178c6cec307' into gingerbread-plus-aosp
* commit '
4934b377d9cf5df6f80da7caab4f2178c6cec307':
Several fixes for JIT and self-verification under corner cases.
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.
(cherry-picked from dalvik-dev)
Change-Id: Ic0b9952c0ae545f68f7eb2ae06a82a634ab62e9e
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.
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
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
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: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.
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
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
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
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 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
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
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
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
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
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.
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
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.
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.
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
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
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.
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
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.
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
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.
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
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
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
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
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.
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
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].
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
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.
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
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.
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
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
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
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
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.
Carl Shapiro [Fri, 3 Sep 2010 01:24:29 +0000 (18:24 -0700)]
Normalize the declaration style.
Change-Id: I204dec4a80672ea10286cefcff7884b15ebaae51
Carl Shapiro [Fri, 3 Sep 2010 00:45:25 +0000 (17:45 -0700)]
am
3ba10c99: Use an acquiring CAS for lock acquisition.
Merge commit '
3ba10c9932db4c7c9546081ea070c73d5001c168' into gingerbread-plus-aosp
* commit '
3ba10c9932db4c7c9546081ea070c73d5001c168':
Use an acquiring CAS for lock acquisition.
Carl Shapiro [Thu, 2 Sep 2010 23:43:16 +0000 (16:43 -0700)]
Use an acquiring CAS for lock acquisition.
Change-Id: Idca782aedc8f2071cdfde2fe3dcba0503fa6c9f0
Carl Shapiro [Thu, 2 Sep 2010 18:35:31 +0000 (11:35 -0700)]
am
7d12781a: Merge "Add additional context to the contention event logging." into gingerbread
Merge commit '
7d12781a1d2d4d4b2e3a6c78a375cb15ea2d96ae' into gingerbread-plus-aosp
* commit '
7d12781a1d2d4d4b2e3a6c78a375cb15ea2d96ae':
Add additional context to the contention event logging.
Carl Shapiro [Thu, 2 Sep 2010 18:28:32 +0000 (11:28 -0700)]
Merge "Add additional context to the contention event logging." into gingerbread
Carl Shapiro [Thu, 2 Sep 2010 01:53:47 +0000 (18:53 -0700)]
am
38d710b5: Move the finger computation out of the bitmap scanning callback.
Merge commit '
38d710b524f2d9888e89b4ea0209f0b57025dab4' into gingerbread-plus-aosp
* commit '
38d710b524f2d9888e89b4ea0209f0b57025dab4':
Move the finger computation out of the bitmap scanning callback.
Carl Shapiro [Thu, 2 Sep 2010 01:50:11 +0000 (18:50 -0700)]
am
a634c852: Reduce the frequency of bitmap walk loop-bound computations.
Merge commit '
a634c852e985dcacf621c428c0597674bc5bfd77' into gingerbread-plus-aosp
* commit '
a634c852e985dcacf621c428c0597674bc5bfd77':
Reduce the frequency of bitmap walk loop-bound computations.
Carl Shapiro [Tue, 31 Aug 2010 23:48:31 +0000 (16:48 -0700)]
Move the finger computation out of the bitmap scanning callback.
The finger computation depends on bitmap internals. This knowledge
should not be part of the bitmap interface, just its implementation.
This change adds a new walker that computes and passes a finger
argument to a callback. As part of this change, code to recompute the
end address during a walk has been removed from the ordinary bitmap
walker code. That check is needed by the scanning walk as its
callback may advance the max address when setting mark bits for
objects beyond the finger.
Carl Shapiro [Thu, 2 Sep 2010 01:45:12 +0000 (18:45 -0700)]
am
c44bca65: Improve the heap verifier\'s failure report.
Merge commit '
c44bca6530787454ee794cf2f83c1c6671a93aa8' into gingerbread-plus-aosp
* commit '
c44bca6530787454ee794cf2f83c1c6671a93aa8':
Improve the heap verifier's failure report.
Carl Shapiro [Mon, 30 Aug 2010 18:10:45 +0000 (11:10 -0700)]
Reduce the frequency of bitmap walk loop-bound computations.
Carl Shapiro [Thu, 2 Sep 2010 01:41:16 +0000 (18:41 -0700)]
am
57ee270b: Simplify the bitmap walker subroutines.
Merge commit '
57ee270b755271166b2349321e5b8b5457731dd7' into gingerbread-plus-aosp
* commit '
57ee270b755271166b2349321e5b8b5457731dd7':
Simplify the bitmap walker subroutines.
Carl Shapiro [Thu, 2 Sep 2010 01:39:20 +0000 (18:39 -0700)]
am
b2e78d39: Consistently refer to the mark context as ctx.
Merge commit '
b2e78d39f6df19a6222b3cd4c7010864fb8cb55f' into gingerbread-plus-aosp
* commit '
b2e78d39f6df19a6222b3cd4c7010864fb8cb55f':
Consistently refer to the mark context as ctx.
Carl Shapiro [Thu, 2 Sep 2010 01:39:17 +0000 (18:39 -0700)]
am
5d81aa32: Collapse a variable declaration and initialization.
Merge commit '
5d81aa327a11f6e929c2396d34c343923268bdc3' into gingerbread-plus-aosp
* commit '
5d81aa327a11f6e929c2396d34c343923268bdc3':
Collapse a variable declaration and initialization.
Carl Shapiro [Thu, 2 Sep 2010 01:39:14 +0000 (18:39 -0700)]
am
7511ae1e: Combine a typedef with a struct declaration.
Merge commit '
7511ae1ed686ccdf6cfefeabeede0cedb0c36b77' into gingerbread-plus-aosp
* commit '
7511ae1ed686ccdf6cfefeabeede0cedb0c36b77':
Combine a typedef with a struct declaration.
Carl Shapiro [Thu, 2 Sep 2010 01:39:07 +0000 (18:39 -0700)]
am
eff16fb8: Use symbolic constants when computing bits-per-word.
Merge commit '
eff16fb843ec191508d2e8306b6dfd8209ede501' into gingerbread-plus-aosp
* commit '
eff16fb843ec191508d2e8306b6dfd8209ede501':
Use symbolic constants when computing bits-per-word.
Carl Shapiro [Thu, 2 Sep 2010 01:38:47 +0000 (18:38 -0700)]
am
ca2d17e5: Merge "Bitmap naming clean-up." into gingerbread
Merge commit '
ca2d17e55ae11434c83e395867d3258f9b9b8474' into gingerbread-plus-aosp
* commit '
ca2d17e55ae11434c83e395867d3258f9b9b8474':
Bitmap naming clean-up.
Elliott Hughes [Thu, 2 Sep 2010 01:38:33 +0000 (18:38 -0700)]
am
a1227409: Intrinsics for float/int and double/long conversions.
Merge commit '
a1227409084c4a675cc83ada128f364506528b9c' into gingerbread-plus-aosp
* commit '
a1227409084c4a675cc83ada128f364506528b9c':
Intrinsics for float/int and double/long conversions.
Carl Shapiro [Fri, 27 Aug 2010 22:21:13 +0000 (15:21 -0700)]
Improve the heap verifier's failure report.
Previously, when a reference verify failed we would print the location
of the bad reference and abort. With this change, when a reference
fails to verify we try to print out more context. First, we dump the
object which contains the bad references and print each reference that
failed verification. Following that, we scan the roots and the heap
and print all of the objects which reference the bad object.
Carl Shapiro [Fri, 27 Aug 2010 20:06:48 +0000 (13:06 -0700)]
Simplify the bitmap walker subroutines.
This change...
* Separates walking from sweeping. Walking had been implemented by a
sweeping with an empty mark bitmap argument.
* Localizes the finger machinations to scanBitmapCallback. There is
one use of the finger but all callbacks received the argument.
* Inlines a simplified bitmap walking routine operating a pointer at a
time. Only sweeping benefits from batching decoded addresses.
Carl Shapiro [Fri, 20 Aug 2010 18:34:18 +0000 (11:34 -0700)]
Consistently refer to the mark context as ctx.
Carl Shapiro [Fri, 20 Aug 2010 18:04:25 +0000 (11:04 -0700)]
Collapse a variable declaration and initialization.
Carl Shapiro [Thu, 19 Aug 2010 23:54:01 +0000 (16:54 -0700)]
Combine a typedef with a struct declaration.
Carl Shapiro [Thu, 19 Aug 2010 21:29:41 +0000 (14:29 -0700)]
Use symbolic constants when computing bits-per-word.
Carl Shapiro [Thu, 2 Sep 2010 01:22:58 +0000 (18:22 -0700)]
Merge "Bitmap naming clean-up." into gingerbread
Carl Shapiro [Thu, 19 Aug 2010 04:04:31 +0000 (21:04 -0700)]
Bitmap naming clean-up.
Disambiguate bitmaps based on their use by adding a "curr" or "prev"
prefix. Also, fix names in a prototype to match the definition.
Elliott Hughes [Sat, 21 Aug 2010 01:47:36 +0000 (18:47 -0700)]
Intrinsics for float/int and double/long conversions.
[cherry-picked
e22bd84c8c8a57ddd86c21a1f65137d549b07935 from dalvik-dev to gingerbread]
Bug:
2935622
Change-Id: Ib4de19033dc4a08f41bf0eb0f7a21dcde216aae3
Dan Bornstein [Wed, 1 Sep 2010 23:58:01 +0000 (16:58 -0700)]
am
4a2b20a1: Let <stdbool.h> (or its substitute) get picked up via the preexisting mechanism in vm/Common.h.
Merge commit '
4a2b20a1128b13dbcda9e7d1114f4d60a02431ed' into gingerbread-plus-aosp
* commit '
4a2b20a1128b13dbcda9e7d1114f4d60a02431ed':
Let <stdbool.h> (or its substitute) get picked up via the preexisting
Dan Bornstein [Wed, 1 Sep 2010 23:44:23 +0000 (16:44 -0700)]
Let <stdbool.h> (or its substitute) get picked up via the preexisting
mechanism in vm/Common.h.
Change-Id: I6b79ee3d67b23d8077567a1bce0a58ae46ceb7f3
Brian Carlstrom [Wed, 1 Sep 2010 21:53:24 +0000 (14:53 -0700)]
am
ba2f27fb: Merge "Removal of more sampling profiler bits" into gingerbread
Merge commit '
ba2f27fb008942b17e603accc08ba07b1e3f1ddc' into gingerbread-plus-aosp
* commit '
ba2f27fb008942b17e603accc08ba07b1e3f1ddc':
Removal of more sampling profiler bits
Brian Carlstrom [Wed, 1 Sep 2010 21:24:13 +0000 (14:24 -0700)]
Merge "Removal of more sampling profiler bits" into gingerbread
Brian Carlstrom [Wed, 1 Sep 2010 17:49:48 +0000 (10:49 -0700)]
Removal of more sampling profiler bits
dalvik/vm/native/SystemThread.[ch] was added for the old sampling
profiler, and can be removed as it's not needed for the new one.
Bug:
2967741
Change-Id: Ibd306b4ba579f9796facbf7a69719b3cb6640762
Dan Bornstein [Wed, 1 Sep 2010 18:55:49 +0000 (11:55 -0700)]
am
f598f762: Merge "Split out the optimized dex file handling into its own file." into gingerbread
Merge commit '
f598f7627b02cacfcb1da56a712d6a1d48ec46ed' into gingerbread-plus-aosp
* commit '
f598f7627b02cacfcb1da56a712d6a1d48ec46ed':
Split out the optimized dex file handling into its own file.
Dan Bornstein [Wed, 1 Sep 2010 18:54:08 +0000 (11:54 -0700)]
Merge "Split out the optimized dex file handling into its own file." into gingerbread
Brian Carlstrom [Wed, 1 Sep 2010 17:44:45 +0000 (10:44 -0700)]
am
0f680873: New Java-based SamplingProfiler
Merge commit '
0f68087322e3a43df3763d3500fc564d147793e7' into gingerbread-plus-aosp
* commit '
0f68087322e3a43df3763d3500fc564d147793e7':
New Java-based SamplingProfiler
Brian Carlstrom [Wed, 18 Aug 2010 21:27:25 +0000 (14:27 -0700)]
New Java-based SamplingProfiler
Summary:
- libcore: new Java based SamplingProfiler
- dalvik: remove old SamplingProfiler native bits
- frameworks/base: New placeholder SamplingProfilerIntegration
- vendor/google: remove old profiler snapshot parsing code
Details:
libcore
A new 100% Java SamplingProfiler. While it has more overhead that
the old native one, the new one can actually collect more than the
current PC and frame pointer, so you can get useful context of
where your app is spending time. It currently provides ASCII hprof
format output for use with tools like PerfAnal
dalvik/src/main/java/dalvik/system/SamplingProfiler.java
Unit test for the new SamplingProfiler
dalvik/src/test/java/dalvik/system/SamplingProfilerTest.java
Add core-tests-dalvik
JavaLibrary.mk
dalvik
Removing native code that supported the old SamplingProfiler
vm/Dvm.mk
vm/native/InternalNative.c
vm/native/dalvik_system_SamplingProfiler.c
frameworks/base
Placeholder SamplingProfilerIntegration. Later plans include
generating EventStackTrace protobufs.
New SamplingProfiler does not have a global instance, so
SamplingProfilerIntegration provides one in INSTANCE. Old binary
snapshot format is temporily replaced with ASCII hprof data.
core/java/com/android/internal/os/SamplingProfilerIntegration.java
Simplified interface for zygote profile snapshotting
core/java/com/android/internal/os/ZygoteInit.java
Current SamplingProfilerIntegration does not track event loop
explicitly, but hprof information does include thread information.
core/java/android/app/ActivityThread.java
vendor/google
Removing code for parsing old SamplingProfiler snapshot format
tools/samplingprofiler/Android.mk
tools/samplingprofiler/NOTICE
tools/samplingprofiler/profiler.iml
tools/samplingprofiler/profiler.ipr
tools/samplingprofiler/pull-snapshots.sh
tools/samplingprofiler/sorttable.js
tools/samplingprofiler/src/com/android/profiler/PrintHtml.java
Carl Shapiro [Tue, 31 Aug 2010 22:11:46 +0000 (15:11 -0700)]
Add additional context to the contention event logging.
Previously it only included the victim of lock contention. With this
change, it also includes the location of the person holding the lock
at the time the victim failed to acquire it.
Bug:
2964633
Change-Id: I888d9c3e7d7611ef5869870c7f8abfb19d236231
Dan Bornstein [Tue, 31 Aug 2010 23:50:00 +0000 (16:50 -0700)]
Split out the optimized dex file handling into its own file.
Also, make the optimized dex data area be consistently referred to as
the "opt" section instead of sometimes the "aux" section.
Change-Id: Id5589c13ce4b53d713f8186314ea886cd884c865
Nick Kralevich [Mon, 30 Aug 2010 21:19:06 +0000 (14:19 -0700)]
am
f36b5723: If there\'s an error dropping privileges, abort.
Merge commit '
f36b57235b765c9eec3c001773b34c59cdefd87a' into gingerbread-plus-aosp
* commit '
f36b57235b765c9eec3c001773b34c59cdefd87a':
If there's an error dropping privileges, abort.
Nick Kralevich [Mon, 30 Aug 2010 19:49:33 +0000 (12:49 -0700)]
If there's an error dropping privileges, abort.
Change-Id: I85ce12e93cb8c297add756dc3b872b8346eda00b
buzbee [Fri, 27 Aug 2010 23:18:02 +0000 (16:18 -0700)]
am
1a509a4e: JIT: Add memory barriers on monitor enter/exit [issue
2951403]
Merge commit '
1a509a4eb0fa468c5713553a7dec488a4e9d9a13' into gingerbread-plus-aosp
* commit '
1a509a4eb0fa468c5713553a7dec488a4e9d9a13':
JIT: Add memory barriers on monitor enter/exit [issue
2951403]
buzbee [Thu, 26 Aug 2010 17:46:51 +0000 (10:46 -0700)]
JIT: Add memory barriers on monitor enter/exit [issue
2951403]
Possibly the cause of [
2950977 error in onDraw() method for stingray]
Change-Id: I3237c95a34daa75cd680b73d426dde11f3611a0e
Ben Cheng [Fri, 27 Aug 2010 06:16:36 +0000 (23:16 -0700)]
am
7eb3f7aa: Make JIT inliner work under single-stepping mode.
Merge commit '
7eb3f7aaf43f07caf0de05ba4ae59e8ea6add796' into gingerbread-plus-aosp
* commit '
7eb3f7aaf43f07caf0de05ba4ae59e8ea6add796':
Make JIT inliner work under single-stepping mode.
Ben Cheng [Fri, 27 Aug 2010 06:13:13 +0000 (23:13 -0700)]
am
fc132a5e: Fix self-verification to handle loop traces with single-step instructions.
Merge commit '
fc132a5e75842b516c4021b2bbfa02e134c46040' into gingerbread-plus-aosp
* commit '
fc132a5e75842b516c4021b2bbfa02e134c46040':
Fix self-verification to handle loop traces with single-step instructions.