OSDN Git Service

android-x86/dalvik.git
12 years agoMerge "Slight change to unwinder API."
Jeff Brown [Sat, 5 Nov 2011 03:06:58 +0000 (20:06 -0700)]
Merge "Slight change to unwinder API."

12 years agoReconcile with ics-mr1-release
The Android Open Source Project [Fri, 4 Nov 2011 15:31:11 +0000 (08:31 -0700)]
Reconcile with ics-mr1-release

Change-Id: Ibae283408ede0f3ff5a297e8d205e976455f3b95

12 years agoSlight change to unwinder API.
Jeff Brown [Fri, 4 Nov 2011 00:30:07 +0000 (17:30 -0700)]
Slight change to unwinder API.

Change-Id: If73f01fff9fb56ce9cba70a386d865957eaebe78

12 years agoam ab97cd16: Start profiling after state prep
Andy McFadden [Thu, 3 Nov 2011 22:59:13 +0000 (22:59 +0000)]
am ab97cd16: Start profiling after state prep

* commit 'ab97cd1634ed4e2c9e5c558a9f88ed9ca8623c8c':
  Start profiling after state prep

12 years agoStart profiling after state prep
Andy McFadden [Thu, 3 Nov 2011 21:13:24 +0000 (14:13 -0700)]
Start profiling after state prep

The updateActiveProfilers() call was happening before the profiler
state setup was completed, creating a race that could lead to a
native crash.

Bug 5564440

Change-Id: I8c030fc87f106aa8b2a67876d604a5bd79e05175

12 years agoMerge "hprof-conv: Better error message when run on a 1.0.2 file."
Siva Velusamy [Thu, 3 Nov 2011 20:54:35 +0000 (13:54 -0700)]
Merge "hprof-conv: Better error message when run on a 1.0.2 file."

12 years agohprof-conv: Better error message when run on a 1.0.2 file.
Siva Velusamy [Thu, 3 Nov 2011 20:34:29 +0000 (13:34 -0700)]
hprof-conv: Better error message when run on a 1.0.2 file.

Change-Id: I36b14aadc11f6ba8a66543546043280da64e7605

12 years agoMerge "Disable dumping native stacks of non-Dalvik threads. Bug: 5544153"
Jeff Brown [Thu, 3 Nov 2011 18:05:50 +0000 (11:05 -0700)]
Merge "Disable dumping native stacks of non-Dalvik threads. Bug: 5544153"

12 years agoam c4102d66: (-s ours) Merge "DO NOT MERGE: Optimize IndirectRefTable." into ics-mr1
Elliott Hughes [Thu, 3 Nov 2011 18:02:24 +0000 (18:02 +0000)]
am c4102d66: (-s ours) Merge "DO NOT MERGE: Optimize IndirectRefTable." into ics-mr1

* commit 'c4102d6647043591bd89bba75454cc04d23753bd':
  DO NOT MERGE: Optimize IndirectRefTable.

12 years agoMerge "DO NOT MERGE: Optimize IndirectRefTable." into ics-mr1
Elliott Hughes [Thu, 3 Nov 2011 17:59:19 +0000 (10:59 -0700)]
Merge "DO NOT MERGE: Optimize IndirectRefTable." into ics-mr1

12 years agoam 63cd4b08: Don\'t malloc between fork and exec
Andy McFadden [Thu, 3 Nov 2011 14:44:40 +0000 (14:44 +0000)]
am 63cd4b08: Don\'t malloc between fork and exec

* commit '63cd4b08e623242066c63563bad3a9f414a2bd2d':
  Don't malloc between fork and exec

12 years agoDisable dumping native stacks of non-Dalvik threads.
Jeff Brown [Thu, 3 Nov 2011 10:51:01 +0000 (03:51 -0700)]
Disable dumping native stacks of non-Dalvik threads.
Bug: 5544153

We are seeing cases where dumping certain non-Dalvik threads
causes system instability.  Temporarily disable this feature.

Change-Id: I14d7907a90f152bcb15d066f8bd3fdedc578e722

12 years agoDon't malloc between fork and exec
Andy McFadden [Wed, 2 Nov 2011 22:26:39 +0000 (15:26 -0700)]
Don't malloc between fork and exec

This was causing hangs in DEX file loading.

Bug 5329833

Change-Id: I19e9e0624f3823cc771c71a4b4ac177d57343c58

12 years agoam 5269ef7b: am 3931f798: Fix cleanup (cherry-picked from ics-mr1)
Andy McFadden [Wed, 2 Nov 2011 17:31:49 +0000 (17:31 +0000)]
am 5269ef7b: am 3931f798: Fix cleanup (cherry-picked from ics-mr1)

* commit '5269ef7b87c6aa89d86e73f438363661f2f65a04':
  Fix cleanup (cherry-picked from ics-mr1)

