OSDN Git Service

android-x86/dalvik.git
13 years agoMerge "Correct verifier merging of primitive arrays" into dalvik-dev
Andy McFadden [Tue, 26 Oct 2010 14:44:13 +0000 (07:44 -0700)]
Merge "Correct verifier merging of primitive arrays" into dalvik-dev

13 years agoCorrect verifier merging of primitive arrays
Andy McFadden [Mon, 25 Oct 2010 23:13:46 +0000 (16:13 -0700)]
Correct verifier merging of primitive arrays

Merging of primitive array types (e.g. float[][] + String[]) was being
handled by the general-purpose type merge, which was determining the
result to be an Object.  It should have been an Object[].

This changes the verifier to treat arrays of primitive as arrays, but
with one fewer dimension.

Bug: 3130586
Change-Id: I35a6c27256f69f142fa2a8c22bc5f995096c9ae1

13 years agoMerge "A little instruction format housecleaning and prep work." into dalvik-dev
Jeff Hao [Mon, 25 Oct 2010 18:04:36 +0000 (11:04 -0700)]
Merge "A little instruction format housecleaning and prep work." into dalvik-dev

13 years agoA little instruction format housecleaning and prep work.
Dan Bornstein [Mon, 25 Oct 2010 01:30:58 +0000 (18:30 -0700)]
A little instruction format housecleaning and prep work.

Change-Id: Iea9d79d23515090f75cdc32c2123dbfb56e27d3c

13 years agoMerge "Allow nested instruction counting." into dalvik-dev
Andy McFadden [Mon, 25 Oct 2010 14:56:01 +0000 (07:56 -0700)]
Merge "Allow nested instruction counting." into dalvik-dev

13 years agoMerge "Lock thread list, show join target" into dalvik-dev
Andy McFadden [Mon, 25 Oct 2010 14:55:05 +0000 (07:55 -0700)]
Merge "Lock thread list, show join target" into dalvik-dev

13 years agoAllow nested instruction counting.
Andy McFadden [Fri, 22 Oct 2010 22:26:07 +0000 (15:26 -0700)]
Allow nested instruction counting.

It is traditional to store counts in variables with more than one
bit of storage.

Also, fixed some of the decorations.

Bug 2863796.

Change-Id: I167d6803e955159e35e75d1e2924754145ea1361

13 years agoMerge "Don't force optimizations during class init in dexopt." into dalvik-dev
Jeff Hao [Fri, 22 Oct 2010 21:14:58 +0000 (14:14 -0700)]
Merge "Don't force optimizations during class init in dexopt." into dalvik-dev

13 years agoLock thread list, show join target
Andy McFadden [Fri, 22 Oct 2010 20:32:12 +0000 (13:32 -0700)]
Lock thread list, show join target

There were some paths to "thread list lock must be held" functions that
weren't locking the thread list.  We now do trylock/unlock in dumpFrames
to ensure that doesn't happen.

Also, append "tid=N" to the "waiting on" line in stack trace output
when we're waiting on a VMThread object (i.e. we're in Thread.join()).

Bug 2827015 (for the thread list lock).

Change-Id: I05aa27dd440c671b22ef7cfe47e31dfe54b0ed2d

13 years agoresolved conflicts for merge of dfc99234 to dalvik-dev
Ben Cheng [Fri, 22 Oct 2010 20:32:07 +0000 (13:32 -0700)]
resolved conflicts for merge of dfc99234 to dalvik-dev

Change-Id: I0b5b19f9f6cd7aa0b3b51e0f9b87ce21c3175771

13 years agoDon't force optimizations during class init in dexopt.
Andy McFadden [Fri, 22 Oct 2010 19:41:33 +0000 (12:41 -0700)]
Don't force optimizations during class init in dexopt.

Some "optimizations" are mandatory, notably those having to do with
access to volatile fields.  We get into an odd situation in dexopt
where we have to initialize and execute <clinit> in a few classes
(primarily Class and Object), but if optimizations are disabled we
don't want to write optimized instructions into the output DEX.

This modifies the class init code to skip the mandatory optimizations
if we're in dexopt.  Either the optimization will happen as a normal
part of dexopt operation, or it won't (in which case it'll be applied
when the class is first loaded in a normal VM).

Bug 3099161.

Change-Id: I11ee5affd5e3ac5a1e8583241acdf3c4de033a96

13 years agoMerge "Avoid conditional loads if WORKAROUND_CORTEX_A9_745320 is defined."
Ben Cheng [Fri, 22 Oct 2010 17:49:18 +0000 (10:49 -0700)]
Merge "Avoid conditional loads if WORKAROUND_CORTEX_A9_745320 is defined."

13 years agoAvoid conditional loads if WORKAROUND_CORTEX_A9_745320 is defined.
Ben Cheng [Fri, 22 Oct 2010 17:15:03 +0000 (10:15 -0700)]
Avoid conditional loads if WORKAROUND_CORTEX_A9_745320 is defined.

No noticeable performance impact by this change.

Bug: 3117632
Change-Id: I31c6adc6cb9999498bb456f1e87f6f04f33e4144

13 years agoRemove junk from platform.S now armv4t is gone.
Elliott Hughes [Fri, 22 Oct 2010 00:44:25 +0000 (17:44 -0700)]
Remove junk from platform.S now armv4t is gone.

Change-Id: I30079aacc753c89cfc3a3f64bd900a0cc858d65f

13 years agoDetail messages for ArrayIndexOutOfBoundsExceptions.
Elliott Hughes [Thu, 21 Oct 2010 20:02:56 +0000 (13:02 -0700)]
Detail messages for ArrayIndexOutOfBoundsExceptions.

