OSDN Git Service

android-x86/dalvik.git
14 years agoProperly set the entry point for the dbg > mterp transition.
Ben Cheng [Fri, 2 Jul 2010 20:00:39 +0000 (13:00 -0700)]
Properly set the entry point for the dbg > mterp transition.

Bug: 2810533
Change-Id: I511543a9ae3ea3abc358a7982c0e5b4ab79bf58a

14 years agoMerge "Eliminate the only use of the releasing swap name."
Carl Shapiro [Thu, 1 Jul 2010 20:30:53 +0000 (13:30 -0700)]
Merge "Eliminate the only use of the releasing swap name."

14 years agoam c399a2ca: merge from open-source master
The Android Open Source Project [Thu, 1 Jul 2010 18:56:19 +0000 (11:56 -0700)]
am c399a2ca: merge from open-source master

Merge commit 'c399a2caea7660b7e6ed6f816440edd73ba7ff37'

* commit 'c399a2caea7660b7e6ed6f816440edd73ba7ff37':
  Don't prelink dalvik for x86

14 years agomerge from open-source master
The Android Open Source Project [Thu, 1 Jul 2010 17:37:36 +0000 (10:37 -0700)]
merge from open-source master

Change-Id: I3534c806a396de3365ef7278a9c4799f7f95e0e7

14 years agoDon't prelink dalvik for x86
Bruce Beare [Fri, 25 Jun 2010 16:53:56 +0000 (09:53 -0700)]
Don't prelink dalvik for x86

x86 doesn't (yet) support pre-linking and we need to disable it until it does.

Change-Id: Icfba41c364ed934632386e2fa7f50844dabd126e
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
14 years agoEliminate the only use of the releasing swap name.
Carl Shapiro [Wed, 30 Jun 2010 23:50:00 +0000 (16:50 -0700)]
Eliminate the only use of the releasing swap name.

Change-Id: I5e59c5b364c4155b179ceb9c16d2c4baae6cd2ea

14 years agoam 14628323: am 79d2a00a: am 6296a2e8: Jit: Fix for 2793725 SIGSEGV in JIT code cache
Bill Buzbee [Wed, 30 Jun 2010 22:49:05 +0000 (15:49 -0700)]
am 14628323: am 79d2a00a: am 6296a2e8: Jit: Fix for 2793725 SIGSEGV in JIT code cache

Merge commit '14628323c84aa14cd9c2ffa9166a0445e863a50c'

* commit '14628323c84aa14cd9c2ffa9166a0445e863a50c':
  Jit: Fix for 2793725 SIGSEGV in JIT code cache

14 years agoam 79d2a00a: am 6296a2e8: Jit: Fix for 2793725 SIGSEGV in JIT code cache
Bill Buzbee [Wed, 30 Jun 2010 22:33:19 +0000 (15:33 -0700)]
am 79d2a00a: am 6296a2e8: Jit: Fix for 2793725 SIGSEGV in JIT code cache

Merge commit '79d2a00ab79b07f4a69035f9f7fb922fd0552122' into gingerbread-plus-aosp

* commit '79d2a00ab79b07f4a69035f9f7fb922fd0552122':
  Jit: Fix for 2793725 SIGSEGV in JIT code cache

14 years agoam 6296a2e8: Jit: Fix for 2793725 SIGSEGV in JIT code cache
Bill Buzbee [Wed, 30 Jun 2010 19:08:06 +0000 (12:08 -0700)]
am 6296a2e8: Jit: Fix for 2793725 SIGSEGV in JIT code cache

Merge commit '6296a2e8e97d76165a83320b06e32fba0f5a5625' into gingerbread

* commit '6296a2e8e97d76165a83320b06e32fba0f5a5625':
  Jit: Fix for 2793725 SIGSEGV in JIT code cache

14 years agoJit: Fix for 2793725 SIGSEGV in JIT code cache
Bill Buzbee [Wed, 23 Jun 2010 23:36:50 +0000 (16:36 -0700)]
Jit: Fix for 2793725 SIGSEGV in JIT code cache

r7 and r8 were missing from the handler clobber set, and are stepped on by
the handlers for inline string compareto and indexof.

Change-Id: I979c4b94ee412cb3d2ab76c2421f4c2336d9b6e3

14 years agoMerge remote branch 'goog/dalvik-dev' into mm
Brian Carlstrom [Wed, 30 Jun 2010 16:28:53 +0000 (09:28 -0700)]
Merge remote branch 'goog/dalvik-dev' into mm

Change-Id: I4346c9891939e589c627b9de4d71b959ed8f3b51

14 years agoMerge "Add missing ']'s in ARM disassembler output." into dalvik-dev
Elliott Hughes [Wed, 30 Jun 2010 00:06:11 +0000 (17:06 -0700)]
Merge "Add missing ']'s in ARM disassembler output." into dalvik-dev

14 years agoAdd missing ']'s in ARM disassembler output.
Elliott Hughes [Tue, 29 Jun 2010 23:56:52 +0000 (16:56 -0700)]
Add missing ']'s in ARM disassembler output.

Also insert missing spaces after commas in some loads and stores.

Change-Id: I1dad10eb86ef8dc0d0ab4b3b98c94d3a7663861e

