OSDN Git Service

android-x86/dalvik.git
13 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

13 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

13 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().

13 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

13 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().

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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.

13 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

13 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

13 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.

13 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.

13 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.

13 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.

13 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

13 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

13 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

13 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

13 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.

13 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

13 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>
13 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

13 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

13 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.

13 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.

13 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.

13 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

13 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

13 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.

13 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.

13 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

13 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

13 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

13 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

13 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

13 years agoam eb91ab13: am f2be19de: am 891416ef: Update armv7-a-neon.
Andy McFadden [Fri, 11 Jun 2010 17:55:29 +0000 (10:55 -0700)]
am eb91ab13: am f2be19de: am 891416ef: Update armv7-a-neon.

Merge commit 'eb91ab136e258ccdf8d016fea96f2df310bad061' into dalvik-dev

* commit 'eb91ab136e258ccdf8d016fea96f2df310bad061':
  Update armv7-a-neon.

13 years agoam f2be19de: am 891416ef: Update armv7-a-neon.
Andy McFadden [Fri, 11 Jun 2010 17:49:11 +0000 (10:49 -0700)]
am f2be19de: am 891416ef: Update armv7-a-neon.

Merge commit 'f2be19debceb0af219a602a86c1474dae4006e06'

* commit 'f2be19debceb0af219a602a86c1474dae4006e06':
  Update armv7-a-neon.

13 years agoam 891416ef: Update armv7-a-neon.
Andy McFadden [Fri, 11 Jun 2010 17:47:28 +0000 (10:47 -0700)]
am 891416ef: Update armv7-a-neon.

Merge commit '891416ef725a5d9e64e5a1422f65394068c6e106' into gingerbread-plus-aosp

* commit '891416ef725a5d9e64e5a1422f65394068c6e106':
  Update armv7-a-neon.

13 years agoUpdate armv7-a-neon.
Andy McFadden [Fri, 11 Jun 2010 17:43:37 +0000 (10:43 -0700)]
Update armv7-a-neon.

An externally-contributed fix was not able to update the armv7-a-neon
output files, because they don't exist in the open-source repository.
All I did was re-run rebuild.sh.

Change-Id: I3bf436ee8c0f57deb033815fd07f1a531ce851a1

13 years agoMerge "Eliminate pointer tagging on the reference operation queue." into dalvik-dev
Carl Shapiro [Fri, 11 Jun 2010 17:41:13 +0000 (10:41 -0700)]
Merge "Eliminate pointer tagging on the reference operation queue." into dalvik-dev

13 years agoEliminate pointer tagging on the reference operation queue.
Carl Shapiro [Thu, 10 Jun 2010 22:17:00 +0000 (15:17 -0700)]
Eliminate pointer tagging on the reference operation queue.

Tags are unconditionally added before references are added to the
reference queue.  This tag is checked when a reference is removed from
the queue and subsequently cleared.  There are no other observers of
this tag and so it is equivalent to not tag the reference in the first
place.  The original intent may have been to tag the references in
different ways.  Removing this code simplifies reference tracing.

Change-Id: Idb18929e601acdd049b4a92ebf588f3f5febb75c

13 years agomerge from open-source master
The Android Open Source Project [Fri, 11 Jun 2010 16:33:03 +0000 (09:33 -0700)]
merge from open-source master

Change-Id: I5eed9fe77b936312b227cca4b7f3a9da2f5bf694

13 years agoAdded escape analysis and scalar replacement of arrays in dx.
jeffhao [Thu, 10 Jun 2010 21:30:54 +0000 (14:30 -0700)]
Added escape analysis and scalar replacement of arrays in dx.

Change-Id: Ic7a0e8042860af8ee167444f0b9f92198b1c28b2

13 years agoam cd6e05e8: am 41c2b663: am 805800d7: Merge "Up the version to 1.3.0." into kraken
Andy McFadden [Thu, 10 Jun 2010 17:30:03 +0000 (10:30 -0700)]
am cd6e05e8: am 41c2b663: am 805800d7: Merge "Up the version to 1.3.0." into kraken