This adds ARM fast interpreter and JIT support. x86 is still missing.

Change-Id: Ide46fd9dcd06780193848f594ce7d1491d7f5a96

13 years agoMerge "Remove armv4t support." into dalvik-dev
Elliott Hughes [Thu, 21 Oct 2010 23:07:33 +0000 (16:07 -0700)]
Merge "Remove armv4t support." into dalvik-dev

13 years agoRemove armv4t support.
Elliott Hughes [Thu, 21 Oct 2010 22:44:11 +0000 (15:44 -0700)]
Remove armv4t support.

This was never finished, and hasn't been maintained. And the hardware's
totally obsolete.

Change-Id: Icbf78e507de3b8be8a8f995b8423cc3c678ab0d3

13 years agoMerge "Improve the card table scan." into dalvik-dev
Carl Shapiro [Thu, 21 Oct 2010 22:43:55 +0000 (15:43 -0700)]
Merge "Improve the card table scan." into dalvik-dev

13 years agoImprove the card table scan.
Carl Shapiro [Thu, 21 Oct 2010 22:35:19 +0000 (15:35 -0700)]
Improve the card table scan.

Instead of scanning the table on card at a time, leverage a few
observations to make the scan somewhat more efficient.  First, fewer
than 1% of cards are dirtied during the concurrent mark.  We can scan
the card table by words instead of inspecting cards individually.
Second, dirtied cards tend to appear in clusters and are often
adjacent to one another.  Instead of starting scans at each dirty
card, we scan the objects on consecutive cards together by resuming
the scan at the lowest address visited.

I have not been able to get good profiling data from the VM so I am
not sure how much this helps.  This code may need some refining once
we get our hands on applications with larger heaps.

Change-Id: I30bc6bb14bc268fe404bc1629e44247f1ef8a6f2

13 years agoMinor clarifications and cleanup.
Dan Bornstein [Thu, 21 Oct 2010 21:55:56 +0000 (14:55 -0700)]
Minor clarifications and cleanup.

Change-Id: I571ca9ac8f7a258a6e5d19208f382f42ee0aab22

13 years agoMerge "One more format and our first set of wide opcodes." into dalvik-dev
Dan Bornstein [Thu, 21 Oct 2010 21:04:43 +0000 (14:04 -0700)]
Merge "One more format and our first set of wide opcodes." into dalvik-dev

13 years agoam 28074c85: Merge "Fix debug statements."
Patrick Scott [Thu, 21 Oct 2010 20:30:48 +0000 (13:30 -0700)]
am 28074c85: Merge "Fix debug statements."

Merge commit '28074c8562f785bc6d7d785299bfb7eb6d111036' into dalvik-dev

* commit '28074c8562f785bc6d7d785299bfb7eb6d111036':
  Fix debug statements.

13 years agoOne more format and our first set of wide opcodes.
Dan Bornstein [Thu, 21 Oct 2010 00:32:39 +0000 (17:32 -0700)]
One more format and our first set of wide opcodes.

Change-Id: I16731c1b66b40022c2e10c93640583ae43659701

13 years agoMerge "Fix debug statements."
Patrick Scott [Thu, 21 Oct 2010 19:43:44 +0000 (12:43 -0700)]
Merge "Fix debug statements."

13 years agoMerge "Rebuild the x86-atom interpreter." into dalvik-dev
Andy McFadden [Thu, 21 Oct 2010 19:38:34 +0000 (12:38 -0700)]
Merge "Rebuild the x86-atom interpreter." into dalvik-dev

13 years agoam 3a3f5d65: am 493d84f8: am 2e3ec716: Fix class loader interning following a String...
Carl Shapiro [Thu, 21 Oct 2010 19:10:28 +0000 (12:10 -0700)]
am 3a3f5d65: am 493d84f8: am 2e3ec716: Fix class loader interning following a String.intern.

Merge commit '3a3f5d65f9bbaf5eb5885b4a72b9600dc0dbbe4e' into dalvik-dev

* commit '3a3f5d65f9bbaf5eb5885b4a72b9600dc0dbbe4e':
  Fix class loader interning following a String.intern.

13 years agoFix debug statements.
Patrick Scott [Thu, 21 Oct 2010 18:50:15 +0000 (14:50 -0400)]
Fix debug statements.

Shows up without NDEBUG.

Change-Id: I1270266369beb783242283af60ee268118c8fb3d

13 years agoRebuild the x86-atom interpreter.
Andy McFadden [Thu, 21 Oct 2010 18:27:22 +0000 (11:27 -0700)]
Rebuild the x86-atom interpreter.

Change-Id: I784e60325a82fd43420e489ee17e2013684c04d2

13 years agoMerge "Better detail messages in ArrayIndexOutOfBoundExceptions." into dalvik-dev
Elliott Hughes [Thu, 21 Oct 2010 18:13:17 +0000 (11:13 -0700)]
Merge "Better detail messages in ArrayIndexOutOfBoundExceptions." into dalvik-dev

13 years agoam 493d84f8: am 2e3ec716: Fix class loader interning following a String.intern.
Carl Shapiro [Thu, 21 Oct 2010 17:51:57 +0000 (10:51 -0700)]
am 493d84f8: am 2e3ec716: Fix class loader interning following a String.intern.

Merge commit '493d84f888a01747967cbc84603358f525fa7e77'

* commit '493d84f888a01747967cbc84603358f525fa7e77':
  Fix class loader interning following a String.intern.

13 years agoBetter detail messages in ArrayIndexOutOfBoundExceptions.
Elliott Hughes [Thu, 21 Oct 2010 00:14:57 +0000 (17:14 -0700)]
Better detail messages in ArrayIndexOutOfBoundExceptions.