12 years agoam f51d43f0: am e3d9cde4: Disable JIT single-stepping resume mode.
Ben Cheng [Wed, 2 Nov 2011 17:31:44 +0000 (17:31 +0000)]
am f51d43f0: am e3d9cde4: Disable JIT single-stepping resume mode.

* commit 'f51d43f0ebfa5739d1ee691d661097dbbad98041':
  Disable JIT single-stepping resume mode.

12 years agoam a78b1255: Fix cleanup
Andy McFadden [Wed, 2 Nov 2011 17:30:36 +0000 (17:30 +0000)]
am a78b1255: Fix cleanup

* commit 'a78b1255ad1ce8dcacad21338d4f88db4231c4cd':
  Fix cleanup

12 years agomerge in ics-mr1-release history after reset to ics-mr1
The Android Automerger [Wed, 2 Nov 2011 13:45:25 +0000 (06:45 -0700)]
merge in ics-mr1-release history after reset to ics-mr1

12 years agoam 3931f798: Fix cleanup (cherry-picked from ics-mr1)
Andy McFadden [Tue, 1 Nov 2011 23:34:39 +0000 (23:34 +0000)]
am 3931f798: Fix cleanup (cherry-picked from ics-mr1)

* commit '3931f79801b67577bf8ac12d0b3fb5b4aeaaf766':
  Fix cleanup (cherry-picked from ics-mr1)

12 years agoFix cleanup
Andy McFadden [Tue, 1 Nov 2011 18:04:46 +0000 (11:04 -0700)]
Fix cleanup
(cherry-picked from ics-mr1)

The code was attempting to null out a struct member after freeing
the struct.

Also, changed the order of directory permission tests so that
writable comes first.  Somehow "dalvik-cache directory not
writable" seems more direct than "not readable", since the code
isn't generally interested in reading the directory.

Bug 5549907

Change-Id: If737ab822b356aae98e47292d21946e33a04342b

12 years agoam e3d9cde4: Disable JIT single-stepping resume mode.
Ben Cheng [Tue, 1 Nov 2011 22:05:11 +0000 (22:05 +0000)]
am e3d9cde4: Disable JIT single-stepping resume mode.

* commit 'e3d9cde40f96bf40dd4ad3d495949869bde5dd1e':
  Disable JIT single-stepping resume mode.

12 years agoDisable JIT single-stepping resume mode.
Ben Cheng [Tue, 1 Nov 2011 20:53:39 +0000 (13:53 -0700)]
Disable JIT single-stepping resume mode.

BUG: 5551114
Change-Id: Id8ee75be5e71ee258994235952871ad181024e56

12 years agoFix cleanup
Andy McFadden [Tue, 1 Nov 2011 18:04:46 +0000 (11:04 -0700)]
Fix cleanup

The code was attempting to null out a struct member after freeing
the struct.

Also, changed the order of directory permission tests so that
writable comes first.  Somehow "dalvik-cache directory not
writable" seems more direct than "not readable", since the code
isn't generally interested in reading the directory.

Bug 5549907

Change-Id: Ie412ff6c0870357b92e53606f70cb9407e04e7cf

12 years agoDO NOT MERGE: Optimize IndirectRefTable.
Jeff Brown [Thu, 27 Oct 2011 00:04:54 +0000 (17:04 -0700)]
DO NOT MERGE: Optimize IndirectRefTable.

Removed unused debugging code that maintained pointers to the
4 previous objects in each slot.

Promoted the serial number property of a slot to be first class.
This is a sufficiently cheap and useful check to perform that we
might as well always do it.

Changed get() and remove() so they check the validity of the
references at the same time as they retrieve them.  They're
also a bit smarter about checking the reference kind given
that they can assume that the table will only contain references
of one kind.  The checks are now much more consistent.
For example, remove() used to check whether an index was
stale only in the case where it was not removing the top entry
(now it always checks).

Made add() return NULL instead of dvmAbort()'ing in the case
where the table overflowed and ensure we don't blow away the
table in that cases.  This change resolves an issue with
TestIndirectRefTable.cpp which deliberately overflows the table
and expects add() to return NULL (as documented!).  As it
happens, the add() method is called in exactly 3 places in
Jni.cpp.  In each of those cases, the code was written to
handle a NULL result and only in the case of adding a weak
global reference did it not abort.  Fixed the weak global
reference case to be consistent with the others.

Changed the signature of contains() to take an Object* since
that's what we're actually looking for inside the table.

Added a couple of calls to dump() in TestIndirectRefTable.cpp
for visual inspection of its correctness.

Performance as measured by TestIndirectRefTable on same hardware.

Old implementation:
- Add/remove 100 objects FIFO order, 100000 iterations, 0.023ms / iteration
- Add/remove 100 objects LIFO order, 100000 iterations, 0.020ms / iteration
- Get 100 objects, 100000 iterations, 0.009ms / iteration

New implementation:
- Add/remove 100 objects FIFO order, 100000 iterations, 0.010ms / iteration
- Add/remove 100 objects LIFO order, 100000 iterations, 0.009ms / iteration
- Get 100 objects, 100000 iterations, 0.002ms / iteration

