OSDN Git Service
Carl Shapiro [Thu, 30 Sep 2010 18:24:50 +0000 (11:24 -0700)]
am
0cb51973: am
d4cdb357: Merge "Update the card table scanning for header-only card marks." into gingerbread
Merge commit '
0cb519734afc574b2ca60d72ced1e9fc46a8f4c9'
* commit '
0cb519734afc574b2ca60d72ced1e9fc46a8f4c9':
Update the card table scanning for header-only card marks.
Dan Bornstein [Thu, 30 Sep 2010 03:35:10 +0000 (20:35 -0700)]
am
c315cbf1: am
87f66617: Add --uniprocessor option to dex-preopt.
Merge commit '
c315cbf15411e9b4b1f7a9732f16117eaea7afcb'
* commit '
c315cbf15411e9b4b1f7a9732f16117eaea7afcb':
Add --uniprocessor option to dex-preopt.
Carl Shapiro [Wed, 29 Sep 2010 19:40:05 +0000 (12:40 -0700)]
am
d4cdb357: Merge "Update the card table scanning for header-only card marks." into gingerbread
Merge commit '
d4cdb3572b489e770d20a6afba0f86563f380825' into gingerbread-plus-aosp
* commit '
d4cdb3572b489e770d20a6afba0f86563f380825':
Update the card table scanning for header-only card marks.
Carl Shapiro [Wed, 29 Sep 2010 19:38:19 +0000 (12:38 -0700)]
Merge "Update the card table scanning for header-only card marks." into gingerbread
Dan Bornstein [Wed, 29 Sep 2010 17:04:22 +0000 (10:04 -0700)]
am
87f66617: Add --uniprocessor option to dex-preopt.
Merge commit '
87f666172f55863d6a50762a1a07a31b67eb48f6' into gingerbread-plus-aosp
* commit '
87f666172f55863d6a50762a1a07a31b67eb48f6':
Add --uniprocessor option to dex-preopt.
Carl Shapiro [Wed, 29 Sep 2010 08:09:11 +0000 (01:09 -0700)]
Update the card table scanning for header-only card marks.
Previously, the card table accessors assumed that objects had either
their header marked or would be marked exactly. As such, after
reckoning a marked card the scan would back up until it found an
object header and then move forward blackening each object within the
address range of the marked card.
Following a recent change we exclusively mark headers. The scan only
has to move forward until the end of a card. This saves scanning time
as dlmalloc's binning may leave large segments of the heap unused. It
is not uncommon for hundreds of cards to be spanned when backing up to
the first live object below a marked card.
In addition, this change fixes the card table verifier to search the
mark stack for gray objects. It is permissible for roots to point to
white objects on unmarked cards. This was incorrectly treated as an
error.
Change-Id: Ia6b6ee2012e381d644b8b3f38b39d746749ea47a
Dan Bornstein [Wed, 29 Sep 2010 01:53:28 +0000 (18:53 -0700)]
Add --uniprocessor option to dex-preopt.
This tells the preoptimizer to target a uniprocessor (unsurprisingly).
By default, it targets SMP, which makes it do more changes than it has
to for a uniprocessor (e.g. editing how non-wide volatile fields are
accessed within bytecode). To be clear, when SMP-optimized code is run
on a uniprocessor, it should still work. We're just aiming to only
make truly necessary changes during optimization.
While I was in the territory, I went ahead and cleaned up some single
vs. double quote hygiene in the file.
Change-Id: Ia45992939a436d0be6db8363c43d430de4acb80b
Dan Bornstein [Wed, 29 Sep 2010 01:40:01 +0000 (18:40 -0700)]
am
b3a94965: am
148283d7: Plumb SMP optimization control through to dexopt.
Merge commit '
b3a949656a773953a44b148a6cdcba19f1c48e87'
* commit '
b3a949656a773953a44b148a6cdcba19f1c48e87':
Plumb SMP optimization control through to dexopt.
Dan Bornstein [Wed, 29 Sep 2010 01:37:39 +0000 (18:37 -0700)]
am
148283d7: Plumb SMP optimization control through to dexopt.
Merge commit '
148283d71a7e35b9b506cbb49294b6822719c25e' into gingerbread-plus-aosp
* commit '
148283d71a7e35b9b506cbb49294b6822719c25e':
Plumb SMP optimization control through to dexopt.
Andy McFadden [Wed, 29 Sep 2010 00:38:21 +0000 (17:38 -0700)]
am
63114829: am
de9cdfa9: Fix verification of switch offsets in large methods.
Merge commit '
63114829802ecdade4c95fe08a02acec67bd17bd'
* commit '
63114829802ecdade4c95fe08a02acec67bd17bd':
Fix verification of switch offsets in large methods.
Dan Bornstein [Tue, 28 Sep 2010 22:46:54 +0000 (15:46 -0700)]
Plumb SMP optimization control through to dexopt.
Change-Id: I3bfaf6723e7b14d001f9de60cc1c1fd4f8e1ed99
buzbee [Tue, 28 Sep 2010 22:22:48 +0000 (15:22 -0700)]
resolved conflicts for merge of
2e75e47d to master
Change-Id: I644b3cd50e3c63b209741c8b818b4c1435ee8218
Andy McFadden [Tue, 28 Sep 2010 22:15:04 +0000 (15:15 -0700)]
am
de9cdfa9: Fix verification of switch offsets in large methods.
Merge commit '
de9cdfa9d6d5fa5c46a0ec0f3f1e8de08a688841' into gingerbread-plus-aosp
* commit '
de9cdfa9d6d5fa5c46a0ec0f3f1e8de08a688841':
Fix verification of switch offsets in large methods.
Andy McFadden [Tue, 28 Sep 2010 21:43:28 +0000 (14:43 -0700)]
Fix verification of switch offsets in large methods.
The verifier was only using the low 16 bits when checking the offset
to a switch table. This was failing on really large methods.
We also blew up the arbitrary size cap again, so I made it a warning
rather than a failure (it really wasn't doing anybody any good).
Changed to width-specific types for the various offsets and sizes.
Bug
3044850.
(cherry-pick+squash from dalvik-dev)
Change-Id: Ic7ebb86728cb39151f617a3e69e1c1994e61b5d9
Carl Shapiro [Tue, 28 Sep 2010 21:00:06 +0000 (14:00 -0700)]
am
252dfcbb: am
b755f9a3: Do not grow if we are invoked for an external allocation.
Merge commit '
252dfcbbc8ab27ba7f86908fbf8c13425d166a70'
* commit '
252dfcbbc8ab27ba7f86908fbf8c13425d166a70':
Do not grow if we are invoked for an external allocation.
buzbee [Tue, 28 Sep 2010 19:28:21 +0000 (12:28 -0700)]
am
b36ea791: Merge "Change GC card making to use object head, bug fix for volatile sput obj" into gingerbread
Merge commit '
b36ea7918612c81cb42ff2021443358a9f109a6d' into gingerbread-plus-aosp
* commit '
b36ea7918612c81cb42ff2021443358a9f109a6d':
Change GC card making to use object head, bug fix for volatile sput obj
buzbee [Tue, 28 Sep 2010 19:26:06 +0000 (12:26 -0700)]
Merge "Change GC card making to use object head, bug fix for volatile sput obj" into gingerbread
Carl Shapiro [Tue, 28 Sep 2010 18:35:26 +0000 (11:35 -0700)]
am
b755f9a3: Do not grow if we are invoked for an external allocation.
Merge commit '
b755f9a3caeaf65e95480ac66c2c95553bf79389' into gingerbread-plus-aosp
* commit '
b755f9a3caeaf65e95480ac66c2c95553bf79389':
Do not grow if we are invoked for an external allocation.
Carl Shapiro [Tue, 28 Sep 2010 17:56:55 +0000 (10:56 -0700)]
am
ee0a6abe: am
e8edf08f: Perform only one garbage collection before attempting a trim.
Merge commit '
ee0a6abec5a36d52cf9ddc09278cf3af7fe17ea1'
* commit '
ee0a6abec5a36d52cf9ddc09278cf3af7fe17ea1':
Perform only one garbage collection before attempting a trim.
buzbee [Mon, 27 Sep 2010 18:30:22 +0000 (11:30 -0700)]
Change GC card making to use object head, bug fix for volatile sput obj
This CL changes the way we mark GC card to consistently use the object
head (previously, we marked somewhere in the object - often the head, but
not always). Also, previously a coding error caused us to skip the card
mark for OP_APUT_OBJECT_VOLATILES. Fixed here.
Change-Id: I133ef6395c51a0466c9708209b08e79c3083aff2
Carl Shapiro [Tue, 28 Sep 2010 04:02:35 +0000 (21:02 -0700)]
am
ab7d3a27: am
812c1bed: Provide the required out parameter to the trim routine.
Merge commit '
ab7d3a27de4d9b1302640df5e1a42bd180259711'
* commit '
ab7d3a27de4d9b1302640df5e1a42bd180259711':
Provide the required out parameter to the trim routine.
Carl Shapiro [Tue, 28 Sep 2010 00:25:49 +0000 (17:25 -0700)]
Do not grow if we are invoked for an external allocation.
The garbage collection can elect to grow the size of an mspace if the
heap utilization is sufficiently large. This can remove pages from use
by the external allocation mechanism.
Change-Id: Ie2e9e3da9251068707a60a5835b50e485031578b
Carl Shapiro [Tue, 28 Sep 2010 02:47:16 +0000 (19:47 -0700)]
am
e8edf08f: Perform only one garbage collection before attempting a trim.
Merge commit '
e8edf08f04ecbe37f3e18a650a7c9002ceee4275' into gingerbread-plus-aosp
* commit '
e8edf08f04ecbe37f3e18a650a7c9002ceee4275':
Perform only one garbage collection before attempting a trim.
Carl Shapiro [Mon, 27 Sep 2010 23:55:21 +0000 (16:55 -0700)]
Perform only one garbage collection before attempting a trim.
Change-Id: Id7ea77fd8e6055a76a5f52bb96dd0544f88ce06b
Carl Shapiro [Mon, 27 Sep 2010 21:29:18 +0000 (14:29 -0700)]
am
812c1bed: Provide the required out parameter to the trim routine.
Merge commit '
812c1bed55e0ed9b092d320cb29d8adc17e5a10b' into gingerbread-plus-aosp
* commit '
812c1bed55e0ed9b092d320cb29d8adc17e5a10b':
Provide the required out parameter to the trim routine.
Carl Shapiro [Mon, 27 Sep 2010 21:10:10 +0000 (14:10 -0700)]
Provide the required out parameter to the trim routine.
Resolves http://b/issue?id=
3040192.
Change-Id: I886a2dc99956b06e953f03ac390865b118b634a3
Dan Bornstein [Sun, 26 Sep 2010 23:04:51 +0000 (16:04 -0700)]
am
41ad1bc3: am
85dc40d2: Take another tilt at the "--core-library" messaging windmill.
Merge commit '
41ad1bc3aa0ca63d8d66a36f45b6f7b2261b40a7'
* commit '
41ad1bc3aa0ca63d8d66a36f45b6f7b2261b40a7':
Take another tilt at the "--core-library" messaging windmill.
Dan Bornstein [Sun, 26 Sep 2010 23:02:23 +0000 (16:02 -0700)]
am
85dc40d2: Take another tilt at the "--core-library" messaging windmill.
Merge commit '
85dc40d2a0cb19792bf3ee6f6c57fed08eb91ea4' into gingerbread-plus-aosp
* commit '
85dc40d2a0cb19792bf3ee6f6c57fed08eb91ea4':
Take another tilt at the "--core-library" messaging windmill.
Dan Bornstein [Sun, 26 Sep 2010 22:03:28 +0000 (15:03 -0700)]
Take another tilt at the "--core-library" messaging windmill.
This time, I added a note about what appears to be the most common
inadvertent triggering, and I point people at JarJar as a possible
solution when the core class inclusion was intentional.
Change-Id: I2d576df0b8944882838cbb6e2b050d59434a238b
Norris, Lee [Sun, 26 Sep 2010 16:13:21 +0000 (09:13 -0700)]
am
50672515: am
60cc993e: Support -Xbootclasspath/a and /p for dvmProcessOptions in dalvik/vm/Init.c
Merge commit '
506725152f92738218823ed52e437458a043c7cb'
* commit '
506725152f92738218823ed52e437458a043c7cb':
Support -Xbootclasspath/a and /p for dvmProcessOptions in dalvik/vm/Init.c
Norris, Lee [Sun, 26 Sep 2010 16:09:47 +0000 (09:09 -0700)]
am
60cc993e: Support -Xbootclasspath/a and /p for dvmProcessOptions in dalvik/vm/Init.c
Merge commit '
60cc993e5afb3327482b172cc7e54c469b231741' into gingerbread-plus-aosp
* commit '
60cc993e5afb3327482b172cc7e54c469b231741':
Support -Xbootclasspath/a and /p for dvmProcessOptions in dalvik/vm/Init.c
Carl Shapiro [Sat, 25 Sep 2010 00:52:39 +0000 (17:52 -0700)]
am
4f85bfce: am
35b0f486: Merge "Wait for the GC to quiesce before attempting foreground GCs." into gingerbread
Merge commit '
4f85bfcebb2617b8776a07ed0c030aba40d2314a'
* commit '
4f85bfcebb2617b8776a07ed0c030aba40d2314a':
Wait for the GC to quiesce before attempting foreground GCs.
Carl Shapiro [Sat, 25 Sep 2010 00:49:51 +0000 (17:49 -0700)]
am
35b0f486: Merge "Wait for the GC to quiesce before attempting foreground GCs." into gingerbread
Merge commit '
35b0f486feb23a5c199c02ab45bfa613503e2b8f' into gingerbread-plus-aosp
* commit '
35b0f486feb23a5c199c02ab45bfa613503e2b8f':
Wait for the GC to quiesce before attempting foreground GCs.
Carl Shapiro [Sat, 25 Sep 2010 00:47:37 +0000 (17:47 -0700)]
Merge "Wait for the GC to quiesce before attempting foreground GCs." into gingerbread
Carl Shapiro [Sat, 25 Sep 2010 00:36:53 +0000 (17:36 -0700)]
Wait for the GC to quiesce before attempting foreground GCs.
Previously, dvmTrackExternalAllocation waited for the GC to complete
before retrying its allocation. However, there is no guarantee that
the GC will not be active at the time we are woken. Furthermore, the
code did not revalidate that the external allocation is still
possible, an assumption made by all externalAlloc calls.
With this change, the code loops until the GC is no longer active,
validates that the allocation is still possible, and then proceeds
with its routine for allocating additional storage. In addition, if
we try a few heroic measures to establish the externalAllocPossible
invariant rather than immediately failing the call.
Change-Id: I2e3b8a6c9fab617990edc085f52d0df35ad6d0f6
Andy McFadden [Fri, 24 Sep 2010 23:03:02 +0000 (16:03 -0700)]
am
a342c5a9: am
ddd9d0b3: Show errors from getSchedulerGroup().
Merge commit '
a342c5a9a3c475cfe0ebe579af4250b71d952cbf'
* commit '
a342c5a9a3c475cfe0ebe579af4250b71d952cbf':
Show errors from getSchedulerGroup().
Andy McFadden [Fri, 24 Sep 2010 22:54:54 +0000 (15:54 -0700)]
am
ddd9d0b3: Show errors from getSchedulerGroup().
Merge commit '
ddd9d0b3527072f83db00105e28fa88c47bd763b' into gingerbread-plus-aosp
* commit '
ddd9d0b3527072f83db00105e28fa88c47bd763b':
Show errors from getSchedulerGroup().
Andy McFadden [Fri, 24 Sep 2010 21:18:03 +0000 (14:18 -0700)]
Show errors from getSchedulerGroup().
If we failed to get the cgroup info, we were showing "unknown" in the
stack trace, and sometimes showing an error message in the log file.
Now we put a very brief error description into the cgroup text field,
so it shows up in the stack trace itself.
Also, replaced three strsep() calls with two strchr() calls.
Also, check return value from pthread_kill() calls.
Bug
3032532.
Change-Id: I3730cfb8a5c59048d35d746d8bffb4fa61bd5a6c
Brian Carlstrom [Fri, 24 Sep 2010 21:14:21 +0000 (14:14 -0700)]
Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master
Dima Zavin [Fri, 24 Sep 2010 06:45:57 +0000 (23:45 -0700)]
am
9b55721f: am
85a3c66f: am
b14f405c: Turn off verbose chatter about libs in /vendor
Merge commit '
9b55721ff026fe0d8aa2b9d2c71255151b15ca52' into dalvik-dev
* commit '
9b55721ff026fe0d8aa2b9d2c71255151b15ca52':
Turn off verbose chatter about libs in /vendor
Dima Zavin [Fri, 24 Sep 2010 06:42:02 +0000 (23:42 -0700)]
am
85a3c66f: am
b14f405c: Turn off verbose chatter about libs in /vendor
Merge commit '
85a3c66f556ef3a4f6cf64bf1d7c1bafe60795d6'
* commit '
85a3c66f556ef3a4f6cf64bf1d7c1bafe60795d6':
Turn off verbose chatter about libs in /vendor
Dima Zavin [Fri, 24 Sep 2010 06:34:41 +0000 (23:34 -0700)]
am
b14f405c: Turn off verbose chatter about libs in /vendor
Merge commit '
b14f405c4492f770c14c9252e81ff4df4401c0ef' into gingerbread-plus-aosp
* commit '
b14f405c4492f770c14c9252e81ff4df4401c0ef':
Turn off verbose chatter about libs in /vendor
Ben Cheng [Fri, 24 Sep 2010 06:01:09 +0000 (23:01 -0700)]
am
72a1940f: am
6634a3c3: am
629e6923: Print the JIT codegen type in the VM configuration list.
Merge commit '
72a1940f5169b2af6d25a8bb0059edaaa951a96a' into dalvik-dev
* commit '
72a1940f5169b2af6d25a8bb0059edaaa951a96a':
Print the JIT codegen type in the VM configuration list.
Ben Cheng [Fri, 24 Sep 2010 05:50:18 +0000 (22:50 -0700)]
am
6634a3c3: am
629e6923: Print the JIT codegen type in the VM configuration list.
Merge commit '
6634a3c373ae46893234f0d92264e1d7d97f083d'
* commit '
6634a3c373ae46893234f0d92264e1d7d97f083d':
Print the JIT codegen type in the VM configuration list.
Dima Zavin [Fri, 24 Sep 2010 05:38:45 +0000 (22:38 -0700)]
Turn off verbose chatter about libs in /vendor
Change-Id: I243d538d342b5e0424321b09b2b17555ef6343dd
Signed-off-by: Dima Zavin <dima@android.com>
Ben Cheng [Fri, 24 Sep 2010 03:16:50 +0000 (20:16 -0700)]
am
629e6923: Print the JIT codegen type in the VM configuration list.
Merge commit '
629e692379a8b12641a4402ff1c9f67af879f68e' into gingerbread-plus-aosp
* commit '
629e692379a8b12641a4402ff1c9f67af879f68e':
Print the JIT codegen type in the VM configuration list.
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.
(cherry-picked from dalvik-dev)
Change-Id: I887201e7023ca94cd9c3d690f03b7b042175e6ed
Ben Cheng [Fri, 24 Sep 2010 02:06:02 +0000 (19:06 -0700)]
Merge "Print the JIT codegen type in the VM configuration list." into dalvik-dev
Brett Chabot [Thu, 23 Sep 2010 23:56:56 +0000 (16:56 -0700)]
am
4cd5f4e3: Merge "Add user-friendly constructors to StdField"
Merge commit '
4cd5f4e3732f5fc5f4f13aeefc1a479f2bf77618' into dalvik-dev
* commit '
4cd5f4e3732f5fc5f4f13aeefc1a479f2bf77618':
Add user-friendly constructors to StdField
Brett Chabot [Thu, 23 Sep 2010 23:51:18 +0000 (16:51 -0700)]
Merge "Add user-friendly constructors to StdField"
Piotr Gurgul [Thu, 23 Sep 2010 18:30:14 +0000 (11:30 -0700)]
Add user-friendly constructors to StdField
This is to simplify programmatic use of StdField to create dex fields
dynamically without knowledge of the dex internal format.
Change-Id: Ib11980509e0336d1e0253b6d480240d6832b73dd
buzbee [Thu, 23 Sep 2010 18:04:05 +0000 (11:04 -0700)]
Fix the dalvik-dev build
Looks like some code got duplicated.
Change-Id: Ia304dbf41172fa940db848324acc4f6ed7917fee
Ben Cheng [Thu, 23 Sep 2010 16:57:11 +0000 (09:57 -0700)]
am
7232f715: am
ce3de859: am
4934b377: Several fixes for JIT and self-verification under corner cases.
Merge commit '
7232f7150c2757c6784171cd0c96f90d0e438bca' into dalvik-dev
* commit '
7232f7150c2757c6784171cd0c96f90d0e438bca':
Several fixes for JIT and self-verification under corner cases.
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
Ben Cheng [Thu, 23 Sep 2010 07:10:45 +0000 (00:10 -0700)]
am
ce3de859: am
4934b377: Several fixes for JIT and self-verification under corner cases.
Merge commit '
ce3de859ef352e91d6cfd368014e4ccfe95595d9'
* commit '
ce3de859ef352e91d6cfd368014e4ccfe95595d9':
Several fixes for JIT and self-verification under corner cases.
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
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