Merge commit 'cd6e05e8b25410a008d3d7e5fc9b6de7d2c4d4c3' into dalvik-dev

* commit 'cd6e05e8b25410a008d3d7e5fc9b6de7d2c4d4c3':
  Up the version to 1.3.0.

13 years agoam 41c2b663: am 805800d7: Merge "Up the version to 1.3.0." into kraken
Andy McFadden [Thu, 10 Jun 2010 17:24:47 +0000 (10:24 -0700)]
am 41c2b663: am 805800d7: Merge "Up the version to 1.3.0." into kraken

13 years agoam 805800d7: Merge "Up the version to 1.3.0." into kraken
Andy McFadden [Thu, 10 Jun 2010 17:23:50 +0000 (10:23 -0700)]
am 805800d7: Merge "Up the version to 1.3.0." into kraken

13 years agoMerge "Up the version to 1.4.0." into dalvik-dev
Andy McFadden [Thu, 10 Jun 2010 17:22:29 +0000 (10:22 -0700)]
Merge "Up the version to 1.4.0." into dalvik-dev

13 years agoMerge "Up the version to 1.3.0." into kraken
Andy McFadden [Thu, 10 Jun 2010 17:22:17 +0000 (10:22 -0700)]
Merge "Up the version to 1.3.0." into kraken

13 years agoUp the version to 1.4.0.
Andy McFadden [Thu, 10 Jun 2010 05:32:09 +0000 (22:32 -0700)]
Up the version to 1.4.0.

This makes it one more than the last one.

Change-Id: I7227f8c08dab5cec8f878a888382a851339fccde

13 years agoUp the version to 1.3.0.
Andy McFadden [Thu, 10 Jun 2010 05:31:32 +0000 (22:31 -0700)]
Up the version to 1.3.0.

Make it one up from froyo.

Change-Id: I9f5170be0ab5f301e994f10300d81f60a01335f7

13 years agoFix for x86-atom/CALLABI.S to handle failure for android.jni.cts.JniStaticTest#test_r...
Johnnie Birch [Wed, 9 Jun 2010 22:03:27 +0000 (15:03 -0700)]
Fix for x86-atom/CALLABI.S to handle failure for android.jni.cts.JniStaticTest#test_returnChar. CALLABI.S was not returning unsigned shorts correctly.

Change-Id: Ia6b443d41a96b0f65739c0b16a0ddb39f7eb33fa

13 years agoMerge "Treat warnings as errors for ARM target builds." into dalvik-dev
Carl Shapiro [Wed, 9 Jun 2010 22:17:47 +0000 (15:17 -0700)]
Merge "Treat warnings as errors for ARM target builds." into dalvik-dev

13 years agoMerge "Rename the heap virtual memory allocation to "dalvik-heap"." into dalvik-dev
Carl Shapiro [Wed, 9 Jun 2010 22:10:16 +0000 (15:10 -0700)]
Merge "Rename the heap virtual memory allocation to "dalvik-heap"." into dalvik-dev

13 years agoMerge "Jit: Add parenthesis to fix expression" into dalvik-dev
buzbee [Wed, 9 Jun 2010 21:43:27 +0000 (14:43 -0700)]
Merge "Jit: Add parenthesis to fix expression" into dalvik-dev

13 years agoJit: Add parenthesis to fix expression
buzbee [Wed, 9 Jun 2010 21:22:50 +0000 (14:22 -0700)]
Jit: Add parenthesis to fix expression

Yay compiler warnings.  Boo failing to notice compiler warnings.

Change-Id: I8ec85e2898b1675105ebd593f2ff47a06e425802

13 years agoTreat warnings as errors for ARM target builds.
Carl Shapiro [Wed, 9 Jun 2010 21:23:25 +0000 (14:23 -0700)]
Treat warnings as errors for ARM target builds.