Cherry-pick from master.

Conflicts:

vm/IndirectRefTable.cpp

Change-Id: I157f3c1ba598137222878b8e6a5890efb744fe76

12 years agoReconcile with ics-mr1-release
The Android Open Source Project [Mon, 31 Oct 2011 20:19:07 +0000 (13:19 -0700)]
Reconcile with ics-mr1-release

Change-Id: Iaa5f9ff52792e1eff28cf9591a5efca18ac165e3

12 years agoFix single-stepping resume mode in the interpreter.
Ben Cheng [Thu, 27 Oct 2011 21:04:12 +0000 (14:04 -0700)]
Fix single-stepping resume mode in the interpreter.

(cherry-picked from master)

When a resume attempt is cancelled due to other pending request make sure
the old native resume PC is cleared. Otherwise the JIT code cache may be
re-entered with mismatching Dalvik PC.

Also fix a code bloat problem where single-step count is not set properly
after executing a return instruction.

BUG: 5208786

Change-Id: I39db1633dcda1f464311c878ded4b5695a9b7ffd

12 years agoam f4948cc1: am b1e2271b: Fix single-stepping resume mode in the interpreter.
Ben Cheng [Fri, 28 Oct 2011 22:27:49 +0000 (22:27 +0000)]
am f4948cc1: am b1e2271b: Fix single-stepping resume mode in the interpreter.

* commit 'f4948cc1ddb41ed72e5843ffe3d4af4889e6c74c':
  Fix single-stepping resume mode in the interpreter.

12 years agoam 8faec7e7: Fix single-stepping resume mode in the interpreter.
Ben Cheng [Fri, 28 Oct 2011 22:27:48 +0000 (22:27 +0000)]
am 8faec7e7: Fix single-stepping resume mode in the interpreter.

* commit '8faec7e782eca1fd6a2ad071c30b939c77c82662':
  Fix single-stepping resume mode in the interpreter.

12 years agoam b1e2271b: Fix single-stepping resume mode in the interpreter.
Ben Cheng [Fri, 28 Oct 2011 20:12:05 +0000 (20:12 +0000)]
am b1e2271b: Fix single-stepping resume mode in the interpreter.

* commit 'b1e2271b51cfb1f264b8966f1151652767259751':
  Fix single-stepping resume mode in the interpreter.

12 years agoFix single-stepping resume mode in the interpreter.
Ben Cheng [Thu, 27 Oct 2011 21:04:12 +0000 (14:04 -0700)]
Fix single-stepping resume mode in the interpreter.

(cherry-picked from master)

When a resume attempt is cancelled due to other pending request make sure
the old native resume PC is cleared. Otherwise the JIT code cache may be
re-entered with mismatching Dalvik PC.

Also fix a code bloat problem where single-step count is not set properly
after executing a return instruction.

BUG: 5208786

Change-Id: I39db1633dcda1f464311c878ded4b5695a9b7ffd

12 years agoFix single-stepping resume mode in the interpreter.
Ben Cheng [Thu, 27 Oct 2011 21:04:12 +0000 (14:04 -0700)]
Fix single-stepping resume mode in the interpreter.

(cherry-picked from master)

When a resume attempt is cancelled due to other pending request make sure
the old native resume PC is cleared. Otherwise the JIT code cache may be
re-entered with mismatching Dalvik PC.

Also fix a code bloat problem where single-step count is not set properly
after executing a return instruction.

BUG: 5208786

Change-Id: I54775215b11eae29ccdb6111dc0fdfa99e41e08d

12 years agoMerge "Fix single-stepping resume mode in the interpreter."
Ben Cheng [Fri, 28 Oct 2011 01:42:33 +0000 (18:42 -0700)]
Merge "Fix single-stepping resume mode in the interpreter."

12 years agoDump stacks for all native threads, not just those in JNI.
Jeff Brown [Thu, 27 Oct 2011 20:05:45 +0000 (13:05 -0700)]
Dump stacks for all native threads, not just those in JNI.

Change-Id: I276f5f448f22f8a926cdfc8c93935da687db5d9b

12 years agoFix single-stepping resume mode in the interpreter.
Ben Cheng [Thu, 27 Oct 2011 21:04:12 +0000 (14:04 -0700)]
Fix single-stepping resume mode in the interpreter.

When a resume attempt is cancelled due to other pending request make sure
the old native resume PC is cleared. Otherwise the JIT code cache may be
re-entered with mismatching Dalvik PC.

Also fix a code bloat problem where single-step count is not set properly
after executing a return instruction.

Change-Id: Ia926bc3a87cae1296719a1069838060b181ce54d

12 years agoOptimize IndirectRefTable.
Jeff Brown [Thu, 27 Oct 2011 00:04:54 +0000 (17:04 -0700)]
Optimize IndirectRefTable.

Removed unused debugging code that maintained pointers to the
4 previous objects in each slot.