The RI only includes the index. We've traditionally included nothing. This
patch fixes the portable interpreter to include both the index and the array
length.

Later patches will address the ARM- and x86-specific code.

Change-Id: I9d0e6baacced4e1d33e6cd75965017a38571af67

13 years agoMerge "New instruction formats for expansion beyond 256 opcodes." into dalvik-dev
Dan Bornstein [Wed, 20 Oct 2010 23:36:08 +0000 (16:36 -0700)]
Merge "New instruction formats for expansion beyond 256 opcodes." into dalvik-dev

13 years agoNew instruction formats for expansion beyond 256 opcodes.
Dan Bornstein [Tue, 19 Oct 2010 23:50:25 +0000 (16:50 -0700)]
New instruction formats for expansion beyond 256 opcodes.

Change-Id: Id57cee56a9b49a2d6434ab2c41657d4a4cb9ed61

13 years agoImprove the error report generated by the card table verifier.
Carl Shapiro [Tue, 19 Oct 2010 00:26:46 +0000 (17:26 -0700)]
Improve the error report generated by the card table verifier.

With this change, when a gray object has been found on an unmarked
card all references are sent to the log stream.  This will usually
provide enough context to diagnose issues with the write barrier.

Change-Id: Ib6b7d98160e18393f54fc6ebc38c9ca9ca7dad2e

13 years agoam 2e3ec716: Fix class loader interning following a String.intern.
Carl Shapiro [Wed, 20 Oct 2010 04:37:28 +0000 (21:37 -0700)]
am 2e3ec716: Fix class loader interning following a String.intern.

Merge commit '2e3ec7160b265d520cd755f8c20163410d822373' into gingerbread-plus-aosp

* commit '2e3ec7160b265d520cd755f8c20163410d822373':
  Fix class loader interning following a String.intern.

13 years agoFix class loader interning following a String.intern.
Carl Shapiro [Wed, 20 Oct 2010 00:27:13 +0000 (17:27 -0700)]
Fix class loader interning following a String.intern.

Strings can be intered by the class loader, in the case of string
literals, or by the user, through String.intern.  Literal strings
exist for the life of their referencing classes.  User strings are
weak and may be garbage collected when unreferenced.  These two
classes of strings are kept in seprate tables for the conveniance of
the garbage collector during root traversal.

When a class loader interns a string that was already interned by the
user the runtime must move the string from the intern table to the
literal table to increase the reference strength.  Previously, this
was implemented by inserting the incoming string into the literal
table and removing any matching strings in the intern table.  This
transition lost pointer equality.  With this change we first insert
the exact string from the intern table into the literal table and
secondly remove its reference from the intern table.  By moving the
string between tables pointer equality is preserved.

At this point lookupInternedString should be split into two functions,
possibly by pulled up the relevant bits into the public interface
functions.  Since this change will be merged to gingerbread I will
leave the clean up to a separate change.

Bug: 3098960

13 years agoFix class loader interning following a String.intern.
Carl Shapiro [Wed, 20 Oct 2010 00:27:13 +0000 (17:27 -0700)]
Fix class loader interning following a String.intern.

Strings can be intered by the class loader, in the case of string
literals, or by the user, through String.intern.  Literal strings
exist for the life of their referencing classes.  User strings are
weak and may be garbage collected when unreferenced.  These two
classes of strings are kept in seprate tables for the conveniance of
the garbage collector during root traversal.

When a class loader interns a string that was already interned by the
user the runtime must move the string from the intern table to the
literal table to increase the reference strength.  Previously, this
was implemented by inserting the incoming string into the literal
table and removing any matching strings in the intern table.  This
transition lost pointer equality.  With this change we first insert
the exact string from the intern table into the literal table and
secondly remove its reference from the intern table.  By moving the
string between tables pointer equality is preserved.

At this point lookupInternedString should be split into two functions,
possibly by pulled up the relevant bits into the public interface
functions.  Since this change will be merged to gingerbread I will
leave the clean up to a separate change.

Bug: 3098960
Change-Id: I11d24d0afa9b7ca2e53fefb1b5e6364795e14d44

13 years agoam d2ba02c2: (-s ours) am da34e27a: (-s ours) am 3db6149c: Merge "Update heap dump...
Andy McFadden [Tue, 19 Oct 2010 20:45:31 +0000 (13:45 -0700)]
am d2ba02c2: (-s ours) am da34e27a: (-s ours) am 3db6149c: Merge "Update heap dump notes.  DO NOT MERGE." into gingerbread

Merge commit 'd2ba02c297bc8214611e347e27edee9f41772474' into dalvik-dev

* commit 'd2ba02c297bc8214611e347e27edee9f41772474':
  Update heap dump notes.  DO NOT MERGE.

13 years agoam da34e27a: (-s ours) am 3db6149c: Merge "Update heap dump notes. DO NOT MERGE...
Andy McFadden [Tue, 19 Oct 2010 20:37:01 +0000 (13:37 -0700)]
am da34e27a: (-s ours) am 3db6149c: Merge "Update heap dump notes.  DO NOT MERGE." into gingerbread

Merge commit 'da34e27a6de6eec8b4f1036c9ba4922a12a5bf19'

* commit 'da34e27a6de6eec8b4f1036c9ba4922a12a5bf19':
  Update heap dump notes.  DO NOT MERGE.

13 years agoMerge "Update heap dump notes." into dalvik-dev
Andy McFadden [Tue, 19 Oct 2010 19:02:25 +0000 (12:02 -0700)]
Merge "Update heap dump notes." into dalvik-dev