Change-Id: Icbc4867a001f33abebb759ddcc69dd877950b69a

13 years agoRename the heap virtual memory allocation to "dalvik-heap".
Carl Shapiro [Wed, 9 Jun 2010 21:15:09 +0000 (14:15 -0700)]
Rename the heap virtual memory allocation to "dalvik-heap".

Change-Id: I05b9af92c4026be9445aff87520b2529b4757fe7

13 years agoMerge "ALLOC_NO_GC is no longer used; remove it, and the nonCollectableRefs table...
Barry Hayes [Wed, 9 Jun 2010 19:09:12 +0000 (12:09 -0700)]
Merge "ALLOC_NO_GC is no longer used; remove it, and the nonCollectableRefs table. Clean up dvmHeapInitHeapRefTable's interface to know the default size." into dalvik-dev

13 years agoALLOC_NO_GC is no longer used; remove it, and the nonCollectableRefs table.
Barry Hayes [Tue, 8 Jun 2010 16:34:42 +0000 (09:34 -0700)]
ALLOC_NO_GC is no longer used; remove it, and the nonCollectableRefs table.
Clean up dvmHeapInitHeapRefTable's interface to know the default size.

Change-Id: I535fdfe39924f6f65f286e2809002c2a0e6411b6

13 years agoMerge "Clean up the use of condition variables in the HeapWorker." into dalvik-dev
Carl Shapiro [Wed, 9 Jun 2010 18:20:33 +0000 (11:20 -0700)]
Merge "Clean up the use of condition variables in the HeapWorker." into dalvik-dev

13 years agoClean up the use of condition variables in the HeapWorker.
Carl Shapiro [Tue, 8 Jun 2010 23:19:45 +0000 (16:19 -0700)]
Clean up the use of condition variables in the HeapWorker.

Except for the timed wait case, use the error checking function
wrappers for all condition variable uses.  Also, do not accept an
EINTR return value for the timed wait.  These functions are never
supposed to return EINTR.

Change-Id: I867522b9ecea34dbe29ecc6bef1b3e3586c48414

13 years agoMerge "JIT: Trace selection tuning to reduce number of spurious "hot" traces." into...
buzbee [Wed, 9 Jun 2010 17:28:46 +0000 (10:28 -0700)]
Merge "JIT: Trace selection tuning to reduce number of spurious "hot" traces." into dalvik-dev

13 years agoJIT: Trace selection tuning to reduce number of spurious "hot" traces.
buzbee [Tue, 8 Jun 2010 23:24:46 +0000 (16:24 -0700)]
JIT: Trace selection tuning to reduce number of spurious "hot" traces.