Promoted the serial number property of a slot to be first class.
This is a sufficiently cheap and useful check to perform that we
might as well always do it.

Changed get() and remove() so they check the validity of the
references at the same time as they retrieve them.  They're
also a bit smarter about checking the reference kind given
that they can assume that the table will only contain references
of one kind.  The checks are now much more consistent.
For example, remove() used to check whether an index was
stale only in the case where it was not removing the top entry
(now it always checks).

Made add() return NULL instead of dvmAbort()'ing in the case
where the table overflowed and ensure we don't blow away the
table in that cases.  This change resolves an issue with
TestIndirectRefTable.cpp which deliberately overflows the table
and expects add() to return NULL (as documented!).  As it
happens, the add() method is called in exactly 3 places in
Jni.cpp.  In each of those cases, the code was written to
handle a NULL result and only in the case of adding a weak
global reference did it not abort.  Fixed the weak global
reference case to be consistent with the others.

Changed the signature of contains() to take an Object* since
that's what we're actually looking for inside the table.

Added a couple of calls to dump() in TestIndirectRefTable.cpp
for visual inspection of its correctness.

Performance as measured by TestIndirectRefTable on same hardware.

Old implementation:
- Add/remove 100 objects FIFO order, 100000 iterations, 0.023ms / iteration
- Add/remove 100 objects LIFO order, 100000 iterations, 0.020ms / iteration
- Get 100 objects, 100000 iterations, 0.009ms / iteration

New implementation:
- Add/remove 100 objects FIFO order, 100000 iterations, 0.010ms / iteration
- Add/remove 100 objects LIFO order, 100000 iterations, 0.009ms / iteration
- Get 100 objects, 100000 iterations, 0.002ms / iteration

Change-Id: I1c904eb03bc8dd9822e6d9cce702c696e976974e

12 years agoAdd a simple performance test for IndirectRefTable.
Jeff Brown [Thu, 27 Oct 2011 01:41:12 +0000 (18:41 -0700)]
Add a simple performance test for IndirectRefTable.

Change-Id: Ib75354508fff1921d8d73eba5e3a3905a362b1e1

12 years agoFix reference to non-existent function in debug code.
Jeff Brown [Wed, 26 Oct 2011 23:25:27 +0000 (16:25 -0700)]
Fix reference to non-existent function in debug code.

The generated interpreter code has some debugging code
that call dvmIsHeapAddressObject, which doesn't exist.
This causes the build to fails when we build Dalvik with
DEBUG_DALVIK_VM=true.  Use dvmIsHeapAddress instead.

Change-Id: Ifc5eeb4bd2ea6b45046c606b744b1a70a5e56dfc

12 years agoRename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE
Steve Block [Thu, 20 Oct 2011 10:55:54 +0000 (11:55 +0100)]
Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)  DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I8bd96961e369a08e86ff78b82d90f20f42787eb1

12 years agoRename (IF_)LOG() to (IF_)ALOG() DO NOT MERGE
Steve Block [Wed, 12 Oct 2011 16:24:48 +0000 (17:24 +0100)]
Rename (IF_)LOG() to (IF_)ALOG()  DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/141576

Bug: 5449033
Change-Id: Ie3bc0d5436218ea05f98cb0373ecf5924f78db05

12 years agoDump native stack of JNI methods when handling SIGQUIT.
Jeff Brown [Thu, 20 Oct 2011 03:32:03 +0000 (20:32 -0700)]
Dump native stack of JNI methods when handling SIGQUIT.

Change-Id: I7da7259f1350e853153ba4dea96797fc86284068

12 years agomerge in ics-release history after reset to master
The Android Automerger [Thu, 20 Oct 2011 13:59:36 +0000 (06:59 -0700)]
merge in ics-release history after reset to master

12 years agoMerge "Provide debugging info should extended opcode lookup fail."
Jesse Wilson [Wed, 19 Oct 2011 20:26:19 +0000 (13:26 -0700)]
Merge "Provide debugging info should extended opcode lookup fail."

12 years agoProvide debugging info should extended opcode lookup fail.
Jesse Wilson [Wed, 19 Oct 2011 15:02:51 +0000 (11:02 -0400)]
Provide debugging info should extended opcode lookup fail.

Bug: http://code.google.com/p/android/issues/detail?id=20814
Change-Id: Iedaf07721c29dd3d24827c3f7a953b7371c9735d

12 years agomerge in ics-release history after reset to master
The Android Automerger [Tue, 18 Oct 2011 13:59:26 +0000 (06:59 -0700)]
merge in ics-release history after reset to master

12 years agoAvoid deadlock.
Elliott Hughes [Fri, 14 Oct 2011 21:36:46 +0000 (14:36 -0700)]
Avoid deadlock.

dvmIsHeapAddress is the pointer validity checker for use outside the GC. If
it doesn't take the heap lock, it risks looking at data structures that are
changing under its feet. If it does take the heap lock, it risks deadlock
between a thread doing an explicit GC and the signal catcher trying to dump
threads (causing the GC thread to be suspended while holding the heap lock).