13 years agoam 6b08a477: am e8debfcf: am c6fb7a5e: Merge "Exit early if the we encounter a null...
Carl Shapiro [Tue, 19 Oct 2010 18:34:00 +0000 (11:34 -0700)]
am 6b08a477: am e8debfcf: am c6fb7a5e: Merge "Exit early if the we encounter a null reference." into gingerbread

Merge commit '6b08a4774e13844802cc324320681ba26479899e' into dalvik-dev

* commit '6b08a4774e13844802cc324320681ba26479899e':
  Exit early if the we encounter a null reference.

13 years agoam 3db6149c: Merge "Update heap dump notes. DO NOT MERGE." into gingerbread
Andy McFadden [Tue, 19 Oct 2010 18:28:36 +0000 (11:28 -0700)]
am 3db6149c: Merge "Update heap dump notes.  DO NOT MERGE." into gingerbread

Merge commit '3db6149c9891089ed1b357ab69db5c57c9c1fb6c' into gingerbread-plus-aosp

* commit '3db6149c9891089ed1b357ab69db5c57c9c1fb6c':
  Update heap dump notes.  DO NOT MERGE.

13 years agoUpdate heap dump notes.
Andy McFadden [Tue, 19 Oct 2010 18:25:02 +0000 (11:25 -0700)]
Update heap dump notes.

The release order changed slightly.

Bug 3110872 is related.

Change-Id: I2b2982a29910ee58746188e9dbd61ffd9c3b3d64

13 years agoMerge "Update heap dump notes. DO NOT MERGE." into gingerbread
Andy McFadden [Tue, 19 Oct 2010 18:19:28 +0000 (11:19 -0700)]
Merge "Update heap dump notes.  DO NOT MERGE." into gingerbread

13 years agoam e8debfcf: am c6fb7a5e: Merge "Exit early if the we encounter a null reference...
Carl Shapiro [Tue, 19 Oct 2010 18:18:23 +0000 (11:18 -0700)]
am e8debfcf: am c6fb7a5e: Merge "Exit early if the we encounter a null reference." into gingerbread

Merge commit 'e8debfcf2d16ba18474ca51200e9b7f2d912dee3'

* commit 'e8debfcf2d16ba18474ca51200e9b7f2d912dee3':
  Exit early if the we encounter a null reference.

13 years agoam 078241d5: am 8ca802ff: am 7b4c1d52: Pop call frame before boxing result
Andy McFadden [Tue, 19 Oct 2010 17:56:38 +0000 (10:56 -0700)]
am 078241d5: am 8ca802ff: am 7b4c1d52: Pop call frame before boxing result

Merge commit '078241d5d7b44f145b93979665cdc6e5df2b093b' into dalvik-dev

* commit '078241d5d7b44f145b93979665cdc6e5df2b093b':
  Pop call frame before boxing result

13 years agoam 1e09b407: am 8cb3d855: am e09a766f: x86 mterp: fix cherry-pick/merge, issue 3095771
buzbee [Tue, 19 Oct 2010 17:56:34 +0000 (10:56 -0700)]
am 1e09b407: am 8cb3d855: am e09a766f: x86 mterp: fix cherry-pick/merge, issue 3095771

Merge commit '1e09b40718a6dc9db0ce34a7aacc93a3df45c664' into dalvik-dev

* commit '1e09b40718a6dc9db0ce34a7aacc93a3df45c664':
  x86 mterp: fix cherry-pick/merge, issue 3095771

13 years agoam 8ca802ff: am 7b4c1d52: Pop call frame before boxing result
Andy McFadden [Tue, 19 Oct 2010 17:44:34 +0000 (10:44 -0700)]
am 8ca802ff: am 7b4c1d52: Pop call frame before boxing result

Merge commit '8ca802ff96060b730119b58379c2e6366afdbd3e'

* commit '8ca802ff96060b730119b58379c2e6366afdbd3e':
  Pop call frame before boxing result

13 years agoam 8cb3d855: am e09a766f: x86 mterp: fix cherry-pick/merge, issue 3095771
buzbee [Tue, 19 Oct 2010 17:44:30 +0000 (10:44 -0700)]
am 8cb3d855: am e09a766f: x86 mterp: fix cherry-pick/merge, issue 3095771

Merge commit '8cb3d8558b3cdc3da00e736bb3cdb95adf653659'

* commit '8cb3d8558b3cdc3da00e736bb3cdb95adf653659':
  x86 mterp: fix cherry-pick/merge, issue 3095771

13 years agoUpdate heap dump notes. DO NOT MERGE.
Andy McFadden [Tue, 19 Oct 2010 17:15:14 +0000 (10:15 -0700)]
Update heap dump notes.  DO NOT MERGE.

We brought over the VM change that removed SIGUSR1 as a way to cause
an hprof dump, but didn't bring the replacement command-line stuff
("am dumpheap" and the updated version of runhat).  This updates the
documentation to reflect the state of the world in gingerbread.

Bug 3110872.

Change-Id: Ia64190584a344995670e663636e8e2c0983fb29f

13 years agoam c6fb7a5e: Merge "Exit early if the we encounter a null reference." into gingerbread
Carl Shapiro [Tue, 19 Oct 2010 04:24:31 +0000 (21:24 -0700)]
am c6fb7a5e: Merge "Exit early if the we encounter a null reference." into gingerbread

Merge commit 'c6fb7a5e56d3d17848482d403d2b1464a89aca46' into gingerbread-plus-aosp

* commit 'c6fb7a5e56d3d17848482d403d2b1464a89aca46':
  Exit early if the we encounter a null reference.

13 years agoMerge "Exit early if the we encounter a null reference." into gingerbread
Carl Shapiro [Tue, 19 Oct 2010 04:22:43 +0000 (21:22 -0700)]
Merge "Exit early if the we encounter a null reference." into gingerbread

