OSDN Git Service

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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

14 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

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

Merge commit '962f896e1eeb159a6a2ac7a560708939cbb15575' into froyo-plus-aosp

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

14 years agoAdd /proc/pid/task/tid/schedstat info to thread stack dumps
Christopher Tate [Wed, 2 Jun 2010 23:17:46 +0000 (16:17 -0700)]
Add /proc/pid/task/tid/schedstat info to thread stack dumps

This lets us see whether a usually-blocked thread is actually making
progress in between stack snapshots.

Change-Id: If191627e4572457579d5f330d31bde86b8ce4ec5

14 years agoAdded a new JNI helper for logging exceptions.
Jeff Brown [Wed, 2 Jun 2010 04:07:08 +0000 (21:07 -0700)]
Added a new JNI helper for logging exceptions.
Plugged some JNI reference leaks in existing JNI helpers.

Change-Id: I62213cdae375235f6ee9304ecd8dc3d2b7f58c85

14 years agoInclude move-result into the same trace as the invoke.
Ben Cheng [Wed, 2 Jun 2010 22:33:51 +0000 (15:33 -0700)]
Include move-result into the same trace as the invoke.

In preparation for method inlining implementation. Example trace:

D/dalvikvm(  708): Compiler: Building trace for fibonacci, offset 0x10
D/dalvikvm(  708): 0x426b6fa8: 0x0016 const-wide/16 v0, (#2), (#0)
D/dalvikvm(  708): 0x426b6fac: 0x009c sub-long v0, v7, v0
D/dalvikvm(  708): 0x426b6fb0: 0x0070 invoke-direct v6, v0, v1
D/dalvikvm(  708): 0x426b6fb6: 0x000b move-result-wide v0, (#0), (#0)
D/dalvikvm(  708): TRACEINFO (3): 0x426b6f88 Lcom/android/unit_tests/PerformanceTests$FibonacciSlow;fibonacci 0x10 8 of 32, 7 blocks
D/dalvikvm(  708): 7 blocks in total
D/dalvikvm(  708): Block 0 (insn 0010 - 0010 empty)
D/dalvikvm(  708):   Fallthrough : block 1 (0010)
D/dalvikvm(  708): Block 1 (insn 0010 - 0014)
D/dalvikvm(  708):   Taken branch: block 3 (0000)
D/dalvikvm(  708):   Fallthrough : block 2 (0017)
D/dalvikvm(  708): Block 2 (insn 0017 - 0017)
D/dalvikvm(  708):   Fallthrough : block 4 (0018)
D/dalvikvm(  708): Block 3 (insn 0000 - 0000 empty)
D/dalvikvm(  708): Block 4 (insn 0018 - 0018 empty)
D/dalvikvm(  708): Block 5 (insn 0000 - 0000 empty)
D/dalvikvm(  708): Block 6 (insn 0000 - 0000 empty)

Once implemented the inliner will consume the invoke-direct and
move-result-wide instructions altogether.

Change-Id: I4e0e6283989a468d9edf01cf26f644d2d8d7ec64

14 years agomerge from master
The Android Open Source Project [Tue, 1 Jun 2010 17:24:24 +0000 (10:24 -0700)]
merge from master

Change-Id: I99ef0c5f5fcaee5e2cea55449488bae2ce330fb9

14 years agoMerge "Merge branch 'dalvik-dev'"
Brian Carlstrom [Tue, 1 Jun 2010 17:09:25 +0000 (10:09 -0700)]
Merge "Merge branch 'dalvik-dev'"

14 years agoMerge branch 'dalvik-dev'
Brian Carlstrom [Tue, 1 Jun 2010 16:16:11 +0000 (09:16 -0700)]
Merge branch 'dalvik-dev'

14 years agoam ead3d06b: am 67e82fb1: Merge "Atomic/SMP update, part 2." into kraken
Andy McFadden [Mon, 31 May 2010 04:20:47 +0000 (21:20 -0700)]
am ead3d06b: am 67e82fb1: Merge "Atomic/SMP update, part 2." into kraken

14 years agoAdded EXPORT_PC to "throw" instruction.
Andy McFadden [Fri, 21 May 2010 19:20:23 +0000 (12:20 -0700)]
Added EXPORT_PC to "throw" instruction.

For bug 2700761.

Change-Id: I889e59ea35d9cadd99fc884e5b1301a4cf103f93

14 years agoMerge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master
Brian Carlstrom [Fri, 28 May 2010 22:42:12 +0000 (15:42 -0700)]
Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-master

Change-Id: I0c0edb3ebf0d5e040d6bbbf60269fab0deb70ef9

14 years agoMerge "Clean up warnings detected by gcc." into dalvik-dev
Ben Cheng [Fri, 28 May 2010 22:28:05 +0000 (15:28 -0700)]
Merge "Clean up warnings detected by gcc." into dalvik-dev

14 years agoClean up warnings detected by gcc.
Ben Cheng [Fri, 28 May 2010 22:20:08 +0000 (15:20 -0700)]
Clean up warnings detected by gcc.

Also re-enabled the JIT for the ARMv5te target.

Change-Id: I89fd229205e30e6ee92a4933290a7d8dca001232

14 years agoMerge "Remove unused mark tracking code." into dalvik-dev
Carl Shapiro [Fri, 28 May 2010 21:32:32 +0000 (14:32 -0700)]
Merge "Remove unused mark tracking code." into dalvik-dev

14 years agoAtomic/SMP update, part 2. (manual to dalvik-dev)
Andy McFadden [Thu, 27 May 2010 17:23:41 +0000 (10:23 -0700)]
Atomic/SMP update, part 2.  (manual to dalvik-dev)

Updated "generic" quasiatomic implementation to use atomic release store
instead of atomic swap when releasing the lock.

Track change to name of memory barrier.

Change-Id: I229fc2aec8996db07b84f2d1bcfbe4346a810d85

14 years agoam 67e82fb1: Merge "Atomic/SMP update, part 2." into kraken
Andy McFadden [Fri, 28 May 2010 20:02:16 +0000 (13:02 -0700)]
am 67e82fb1: Merge "Atomic/SMP update, part 2." into kraken

14 years agoMerge "Atomic/SMP update, part 2." into kraken
Andy McFadden [Fri, 28 May 2010 20:00:21 +0000 (13:00 -0700)]
Merge "Atomic/SMP update, part 2." into kraken

14 years agoBranch-to-self is a backward branch.
Andy McFadden [Thu, 27 May 2010 23:09:04 +0000 (16:09 -0700)]
Branch-to-self is a backward branch.

Teach the verifier to identify branch-to-self as a backward branch,
which makes the instruction a GC point and worthy of a register map.

For bug 2702514.

Change-Id: Id5b26220db8008adbb2b5b7f69894a7704a0b559

14 years agoam 48064d18: am b1293374: am a02fe785: am 4d24105a: am 2b469f82: Jit: Fix for 271727...
buzbee [Fri, 28 May 2010 06:14:32 +0000 (23:14 -0700)]
am 48064d18: am b1293374: am a02fe785: am 4d24105a: am 2b469f82: Jit: Fix for  2717275 First JIT bug reported by external developers

Merge commit '48064d18355ed8845d00707c63007c1292ea69a5' into dalvik-dev

* commit '48064d18355ed8845d00707c63007c1292ea69a5':
  Jit: Fix for  2717275 First JIT bug reported by external developers

14 years agoam 466ad118: am 9e38f2e4: am a85f449b: am c0ebbcd5: Merge commit \'720d1e962e248a30f8...
android-build SharedAccount [Fri, 28 May 2010 06:14:27 +0000 (23:14 -0700)]
am 466ad118: am 9e38f2e4: am a85f449b: am c0ebbcd5: Merge commit \'720d1e962e248a30f81c1493081ff4c01e35c839\' into froyo-plus-aosp

Merge commit '466ad118ba758ca09f67adb9984ce7838f1baac2' into dalvik-dev

* commit '466ad118ba758ca09f67adb9984ce7838f1baac2':

14 years agoam b1293374: am a02fe785: am 4d24105a: am 2b469f82: Jit: Fix for 2717275 First JIT...
buzbee [Fri, 28 May 2010 06:05:37 +0000 (23:05 -0700)]
am b1293374: am a02fe785: am 4d24105a: am 2b469f82: Jit: Fix for  2717275 First JIT bug reported by external developers

14 years agoam 9e38f2e4: am a85f449b: am c0ebbcd5: Merge commit \'720d1e962e248a30f81c1493081ff4c...
android-build SharedAccount [Fri, 28 May 2010 06:05:33 +0000 (23:05 -0700)]
am 9e38f2e4: am a85f449b: am c0ebbcd5: Merge commit \'720d1e962e248a30f81c1493081ff4c01e35c839\' into froyo-plus-aosp

14 years agoMerge "Remove the write permission for the JIT code cache when not needed" into dalvi...
Ben Cheng [Thu, 27 May 2010 23:19:46 +0000 (16:19 -0700)]
Merge "Remove the write permission for the JIT code cache when not needed" into dalvik-dev

14 years agoRemove the write permission for the JIT code cache when not needed
Ben Cheng [Mon, 17 May 2010 19:50:33 +0000 (12:50 -0700)]
Remove the write permission for the JIT code cache when not needed

To support the feature, redesigned the predicted chaining mechanism so that the
profile count is shared globally in InterpState.

Bug: 2690371
Change-Id: Ifed427e8b1fa4f6c670f19e0761e45e2d4afdbb6

14 years agoMerge "Fix two dex file structural verification issues." into dalvik-dev
Dan Bornstein [Thu, 27 May 2010 22:50:44 +0000 (15:50 -0700)]
Merge "Fix two dex file structural verification issues." into dalvik-dev

14 years agoFix two dex file structural verification issues.
Dan Bornstein [Thu, 27 May 2010 00:24:05 +0000 (17:24 -0700)]
Fix two dex file structural verification issues.

First, structural verification failed to check for inconsistencies with
the number of arguments to methods compared to the number of registers
declared by those methods.

Second, neither the dexdump nor dexlist tools would run structural
verification.

As an added bonus, I renamed the function that performs byte swapping
and structural verification to be more descriptive about what it
does.

Bug: 2716693
Change-Id: I58794713967f5bea95010084c85efe1f929ce7d1

14 years agoam a02fe785: am 4d24105a: am 2b469f82: Jit: Fix for 2717275 First JIT bug reported...
buzbee [Thu, 27 May 2010 19:39:12 +0000 (12:39 -0700)]
am a02fe785: am 4d24105a: am 2b469f82: Jit: Fix for  2717275 First JIT bug reported by external developers

14 years agoam 4d24105a: am 2b469f82: Jit: Fix for 2717275 First JIT bug reported by external...
buzbee [Thu, 27 May 2010 19:37:16 +0000 (12:37 -0700)]
am 4d24105a: am 2b469f82: Jit: Fix for  2717275 First JIT bug reported by external developers

Merge commit '4d24105a25ae285c324103843b9859c75e3f1a4c' into kraken

* commit '4d24105a25ae285c324103843b9859c75e3f1a4c':
  Jit: Fix for  2717275 First JIT bug reported by external developers

14 years agoam a85f449b: am c0ebbcd5: Merge commit \'720d1e962e248a30f81c1493081ff4c01e35c839...
android-build SharedAccount [Thu, 27 May 2010 19:35:31 +0000 (12:35 -0700)]
am a85f449b: am c0ebbcd5: Merge commit \'720d1e962e248a30f81c1493081ff4c01e35c839\' into froyo-plus-aosp

14 years agoam 2b469f82: Jit: Fix for 2717275 First JIT bug reported by external developers
buzbee [Thu, 27 May 2010 19:35:14 +0000 (12:35 -0700)]
am 2b469f82: Jit: Fix for  2717275 First JIT bug reported by external developers

Merge commit '2b469f82df14749c67da43f073fd7a9b6b1ccd74' into froyo-plus-aosp

* commit '2b469f82df14749c67da43f073fd7a9b6b1ccd74':
  Jit: Fix for  2717275 First JIT bug reported by external developers

14 years agoam c0ebbcd5: Merge commit \'720d1e962e248a30f81c1493081ff4c01e35c839\' into froyo...
android-build SharedAccount [Thu, 27 May 2010 19:33:39 +0000 (12:33 -0700)]
am c0ebbcd5: Merge commit \'720d1e962e248a30f81c1493081ff4c01e35c839\' into froyo-plus-aosp

Merge commit 'c0ebbcd5341625fbbba594d45ecffdfb83637f41' into kraken

* commit 'c0ebbcd5341625fbbba594d45ecffdfb83637f41':
  Disable SSL Session Ticket extension for OpenSSLSocket

14 years agoMerge commit '720d1e962e248a30f81c1493081ff4c01e35c839' into froyo-plus-aosp
android-build SharedAccount [Thu, 27 May 2010 19:30:13 +0000 (12:30 -0700)]
Merge commit '720d1e962e248a30f81c1493081ff4c01e35c839' into froyo-plus-aosp

14 years agoMerge "Remove unused code from the thread scanner." into dalvik-dev
Carl Shapiro [Thu, 27 May 2010 17:56:08 +0000 (10:56 -0700)]
Merge "Remove unused code from the thread scanner." into dalvik-dev

14 years agoAtomic/SMP update, part 2.
Andy McFadden [Thu, 27 May 2010 17:23:41 +0000 (10:23 -0700)]
Atomic/SMP update, part 2.

Updated "generic" quasiatomic implementation to use atomic release store
instead of atomic swap when releasing the lock.

Track change to name of memory barrier.

Change-Id: Ie6ec37bca6984553f665bd25385210ea6c8e0943

14 years agoRemove unused mark tracking code.
Carl Shapiro [Thu, 27 May 2010 04:13:49 +0000 (21:13 -0700)]
Remove unused mark tracking code.

Change-Id: I5164f0a357b3823db8fb3ee33da953c1bf293674

14 years agoMerge "Fix three minor issues that prevent the phone from booting." into dalvik-dev
Carl Shapiro [Thu, 27 May 2010 03:25:22 +0000 (20:25 -0700)]
Merge "Fix three minor issues that prevent the phone from booting." into dalvik-dev

14 years agoFix three minor issues that prevent the phone from booting.
Carl Shapiro [Fri, 21 May 2010 03:22:31 +0000 (20:22 -0700)]
Fix three minor issues that prevent the phone from booting.

* Implement dvmHeapSourceGetLiveBits so we can pre- and post-verify
  the heap.

* Add do-nothing methods for manipulating the heap threshold.

* Use the CLZ abstraction for open code on the ARM.

Change-Id: I988a207fba4a61572a3b4896b0e254078f95c333

14 years agoRemove unused code from the thread scanner.
Carl Shapiro [Thu, 27 May 2010 02:58:17 +0000 (19:58 -0700)]
Remove unused code from the thread scanner.

The affected cases have been migrated to the copying collector where
they are required.  The non-moving collector does not need to visit
these roots.

Change-Id: I8b35d63cd8154b7c9f85320959559a718749976b

14 years agoJit: Fix for 2717275 First JIT bug reported by external developers
buzbee [Wed, 26 May 2010 22:57:27 +0000 (15:57 -0700)]
Jit: Fix for  2717275 First JIT bug reported by external developers

The JIT was incorrectly keeping a short value in a floating point
register rather than copying it to a core register before storing.
There was an assert to catch this case, but asserts don't fire in
production builds.

The fix is safe and simple - just exclude this case from the "optimization".

Change-Id: I33767c8a202b6fa36a19d918ac5b914a5e4e4de3

14 years agoJit: Fix for 2717275 First JIT bug reported by external developers
buzbee [Wed, 26 May 2010 21:48:04 +0000 (14:48 -0700)]
Jit: Fix for  2717275 First JIT bug reported by external developers

The JIT was incorrectly keeping a short value in a floating point
register rather than copying it to a core register before storing.
There was an assert to catch this case, but asserts don't fire in
production builds.

The fix is safe and simple - just exclude this case from the "optimization".

Change-Id: I38f1865da11ef3f78213f84967d4737e066b9c68

14 years agoRemove an unused variable introduced in the last commit.
Carl Shapiro [Wed, 26 May 2010 21:32:00 +0000 (14:32 -0700)]
Remove an unused variable introduced in the last commit.

Change-Id: I699dc158b7c3a84e9ee3a3cc636f8bb122d69a79

14 years agoEliminate more unused variables and compiler warnings.
Carl Shapiro [Wed, 26 May 2010 01:35:37 +0000 (18:35 -0700)]
Eliminate more unused variables and compiler warnings.

This change also introduces wrappers for condition variable operations
similar to what we have already for mutex operations.

Almost all the remaining warnings are now in the compiler or non-debug
uses of the CHECK_JIT macro.

Change-Id: I9f492f1582a06065e3a52287c7834adddfbefff9

14 years agoReplace the scanObject routines with one derived from Verify.
Barry Hayes [Tue, 18 May 2010 16:48:37 +0000 (09:48 -0700)]
Replace the scanObject routines with one derived from Verify.
It seems to be slightly faster this way, as well as more readable.

Change-Id: I92b9c54289c484cb4606f054f258da4a4bef8658