Calling back into managed code while holding the heap lock and with other
threads resumed sounds like an inherently bad idea to me, but that's a battle
for another day.

With this change, we can handle SIGQUIT while we're in ReferenceQueue.add
as a result of an explicit GC in a system doing concurrent collections, so
the only known problem is fixed.

Bug: 5425802
Change-Id: I42d434d5ea3ffbcb77a4c544b81b08a4c7364a16

12 years agomerge in ics-release history after reset to master
The Android Automerger [Tue, 11 Oct 2011 12:32:21 +0000 (05:32 -0700)]
merge in ics-release history after reset to master

12 years agoMerge "Leave up to 512 chars of gDvm.lastMessage on dvmAbort's stack frame."
Ben Cheng [Mon, 10 Oct 2011 23:55:23 +0000 (16:55 -0700)]
Merge "Leave up to 512 chars of gDvm.lastMessage on dvmAbort's stack frame."

12 years agoLeave up to 512 chars of gDvm.lastMessage on dvmAbort's stack frame.
Ben Cheng [Mon, 10 Oct 2011 23:26:36 +0000 (16:26 -0700)]
Leave up to 512 chars of gDvm.lastMessage on dvmAbort's stack frame.

Bug: 5372634
Change-Id: I019a059e5a989de3dfc9e2f5e78f7caa7168cf75

12 years agoMerge "Reordered some checks and added more to the verifier."
jeffhao [Mon, 10 Oct 2011 21:51:45 +0000 (14:51 -0700)]
Merge "Reordered some checks and added more to the verifier."

12 years agoMerge "Revert "Use the card table to scan the immune region of the heap.""
Ben Cheng [Mon, 10 Oct 2011 21:08:17 +0000 (14:08 -0700)]
Merge "Revert "Use the card table to scan the immune region of the heap.""

12 years agoRevert "Use the card table to scan the immune region of the heap."
Ben Cheng [Mon, 10 Oct 2011 20:17:58 +0000 (13:17 -0700)]
Revert "Use the card table to scan the immune region of the heap."

This reverts commit 6c355e53332502314c3d82a7afcf898d66118f27.

Conflicts are resolved in:

vm/alloc/CardTable.cpp
vm/alloc/HeapBitmap.cpp
vm/alloc/HeapInternal.h
vm/alloc/HeapSource.cpp
vm/alloc/MarkSweep.cpp

Tested with overnight monkey runs + Delaunay.

Bug: 5037417
Change-Id: I400eff8542d0bddd865ce570a479f7750c1ba484

12 years agoMerge "Don't say UTF-8 in Dalvik's CheckJNI when we mean Modified UTF-8."
Elliott Hughes [Mon, 10 Oct 2011 18:17:13 +0000 (11:17 -0700)]
Merge "Don't say UTF-8 in Dalvik's CheckJNI when we mean Modified UTF-8."

12 years agoDon't say UTF-8 in Dalvik's CheckJNI when we mean Modified UTF-8.
Elliott Hughes [Fri, 7 Oct 2011 22:42:23 +0000 (15:42 -0700)]
Don't say UTF-8 in Dalvik's CheckJNI when we mean Modified UTF-8.

Change-Id: I4130e7f92275275a6d6f782e1ad979fbf9197a8e

12 years agoRevert "GC experiment."
The Android Automerger [Fri, 7 Oct 2011 00:32:54 +0000 (17:32 -0700)]
Revert "GC experiment."

This reverts commit b3fb1d08137ead7b6be016e1bc147cb781e76111.

12 years agoReordered some checks and added more to the verifier.
jeffhao [Thu, 6 Oct 2011 17:33:22 +0000 (10:33 -0700)]
Reordered some checks and added more to the verifier.

The verifier checks for 2 errors in put instructions. First, if the
field can't be resolved, the instruction is overwritten to throw a
verifier error. Second, if the data types of the field and instruction
mismatch, the verifier rejects the whole class. This change swaps the
order of the checks, so that if both errors occur, the class is
rejected.

Also, checks were added to prevent float values from being used as array
indexes or arguments to if statements.

Change-Id: I7b122f4ebc4043266be4466e10679c6319a788ef

12 years agoGC experiment.
Ben Cheng [Thu, 6 Oct 2011 05:43:34 +0000 (22:43 -0700)]
GC experiment.

Change-Id: Ifbeec98a796fe8347da25a1be50288d756b40f02

12 years agomerge in ics-release history after reset to master
The Android Automerger [Wed, 5 Oct 2011 13:58:05 +0000 (06:58 -0700)]
merge in ics-release history after reset to master

12 years agoFixed dx verifier issue when an error is detected.
jeffhao [Tue, 4 Oct 2011 21:33:57 +0000 (14:33 -0700)]
Fixed dx verifier issue when an error is detected.

The code needed to break out properly when an error was detected to
prevent it from causing even more problems.