13 years agoFix a typo in the return type of dvmIsValidCard.
Carl Shapiro [Tue, 19 Oct 2010 01:00:35 +0000 (18:00 -0700)]
Fix a typo in the return type of dvmIsValidCard.

Change-Id: I518751b338e373d63a975c55320200348fa94b91

13 years agoMerge "Remove an obsolete debugging message." into dalvik-dev
Carl Shapiro [Tue, 19 Oct 2010 00:49:18 +0000 (17:49 -0700)]
Merge "Remove an obsolete debugging message." into dalvik-dev

13 years agoRemove an obsolete debugging message.
Carl Shapiro [Tue, 19 Oct 2010 00:36:13 +0000 (17:36 -0700)]
Remove an obsolete debugging message.

Change-Id: Idb6af743bdd2e60a64d8ba8488d373f1724be3a2

13 years agoMerge "Export dvmIsValid card." into dalvik-dev
Carl Shapiro [Tue, 19 Oct 2010 00:16:36 +0000 (17:16 -0700)]
Merge "Export dvmIsValid card." into dalvik-dev

13 years agoam 7b4c1d52: Pop call frame before boxing result
Andy McFadden [Tue, 19 Oct 2010 00:04:19 +0000 (17:04 -0700)]
am 7b4c1d52: Pop call frame before boxing result

Merge commit '7b4c1d52a946506d49c6da5649d1677e92263d66' into gingerbread-plus-aosp

* commit '7b4c1d52a946506d49c6da5649d1677e92263d66':
  Pop call frame before boxing result

13 years agoam e09a766f: x86 mterp: fix cherry-pick/merge, issue 3095771
buzbee [Tue, 19 Oct 2010 00:03:52 +0000 (17:03 -0700)]
am e09a766f: x86 mterp: fix cherry-pick/merge, issue 3095771

Merge commit 'e09a766f3a964fb98296939ce1f92b8c95bf8c25' into gingerbread-plus-aosp

* commit 'e09a766f3a964fb98296939ce1f92b8c95bf8c25':
  x86 mterp: fix cherry-pick/merge, issue 3095771

13 years agoExport dvmIsValid card.
Carl Shapiro [Tue, 19 Oct 2010 00:00:41 +0000 (17:00 -0700)]
Export dvmIsValid card.

Change-Id: If92998de87db61cad75c7affa1500aed582f9687

13 years agoam 8f192cc6: Open hprof files with O_TRUNC to avoid partial overwrites of existing...
Brian Carlstrom [Mon, 18 Oct 2010 23:41:53 +0000 (16:41 -0700)]
am 8f192cc6: Open hprof files with O_TRUNC to avoid partial overwrites of existing files

Merge commit '8f192cc6bb9906849a5811ce4a9aae7cdab9a994' into dalvik-dev

* commit '8f192cc6bb9906849a5811ce4a9aae7cdab9a994':
  Open hprof files with O_TRUNC to avoid partial overwrites of existing files

13 years agoExit early if the we encounter a null reference.
Carl Shapiro [Mon, 18 Oct 2010 23:27:29 +0000 (16:27 -0700)]
Exit early if the we encounter a null reference.

Bug: 3108418
Change-Id: I057e7a674e2ab96671f4651811071b6810250528

13 years agoOpen hprof files with O_TRUNC to avoid partial overwrites of existing files
Brian Carlstrom [Mon, 18 Oct 2010 22:37:24 +0000 (15:37 -0700)]
Open hprof files with O_TRUNC to avoid partial overwrites of existing files

Change-Id: I97a89071ad766005bb9f91661185dd901a35ae03

13 years agoPop call frame before boxing result
Andy McFadden [Mon, 18 Oct 2010 20:28:31 +0000 (13:28 -0700)]
Pop call frame before boxing result

After reflective method calls, primitive results need to be boxed
up in an appropriate object.  This generally requires allocating an
object of the appropriate type.  We were doing this before popping
the call frame, which meant that if the allocation caused a GC we
would be scanning results out of a "dead" stack frame.

We hit a case where a register went from holding a reference to
holding a primitive right before the method returned.  The exported
PC was pointing at the last GC point, where the register was expected
to hold a reference, so precise GC was getting very confused.

Bug 3102352.

(cherry-pick from dalvik-dev)

Change-Id: I21f59f1d70689d9e4901deb3100c756fd85223e7

13 years agoPop call frame before boxing result
Andy McFadden [Mon, 18 Oct 2010 20:28:31 +0000 (13:28 -0700)]
Pop call frame before boxing result

After reflective method calls, primitive results need to be boxed
up in an appropriate object.  This generally requires allocating an
object of the appropriate type.  We were doing this before popping
the call frame, which meant that if the allocation caused a GC we
would be scanning results out of a "dead" stack frame.

We hit a case where a register went from holding a reference to
holding a primitive right before the method returned.  The exported
PC was pointing at the last GC point, where the register was expected
to hold a reference, so precise GC was getting very confused.

Bug 3102352.

Change-Id: Ic929b725ab81cbaab4c7aa1d85131f7ca3cec961

13 years agoMerge "Switch to VMWAIT before sending to DDMS" into dalvik-dev
Andy McFadden [Mon, 18 Oct 2010 15:17:02 +0000 (08:17 -0700)]
Merge "Switch to VMWAIT before sending to DDMS" into dalvik-dev

13 years agoam fd9c61b2: am ef1ed3c5: (-s ours) x86 mterp: fix cherry-pick/merge, issue 3095771
buzbee [Sat, 16 Oct 2010 01:18:14 +0000 (18:18 -0700)]
am fd9c61b2: am ef1ed3c5: (-s ours) x86 mterp: fix cherry-pick/merge, issue 3095771