14 years agoMerge "Remove code superseded by the pre- and post-verify switches." into dalvik-dev
Carl Shapiro [Tue, 29 Jun 2010 19:08:49 +0000 (12:08 -0700)]
Merge "Remove code superseded by the pre- and post-verify switches." into dalvik-dev

14 years agoChange how a null threadgroup is displayed.
Andy McFadden [Mon, 28 Jun 2010 23:57:24 +0000 (16:57 -0700)]
Change how a null threadgroup is displayed.

We used to show "(BOGUS GROUP)", but that's not quite accurate since
the group is actually NULL.  Since there are now circumstances in
which you see this, and they'll likely be associated with Thread
initialization, it's more accurate and useful to say
"(null; initializing?)" instead.

Bug 2804256.

Change-Id: I2b18b5ee37ac3c4eaf804c01aa68d922f0af0ac3

14 years agoRemove code superseded by the pre- and post-verify switches.
Carl Shapiro [Tue, 29 Jun 2010 06:05:54 +0000 (23:05 -0700)]
Remove code superseded by the pre- and post-verify switches.

Change-Id: Iacd45b8b0f64a4e215011b865f57df75c4a08981

14 years agoFix a comment.
Carl Shapiro [Tue, 29 Jun 2010 06:02:08 +0000 (23:02 -0700)]
Fix a comment.

Change-Id: I6ead8dc42e06662c6189d0639551d08d8c2b64c4

14 years agoFix a deadlock in when shutting down the GC thread.
Carl Shapiro [Tue, 29 Jun 2010 00:24:17 +0000 (17:24 -0700)]
Fix a deadlock in when shutting down the GC thread.

Change-Id: Ief3ec542db45c911ece7b9d02359a9326c5e14c8

14 years agoAdd a mode for concurrently marking and sweeping.
Carl Shapiro [Mon, 28 Jun 2010 23:28:26 +0000 (16:28 -0700)]
Add a mode for concurrently marking and sweeping.

When enabled, the mutator threads will be resumed while tracing
proceeds from the roots.  After the trace completes the mutator
threads are suspended, the roots are remarked, and marked objects
are scanned for updates and re-marked.

There are two limitations to this implementation.  For the sake
of expediency, mutators are not permitted to allocate during the
concurrent marking phase.  This will be addressed in a subsequent
change.  As there is no write barrier, all objects, rather than
just those objects assigned to during the concurrent phase, are
scanned for updates.  This will be addressed after a write barrier
is implemented.

Change-Id: I82dba23b58a1cf985589ed21ec0cffb5ebf48aae

14 years agoMerge "Remove an obsolete TODO." into dalvik-dev
Carl Shapiro [Sat, 26 Jun 2010 00:31:51 +0000 (17:31 -0700)]
Merge "Remove an obsolete TODO." into dalvik-dev

14 years agoRemove an obsolete TODO.
Carl Shapiro [Sat, 26 Jun 2010 00:27:59 +0000 (17:27 -0700)]
Remove an obsolete TODO.

Change-Id: Ie1b79eec88bf410548d42faca4f511387859e02d

14 years agoam 11b4c7c0: am 5439ba57: merge from froyo-plus-aosp
The Android Open Source Project [Fri, 25 Jun 2010 21:27:22 +0000 (14:27 -0700)]
am 11b4c7c0: am 5439ba57: merge from froyo-plus-aosp

Merge commit '11b4c7c0934cbf93f737f8c52cec68fbbd415145' into dalvik-dev

* commit '11b4c7c0934cbf93f737f8c52cec68fbbd415145':
  dalvik: use pthread_setname_np() to set the name of the current thread

14 years agoam 5439ba57: merge from froyo-plus-aosp
The Android Open Source Project [Fri, 25 Jun 2010 21:20:53 +0000 (14:20 -0700)]
am 5439ba57: merge from froyo-plus-aosp

Merge commit '5439ba5780631d04fcded7c605eb00271b1a449c'

* commit '5439ba5780631d04fcded7c605eb00271b1a449c':
  dalvik: use pthread_setname_np() to set the name of the current thread

14 years agoMerge "Fixing up #ifndef inlcude name." into dalvik-dev
Barry Hayes [Fri, 25 Jun 2010 21:08:49 +0000 (14:08 -0700)]
Merge "Fixing up #ifndef inlcude name." into dalvik-dev

14 years agoFixing up #ifndef inlcude name.
Barry Hayes [Fri, 25 Jun 2010 20:50:29 +0000 (13:50 -0700)]
Fixing up #ifndef inlcude name.

Change-Id: I0dd2f8c18aaaf4cea7b7a6df44e42f889af90ed6

14 years agoMerge "Move WriteBarrier operations into their own header file. Split Object.h" into...
Barry Hayes [Fri, 25 Jun 2010 20:40:38 +0000 (13:40 -0700)]
Merge "Move WriteBarrier operations into their own header file. Split Object.h" into dalvik-dev

14 years agoMove WriteBarrier operations into their own header file. Split Object.h
Barry Hayes [Fri, 25 Jun 2010 20:36:37 +0000 (13:36 -0700)]
Move WriteBarrier operations into their own header file. Split Object.h