Change-Id: If497655a406689aeb1b4aa6523421cc22f2b7593

12 years agomerge in ics-release history after reset to master
The Android Automerger [Fri, 30 Sep 2011 13:44:24 +0000 (06:44 -0700)]
merge in ics-release history after reset to master

12 years agoFix a typo in unused code.
Elliott Hughes [Thu, 29 Sep 2011 17:47:22 +0000 (10:47 -0700)]
Fix a typo in unused code.

Change-Id: Ied11a79337a3cc795428dfde29e405ec0bbcb98c

12 years agomerge in ics-release history after reset to master
The Android Automerger [Thu, 29 Sep 2011 00:57:05 +0000 (17:57 -0700)]
merge in ics-release history after reset to master

12 years agoFix memory barriers (Issue 3338450)
buzbee [Tue, 27 Sep 2011 18:47:28 +0000 (11:47 -0700)]
Fix memory barriers (Issue 3338450)

Add extra memory barrier on volatile stores.

Change-Id: Id4a4750cdfc910eda2f0b44ead0af2a569b5735e

12 years agomerge in ics-release history after reset to master
The Android Automerger [Wed, 21 Sep 2011 13:59:19 +0000 (06:59 -0700)]
merge in ics-release history after reset to master

12 years agoDon't spam the logs with thread priority information.
Jesse Wilson [Tue, 20 Sep 2011 15:52:02 +0000 (11:52 -0400)]
Don't spam the logs with thread priority information.

Ten minutes of logs contained 108 lines of 'Elevating priority from 10 to 0'
and 108 lines of 'Reset priority to 10'. This provides little value.

Change-Id: Id96e8304238aa3344af4dd6342ace575534acc0f

12 years agoAttempt to fix dalvik heap corruption.
Jesse Wilson [Tue, 6 Sep 2011 16:55:25 +0000 (12:55 -0400)]
Attempt to fix dalvik heap corruption.

This is bccheng's find, as reported here:
http://b/5208786#ISSUE_HistoryHeader49

Bug: http://b/5208786
Change-Id: I1616bac1ef6c197f723656187a784fc6838975d4

12 years agoAttempt to fix dalvik heap corruption.
Jesse Wilson [Tue, 6 Sep 2011 16:55:25 +0000 (12:55 -0400)]
Attempt to fix dalvik heap corruption.

This is bccheng's find, as reported here:
http://b/5208786#ISSUE_HistoryHeader49

Bug: http://b/5208786
Change-Id: I1616bac1ef6c197f723656187a784fc6838975d4

12 years agomerge in ics-release history after reset to master
The Android Automerger [Tue, 6 Sep 2011 13:33:14 +0000 (06:33 -0700)]
merge in ics-release history after reset to master

12 years agomerge in ics-release history after reset to master
The Android Automerger [Mon, 5 Sep 2011 13:33:20 +0000 (06:33 -0700)]
merge in ics-release history after reset to master

12 years agoFix document formatting error (html tags)
Logan Chien [Mon, 5 Sep 2011 13:14:25 +0000 (21:14 +0800)]
Fix document formatting error (html tags)

Change-Id: I57d10b69f400ce3ffda1a26dc632a4122a4f3d70

12 years agomerge in ics-release history after reset to master
The Android Automerger [Fri, 2 Sep 2011 23:01:51 +0000 (16:01 -0700)]
merge in ics-release history after reset to master

12 years agoMerge "Dx reg allocator fix for accidental long/double clobbering."
jeffhao [Fri, 2 Sep 2011 19:00:05 +0000 (12:00 -0700)]
Merge "Dx reg allocator fix for accidental long/double clobbering."

12 years agoMerge "Rename register to conform to instruction format"
Shih-wei Liao [Fri, 2 Sep 2011 14:15:10 +0000 (07:15 -0700)]
Merge "Rename register to conform to instruction format"

12 years agomerge in ics-release history after reset to master
The Android Automerger [Thu, 1 Sep 2011 13:33:23 +0000 (06:33 -0700)]
merge in ics-release history after reset to master

12 years agoRename register to conform to instruction format
Logan Chien [Thu, 1 Sep 2011 07:19:31 +0000 (15:19 +0800)]
Rename register to conform to instruction format

For instruction format 35c, 41c, 52c, and 5rc, the register
name was different from the Dalvik Instruction Format document,
and InstrUtils.cpp of libdex.  This commit updates the name,
so that they will look consistent.

Change-Id: I857b1f9c1ac7178dc147d0019df589c9c6d102e1

12 years agoFix a corner-case dex merging bug.
Jesse Wilson [Wed, 31 Aug 2011 19:00:57 +0000 (15:00 -0400)]
Fix a corner-case dex merging bug.

When doing a null merge (merging a dex file with an empty file) word-alignment
means that the output may be two bytes longer than the input. Always include the
rounded-up length in the bytes allocated to a section.