Merge commit 'fd9c61b2e56a4bb73ffd03d13504461e51a3611b' into dalvik-dev

* commit 'fd9c61b2e56a4bb73ffd03d13504461e51a3611b':
  x86 mterp: fix cherry-pick/merge, issue 3095771

13 years agoam ef1ed3c5: (-s ours) x86 mterp: fix cherry-pick/merge, issue 3095771
buzbee [Sat, 16 Oct 2010 00:51:37 +0000 (17:51 -0700)]
am ef1ed3c5: (-s ours) x86 mterp: fix cherry-pick/merge, issue 3095771

Merge commit 'ef1ed3c5cbde4de64e1991de2dbea57efd964841'

* commit 'ef1ed3c5cbde4de64e1991de2dbea57efd964841':
  x86 mterp: fix cherry-pick/merge, issue 3095771

13 years agoSwitch to VMWAIT before sending to DDMS
Andy McFadden [Fri, 15 Oct 2010 20:54:28 +0000 (13:54 -0700)]
Switch to VMWAIT before sending to DDMS

If you stop DDMS with Ctrl-Z, packets sent from the VM will start
to back up and eventually the network write will block.  The VM was
doing the write in "running" state, which meant that if another thread
tried to GC it would be unable to suspend the stalled thread and the
VM would abort.

Now when this happens the affected thread(s) will be quietly stuck until
DDMS is resumed.  (We may want to fix that eventually.)

Bug 3101425.

Change-Id: Ide83c4622137e24c23ee85c006b497d84cf5006b

13 years agoam fd294a76: am f4b26ea7: resolved conflicts for merge of b0b2a75d to gingerbread...
Raphael [Fri, 15 Oct 2010 07:28:57 +0000 (00:28 -0700)]
am fd294a76: am f4b26ea7: resolved conflicts for merge of b0b2a75d to gingerbread-plus-aosp

Merge commit 'fd294a76498a93e6497a0b0f110967ae1892376e' into dalvik-dev

* commit 'fd294a76498a93e6497a0b0f110967ae1892376e':
  SDK: fix dx shell script to look for dx.jar in platform-tools

13 years agoam f4b26ea7: resolved conflicts for merge of b0b2a75d to gingerbread-plus-aosp
Raphael [Fri, 15 Oct 2010 07:07:54 +0000 (00:07 -0700)]
am f4b26ea7: resolved conflicts for merge of b0b2a75d to gingerbread-plus-aosp

Merge commit 'f4b26ea7ea0a85e2592a0ec0e439ffa4f3c5a038'

* commit 'f4b26ea7ea0a85e2592a0ec0e439ffa4f3c5a038':
  SDK: fix dx shell script to look for dx.jar in platform-tools

13 years agox86 mterp: fix cherry-pick/merge, issue 3095771
buzbee [Thu, 14 Oct 2010 00:47:52 +0000 (17:47 -0700)]
x86 mterp: fix cherry-pick/merge, issue 3095771

Bug http://b/issue?id=3095771

Change
https://android-git.corp.google.com/g/#change,70700
was a cherry-pick/merge of
https://android-git.corp.google.com/g/#change,70388

It was not properly merged, and resulting in the register holding
the object head to be trashed (and subsequently broke GC).

Change-Id: Ic480104e3a643a5b744d36eb0aefaedd3e4f925c

13 years agox86 mterp: fix cherry-pick/merge, issue 3095771
buzbee [Thu, 14 Oct 2010 00:47:52 +0000 (17:47 -0700)]
x86 mterp: fix cherry-pick/merge, issue 3095771

Bug http://b/issue?id=3095771

Change
https://android-git.corp.google.com/g/#change,70700
was a cherry-pick/merge of
https://android-git.corp.google.com/g/#change,70388

It was not properly merged, and resulting in the register holding
the object head to be trashed (and subsequently broke GC).

Change-Id: Ic480104e3a643a5b744d36eb0aefaedd3e4f925c

13 years agoresolved conflicts for merge of b0b2a75d to gingerbread-plus-aosp
Raphael [Wed, 13 Oct 2010 20:36:32 +0000 (13:36 -0700)]
resolved conflicts for merge of b0b2a75d to gingerbread-plus-aosp

Change-Id: Ie475c74ea64cab1e74171a7f885dd3e48f219922

13 years agoSDK: fix dx shell script to look for dx.jar in platform-tools
Raphael [Wed, 13 Oct 2010 20:11:07 +0000 (13:11 -0700)]
SDK: fix dx shell script to look for dx.jar in platform-tools

Change-Id: I4b644dc686f1da75ef7fb34ea874b54ce44f8391

13 years agoam d5854946: am 141c9711: am 3f01142e: Merge "Added some threading notes" into ginger...
Andy McFadden [Tue, 12 Oct 2010 23:49:00 +0000 (16:49 -0700)]
am d5854946: am 141c9711: am 3f01142e: Merge "Added some threading notes" into gingerbread

Merge commit 'd5854946a4ce3ad3da66542ca3aafb35e9558281' into dalvik-dev

* commit 'd5854946a4ce3ad3da66542ca3aafb35e9558281':
  Added some threading notes

13 years agoam e6a8cabb: am 565c5663: am 44dcf29d: Add include guards to avoid multiple definitions.
Carl Shapiro [Tue, 12 Oct 2010 23:45:22 +0000 (16:45 -0700)]
am e6a8cabb: am 565c5663: am 44dcf29d: Add include guards to avoid multiple definitions.

Merge commit 'e6a8cabbd6bf5869fd302d9cd53212611f2c671b' into dalvik-dev

* commit 'e6a8cabbd6bf5869fd302d9cd53212611f2c671b':
  Add include guards to avoid multiple definitions.