This change trades a smallish adverse performance impact on programs
with flat execution profiles (for example, dacapo's xalan) for significant
reductions in useless translations.  For dacapo, performance dropped
by about 2% in return for a 40% reduction in memory usage (300 Kbytes).
No significant performance drop in loopy profiles, but ocassionally good
memory savings.  BenchmarkPi performance unchanged, but memory usage
after 4 runs went from 120 Kbytes to 55 Kbytes.

This is still not ideal (and probably will never be).  For programs with
flat execution profiles we do best with loose hotness detection - try to
get as much of the working set compiled as quickly as possible.  However,
too loose and we end up translating a lot of little-used UI code.

My current inclination is to err towards tight standards for the trace
JIT and push better performance for flat profiles in a future world in
which we analyze profile data across runs - perhaps in conjunction with
a method JIT.

Change-Id: If1b6e940ca7799acd6266e47175dae644269bc87

13 years agoRemove repeated newlines at the end of files.
Carl Shapiro [Wed, 9 Jun 2010 01:08:14 +0000 (18:08 -0700)]
Remove repeated newlines at the end of files.

Change-Id: I1e3d103a7b932ef21acedb6438c0f26b315df28f

13 years agoRemove trailing whitespace.
Carl Shapiro [Tue, 8 Jun 2010 23:37:12 +0000 (16:37 -0700)]
Remove trailing whitespace.

Change-Id: I95534bb2b88eaf48f2329282041118cd034c812b

13 years agoRemove several obsolete logging macros.
Carl Shapiro [Tue, 8 Jun 2010 20:42:05 +0000 (13:42 -0700)]
Remove several obsolete logging macros.

Change-Id: I3bd6d950168e462556eeb2c219685a269a2cd65c

13 years agoReplace a missing HPROF call in scanObject.
Carl Shapiro [Tue, 8 Jun 2010 20:19:57 +0000 (13:19 -0700)]
Replace a missing HPROF call in scanObject.

This code was accidentally removed when the implementation of the
scanObject routines in MarkSweep.c was superseded by code from their
analogs in Verify.c.

Change-Id: I9da6de01949130648d11172198b76db98dc184ee

13 years agoFurther clean-up now that class == NULL has been eliminated.
Barry Hayes [Tue, 8 Jun 2010 16:59:12 +0000 (09:59 -0700)]
Further clean-up now that class == NULL has been eliminated.

Change-Id: I8be4bb4e46813ec04a0f8cd22d30f9e9b28895f0

13 years agoSend unlinkedClass back to hell, as requested.
Barry Hayes [Fri, 14 May 2010 20:43:34 +0000 (13:43 -0700)]
Send unlinkedClass back to hell, as requested.

The GC and Verify routines now can look inside classes better as well.

Basic ideas:
1) Pre-allocate the java.lang.Class class, and explicitly
set its clazz field to itself.

2) Put ClassObjects in status CLASS_IDX when their super and interface
array contain Dex indexes rather than object pointers. The GC
understands this, and uses that status to decide on marking those
fields or not.

Change-Id: Id84310b8a4ee27bf1b33e5b58ad9739fad659c4e

13 years agoMerge "Make attached threads visible to the GC sooner" into dalvik-dev
Andy McFadden [Mon, 7 Jun 2010 14:41:56 +0000 (07:41 -0700)]
Merge "Make attached threads visible to the GC sooner" into dalvik-dev

13 years agoMerge "Trivial formatting fix." into dalvik-dev
Andy McFadden [Fri, 4 Jun 2010 23:52:23 +0000 (16:52 -0700)]
Merge "Trivial formatting fix." into dalvik-dev

13 years agoTrivial formatting fix.
Andy McFadden [Fri, 4 Jun 2010 23:51:47 +0000 (16:51 -0700)]
Trivial formatting fix.

Change-Id: I89277db5a2278a9e4d584ffb4b24d5cd77f71a3c

13 years agoam 7c13ed2a: am 1dd067d9: am 54709cb2: am bf11852a: merge from open-source master
The Android Open Source Project [Fri, 4 Jun 2010 22:38:23 +0000 (15:38 -0700)]
am 7c13ed2a: am 1dd067d9: am 54709cb2: am bf11852a: merge from open-source master

Merge commit '7c13ed2afba1abe63f39b0f563978e04e849ae00' into dalvik-dev

* commit '7c13ed2afba1abe63f39b0f563978e04e849ae00':
  Fix for use of UNPREDICTABLE register combination

13 years agoam db00fdd3: am 09eae10c: am 23971e39: Merge "Added a new JNI helper for logging...
Jeff Brown [Fri, 4 Jun 2010 22:38:20 +0000 (15:38 -0700)]
am db00fdd3: am 09eae10c: am 23971e39: Merge "Added a new JNI helper for logging exceptions. Plugged some JNI reference leaks in existing JNI helpers." into kraken

Merge commit 'db00fdd383809700a01b2a19386f1ca81e94c6f0' into dalvik-dev

* commit 'db00fdd383809700a01b2a19386f1ca81e94c6f0':
  Added a new JNI helper for logging exceptions.

