OSDN Git Service

android-x86/dalvik.git
13 years agoImprove the interface for reading Dex files.
Jesse Wilson [Sat, 15 Jan 2011 00:27:49 +0000 (16:27 -0800)]
Improve the interface for reading Dex files.

I'm planning on making this code reusable for grepping
dex files.

Change-Id: Iebf545ed6d6a4eb347ccc4a39fe40c02d75d69e4

13 years agoam 480de458: am 5918b804: am 22acd2ae: Merge "Fix JNI invocation of constructors...
Andy McFadden [Fri, 14 Jan 2011 23:38:50 +0000 (15:38 -0800)]
am 480de458: am 5918b804: am 22acd2ae: Merge "Fix JNI invocation of constructors." into honeycomb

* commit '480de458e3735af6868dc5546f335aec3233cd6a':
  Fix JNI invocation of constructors.

13 years agoam 5918b804: am 22acd2ae: Merge "Fix JNI invocation of constructors." into honeycomb
Andy McFadden [Fri, 14 Jan 2011 23:36:19 +0000 (15:36 -0800)]
am 5918b804: am 22acd2ae: Merge "Fix JNI invocation of constructors." into honeycomb

* commit '5918b80472fe57aea34446ea25f2a8ca7a5290b0':
  Fix JNI invocation of constructors.

13 years agoam 22acd2ae: Merge "Fix JNI invocation of constructors." into honeycomb
Andy McFadden [Fri, 14 Jan 2011 23:34:54 +0000 (15:34 -0800)]
am 22acd2ae: Merge "Fix JNI invocation of constructors." into honeycomb

* commit '22acd2ae4b1f0f4f3aab4f55026c2e1d0d409dad':
  Fix JNI invocation of constructors.

13 years agoMerge "Fix JNI invocation of constructors." into honeycomb
Andy McFadden [Fri, 14 Jan 2011 23:33:16 +0000 (15:33 -0800)]
Merge "Fix JNI invocation of constructors." into honeycomb

13 years agoMerge "Fix JNI invocation of constructors." into dalvik-dev
Andy McFadden [Fri, 14 Jan 2011 23:32:13 +0000 (15:32 -0800)]
Merge "Fix JNI invocation of constructors." into dalvik-dev

13 years agoFix JNI invocation of constructors.
Andy McFadden [Fri, 14 Jan 2011 22:52:48 +0000 (14:52 -0800)]
Fix JNI invocation of constructors.

The code that "virtualizes" method invocations was attempting to
virtualize a call to a constructor.  Constructors are direct methods,
so this resulted in a spurious CloneNotSupportedException.

Bug 3354578

(cherry-pick from dalvik-dev)

Change-Id: Ib158ab7fc6b2874eba1fc2afa45fd5436c1f2a8a

13 years agoFix JNI invocation of constructors.
Andy McFadden [Fri, 14 Jan 2011 22:52:48 +0000 (14:52 -0800)]
Fix JNI invocation of constructors.

The code that "virtualizes" method invocations was attempting to
virtualize a call to a constructor.  Constructors are direct methods,
so this resulted in a spurious CloneNotSupportedException.

Bug 3354578

Change-Id: Icac922593f1d872fffaf3bce98c8e24e287bf7af

13 years agoMerge "Read Dex files from a byte[] rather than a RandomAccessFile." into dalvik-dev
Jesse Wilson [Fri, 14 Jan 2011 21:58:58 +0000 (13:58 -0800)]
Merge "Read Dex files from a byte[] rather than a RandomAccessFile." into dalvik-dev

13 years agoRead Dex files from a byte[] rather than a RandomAccessFile.
Jesse Wilson [Fri, 14 Jan 2011 21:16:06 +0000 (13:16 -0800)]
Read Dex files from a byte[] rather than a RandomAccessFile.

This improves time to merge a trivial file with core.dex from
3.8 seconds to 0.8 seconds.

Also fixing read method names to be consistent with the spec.

Change-Id: I9033bcb497afe7a0d73e00cca14fa046b53a62bf

13 years agoam 9c07fafa: (-s ours) am a5c42dab: (-s ours) am 602b8ffb: (-s ours) am 6ad1992b...
Dan Bornstein [Fri, 14 Jan 2011 20:47:25 +0000 (12:47 -0800)]
am 9c07fafa: (-s ours) am a5c42dab: (-s ours) am 602b8ffb: (-s ours) am 6ad1992b: am 70b130f5: (-s ours) Clean up/out some comments. DO NOT MERGE.

* commit '9c07fafa999beb107c7a780031b08caaaedd2b5e':
  Clean up/out some comments. DO NOT MERGE.