13 years agoam 141c9711: am 3f01142e: Merge "Added some threading notes" into gingerbread
Andy McFadden [Tue, 12 Oct 2010 23:38:38 +0000 (16:38 -0700)]
am 141c9711: am 3f01142e: Merge "Added some threading notes" into gingerbread

Merge commit '141c9711d546c161d7ad6b149392dfddf705a26e'

* commit '141c9711d546c161d7ad6b149392dfddf705a26e':
  Added some threading notes

13 years agoam 565c5663: am 44dcf29d: Add include guards to avoid multiple definitions.
Carl Shapiro [Tue, 12 Oct 2010 23:27:10 +0000 (16:27 -0700)]
am 565c5663: am 44dcf29d: Add include guards to avoid multiple definitions.

Merge commit '565c56636641b9ed28ed479b6f4730e1a9df4f7e'

* commit '565c56636641b9ed28ed479b6f4730e1a9df4f7e':
  Add include guards to avoid multiple definitions.

13 years agoMerge "Fine-tune the instructions on the method invocation path." into dalvik-dev
Ben Cheng [Tue, 12 Oct 2010 20:43:41 +0000 (13:43 -0700)]
Merge "Fine-tune the instructions on the method invocation path." into dalvik-dev

13 years agoMerge "Minor rename." into dalvik-dev
Andy McFadden [Tue, 12 Oct 2010 20:32:15 +0000 (13:32 -0700)]
Merge "Minor rename." into dalvik-dev

13 years agoMerge "Bump version." into dalvik-dev
Andy McFadden [Tue, 12 Oct 2010 20:31:20 +0000 (13:31 -0700)]
Merge "Bump version." into dalvik-dev

13 years agoFine-tune the instructions on the method invocation path.
Ben Cheng [Tue, 12 Oct 2010 18:50:10 +0000 (11:50 -0700)]
Fine-tune the instructions on the method invocation path.

1) Initialize the register and out sizes for callee methods through
   constant moves.
2) Eliminate an unnecessary load of Dalvik PC for chained and
   native callees.

Improved method invocation performance by ~3%.

Change-Id: Iead1276eed0ba527e82eb876f08d169ab9b496b2

13 years agoMinor rename.
Andy McFadden [Tue, 12 Oct 2010 20:29:02 +0000 (13:29 -0700)]
Minor rename.

Rename two dummy-result variables to "unused".

Change-Id: Ib3e49436904123c6ceebe9bfb6e461f654209b23

13 years agoBump version.
Andy McFadden [Tue, 12 Oct 2010 17:18:39 +0000 (10:18 -0700)]
Bump version.

Increment the minor version post-GB.  Increment DALVIK_VM_BUILD, which
should've happened when I added return-void-barrier.

Change-Id: I65480ced9183d0e3c84be2c1eeb9670017bbbc8f

13 years agoKeep track of debugger call results
Andy McFadden [Fri, 8 Oct 2010 22:31:31 +0000 (15:31 -0700)]
Keep track of debugger call results

The debugger can execute arbitrary methods in threads that are stopped
at a breakpoint.  The result is passed back from the target thread to
the debugger through the JDWP thread.  During this time, nothing else
has a copy of the return value, so if it's an object reference we need
to make sure the GC doesn't move or discard it.

The object is added to the "GC don't touch" list by the JDWP code,
but it was happening after the object was passed between threads.
We now register the object right after we get it.

Also, don't call dvmAddTrackedAlloc on a null object.

Bug 3009076

Change-Id: I5ab07a70ad7141b6867707c75843cfb60c35446d

13 years agoam 643b045e: am 65da91cf: am 16926bc4: Merge "Remove obsolete variable "len" to avoid...
Jean-Baptiste Queru [Tue, 12 Oct 2010 08:56:16 +0000 (01:56 -0700)]
am 643b045e: am 65da91cf: am 16926bc4: Merge "Remove obsolete variable "len" to avoid compile failed"

Merge commit '643b045edcec8fe5b2b9b6f2f95529214f9d0dd2' into dalvik-dev

* commit '643b045edcec8fe5b2b9b6f2f95529214f9d0dd2':
  Remove obsolete variable "len" to avoid compile failed

13 years agoam 65da91cf: am 16926bc4: Merge "Remove obsolete variable "len" to avoid compile...
Jean-Baptiste Queru [Tue, 12 Oct 2010 08:45:43 +0000 (01:45 -0700)]
am 65da91cf: am 16926bc4: Merge "Remove obsolete variable "len" to avoid compile failed"

Merge commit '65da91cf96f8e567db9fc1221d2dcb12bad2ab80'

* commit '65da91cf96f8e567db9fc1221d2dcb12bad2ab80':
  Remove obsolete variable "len" to avoid compile failed

13 years agoam 63843e0e: am 7876eb7d: am 0b89c266: Merge "Use the break position of the current...
Carl Shapiro [Tue, 12 Oct 2010 02:18:37 +0000 (19:18 -0700)]
am 63843e0e: am 7876eb7d: am 0b89c266: Merge "Use the break position of the current mspace for sizing the zygote heap." into gingerbread

Merge commit '63843e0e739c3f2b259faafd85abd37baf5324c5' into dalvik-dev

* commit '63843e0e739c3f2b259faafd85abd37baf5324c5':
  Use the break position of the current mspace for sizing the zygote heap.

13 years agoam ebf657c0: am 90ee39ea: am ad3ff025: Merge "Update Call386ABI.S to support 16 byte...
Jean-Baptiste Queru [Tue, 12 Oct 2010 02:18:35 +0000 (19:18 -0700)]
am ebf657c0: am 90ee39ea: am ad3ff025: Merge "Update Call386ABI.S to support 16 byte alignment"