13 years agoMake attached threads visible to the GC sooner
Andy McFadden [Wed, 2 Jun 2010 22:37:21 +0000 (15:37 -0700)]
Make attached threads visible to the GC sooner

Threads that are created outside the VM and then attached were
allocating objects (Thread, VMThread, a String for the name) before
they were on the internal thread list.  This made for some awkward
moments and required the use of an ALLOC_NO_GC flag.

With this change we now add the thread to the list first, and perform
the object creation afterward.  This is saner from the perspective
of the GC, and may allow us to eliminate ALLOC_NO_GC.

As it happens, the places that would care about a null threadObj
(thread dump, get thread name, debugger request for thread list)
already check for it, making this pretty straightforward.

While I was in here I also took some steps to ensure that threadObj
doesn't get rewritten by the copying collector while something is in
the process of examining it.  This involved a bit of paranoia in the
thread dump.

For bug 2603988.

Change-Id: Ibf2fdb917618277e75a79df113180f1d7f616e14

13 years agoam 1dd067d9: am 54709cb2: am bf11852a: merge from open-source master
The Android Open Source Project [Fri, 4 Jun 2010 21:11:21 +0000 (14:11 -0700)]
am 1dd067d9: am 54709cb2: am bf11852a: merge from open-source master

13 years agoam 54709cb2: am bf11852a: merge from open-source master
The Android Open Source Project [Fri, 4 Jun 2010 21:03:54 +0000 (14:03 -0700)]
am 54709cb2: am bf11852a: merge from open-source master

13 years agoam bf11852a: merge from open-source master
The Android Open Source Project [Fri, 4 Jun 2010 21:02:48 +0000 (14:02 -0700)]
am bf11852a: merge from open-source master

Merge commit 'bf11852aa3b56f1f77841dd0dbb3cc984711d674' into kraken

* commit 'bf11852aa3b56f1f77841dd0dbb3cc984711d674':
  Fix for use of UNPREDICTABLE register combination

13 years agomerge from open-source master
The Android Open Source Project [Fri, 4 Jun 2010 21:01:00 +0000 (14:01 -0700)]
merge from open-source master

Change-Id: Ic827f3b9a61ba4bfe72606950b6b34a5caf9d9bd

13 years agoMerge "Pin objects in the debug registry hash table." into dalvik-dev
Carl Shapiro [Fri, 4 Jun 2010 17:16:03 +0000 (10:16 -0700)]
Merge "Pin objects in the debug registry hash table." into dalvik-dev

13 years agoFix for use of UNPREDICTABLE register combination
Dave Butcher [Wed, 2 Jun 2010 13:52:21 +0000 (14:52 +0100)]
Fix for use of UNPREDICTABLE register combination

Use of the LDRD instruction form LDRD Rt, Rt2, [Rn, Rm] has restrictions
on the register combinations - specifically if Rt or Rt2 is equal to Rn or
Rm the behaviour is defined as 'UNPREDICTABLE'.

Change-Id: I19834783865e07897cc7012367e698447f023ce6

13 years agoAdd a callback driven visitor routine and make verify use it.
Carl Shapiro [Fri, 4 Jun 2010 06:01:39 +0000 (23:01 -0700)]
Add a callback driven visitor routine and make verify use it.

This is the first step along the way to ending the proliferation of
one-off object walking routines.  This code should supersede similar
code in the mark sweep collector, the copying collector, the hprof
tool, etc..  Once all of its uses have been debugged the routines in
the .c file should be hoisted into the .h file and marked as inline.

Soon, the signature of the visitor will probably have to be converted
to a functor with members specialized to reference type and, in
addition, given an extra parameter for a context structure.

Change-Id: Ib00850f22374c5aca51fa3708304774da90d8bc4

13 years agoPin objects in the debug registry hash table.
Carl Shapiro [Fri, 4 Jun 2010 07:03:18 +0000 (00:03 -0700)]
Pin objects in the debug registry hash table.