The write barrier routines will soon be INLINE and non-null.  Buried
in the middle of Object.h, which is early in Dalvik.h, it would be
hard for them to make use of definitions in other .h files.

Change-Id: I3c0eb59cb6ef29c2bacd0432cf59aaca4c3d031c

14 years agoMerge "Extending the maximum length of a boot classpath." into dalvik-dev
Jesse Wilson [Fri, 25 Jun 2010 18:32:43 +0000 (11:32 -0700)]
Merge "Extending the maximum length of a boot classpath." into dalvik-dev

14 years agoExtending the maximum length of a boot classpath.
Jesse Wilson [Fri, 25 Jun 2010 17:49:59 +0000 (10:49 -0700)]
Extending the maximum length of a boot classpath.

Running dalvikvm on a simulator causes path lengths to grow longer
because '/system' is prefixed with the full path to the android build
tree.

14 years agoRefix whitespace removal that I clobbered in my recent merge.
Dan Bornstein [Fri, 25 Jun 2010 17:05:20 +0000 (10:05 -0700)]
Refix whitespace removal that I clobbered in my recent merge.

Change-Id: I99048fc98cd7145f18744e1a4fc1a3317dc7c064

14 years agoresolved conflicts for merge of 4728a4c3 to dalvik-dev
Dan Bornstein [Fri, 25 Jun 2010 16:55:52 +0000 (09:55 -0700)]
resolved conflicts for merge of 4728a4c3 to dalvik-dev

Change-Id: Id598e32befb55cd99ccf8ff45e50a0de864b7f13

14 years agomerge from froyo-plus-aosp
The Android Open Source Project [Fri, 25 Jun 2010 16:42:59 +0000 (09:42 -0700)]
merge from froyo-plus-aosp

Change-Id: If7ea7cb45a74560ef46f771e25b75a1c03417f27

14 years agoUse the queueNext field of java.lang.ref.Reference for lists of
Barry Hayes [Wed, 23 Jun 2010 18:38:52 +0000 (11:38 -0700)]
Use the queueNext field of java.lang.ref.Reference for lists of
Reference objects in the GC, rather than the vmData field.

Change-Id: I94e23fcce5cc38f4dcdd17c07b8c30b47f2f9d0e

14 years agoresolved conflicts for merge of de43dd8c to dalvik-dev
Elliott Hughes [Fri, 25 Jun 2010 15:06:32 +0000 (08:06 -0700)]
resolved conflicts for merge of de43dd8c to dalvik-dev

Change-Id: Id5c74939c8f1bd6441ca8a49c452ba972068696e

14 years agoam a0d4e429: am 74826481: Merge "Updated the warning about old-style inner class...
Dan Bornstein [Fri, 25 Jun 2010 01:32:44 +0000 (18:32 -0700)]
am a0d4e429: am 74826481: Merge "Updated the warning about old-style inner class metadata to reflect the current understanding of the situation." into gingerbread

Merge commit 'a0d4e42958ed95315f5c949db99c9a11db3ba120'

* commit 'a0d4e42958ed95315f5c949db99c9a11db3ba120':
  Updated the warning about old-style inner class metadata to reflect

14 years agoam 74826481: Merge "Updated the warning about old-style inner class metadata to refle...
Dan Bornstein [Fri, 25 Jun 2010 01:31:03 +0000 (18:31 -0700)]
am 74826481: Merge "Updated the warning about old-style inner class metadata to reflect the current understanding of the situation." into gingerbread

Merge commit '7482648141995c52f5e3aeddb3b44092923cb33a' into gingerbread-plus-aosp

* commit '7482648141995c52f5e3aeddb3b44092923cb33a':
  Updated the warning about old-style inner class metadata to reflect

14 years agoMerge "Updated the warning about old-style inner class metadata to reflect the curren...
Dan Bornstein [Fri, 25 Jun 2010 01:29:18 +0000 (18:29 -0700)]
Merge "Updated the warning about old-style inner class metadata to reflect the current understanding of the situation." into gingerbread

14 years agoUpdated the warning about old-style inner class metadata to reflect
Dan Bornstein [Thu, 24 Jun 2010 21:51:17 +0000 (14:51 -0700)]
Updated the warning about old-style inner class metadata to reflect
the current understanding of the situation.

The change affects diagnostic output but doesn't change anything about
dex file production, per se. I also added a new test each for dx and
the vm, checking that the warning gets emitted and demonstrating the
effect (respectively).

Though it's a pretty minor change, I bumped up the version number of dx.

Added bonus: Wrapped a couple of too-long lines that I happened to notice.

Bug: 2171430
Change-Id: If6afa4ba88dca9b0e6d88603e0a5fc2e36358115

14 years agoMerge "Fix a VM abort caused by the HeapWorker thread." into dalvik-dev
Carl Shapiro [Fri, 25 Jun 2010 01:09:23 +0000 (18:09 -0700)]
Merge "Fix a VM abort caused by the HeapWorker thread." into dalvik-dev

14 years agoFix a VM abort caused by the HeapWorker thread.
Carl Shapiro [Fri, 25 Jun 2010 00:44:29 +0000 (17:44 -0700)]
Fix a VM abort caused by the HeapWorker thread.