Merge commit 'ebf657c0ab53a6e0db5c3dd565eba591f98a7321' into dalvik-dev

* commit 'ebf657c0ab53a6e0db5c3dd565eba591f98a7321':
  Update Call386ABI.S to support 16 byte alignment

13 years agoam baac134a: am 789fb059: am bc02ca96: Merge "Fixed bug in OP_GOTO_32.S, added suppor...
Jean-Baptiste Queru [Tue, 12 Oct 2010 02:18:31 +0000 (19:18 -0700)]
am baac134a: am 789fb059: am bc02ca96: Merge "Fixed bug in OP_GOTO_32.S, added support for additional parameters to dvmHandleStackOverflow"

Merge commit 'baac134a4fab06f538a10d660585d33c587506e9' into dalvik-dev

* commit 'baac134a4fab06f538a10d660585d33c587506e9':
  Fixed bug in OP_GOTO_32.S, added support for additional parameters to dvmHandleStackOverflow

13 years agoam 7876eb7d: am 0b89c266: Merge "Use the break position of the current mspace for...
Carl Shapiro [Tue, 12 Oct 2010 01:58:54 +0000 (18:58 -0700)]
am 7876eb7d: am 0b89c266: Merge "Use the break position of the current mspace for sizing the zygote heap." into gingerbread

Merge commit '7876eb7d797f5c3937b7d1be34f81e9aa3b865e9'

* commit '7876eb7d797f5c3937b7d1be34f81e9aa3b865e9':
  Use the break position of the current mspace for sizing the zygote heap.

13 years agoam 90ee39ea: am ad3ff025: Merge "Update Call386ABI.S to support 16 byte alignment"
Jean-Baptiste Queru [Tue, 12 Oct 2010 01:58:15 +0000 (18:58 -0700)]
am 90ee39ea: am ad3ff025: Merge "Update Call386ABI.S to support 16 byte alignment"

Merge commit '90ee39eabbee701b63e79ddaf4859481b7e0547a'

* commit '90ee39eabbee701b63e79ddaf4859481b7e0547a':
  Update Call386ABI.S to support 16 byte alignment

13 years agoam 789fb059: am bc02ca96: Merge "Fixed bug in OP_GOTO_32.S, added support for additio...
Jean-Baptiste Queru [Tue, 12 Oct 2010 01:58:09 +0000 (18:58 -0700)]
am 789fb059: am bc02ca96: Merge "Fixed bug in OP_GOTO_32.S, added support for additional parameters to dvmHandleStackOverflow"

Merge commit '789fb0592cb6ea7ac573bd81ea8fb0a8bb5e103f'

* commit '789fb0592cb6ea7ac573bd81ea8fb0a8bb5e103f':
  Fixed bug in OP_GOTO_32.S, added support for additional parameters to dvmHandleStackOverflow

13 years agoam 3f01142e: Merge "Added some threading notes" into gingerbread
Andy McFadden [Tue, 12 Oct 2010 00:25:42 +0000 (17:25 -0700)]
am 3f01142e: Merge "Added some threading notes" into gingerbread

Merge commit '3f01142ed915021eb871a80d3f8eadca6e6bfc3b' into gingerbread-plus-aosp

* commit '3f01142ed915021eb871a80d3f8eadca6e6bfc3b':
  Added some threading notes

13 years agoMerge "Added some threading notes" into gingerbread
Andy McFadden [Mon, 11 Oct 2010 22:35:54 +0000 (15:35 -0700)]
Merge "Added some threading notes" into gingerbread

13 years agoam 44dcf29d: Add include guards to avoid multiple definitions.
Carl Shapiro [Mon, 11 Oct 2010 22:17:47 +0000 (15:17 -0700)]
am 44dcf29d: Add include guards to avoid multiple definitions.

Merge commit '44dcf29d18f819b4b9d78d4d81676681b57f44ce' into gingerbread-plus-aosp

* commit '44dcf29d18f819b4b9d78d4d81676681b57f44ce':
  Add include guards to avoid multiple definitions.

13 years agoAdd include guards to avoid multiple definitions.
Carl Shapiro [Mon, 11 Oct 2010 21:55:08 +0000 (14:55 -0700)]
Add include guards to avoid multiple definitions.

Change-Id: I2a52823325a0a582a746890af7f040324d671806

13 years agoAdded some threading notes
Andy McFadden [Mon, 11 Oct 2010 21:46:25 +0000 (14:46 -0700)]
Added some threading notes

Explain thread attach/detach, behavior of threads running native code.
Added pthread_key_create destructor note to backward compatibility
section.

Change-Id: I954708c9ec7c83ba951c0f512c88d5c610a49411

13 years agoam 7e08546d: am c7fb06ef: am 5276cccb: Verify method invocation type.
Andy McFadden [Mon, 11 Oct 2010 19:45:24 +0000 (12:45 -0700)]
am 7e08546d: am c7fb06ef: am 5276cccb: Verify method invocation type.

Merge commit '7e08546def661fc0f629d8462aae2db88c1a9708' into dalvik-dev

* commit '7e08546def661fc0f629d8462aae2db88c1a9708':
  Verify method invocation type.

13 years agoam c7fb06ef: am 5276cccb: Verify method invocation type.
Andy McFadden [Mon, 11 Oct 2010 19:37:06 +0000 (12:37 -0700)]
am c7fb06ef: am 5276cccb: Verify method invocation type.

Merge commit 'c7fb06efb576b7ff0295dd70c8beaeea11918645'

* commit 'c7fb06efb576b7ff0295dd70c8beaeea11918645':
  Verify method invocation type.