13 years agoam a5c42dab: (-s ours) am 602b8ffb: (-s ours) am 6ad1992b: am 70b130f5: (-s ours...
Dan Bornstein [Fri, 14 Jan 2011 20:44:39 +0000 (12:44 -0800)]
am a5c42dab: (-s ours) am 602b8ffb: (-s ours) am 6ad1992b: am 70b130f5: (-s ours) Clean up/out some comments. DO NOT MERGE.

* commit 'a5c42dab9f2bfe9ec1e85b2b2721d6be58892e25':
  Clean up/out some comments. DO NOT MERGE.

13 years agoam 602b8ffb: (-s ours) am 6ad1992b: am 70b130f5: (-s ours) Clean up/out some comments...
Dan Bornstein [Fri, 14 Jan 2011 20:41:45 +0000 (12:41 -0800)]
am 602b8ffb: (-s ours) am 6ad1992b: am 70b130f5: (-s ours) Clean up/out some comments. DO NOT MERGE.

* commit '602b8ffb35fb555fa77081446efa598206e0c3bf':
  Clean up/out some comments. DO NOT MERGE.

13 years agoam 6ad1992b: am 70b130f5: (-s ours) Clean up/out some comments. DO NOT MERGE.
Dan Bornstein [Fri, 14 Jan 2011 20:39:45 +0000 (12:39 -0800)]
am 6ad1992b: am 70b130f5: (-s ours) Clean up/out some comments. DO NOT MERGE.

* commit '6ad1992b311937963d44be68f3ec0255a87d82b8':
  Clean up/out some comments. DO NOT MERGE.

13 years agoam 70b130f5: (-s ours) Clean up/out some comments. DO NOT MERGE.
Dan Bornstein [Fri, 14 Jan 2011 20:37:13 +0000 (12:37 -0800)]
am 70b130f5: (-s ours) Clean up/out some comments. DO NOT MERGE.

* commit '70b130f5398c43418b6eacba2cc09f71d9febdc4':
  Clean up/out some comments. DO NOT MERGE.

13 years agoClean up/out some comments. DO NOT MERGE.
Dan Bornstein [Fri, 14 Jan 2011 20:26:12 +0000 (12:26 -0800)]
Clean up/out some comments. DO NOT MERGE.

Change-Id: I16063cf9132e0f2d6556ce06e1ebfb90ecff05aa

13 years agoMerge "New tool merge two dex files into one." into dalvik-dev
Jesse Wilson [Fri, 14 Jan 2011 19:22:36 +0000 (11:22 -0800)]
Merge "New tool merge two dex files into one." into dalvik-dev

13 years agoam 45e9a990: am 80211d2b: Only generate debugging LIRs in verbose mode.
Ben Cheng [Fri, 14 Jan 2011 19:14:08 +0000 (11:14 -0800)]
am 45e9a990: am 80211d2b: Only generate debugging LIRs in verbose mode.

* commit '45e9a9908f8874b64294dbd3e4dcfb6b76c4b6e3':
  Only generate debugging LIRs in verbose mode.

13 years agoam 660095cc: am efb37a32: am f741b8e1: am 80a30431: (-s ours) Remove some pointless...
Dan Bornstein [Fri, 14 Jan 2011 19:12:15 +0000 (11:12 -0800)]
am 660095cc: am efb37a32: am f741b8e1: am 80a30431: (-s ours) Remove some pointless tests.

* commit '660095cc310535c4874e953f5eea0abc2540f655':
  Remove some pointless tests.

13 years agoam 80211d2b: Only generate debugging LIRs in verbose mode.
Ben Cheng [Fri, 14 Jan 2011 19:08:38 +0000 (11:08 -0800)]
am 80211d2b: Only generate debugging LIRs in verbose mode.

* commit '80211d2b18daa79c7b4c9b04f0cb366660c86f73':
  Only generate debugging LIRs in verbose mode.

13 years agoam efb37a32: am f741b8e1: am 80a30431: (-s ours) Remove some pointless tests.
Dan Bornstein [Fri, 14 Jan 2011 19:04:47 +0000 (11:04 -0800)]
am efb37a32: am f741b8e1: am 80a30431: (-s ours) Remove some pointless tests.

* commit 'efb37a324e037b9dfbeee7627d7b0417e1b9aed8':
  Remove some pointless tests.

13 years agoOnly generate debugging LIRs in verbose mode.
Ben Cheng [Fri, 14 Jan 2011 18:23:37 +0000 (10:23 -0800)]
Only generate debugging LIRs in verbose mode.

This should reduce memory usage and JIT time a bit.
Affected opcodes: kArmPseudoSSARep and kArmPseudoDalvikByteCodeBoundary.

Change-Id: I18ce9338b8d258270df51a66f9dc98cd2d9dd0e8

13 years agoam c45c71a8: am 9c6e857f: Merge "Minor cleanup of some initialization code." into...
Carl Shapiro [Fri, 14 Jan 2011 01:52:58 +0000 (17:52 -0800)]
am c45c71a8: am 9c6e857f: Merge "Minor cleanup of some initialization code." into honeycomb

* commit 'c45c71a82832422d8d45b6bf7f236d51d77e04f8':
  Minor cleanup of some initialization code.

13 years agoam 9c6e857f: Merge "Minor cleanup of some initialization code." into honeycomb
Carl Shapiro [Fri, 14 Jan 2011 01:48:52 +0000 (17:48 -0800)]
am 9c6e857f: Merge "Minor cleanup of some initialization code." into honeycomb

* commit '9c6e857fb13cad874a2f430438babe44bcddf5d0':
  Minor cleanup of some initialization code.

13 years agoMerge "Minor cleanup of some initialization code." into honeycomb
Carl Shapiro [Fri, 14 Jan 2011 01:45:21 +0000 (17:45 -0800)]
Merge "Minor cleanup of some initialization code." into honeycomb

13 years agoMinor cleanup of some initialization code.
Carl Shapiro [Fri, 14 Jan 2011 01:25:19 +0000 (17:25 -0800)]
Minor cleanup of some initialization code.

This change removes the "dvm" prefix from static functions and makes
the memory option processor use the potentially wider size_t type for
manipulating memory sizes instead of the unsigned int type.

Change-Id: Ia85b01d2a852080e56e4da7c9393fe4e6c2bdf00

13 years agoam db3c9225: am d5dae2a4: Merge "Fix invoke-interface verification failures" into...
Andy McFadden [Fri, 14 Jan 2011 00:42:28 +0000 (16:42 -0800)]
am db3c9225: am d5dae2a4: Merge "Fix invoke-interface verification failures" into honeycomb

* commit 'db3c9225ce1cb2af645958a517233787899c2cfe':
  Fix invoke-interface verification failures

13 years agoam d5dae2a4: Merge "Fix invoke-interface verification failures" into honeycomb
Andy McFadden [Fri, 14 Jan 2011 00:38:19 +0000 (16:38 -0800)]
am d5dae2a4: Merge "Fix invoke-interface verification failures" into honeycomb

* commit 'd5dae2a47d5730887408feed993d8e9006953749':
  Fix invoke-interface verification failures

13 years agoMerge "Fix invoke-interface verification failures" into honeycomb
Andy McFadden [Fri, 14 Jan 2011 00:35:26 +0000 (16:35 -0800)]
Merge "Fix invoke-interface verification failures" into honeycomb

13 years agoam c3be0be1: am a4f35892: Merge "Remove a stray empty line." into honeycomb
Carl Shapiro [Fri, 14 Jan 2011 00:31:46 +0000 (16:31 -0800)]
am c3be0be1: am a4f35892: Merge "Remove a stray empty line." into honeycomb

* commit 'c3be0be1932640691e64f1427a6308edee5561ca':
  Remove a stray empty line.

13 years agoam a4f35892: Merge "Remove a stray empty line." into honeycomb
Carl Shapiro [Fri, 14 Jan 2011 00:27:18 +0000 (16:27 -0800)]
am a4f35892: Merge "Remove a stray empty line." into honeycomb

* commit 'a4f3589250f6d786654131e44291c9c19c80333c':
  Remove a stray empty line.

13 years agoMerge "Remove a stray empty line." into honeycomb
Carl Shapiro [Fri, 14 Jan 2011 00:25:16 +0000 (16:25 -0800)]
Merge "Remove a stray empty line." into honeycomb

13 years agoRemove a stray empty line.
Carl Shapiro [Fri, 14 Jan 2011 00:21:22 +0000 (16:21 -0800)]
Remove a stray empty line.

Change-Id: Ie954aa547b5cbfd0058407c0139e057c08ad9337

13 years agoresolved conflicts for merge of ae08dca2 to dalvik-dev
Andy McFadden [Fri, 14 Jan 2011 00:18:02 +0000 (16:18 -0800)]
resolved conflicts for merge of ae08dca2 to dalvik-dev

Change-Id: I5f35e811bf96f54b45dea7e330a0ecf6a842365f

13 years agoam 6c7aadc2: am 7ed3c87b: Add missing length modifiers for printing size_t values.
Carl Shapiro [Fri, 14 Jan 2011 00:06:57 +0000 (16:06 -0800)]
am 6c7aadc2: am 7ed3c87b: Add missing length modifiers for printing size_t values.

* commit '6c7aadc2e5a5b761d815ce2c79452286b62d24a6':
  Add missing length modifiers for printing size_t values.

13 years agoam 61ed6e5e: Merge "Fix implementation of volatile stores" into honeycomb
Andy McFadden [Fri, 14 Jan 2011 00:06:15 +0000 (16:06 -0800)]
am 61ed6e5e: Merge "Fix implementation of volatile stores" into honeycomb

* commit '61ed6e5ead6361a0589fee6bd42c56e44e3fd52c':
  Fix implementation of volatile stores

13 years agoFix invoke-interface verification failures
Andy McFadden [Fri, 14 Jan 2011 00:05:34 +0000 (16:05 -0800)]
Fix invoke-interface verification failures

A regression introduced in bug 3329492 was causing exceptions to be
thrown immediately (during class initialization) rather than when the
problem was actually hit.

Bug 3345814.

Change-Id: I0a6b36a226b70f7a7da4384fe46095b45f004300

13 years agoMerge "Fix implementation of volatile stores" into honeycomb
Andy McFadden [Fri, 14 Jan 2011 00:04:43 +0000 (16:04 -0800)]
Merge "Fix implementation of volatile stores" into honeycomb

13 years agoam 7ed3c87b: Add missing length modifiers for printing size_t values.
Carl Shapiro [Fri, 14 Jan 2011 00:02:23 +0000 (16:02 -0800)]
am 7ed3c87b: Add missing length modifiers for printing size_t values.

* commit '7ed3c87b8481abaf339e4844a400fd29dc7e5f56':
  Add missing length modifiers for printing size_t values.

13 years agoAdd missing length modifiers for printing size_t values.
Carl Shapiro [Thu, 13 Jan 2011 23:56:42 +0000 (15:56 -0800)]
Add missing length modifiers for printing size_t values.

Change-Id: Ie82f5c4d06e8cdd6b7ce3562a4e7bb28bf2ea858

13 years agoFix implementation of volatile stores
Andy McFadden [Thu, 13 Jan 2011 21:09:26 +0000 (13:09 -0800)]
Fix implementation of volatile stores

Volatile stores are synchronization actions, not merely releasing
stores, so an additional barrier is required.  We also have the
option of using atomic operations, but that's not recommended (except
for 64-bit fields, where we don't have a choice).

Bug 3338450

Change-Id: Ibfa3486eb89af7769c81bcf892b3fee50d2028d4

13 years agoam ca3f39e7: am a0f4e182: Remove stale enumerators for external allocation tracking.
Carl Shapiro [Thu, 13 Jan 2011 22:53:29 +0000 (14:53 -0800)]
am ca3f39e7: am a0f4e182: Remove stale enumerators for external allocation tracking.

* commit 'ca3f39e7b17fe6cd95dee26e98f3381ec93b2e05':
  Remove stale enumerators for external allocation tracking.

13 years agoam a0f4e182: Remove stale enumerators for external allocation tracking.
Carl Shapiro [Thu, 13 Jan 2011 22:45:17 +0000 (14:45 -0800)]
am a0f4e182: Remove stale enumerators for external allocation tracking.

* commit 'a0f4e1824b95c846cd4f04e411abb0862b26b733':
  Remove stale enumerators for external allocation tracking.

13 years agoam f741b8e1: am 80a30431: (-s ours) Remove some pointless tests.
Dan Bornstein [Thu, 13 Jan 2011 22:35:55 +0000 (14:35 -0800)]
am f741b8e1: am 80a30431: (-s ours) Remove some pointless tests.

* commit 'f741b8e112834cb3c140ca81890dc41126649dee':
  Remove some pointless tests.

13 years agoam 80a30431: (-s ours) Remove some pointless tests.
Dan Bornstein [Thu, 13 Jan 2011 22:33:39 +0000 (14:33 -0800)]
am 80a30431: (-s ours) Remove some pointless tests.

* commit '80a30431fa6c92433d2602c159bc71dd81c62c8f':
  Remove some pointless tests.

13 years agoRemove stale enumerators for external allocation tracking.
Carl Shapiro [Thu, 13 Jan 2011 22:28:00 +0000 (14:28 -0800)]
Remove stale enumerators for external allocation tracking.

Change-Id: Iab9c718f6bdee71512c2d5996244d46f944a455f

13 years agoRemove some pointless tests.
Dan Bornstein [Thu, 13 Jan 2011 20:46:28 +0000 (12:46 -0800)]
Remove some pointless tests.

Change-Id: Ibaaf74fbdffd6c08af48cac50ef62a05e8473899

13 years agoam 0111aa23: am eeb834a5: Remove enumerators for stale GC reasons.
Carl Shapiro [Thu, 13 Jan 2011 03:34:55 +0000 (19:34 -0800)]
am 0111aa23: am eeb834a5: Remove enumerators for stale GC reasons.

* commit '0111aa23f186122ca874d22e619467d22be564df':
  Remove enumerators for stale GC reasons.

13 years agoam eeb834a5: Remove enumerators for stale GC reasons.
Carl Shapiro [Thu, 13 Jan 2011 03:30:29 +0000 (19:30 -0800)]
am eeb834a5: Remove enumerators for stale GC reasons.

* commit 'eeb834a53da2d70bea754233469e2ab7a7957d84':
  Remove enumerators for stale GC reasons.

13 years agoam 9f2154a5: am bdd79095: am 4d7dd569: Handle the case of referent clearing during...
Carl Shapiro [Thu, 13 Jan 2011 03:07:16 +0000 (19:07 -0800)]
am 9f2154a5: am bdd79095: am 4d7dd569: Handle the case of referent clearing during tracing.

* commit '9f2154a54d121d1cde61b2be9764fc44e31f534f':
  Handle the case of referent clearing during tracing.

13 years agoam bdd79095: am 4d7dd569: Handle the case of referent clearing during tracing.
Carl Shapiro [Thu, 13 Jan 2011 03:01:41 +0000 (19:01 -0800)]
am bdd79095: am 4d7dd569: Handle the case of referent clearing during tracing.

* commit 'bdd790957e8656b9166542b5b4f1a1aca19e77bf':
  Handle the case of referent clearing during tracing.

13 years agoRemove enumerators for stale GC reasons.
Carl Shapiro [Thu, 13 Jan 2011 02:21:00 +0000 (18:21 -0800)]
Remove enumerators for stale GC reasons.

Change-Id: I297e3ce5ba75e308cc994a7303d6bfc70e819737

13 years agoam 7f3e6d75: am 0560c6e2: Remove the allocation limits interfaces.
Carl Shapiro [Thu, 13 Jan 2011 00:10:56 +0000 (16:10 -0800)]
am 7f3e6d75: am 0560c6e2: Remove the allocation limits interfaces.

* commit '7f3e6d753b190e8c57888829a9f804f9e77ce01f':
  Remove the allocation limits interfaces.

13 years agoam 0560c6e2: Remove the allocation limits interfaces.
Carl Shapiro [Thu, 13 Jan 2011 00:07:00 +0000 (16:07 -0800)]
am 0560c6e2: Remove the allocation limits interfaces.

* commit '0560c6e2b5d3f6668f26858f86ce2cff0beffd86':
  Remove the allocation limits interfaces.

13 years agoRemove the allocation limits interfaces.
Carl Shapiro [Wed, 12 Jan 2011 23:54:43 +0000 (15:54 -0800)]
Remove the allocation limits interfaces.

Change-Id: I97a098fe385cc12991b8f1277683fb1146673570

13 years agoam a657b66e: am a05f6504: Remove support for setting the minimum size of the heap...
Carl Shapiro [Wed, 12 Jan 2011 22:22:35 +0000 (14:22 -0800)]
am a657b66e: am a05f6504: Remove support for setting the minimum size of the heap at runtime.

* commit 'a657b66e6e0c59501f25e4a17df5500dafe8fa0a':
  Remove support for setting the minimum size of the heap at runtime.

13 years agoam a05f6504: Remove support for setting the minimum size of the heap at runtime.
Carl Shapiro [Wed, 12 Jan 2011 22:18:03 +0000 (14:18 -0800)]
am a05f6504: Remove support for setting the minimum size of the heap at runtime.

* commit 'a05f6504440ccf460477e9883c87cd70aca77b24':
  Remove support for setting the minimum size of the heap at runtime.

13 years agoRemove support for setting the minimum size of the heap at runtime.
Carl Shapiro [Wed, 12 Jan 2011 19:04:55 +0000 (11:04 -0800)]
Remove support for setting the minimum size of the heap at runtime.

Change-Id: I1752c59184325b5929532b61f4fa0feaa03b8218

13 years agoam 4d7dd569: Handle the case of referent clearing during tracing.
Carl Shapiro [Wed, 12 Jan 2011 18:49:25 +0000 (10:49 -0800)]
am 4d7dd569: Handle the case of referent clearing during tracing.

* commit '4d7dd56902150ab8db4c20a191bad112928839e9':
  Handle the case of referent clearing during tracing.

13 years agoHandle the case of referent clearing during tracing.
Carl Shapiro [Wed, 12 Jan 2011 01:16:48 +0000 (17:16 -0800)]
Handle the case of referent clearing during tracing.

Reference objects with non-null referent fields are collected during
tracing for processing after the trace has completed.  Before the
trace was made concurrent there was no way for a reference with a
non-null referent field to have its referent become null by any action
of the garbage collector after it was discovered.  Assertions were
placed in the reference processing code to check this invariant.

After the trace was made concurrent it became possible for a user to
clear the referent field of an already discovered reference.  This
violates the assertions in the reference processing code.

This change replaces the assertions in the reference processing code
with logic to deal with null referent fields.  The assert in the
SoftReference preservation code has been converted to a continue that
short circuits the preservation logic.  The assert in the white
reference clearing code short circuits the clearing and enqueueing.

Bug: 3342757
Change-Id: I967b011485e2691b2752500a3488fbcb54f129d3

13 years agoam 255cbef2: am 15e4a632: Handle the case of referent clearing during tracing.
Carl Shapiro [Wed, 12 Jan 2011 01:57:29 +0000 (17:57 -0800)]
am 255cbef2: am 15e4a632: Handle the case of referent clearing during tracing.

* commit '255cbef2fc4cd7ee679744dbdac6dfcdf0a35ca8':
  Handle the case of referent clearing during tracing.

13 years agoam 15e4a632: Handle the case of referent clearing during tracing.
Carl Shapiro [Wed, 12 Jan 2011 01:45:39 +0000 (17:45 -0800)]
am 15e4a632: Handle the case of referent clearing during tracing.

* commit '15e4a6325289d37ae9264f6c072d5071905c6929':
  Handle the case of referent clearing during tracing.

13 years agoHandle the case of referent clearing during tracing.
Carl Shapiro [Wed, 12 Jan 2011 01:16:48 +0000 (17:16 -0800)]
Handle the case of referent clearing during tracing.

Reference objects with non-null referent fields are collected during
tracing for processing after the trace has completed.  Before the
trace was made concurrent there was no way for a reference with a
non-null referent field to have its referent become null by any action
of the garbage collector after it was discovered.  Assertions were
placed in the reference processing code to check this invariant.

After the trace was made concurrent it became possible for a user to
clear the referent field of an already discovered reference.  This
violates the assertions in the reference processing code.

This change replaces the assertions in the reference processing code
with logic to deal with null referent fields.  The assert in the
SoftReference preservation code has been converted to a continue that
short circuits the preservation logic.  The assert in the white
reference clearing code short circuits the clearing and enqueueing.

Change-Id: I77bd18cd1ad52e9f457b0f9b1d4e1403e5de1a98

13 years agoam e506a20f: am 05bdc2f8: Merge "Check VMRuntime.addressOf is actually passed an...
Elliott Hughes [Wed, 12 Jan 2011 01:10:12 +0000 (17:10 -0800)]
am e506a20f: am 05bdc2f8: Merge "Check VMRuntime.addressOf is actually passed an array." into honeycomb

* commit 'e506a20fd13b9b1a941a70311f2cc2546db520c8':
  Check VMRuntime.addressOf is actually passed an array.

13 years agoam 05bdc2f8: Merge "Check VMRuntime.addressOf is actually passed an array." into...
Elliott Hughes [Wed, 12 Jan 2011 01:05:57 +0000 (17:05 -0800)]
am 05bdc2f8: Merge "Check VMRuntime.addressOf is actually passed an array." into honeycomb

* commit '05bdc2f83cf5c64555c3acc94449e8baeb4d48f8':
  Check VMRuntime.addressOf is actually passed an array.

13 years agoMerge "Check VMRuntime.addressOf is actually passed an array." into honeycomb
Elliott Hughes [Wed, 12 Jan 2011 01:04:33 +0000 (17:04 -0800)]
Merge "Check VMRuntime.addressOf is actually passed an array." into honeycomb

13 years agoam 943b3a18: am b16add6a: Merge "Remove obsolete comments about small and large objec...
Carl Shapiro [Wed, 12 Jan 2011 00:43:54 +0000 (16:43 -0800)]
am 943b3a18: am b16add6a: Merge "Remove obsolete comments about small and large object heaps." into honeycomb

* commit '943b3a18f38752cb128b3e4e7d7113574dd43efd':
  Remove obsolete comments about small and large object heaps.

13 years agoam b16add6a: Merge "Remove obsolete comments about small and large object heaps....
Carl Shapiro [Wed, 12 Jan 2011 00:39:29 +0000 (16:39 -0800)]
am b16add6a: Merge "Remove obsolete comments about small and large object heaps." into honeycomb

* commit 'b16add6aec5e35743f19ab540630128730263b7f':
  Remove obsolete comments about small and large object heaps.

13 years agoCheck VMRuntime.addressOf is actually passed an array.
Elliott Hughes [Wed, 12 Jan 2011 00:38:30 +0000 (16:38 -0800)]
Check VMRuntime.addressOf is actually passed an array.

Change-Id: I9571f13f397303963a99e380f9e1f8ef45fd504a

13 years agoMerge "Remove obsolete comments about small and large object heaps." into honeycomb
Carl Shapiro [Wed, 12 Jan 2011 00:37:21 +0000 (16:37 -0800)]
Merge "Remove obsolete comments about small and large object heaps." into honeycomb

13 years agoRemove obsolete comments about small and large object heaps.
Carl Shapiro [Wed, 12 Jan 2011 00:33:53 +0000 (16:33 -0800)]
Remove obsolete comments about small and large object heaps.

It looks like somebody intended to perform segregation of objects by
their size.  This was never implemented and the terminology is similar
to what is used by a forthcoming API.

Change-Id: Iff016781fedefd55961c5c5168569c83ecdf5258

13 years agoMerge "[JIT] Fix obscure code cache reset bug" into dalvik-dev
buzbee [Tue, 11 Jan 2011 23:57:54 +0000 (15:57 -0800)]
Merge "[JIT] Fix obscure code cache reset bug" into dalvik-dev

13 years ago[JIT] Fix obscure code cache reset bug
buzbee [Tue, 11 Jan 2011 23:45:49 +0000 (15:45 -0800)]
[JIT] Fix obscure code cache reset bug

A recent change (dalvik-dev only) introduced a bug in translation
cache reinitialization.  In real life, this would be unlikely to
ever hit as it only shows up if you use a testing mode to force
a JIT translation cache flush when the JIT is disabled.

Change-Id: If4dbf2f959ac2f6a60505a816d17caca5f6b004e

13 years agoam faf869a3: am e0124545: (-s ours) am 6159ef45: Parameterize instance counting to...
Carl Shapiro [Tue, 11 Jan 2011 22:01:53 +0000 (14:01 -0800)]
am faf869a3: am e0124545: (-s ours) am 6159ef45: Parameterize instance counting to include subclasses.

* commit 'faf869a34f62f9270462077ba57209b2294a0dc2':
  Parameterize instance counting to include subclasses.

13 years agoam e0124545: (-s ours) am 6159ef45: Parameterize instance counting to include subclasses.
Carl Shapiro [Tue, 11 Jan 2011 21:52:34 +0000 (13:52 -0800)]
am e0124545: (-s ours) am 6159ef45: Parameterize instance counting to include subclasses.

* commit 'e012454580d01d6739864d303908d3699e3153e2':
  Parameterize instance counting to include subclasses.

13 years agoam f5949168: Move nio direct byte buffers onto the Java heap.
Elliott Hughes [Tue, 11 Jan 2011 02:10:02 +0000 (18:10 -0800)]
am f5949168: Move nio direct byte buffers onto the Java heap.

* commit 'f5949168d4142cde1582117173b03c614b632938':
  Move nio direct byte buffers onto the Java heap.

13 years agoMove nio direct byte buffers onto the Java heap.
Elliott Hughes [Mon, 10 Jan 2011 23:30:18 +0000 (15:30 -0800)]
Move nio direct byte buffers onto the Java heap.

Specifically, implement VMRuntime.newNonMovableArray and VMRuntime.addressOf.
For now these are pretty trivial because we don't have a copying collector,
but this (a) prevents code from allocating arbitrary amounts of direct byte
buffer without being charged for it, and (b) lets us move to a copying
collector in future.

Change-Id: I5de156dc8ac4ab5c997e18d447f635eb01ff08ab

13 years agoMerge-conflict cleanup.
Ben Cheng [Mon, 10 Jan 2011 21:55:42 +0000 (13:55 -0800)]
Merge-conflict cleanup.

Change-Id: I252a0b9173e130020faa3b29ba34ec39dc18bb97

13 years agoNew tool merge two dex files into one.
Jesse Wilson [Tue, 4 Jan 2011 22:20:32 +0000 (14:20 -0800)]
New tool merge two dex files into one.

This code isn't yet ready for general use, but I have booted a device
using a core.jar from the product of a merge. In particular, I still
need to better size the output dex.

The motivation is to support incremental builds in dx. Given a
"--incremental" flag, dx would create a dex file containing only those
classes newer than the target .dex. Then it would merge that small
.dex with the current .dex. Hopefully this yields a nice speedup
over dexing everything.

It would also be possible to use this to do parallel builds. We would
manually partition the input files, dx them, and then merge the result
together.

Change-Id: I8997fb3c8bfe73b64ef38a7cb3d6456fbe799d0f

13 years agoam 6159ef45: Parameterize instance counting to include subclasses.
Carl Shapiro [Sat, 8 Jan 2011 02:46:57 +0000 (18:46 -0800)]
am 6159ef45: Parameterize instance counting to include subclasses.

* commit '6159ef4520073ae8e7ce7b7d1f7648b161a33302':
  Parameterize instance counting to include subclasses.

13 years agoam 5e261cd1: jniRegisterNativeMethods should abort on failure
Andy McFadden [Fri, 7 Jan 2011 23:14:44 +0000 (15:14 -0800)]
am 5e261cd1: jniRegisterNativeMethods should abort on failure

* commit '5e261cd107a923ffc4d4329aa9bd19da220981c8':
  jniRegisterNativeMethods should abort on failure

13 years agojniRegisterNativeMethods should abort on failure
Andy McFadden [Fri, 7 Jan 2011 21:34:47 +0000 (13:34 -0800)]
jniRegisterNativeMethods should abort on failure

The jniRegisterNativeMethods function currently behaves like the
RegisterNatives function that it wraps, returning 0 on success and
nonzero on failure.  However, this is an internal-only function used
by bits of infrastructure that should never fail to initialize.  By
aborting sooner we make the failure impossible to ignore.

This doesn't appear to break anything.

Bug 3323089

Change-Id: I48d1b02d90616d4c9ee01eb0e46cb61752727c5b

13 years agoam 02558df0: Merge "Fix JNI GetMethodID on interfaces" into honeycomb
Andy McFadden [Fri, 7 Jan 2011 20:54:05 +0000 (12:54 -0800)]
am 02558df0: Merge "Fix JNI GetMethodID on interfaces" into honeycomb

* commit '02558df0173befced077255dafddcc45afa4a009':
  Fix JNI GetMethodID on interfaces

13 years agoam 175ce8a9: Fix EABI call bridge.
Andy McFadden [Fri, 7 Jan 2011 20:50:52 +0000 (12:50 -0800)]
am 175ce8a9: Fix EABI call bridge.

* commit '175ce8a9192e5c6dfde8493231939e30e6c40eb6':
  Fix EABI call bridge.

13 years agoMerge "Fix JNI GetMethodID on interfaces" into honeycomb
Andy McFadden [Fri, 7 Jan 2011 20:47:28 +0000 (12:47 -0800)]
Merge "Fix JNI GetMethodID on interfaces" into honeycomb

13 years agoFix JNI GetMethodID on interfaces
Andy McFadden [Fri, 7 Jan 2011 01:04:05 +0000 (17:04 -0800)]
Fix JNI GetMethodID on interfaces

The GetMethodID call was only searching through methods declared by
classes and superclasses.  If you passed it an interface class and
asked for a method declared in a superinterface, the call would fail.
We now have separate code for handling lookups on interfaces.

This also refactors some similar code in the interface method resolver.

Bug 3329492

(Cherry-pick from dalvik-dev)

Change-Id: Icaf744b9e75a1fd6d99f47281002cc6b3c36e368

13 years agoFix EABI call bridge.
Andy McFadden [Thu, 6 Jan 2011 21:12:53 +0000 (13:12 -0800)]
Fix EABI call bridge.

Fix two bugs in the "slow" path, which is only exercised when calling a
native method with more than 28 words of arguments.  First, the code wasn't
skipping past the return type in the shorty signature, so the stack layout
was likely to be messed up if you had long/double args.  Second, the type
check on the value destined for r3 was broken, which would cause problems
if the method's first arg was 32-bit and the second arg was 64-bit.

Bug 3328925

(Cherry-pick from dalvik-dev)

Change-Id: I30a1972cf394dad993df574f17b8770ba9e840dd

13 years agoMerge "Fix JNI GetMethodID on interfaces" into dalvik-dev
Andy McFadden [Fri, 7 Jan 2011 19:08:52 +0000 (11:08 -0800)]
Merge "Fix JNI GetMethodID on interfaces" into dalvik-dev

13 years agoFix JNI GetMethodID on interfaces
Andy McFadden [Fri, 7 Jan 2011 01:04:05 +0000 (17:04 -0800)]
Fix JNI GetMethodID on interfaces

The GetMethodID call was only searching through methods declared by
classes and superclasses.  If you passed it an interface class and
asked for a method declared in a superinterface, the call would fail.
We now have separate code for handling lookups on interfaces.

This also refactors some similar code in the interface method resolver.

Bug 3329492

Change-Id: I4db505231501ef089cd1c406b4654e897bd77d48

13 years agoAdded vm support for new jumbo opcodes.
jeffhao [Tue, 4 Jan 2011 22:18:54 +0000 (14:18 -0800)]
Added vm support for new jumbo opcodes.

This enables jumbo opcodes by default, and they will get used by the
current build without modification. Support has been added for arm, x86,
and the portable interpreter. x86-atom support is on the TODO list. This
commit also includes a test for the new jumbo opcodes.

Change-Id: Ic3f1b41b51645861c5196f76aaf0e96e727ea537

13 years agoFix EABI call bridge.
Andy McFadden [Thu, 6 Jan 2011 21:12:53 +0000 (13:12 -0800)]
Fix EABI call bridge.

Fix two bugs in the "slow" path, which is only exercised when calling a
native method with more than 28 words of arguments.  First, the code wasn't
skipping past the return type in the shorty signature, so the stack layout
was likely to be messed up if you had long/double args.  Second, the type
check on the value destined for r3 was broken, which would cause problems
if the method's first arg was 32-bit and the second arg was 64-bit.

Bug 3328925

Change-Id: I6f243003458e38f3afb324b505225254240a75ff

13 years agoUpdate field offsets in InterpState per Jit-to-Interp cleanup
Ben Cheng [Wed, 5 Jan 2011 23:11:29 +0000 (15:11 -0800)]
Update field offsets in InterpState per Jit-to-Interp cleanup

Change-Id: Icf4aeac2fabbd0b6cd33f4d946055a9dc7e49f49

13 years agoresolved conflicts for merge of 4fa9da7e to dalvik-dev
Ben Cheng [Wed, 5 Jan 2011 22:16:30 +0000 (14:16 -0800)]
resolved conflicts for merge of 4fa9da7e to dalvik-dev

Change-Id: I56b52104f50d2e67115227e61e4b250e1116135d

13 years agoMore Jit-to-Interp entry point cleanup.
Ben Cheng [Wed, 5 Jan 2011 20:39:42 +0000 (12:39 -0800)]
More Jit-to-Interp entry point cleanup.

Only register entry points dispatched through [r6+#offset] in
JitToInterpEntries.

For ARM targets check the size of JitToInterpEntries explicitly to
make sure that its last entry is within 128 byte from InterpState
due to the Thumb codegen constraint.

Change-Id: I74184115cb3a3c89afc3a5fe53685671d9cb1027

13 years agoParameterize instance counting to include subclasses.
Carl Shapiro [Thu, 4 Nov 2010 22:12:09 +0000 (15:12 -0700)]
Parameterize instance counting to include subclasses.

13 years agoam af5aa1f4: Don\'t treat dvmJitToPatchPredictedChain as a Jit-to-Interp entry point.
Ben Cheng [Wed, 5 Jan 2011 00:03:46 +0000 (16:03 -0800)]
am af5aa1f4: Don\'t treat dvmJitToPatchPredictedChain as a Jit-to-Interp entry point.

* commit 'af5aa1f4ce7eecc1b47a4c038cebb67d33f08f18':
  Don't treat dvmJitToPatchPredictedChain as a Jit-to-Interp entry point.

13 years agoDon't treat dvmJitToPatchPredictedChain as a Jit-to-Interp entry point.
Ben Cheng [Tue, 4 Jan 2011 23:37:04 +0000 (15:37 -0800)]
Don't treat dvmJitToPatchPredictedChain as a Jit-to-Interp entry point.

It is just a native callout helper function.

Change-Id: I6398b6876f5ba579b76e732107157a4c99337796

13 years agoam a8589335: [Jit] Fix for 3311468 Maps crashed at handleFmt...
Bill Buzbee [Mon, 27 Dec 2010 18:19:26 +0000 (10:19 -0800)]
am a8589335: [Jit] Fix for 3311468 Maps crashed at handleFmt...

* commit 'a85893356ac4d86ef7d7dd18807d7bef95d7dddb':
  [Jit] Fix for 3311468 Maps crashed at handleFmt...

13 years ago[Jit] Fix for 3311468 Maps crashed at handleFmt...
Bill Buzbee [Mon, 27 Dec 2010 17:31:21 +0000 (09:31 -0800)]
[Jit] Fix for 3311468 Maps crashed at handleFmt...

Change https://android-git.corp.google.com/g/#change,86452 eliminated unused
chaining cells for direct JNI calls.   However, a code path in CodegenDriver.c
assumed all similar invokes would have such cells.  Slightly re-arranged the
to avoid relying on the existance of the cell in cases in which it isn't
needed.

Change-Id: Ifc28acf559455a292b4b915ef1302085557e1d81

13 years agoam 9679fddf: Merge "Restore a few external allocation constants for compatibility."
Carl Shapiro [Thu, 23 Dec 2010 02:23:53 +0000 (18:23 -0800)]
am 9679fddf: Merge "Restore a few external allocation constants for compatibility."

* commit '9679fddfac3aad7f4f7407ae4f285d71140f6168':
  Restore a few external allocation constants for compatibility.