After calling finalize method the HeapWorker needs to reacquire the
heapWorkerLock.  If the garbage collector is running, this resource
may not be released before the VM decides to suspend the HeapWorker
thread.  By transitioning the VMWAIT state in these situations, the
HeapWorker will not otherwise induce an abort.

Change-Id: I70ee47a9793d3d2f7fb24b1586aa43ce500a8767

14 years agoam 9974cb52: am 6626af93: Merge "Remove the 060-reflection-security test." into ginge...
Elliott Hughes [Fri, 25 Jun 2010 00:16:46 +0000 (17:16 -0700)]
am 9974cb52: am 6626af93: Merge "Remove the 060-reflection-security test." into gingerbread

Merge commit '9974cb521a01426c90e0c6836832eb2b33d7512b'

* commit '9974cb521a01426c90e0c6836832eb2b33d7512b':
  Remove the 060-reflection-security test.

14 years agoMerge "Remove LOGVV messages." into dalvik-dev
Carl Shapiro [Thu, 24 Jun 2010 23:28:08 +0000 (16:28 -0700)]
Merge "Remove LOGVV messages." into dalvik-dev

14 years agoam 6626af93: Merge "Remove the 060-reflection-security test." into gingerbread
Elliott Hughes [Thu, 24 Jun 2010 23:23:45 +0000 (16:23 -0700)]
am 6626af93: Merge "Remove the 060-reflection-security test." into gingerbread

Merge commit '6626af931dad11d2c2035cbd1f2e1593fb3097b8' into gingerbread-plus-aosp

* commit '6626af931dad11d2c2035cbd1f2e1593fb3097b8':
  Remove the 060-reflection-security test.

14 years agoMerge "Remove the 060-reflection-security test." into gingerbread
Elliott Hughes [Thu, 24 Jun 2010 23:21:56 +0000 (16:21 -0700)]
Merge "Remove the 060-reflection-security test." into gingerbread

14 years agoRemove LOGVV messages.
Carl Shapiro [Thu, 24 Jun 2010 23:16:47 +0000 (16:16 -0700)]
Remove LOGVV messages.

Change-Id: I0af0710e28b644cc3b9e61501eaca872bea5d8b9

14 years agoRemove the 060-reflection-security test.
Elliott Hughes [Thu, 24 Jun 2010 23:11:03 +0000 (16:11 -0700)]
Remove the 060-reflection-security test.

Bug: 2796887
Change-Id: I30879565343ea00db042a9608c5bac27cef66bb3

14 years agoRemove a reference to the unlinked class in identityHashCode.
Carl Shapiro [Thu, 24 Jun 2010 19:36:38 +0000 (12:36 -0700)]
Remove a reference to the unlinked class in identityHashCode.

Change-Id: I79d011457b149ae04d4d1f16c467afded959be73

14 years agoJit: Fix for 2793725 SIGSEGV in JIT code cache
Bill Buzbee [Wed, 23 Jun 2010 23:36:50 +0000 (16:36 -0700)]
Jit: Fix for 2793725 SIGSEGV in JIT code cache

r8 was missing from the handler clobber set, and is stepped on by
the handlers for inline string compareto and indexof.

Change-Id: I6e5d6f46b595d638863b27edcc8718157a3e411f

14 years agoMerge "Make the copying collector build again." into dalvik-dev
Carl Shapiro [Wed, 23 Jun 2010 21:28:14 +0000 (14:28 -0700)]
Merge "Make the copying collector build again." into dalvik-dev

14 years agoMake the copying collector build again.
Carl Shapiro [Wed, 23 Jun 2010 21:25:07 +0000 (14:25 -0700)]
Make the copying collector build again.

Change-Id: I248babd7062d9c1dccabdcfcd81b5b06e06b314e

14 years agomerge from open-source master
The Android Open Source Project [Tue, 22 Jun 2010 21:28:00 +0000 (14:28 -0700)]
merge from open-source master

Change-Id: Ie085bcbe5ce7d055b4c3b3f82d68fed62b4793f7

14 years agoMerge "dalvik: use pthread_setname_np() to set the name of the current thread"
Andy McFadden [Tue, 22 Jun 2010 20:21:00 +0000 (13:21 -0700)]
Merge "dalvik: use pthread_setname_np() to set the name of the current thread"

14 years agoRelocate OpCodeNames.[ch].
Andy McFadden [Tue, 22 Jun 2010 18:01:20 +0000 (11:01 -0700)]
Relocate OpCodeNames.[ch].

The JIT was pulling it out of the dexdump directory, which is Just
Plain Wrong[tm].  Now it's part of libdex, for all to enjoy.

Change-Id: Ic1e4c981eb2d70ccc3c841ceb5a54f4f77af2008

14 years agoFix dexdump.
Andy McFadden [Tue, 22 Jun 2010 17:34:21 +0000 (10:34 -0700)]
Fix dexdump.

It was printing bad output or crashing on the -wide-volatile instructions
generated by "dx".  This inverts the "else" clause, treating new-array
and instance-of as the special case.

Change-Id: I1717508d2e41cdc9a2396e2eaa215d7f9f8ac21b