Evidently, these objects are presumed to have stable addresses.

Change-Id: I20ba2adc9b78ac157ba210a8a4d5b2b7355c33fb

13 years agoMerge "Check the mprotect() result when initializing the JIT code cache." into dalvik-dev
Ben Cheng [Thu, 3 Jun 2010 21:48:14 +0000 (14:48 -0700)]
Merge "Check the mprotect() result when initializing the JIT code cache." into dalvik-dev

13 years agoam 09eae10c: am 23971e39: Merge "Added a new JNI helper for logging exceptions. Plugg...
Jeff Brown [Thu, 3 Jun 2010 21:26:46 +0000 (14:26 -0700)]
am 09eae10c: am 23971e39: Merge "Added a new JNI helper for logging exceptions. Plugged some JNI reference leaks in existing JNI helpers." into kraken

13 years agoam 23971e39: Merge "Added a new JNI helper for logging exceptions. Plugged some JNI...
Jeff Brown [Thu, 3 Jun 2010 21:24:59 +0000 (14:24 -0700)]
am 23971e39: Merge "Added a new JNI helper for logging exceptions. Plugged some JNI reference leaks in existing JNI helpers." into kraken

13 years agoMerge "Added a new JNI helper for logging exceptions. Plugged some JNI reference...
Jeff Brown [Thu, 3 Jun 2010 21:23:25 +0000 (14:23 -0700)]
Merge "Added a new JNI helper for logging exceptions. Plugged some JNI reference leaks in existing JNI helpers." into kraken

13 years agoCheck the mprotect() result when initializing the JIT code cache.
Ben Cheng [Thu, 3 Jun 2010 20:52:42 +0000 (13:52 -0700)]
Check the mprotect() result when initializing the JIT code cache.

Bug: 2690371
Change-Id: I48cb6498d1cdddcbf8386649d02467db5a1306e8

13 years agoam 46eba1c4: am db5e758f: am 97e34d0d: am c023ae6a: am 962f896e: Add /proc/pid/task...
Christopher Tate [Thu, 3 Jun 2010 18:16:00 +0000 (11:16 -0700)]
am 46eba1c4: am db5e758f: am 97e34d0d: am c023ae6a: am 962f896e: Add /proc/pid/task/tid/schedstat info to thread stack dumps

Merge commit '46eba1c4a6104cefe138c1c39a46275214690217' into dalvik-dev

* commit '46eba1c4a6104cefe138c1c39a46275214690217':
  Add /proc/pid/task/tid/schedstat info to thread stack dumps

13 years agoam db5e758f: am 97e34d0d: am c023ae6a: am 962f896e: Add /proc/pid/task/tid/schedstat...
Christopher Tate [Thu, 3 Jun 2010 18:10:39 +0000 (11:10 -0700)]
am db5e758f: am 97e34d0d: am c023ae6a: am 962f896e: Add /proc/pid/task/tid/schedstat info to thread stack dumps

13 years agoam 97e34d0d: am c023ae6a: am 962f896e: Add /proc/pid/task/tid/schedstat info to threa...
Christopher Tate [Thu, 3 Jun 2010 18:09:32 +0000 (11:09 -0700)]
am 97e34d0d: am c023ae6a: am 962f896e: Add /proc/pid/task/tid/schedstat info to thread stack dumps

13 years agoam c023ae6a: am 962f896e: Add /proc/pid/task/tid/schedstat info to thread stack dumps
Christopher Tate [Thu, 3 Jun 2010 18:07:49 +0000 (11:07 -0700)]
am c023ae6a: am 962f896e: Add /proc/pid/task/tid/schedstat info to thread stack dumps

Merge commit 'c023ae6afcdd37b26dd16be43b023a93acc90905' into kraken

* commit 'c023ae6afcdd37b26dd16be43b023a93acc90905':
  Add /proc/pid/task/tid/schedstat info to thread stack dumps