com.android.dx.util.DexException: Section limit 669894 exceeded by type list
at com.android.dx.io.DexBuffer$Section.ensureCapacity(DexBuffer.java:541)
at com.android.dx.io.DexBuffer$Section.writeShort(DexBuffer.java:574)
at com.android.dx.io.DexBuffer$Section.writeTypeList(DexBuffer.java:636)
at com.android.dx.merge.DexMerger$3.write(DexMerger.java:439)
at com.android.dx.merge.DexMerger$3.write(DexMerger.java:424)
at com.android.dx.merge.DexMerger$IdMerger.mergeUnsorted(DexMerger.java:321)

Change-Id: I67b81ba8c837b0307e313f4012a051b022b25db2

12 years agomerge in ics-release history after reset to master
The Android Automerger [Wed, 31 Aug 2011 13:33:16 +0000 (06:33 -0700)]
merge in ics-release history after reset to master

12 years agoam 4130f726: am 1dd1d924: am e4e76feb: Merge "Set DX stack size to 1M by default...
Raphael Moll [Tue, 30 Aug 2011 16:50:59 +0000 (09:50 -0700)]
am 4130f726: am 1dd1d924: am e4e76feb: Merge "Set DX stack size to 1M by default on Windows."

* commit '4130f726d82493748bf7252da631e1f315f2538c':
  Set DX stack size to 1M by default on Windows.

12 years agoam 1dd1d924: am e4e76feb: Merge "Set DX stack size to 1M by default on Windows."
Raphael Moll [Tue, 30 Aug 2011 01:01:08 +0000 (18:01 -0700)]
am 1dd1d924: am e4e76feb: Merge "Set DX stack size to 1M by default on Windows."

* commit '1dd1d9246c0804d1b4fda955c56a6d89c989ec6a':
  Set DX stack size to 1M by default on Windows.

12 years agoam e4e76feb: Merge "Set DX stack size to 1M by default on Windows."
Raphael Moll [Tue, 30 Aug 2011 00:58:08 +0000 (17:58 -0700)]
am e4e76feb: Merge "Set DX stack size to 1M by default on Windows."

* commit 'e4e76feb6aad0d0161fabe12cb7d97e665f7b109':
  Set DX stack size to 1M by default on Windows.

12 years agoMerge "Set DX stack size to 1M by default on Windows."
Raphael Moll [Fri, 26 Aug 2011 23:33:03 +0000 (16:33 -0700)]
Merge "Set DX stack size to 1M by default on Windows."

12 years agoDx reg allocator fix for accidental long/double clobbering.
jeffhao [Fri, 26 Aug 2011 22:01:11 +0000 (15:01 -0700)]
Dx reg allocator fix for accidental long/double clobbering.

Addresses this bug: http://b/issue?id=5215643.

Change-Id: I82613c38b0a6247d071aa6c5cc90bf8b60d5d84b

12 years agoSet DX stack size to 1M by default on Windows.
Raphael Moll [Fri, 26 Aug 2011 21:42:41 +0000 (14:42 -0700)]
Set DX stack size to 1M by default on Windows.

Bug: http://code.google.com/p/android/issues/detail?id=15181

Summary of bug: some user reported issues running dx.bat and
Fadden figured out the VM's stack size default was too small.
Using -Xss1m fixed it.

This CL introduces a default of -Xss1m and the usual mechanism
to override it using -JXssNm (like for -JXmx...)

Change-Id: I9769316c1708f08c91b93e07bd6d713a10561ea2

12 years agomerge in ics-release history after reset to master
The Android Automerger [Wed, 24 Aug 2011 13:33:17 +0000 (06:33 -0700)]
merge in ics-release history after reset to master

12 years agoRemoved parsing and output for unused --target-api switch in dx.
jeffhao [Tue, 23 Aug 2011 21:19:35 +0000 (14:19 -0700)]
Removed parsing and output for unused --target-api switch in dx.

This is cherry-picked from dalvik-dev.

Change-Id: I74627e4c261e086e8c2c7cf38591cd3e9f5707e6

12 years agomerge in ics-release history after reset to master
The Android Automerger [Tue, 23 Aug 2011 13:33:19 +0000 (06:33 -0700)]
merge in ics-release history after reset to master

12 years agoMerge "Fix JNIEXPORT now people are using -fvisibility."
Elliott Hughes [Mon, 22 Aug 2011 17:50:41 +0000 (10:50 -0700)]
Merge "Fix JNIEXPORT now people are using -fvisibility."

12 years agomerge in ics-release history after reset to master
The Android Automerger [Mon, 22 Aug 2011 13:30:53 +0000 (06:30 -0700)]
merge in ics-release history after reset to master

12 years agoPermit code size to grow when merging dex files.
Jesse Wilson [Fri, 19 Aug 2011 20:21:33 +0000 (16:21 -0400)]
Permit code size to grow when merging dex files.

The throws clauses use variable-length encodings (sleb and uleb)
which will have different lengths when the number of types grows.

Bug: http://b/5127963
Change-Id: I50598a807596955e458d4ec87a730e62e12168d9