14 years agoPut wrappers on all stores of Object pointers into heap Objects.
Barry Hayes [Fri, 11 Jun 2010 23:12:47 +0000 (16:12 -0700)]
Put wrappers on all stores of Object pointers into heap Objects.

Also:
Changed ++ loops to [i] loops where I'm touching.
Added some asserts.
Added dvmHeapSourceContainsAddress
Added dvmIsValidObjectAddress

Change-Id: I6586688246064aecabb1e22e1dca276fecee7795

14 years agoMerge "Fix ENFORCE_READ_ONLY mode for LinearAlloc." into dalvik-dev
Andy McFadden [Mon, 21 Jun 2010 20:50:13 +0000 (13:50 -0700)]
Merge "Fix ENFORCE_READ_ONLY mode for LinearAlloc." into dalvik-dev

14 years agoFix ENFORCE_READ_ONLY mode for LinearAlloc.
Andy McFadden [Mon, 21 Jun 2010 19:58:20 +0000 (12:58 -0700)]
Fix ENFORCE_READ_ONLY mode for LinearAlloc.

Just need to wrap a memset call that zeroes out the interface indices
before the class is marked GC-able.

Change-Id: I734985f668d224f674d95faa4854db4d4978a4d0

14 years agoMerge "Clean-up the use of barriers in the synchronization code." into dalvik-dev
Carl Shapiro [Mon, 21 Jun 2010 19:51:25 +0000 (12:51 -0700)]
Merge "Clean-up the use of barriers in the synchronization code." into dalvik-dev

14 years agoMerge "Fiddle with SMP_DMB." into dalvik-dev
Andy McFadden [Mon, 21 Jun 2010 18:14:49 +0000 (11:14 -0700)]
Merge "Fiddle with SMP_DMB." into dalvik-dev

14 years agoam 65c3e699: am 577198ac: merge from froyo-plus-aosp
The Android Open Source Project [Mon, 21 Jun 2010 18:08:33 +0000 (11:08 -0700)]
am 65c3e699: am 577198ac: merge from froyo-plus-aosp

Merge commit '65c3e6993c33115931d8a2e27010d14f9bc0d42c' into dalvik-dev

* commit '65c3e6993c33115931d8a2e27010d14f9bc0d42c':
  New implementation for java.lang.Runtime's availableProcessors().

14 years agoClean-up the use of barriers in the synchronization code.
Carl Shapiro [Mon, 21 Jun 2010 18:04:33 +0000 (11:04 -0700)]
Clean-up the use of barriers in the synchronization code.

* Use a releasing store to update the lockword when inflating.

* Remove the barrier following the interrupted flag update.  The
  mutex release that follows should have the same effect.

Change-Id: I9c8b31769e5767a9748d01278cf01be9678de2a5

14 years agoam 577198ac: merge from froyo-plus-aosp
The Android Open Source Project [Mon, 21 Jun 2010 18:02:29 +0000 (11:02 -0700)]
am 577198ac: merge from froyo-plus-aosp

Merge commit '577198ac632e57ac327555443cb0185d45ed3250'

* commit '577198ac632e57ac327555443cb0185d45ed3250':
  New implementation for java.lang.Runtime's availableProcessors().

14 years agomerge from froyo-plus-aosp
The Android Open Source Project [Mon, 21 Jun 2010 17:59:37 +0000 (10:59 -0700)]
merge from froyo-plus-aosp

Change-Id: I42dc1a2946b44b870f4fbf21522c20974e8dfd39

14 years agoRemove the "allocFlags" parameter from dvmCreateStringFromCstr and
Barry Hayes [Tue, 15 Jun 2010 23:17:37 +0000 (16:17 -0700)]
Remove the "allocFlags" parameter from dvmCreateStringFromCstr and
dvmCreateStringFromCstrAndLength.

The only valid argument would be ALLOC_DEFAULT, so drop the parameter.

Change-Id: Idf469ef0ec12b0743792fc525e0c53fc7486eab6

14 years agoFiddle with SMP_DMB.
Andy McFadden [Fri, 18 Jun 2010 21:04:12 +0000 (14:04 -0700)]
Fiddle with SMP_DMB.

This changes it from a macro that takes an argument to a simpler
macro that is named explicitly by the 8 instructions that want it.

Change-Id: Ie17a9722823d590851776b6b9b057eadf22fa6a8

14 years agoAdd opcodes for volatile field accesses
Andy McFadden [Thu, 17 Jun 2010 19:36:00 +0000 (12:36 -0700)]
Add opcodes for volatile field accesses

This adds instructions for {i,s}{get,put}{,-object}-volatile, for a
total of eight new instructions.

On SMP systems, these instructions will be substituted in for existing
field access instructions, either by dexopt or during just-in-time
verification.  Unlike the wide-volatile instructions, these will not be
used at all when the VM is not built for SMP.

(Ideally we'd omit the volatile instruction implementations entirely on
non-SMP builds, but that requires a little work in gen-mterp.py.)

The change defines and implements the opcodes and support methods, but
does not cause them to be used.

Also, changed dvmQuasiAtomicRead64's argument to be const.

Change-Id: I9e44fe881e87f27aa41f6c6e898ec4402cb5493e

14 years agoMerge "Dalvik SMP update" into dalvik-dev
Andy McFadden [Fri, 18 Jun 2010 16:54:31 +0000 (09:54 -0700)]
Merge "Dalvik SMP update" into dalvik-dev

14 years agoDalvik SMP update
Andy McFadden [Wed, 16 Jun 2010 15:32:04 +0000 (08:32 -0700)]
Dalvik SMP update

Fix some SMP correctness issues in the VM:

 - Correct AtomicCache implementation, inserting barriers where needed
   and correcting existing usage.
 - Emphasize that String startup isn't expected to be reentrant, and
   use atomic ops to ensure that we explode if anybody tries it.
 - Use 64-bit quasiatomic ops to manage the "last activity" timer in
   JDWP.  (Also, provide some documented but unimplemented behavior.)
 - Updated the volatile operations in sun.misc.Unsafe to include
   appropriate barriers.

(This does not purport to correct all SMP issues, just some of the
more obvious ones.)

Change-Id: I06957ebcf2724fe7a228b30d00194b9b4808fae0

14 years agoMerge "Move the implementation of JNIHelp.h's FileDescriptor helpers into JNIHelp...
Elliott Hughes [Thu, 17 Jun 2010 21:41:23 +0000 (14:41 -0700)]
Merge "Move the implementation of JNIHelp.h's FileDescriptor helpers into JNIHelp.c." into dalvik-dev

14 years agoMove the implementation of JNIHelp.h's FileDescriptor helpers into JNIHelp.c.
Elliott Hughes [Thu, 17 Jun 2010 20:19:01 +0000 (13:19 -0700)]
Move the implementation of JNIHelp.h's FileDescriptor helpers into JNIHelp.c.

These functions used to be declared in dalvik/ but defined in libcore/, which
was a layering violation but not important. It now stands in the way of
switching FileDescriptor's JNI over to C++, so out it goes.

There's a functional change here: the libcore code was going out of its way
to ensure that FileDescriptor's <clinit> was being invoked, but it's not
obvious that there was any reason for this: the static initializers just set
the err/in/out fields' descriptor fields to the appropriate integers.

A separate change rewrites FileDescriptor's JNI in terms of JNIHelp.h's API,
so it no longer needs to know anything about FileDescriptor itself. (Amusingly,
the original motivation for switching to C++ was to rewrite code that I've now
simply deleted.)

Change-Id: I5d79e5b91835183c21a6b7a1545178d9d93f4b69

14 years agoMerge "Implement 64-bit atomic ops for ARMv6K+." into dalvik-dev
Andy McFadden [Thu, 17 Jun 2010 20:04:43 +0000 (13:04 -0700)]
Merge "Implement 64-bit atomic ops for ARMv6K+." into dalvik-dev

14 years agoImplement 64-bit atomic ops for ARMv6K+.
Andy McFadden [Wed, 16 Jun 2010 23:28:07 +0000 (16:28 -0700)]
Implement 64-bit atomic ops for ARMv6K+.

This implements the "quasi-atomic" 64-bit operations using LDREXD/STREXD
when those instructions are available (e.g. our ARMv7-A devices).

Also, folded in an expanded version of AtomicSpeed.c that has been
floating around my hard drive for a while.

(This time, without Condition Code Roulette.)

Change-Id: I90803794994373e2c620be423c081f0da4469fdf

14 years agoRevert "Implement 64-bit atomic ops for ARMv6K+."
Brian Carlstrom [Thu, 17 Jun 2010 18:47:32 +0000 (11:47 -0700)]
Revert "Implement 64-bit atomic ops for ARMv6K+."

This reverts commit 05ce82aa4685beb59d37b4ef655ff2750808aca2.

14 years agoImplement 64-bit atomic ops for ARMv6K+.
Andy McFadden [Wed, 16 Jun 2010 23:28:07 +0000 (16:28 -0700)]
Implement 64-bit atomic ops for ARMv6K+.

This implements the "quasi-atomic" 64-bit operations using LDREXD/STREXD
when those instructions are available (e.g. our ARMv7-A devices).

Also, folded in an expanded version of AtomicSpeed.c that has been
floating around my hard drive for a while.

Change-Id: I2d10c60ce2bce846218c3ac6dc22a54bc6627919

14 years agoAtomic op cleanup.
Andy McFadden [Mon, 14 Jun 2010 22:24:39 +0000 (15:24 -0700)]
Atomic op cleanup.

Replaced VM-local macros for barrier and CAS calls with the actual
versions provided by cutils.

 ATOMIC_CMP_SWAP(addr,old,new) --> android_atomic_release_cas(old,new,addr)

 MEM_BARRIER --> ANDROID_MEMBAR_FULL

Renamed android_quasiatomic* to dvmQuasiAtomic*.

Didn't change how anything works, just the names.

Change-Id: I8c68f28e1f7c9cb832183e0918d097dfe6a2cac8

14 years agoam 90788e58: am cd401135: am ff9aa9bf: am 9a2b2f76: Don\'t build dx if it\'s an app...
Ying Wang [Tue, 15 Jun 2010 22:55:32 +0000 (15:55 -0700)]
am 90788e58: am cd401135: am ff9aa9bf: am 9a2b2f76: Don\'t build dx if it\'s an app-only build.