12 years agoFix JNIEXPORT now people are using -fvisibility.
Elliott Hughes [Fri, 19 Aug 2011 18:32:49 +0000 (11:32 -0700)]
Fix JNIEXPORT now people are using -fvisibility.

This is a backport from dalvik-dev.

Change-Id: If6001b580bd9b36f3845aaa115333d69682f3a92

12 years agomerge in ics-release history after reset to master
The Android Automerger [Wed, 17 Aug 2011 13:30:59 +0000 (06:30 -0700)]
merge in ics-release history after reset to master

12 years agomerge in ics-release history after reset to master
The Android Automerger [Tue, 16 Aug 2011 13:33:17 +0000 (06:33 -0700)]
merge in ics-release history after reset to master

12 years agoFix two data races in the monitor code.
Carl Shapiro [Tue, 2 Aug 2011 07:01:13 +0000 (00:01 -0700)]
Fix two data races in the monitor code.

First, the release of a lock was not preceded by a memory barrier.
This would allow stores within the critical section to move outside
the critical section violating the monitor invariant.

Second, the thin lock value was often not loaded through volatile
pointer.  This provides the compiler with the freedom to reload the
thin lock with a different value causing erroneous updates to the lock
word.

Bug: 5107390

12 years agoMerge "Dexopt verifier checks that int/float and double/long uses do not mix."
jeffhao [Mon, 15 Aug 2011 17:32:42 +0000 (10:32 -0700)]
Merge "Dexopt verifier checks that int/float and double/long uses do not mix."

12 years agomerge in ics-release history after reset to master
The Android Automerger [Mon, 15 Aug 2011 13:33:18 +0000 (06:33 -0700)]
merge in ics-release history after reset to master

12 years agoEnhance CheckJNI to recognize when an type-incompatible jfieldID is used to get/set...
Elliott Hughes [Sun, 14 Aug 2011 21:30:54 +0000 (14:30 -0700)]
Enhance CheckJNI to recognize when an type-incompatible jfieldID is used to get/set a field.

This would have found a bug that broke setSoTimeout in libcore, and did find
a hitherto-unknown bug in android.text.format.Time.

Bug: 5162851
Change-Id: I62f2a0db3adb1cd0e4616075f6d4efaee393de30

12 years agoDon't wrap the actual type in parens if its null.
Jesse Wilson [Sun, 14 Aug 2011 19:27:08 +0000 (15:27 -0400)]
Don't wrap the actual type in parens if its null.

Otherwise the exception message has unnecessary parens:
"expected receiver of type java.lang.String, but got (null)"

Change-Id: Iacd806d018019784afa6e9f25f7c039d9ca18fae

12 years agoDexopt verifier checks that int/float and double/long uses do not mix.
jeffhao [Wed, 10 Aug 2011 21:58:39 +0000 (14:58 -0700)]
Dexopt verifier checks that int/float and double/long uses do not mix.

Added new types to dexopt indicating a type is derived from a constant,
which may or may not be floating point. After such a value is used, its
type can be determined, and the verifier enforces that it is always used
that way afterwards.

Change-Id: I150deaa162aec17bcc9c3e3200bc0350ae5b3f24

12 years agomerge in ics-release history after reset to master
The Android Automerger [Thu, 11 Aug 2011 13:33:16 +0000 (06:33 -0700)]
merge in ics-release history after reset to master

12 years agoam be3942f2: (-s ours) am 3245c2e4: am 5017f3f2: Merge "Support wrapping app processe...
Jeff Brown [Wed, 10 Aug 2011 21:51:44 +0000 (14:51 -0700)]
am be3942f2: (-s ours) am 3245c2e4: am 5017f3f2: Merge "Support wrapping app processes to inject debug instrumentation. Bug: 4437846"

* commit 'be3942f2179d5f2270b757a792ed021eb2521b46':
  Support wrapping app processes to inject debug instrumentation. Bug: 4437846

12 years agoam 8ddfe8b4: (-s ours) am a0533621: am 9df264db: Merge "Add a dual clock profiler...
Jeff Brown [Wed, 10 Aug 2011 21:48:58 +0000 (14:48 -0700)]
am 8ddfe8b4: (-s ours) am a0533621: am 9df264db: Merge "Add a dual clock profiler tracing mode."

* commit '8ddfe8b44e0794a0c182046144af8c3c842686c2':
  Add a dual clock profiler tracing mode.

12 years agoam 3245c2e4: am 5017f3f2: Merge "Support wrapping app processes to inject debug instr...
Jeff Brown [Wed, 10 Aug 2011 20:58:01 +0000 (13:58 -0700)]
am 3245c2e4: am 5017f3f2: Merge "Support wrapping app processes to inject debug instrumentation. Bug: 4437846"

* commit '3245c2e4008b40e05db44ef7c897d0aa7b88c1d7':
  Support wrapping app processes to inject debug instrumentation. Bug: 4437846