Merge commit '90788e58e5d1ca2475fe795f3274ddab6ff055a3' into dalvik-dev

* commit '90788e58e5d1ca2475fe795f3274ddab6ff055a3':
  Don't build dx if it's an app-only build.

14 years agoam cd401135: am ff9aa9bf: am 9a2b2f76: Don\'t build dx if it\'s an app-only build.
Ying Wang [Tue, 15 Jun 2010 22:48:43 +0000 (15:48 -0700)]
am cd401135: am ff9aa9bf: am 9a2b2f76: Don\'t build dx if it\'s an app-only build.

Merge commit 'cd401135df4c66b6bfe2bfd3c2af125d103c098a'

* commit 'cd401135df4c66b6bfe2bfd3c2af125d103c098a':
  Don't build dx if it's an app-only build.

14 years agoam ff9aa9bf: am 9a2b2f76: Don\'t build dx if it\'s an app-only build.
Ying Wang [Tue, 15 Jun 2010 22:23:41 +0000 (15:23 -0700)]
am ff9aa9bf: am 9a2b2f76: Don\'t build dx if it\'s an app-only build.

Merge commit 'ff9aa9bfadcd4b17b078dfad65e0d700ea8c237a' into gingerbread-plus-aosp

* commit 'ff9aa9bfadcd4b17b078dfad65e0d700ea8c237a':
  Don't build dx if it's an app-only build.

14 years agoam 9a2b2f76: Don\'t build dx if it\'s an app-only build.
Ying Wang [Tue, 15 Jun 2010 22:21:26 +0000 (15:21 -0700)]
am 9a2b2f76: Don\'t build dx if it\'s an app-only build.

Merge commit '9a2b2f7678128a5385c83ea393d73cf3cdfcbe46' into gingerbread

* commit '9a2b2f7678128a5385c83ea393d73cf3cdfcbe46':
  Don't build dx if it's an app-only build.

14 years agoMerge "Add a context argument to the visitor callback." into dalvik-dev
Carl Shapiro [Tue, 15 Jun 2010 21:59:11 +0000 (14:59 -0700)]
Merge "Add a context argument to the visitor callback." into dalvik-dev

14 years agomerge from open-source master
The Android Open Source Project [Tue, 15 Jun 2010 21:46:37 +0000 (14:46 -0700)]
merge from open-source master

Change-Id: I919a5dd1cc8d615c2d9224ff08e849394ee84df0

14 years agoAdd a context argument to the visitor callback.
Carl Shapiro [Tue, 15 Jun 2010 21:40:20 +0000 (14:40 -0700)]
Add a context argument to the visitor callback.

Change-Id: I1e49d66043ebe8cbc9cbf5edf167c37bc52fad48

14 years agoresolved conflicts for merge of 6894177c to dalvik-dev
Elliott Hughes [Tue, 15 Jun 2010 21:39:13 +0000 (14:39 -0700)]
resolved conflicts for merge of 6894177c to dalvik-dev

Change-Id: I103557faf107a9663ce6b04227db0f2f993e5830

14 years agoam 9a2b2f76: Don\'t build dx if it\'s an app-only build.
Ying Wang [Tue, 15 Jun 2010 21:27:30 +0000 (14:27 -0700)]
am 9a2b2f76: Don\'t build dx if it\'s an app-only build.

Merge commit '9a2b2f7678128a5385c83ea393d73cf3cdfcbe46' into froyo-plus-aosp

* commit '9a2b2f7678128a5385c83ea393d73cf3cdfcbe46':
  Don't build dx if it's an app-only build.

14 years agoRemove run-core-tests.sh.
Elliott Hughes [Tue, 15 Jun 2010 20:34:30 +0000 (13:34 -0700)]
Remove run-core-tests.sh.

This script is always broken. Anyone wanting to run tests on a sim build should
use "vogar --mode sim" for one-offs or one of the dalvik-prebuild scripts to
run large batches.

Change-Id: Ie6b6a918d891589b071d4f07c766305561d80543

14 years agoNew implementation for java.lang.Runtime's availableProcessors().
Mikael Ohlson [Tue, 23 Mar 2010 13:06:19 +0000 (14:06 +0100)]
New implementation for java.lang.Runtime's availableProcessors().

This patch adds a native implementation for availableProcessors(),
replacing the hardcoded "always return 1" implementation.

It uses sysconf(_SC_NPROCESSORS_ONLN) to get the number of online
processors.

Signed-off-by: Christian Bejram <christian.bejram@stericsson.com>
14 years agoFix test 059.
Andy McFadden [Mon, 14 Jun 2010 23:07:10 +0000 (16:07 -0700)]
Fix test 059.

Looks like somebody fixed Timer so that it creates a non-daemon thread
by default.  Specify that the Timer should be a daemon so that the
test can exit before the watchdog fires.

Change-Id: I554f005e7e664b08cefa1731e48c067d05310ebb

14 years agoForward progress on verifier.
Andy McFadden [Tue, 4 May 2010 22:02:32 +0000 (15:02 -0700)]
Forward progress on verifier.

Promoted VerifierData to a more prominent role in passing state around.
This will (a) allow us to pass fewer explicit arguments around in the
core of the verifier, and (b) make it easier to maintain some fancier
data structures that we will need shortly.

Made use of dexGetInstrOrTableWidthAbs() in a couple of places where
we were still explicitly calculating the sizes of NOP data chunks.

Converted some things from int to size_t.

Change-Id: I206f588bf1fc116a9d1f50fb631a9af33479b291

14 years agoam 48184679: am c12b0da0: am e0b23da8: Merge "Tweak sanity check." into gingerbread
Andy McFadden [Mon, 14 Jun 2010 21:51:01 +0000 (14:51 -0700)]
am 48184679: am c12b0da0: am e0b23da8: Merge "Tweak sanity check." into gingerbread

Merge commit '48184679e8caa9d4c637187cd94f59d38929ac7a' into dalvik-dev

* commit '48184679e8caa9d4c637187cd94f59d38929ac7a':
  Tweak sanity check.

14 years agoam c12b0da0: am e0b23da8: Merge "Tweak sanity check." into gingerbread
Andy McFadden [Mon, 14 Jun 2010 21:44:13 +0000 (14:44 -0700)]
am c12b0da0: am e0b23da8: Merge "Tweak sanity check." into gingerbread

Merge commit 'c12b0da035901923893f50663c48cb4efd390712'

* commit 'c12b0da035901923893f50663c48cb4efd390712':
  Tweak sanity check.

14 years agoam e0b23da8: Merge "Tweak sanity check." into gingerbread
Andy McFadden [Mon, 14 Jun 2010 20:41:09 +0000 (13:41 -0700)]
am e0b23da8: Merge "Tweak sanity check." into gingerbread

Merge commit 'e0b23da8dfde8ed232bb03887762e580e0c4e04c' into gingerbread-plus-aosp

* commit 'e0b23da8dfde8ed232bb03887762e580e0c4e04c':
  Tweak sanity check.

14 years agoMerge "Tweak sanity check." into gingerbread
Andy McFadden [Mon, 14 Jun 2010 20:39:32 +0000 (13:39 -0700)]
Merge "Tweak sanity check." into gingerbread

14 years agoTweak sanity check.
Andy McFadden [Mon, 14 Jun 2010 20:37:49 +0000 (13:37 -0700)]
Tweak sanity check.

Somebody managed to overrun this.

Change-Id: Ibf7d6a9831d20ce4093fae8e67c835257b2c51a1

14 years agoam a224c03a: am 36b3b873: merge from froyo-plus-aosp
The Android Open Source Project [Mon, 14 Jun 2010 18:33:59 +0000 (11:33 -0700)]
am a224c03a: am 36b3b873: merge from froyo-plus-aosp

Merge commit 'a224c03a19423e9b2827dddd53fde5535da7b8ef' into dalvik-dev

* commit 'a224c03a19423e9b2827dddd53fde5535da7b8ef':
  Fix for x86-atom/CALLABI.S to handle failure for android.jni.cts.JniStaticTest#test_returnChar. CALLABI.S was not returning unsigned shorts correctly.

14 years agoam 36b3b873: merge from froyo-plus-aosp
The Android Open Source Project [Mon, 14 Jun 2010 18:28:35 +0000 (11:28 -0700)]
am 36b3b873: merge from froyo-plus-aosp

Merge commit '36b3b873fdd85cbcd89b158f5e211cfa934f12a1'

* commit '36b3b873fdd85cbcd89b158f5e211cfa934f12a1':
  Fix for x86-atom/CALLABI.S to handle failure for android.jni.cts.JniStaticTest#test_returnChar. CALLABI.S was not returning unsigned shorts correctly.

14 years agomerge from froyo-plus-aosp
The Android Open Source Project [Mon, 14 Jun 2010 18:24:54 +0000 (11:24 -0700)]
merge from froyo-plus-aosp

Change-Id: Ie16c2a8d6465fb0b2d2a06027b29a6bbe4ff9d16

14 years agoRemove commented out logging code.
Carl Shapiro [Sat, 12 Jun 2010 02:36:12 +0000 (19:36 -0700)]
Remove commented out logging code.

Change-Id: I81dcd8441391c4c40b6e4ba61efd3634934b930c

14 years agoConsistently use strerror(3) rather than reporting raw errno values.
Elliott Hughes [Fri, 11 Jun 2010 23:13:15 +0000 (16:13 -0700)]
Consistently use strerror(3) rather than reporting raw errno values.

We were doing the decoding almost everywhere, leaving just this handful of
places to fix.

Change-Id: I76100c213ded50e544eb6f740fea0b1633068b92

14 years agoDon't build dx if it's an app-only build.
Ying Wang [Fri, 11 Jun 2010 20:54:13 +0000 (13:54 -0700)]
Don't build dx if it's an app-only build.

Change-Id: I609f21e78b7bbac9af25ac1bc6bd5d3941ea462a

14 years agoRemove some stale comments and code.
Carl Shapiro [Fri, 11 Jun 2010 19:19:24 +0000 (12:19 -0700)]
Remove some stale comments and code.

Change-Id: Iad76c9a4168195461110af736af2e98f5025e6d4