OSDN Git Service

android-x86/dalvik.git
14 years agomisc DalvikRunner changes
Brian Carlstrom [Fri, 12 Mar 2010 21:27:03 +0000 (13:27 -0800)]
misc DalvikRunner changes

Summary:
- "vogar --debug-port <port>" now overrides --timeout-seconds to be zero
  to prevent timeouts during interactive debugging
- "vogar --timeout-seconds 0" now disables timeout
  as a side-effect of the previous change
- "vogar" no longer defaults to "javac -Xmaxerrs 1"
  This is to make using vogar's output more useful when iteratively developing tests.
  continuous build needs to use "vogar --javac-arg -Xmaxerrs --javac-arg 1"
- "vogar --ident ''" allows disabling of output formating
  This prevents output parsing problems for Emacs *compilation* buffers

Change-Id: I599590c9c4fe3c57524af5c4d7f2be2e30ad4685

14 years agoImport the heap verification code from the copying collector. The
Carl Shapiro [Tue, 16 Mar 2010 10:26:49 +0000 (03:26 -0700)]
Import the heap verification code from the copying collector.  The
reference verification routine adds an extra argument so the base
address of an object can be passed to the verification code without
provoking a warning from GCC about breaking alias analysis.

Change-Id: Idd921bcc0e084c18bff1e209a8591ef55f57843a

14 years agoMerge "Add some certimport.sh documention" into dalvik-dev
Brian Carlstrom [Tue, 16 Mar 2010 21:55:07 +0000 (14:55 -0700)]
Merge "Add some certimport.sh documention" into dalvik-dev

14 years agoAdd some certimport.sh documention
Brian Carlstrom [Tue, 16 Mar 2010 21:39:56 +0000 (14:39 -0700)]
Add some certimport.sh documention

hku had some questions about the meaning of the filenames in
cacerts. ngm responded so I captured the knowledge in the
certimport.sh for future reference so we can continue to follow the
convention.

Change-Id: I79b4ed333e541f09d60143f785e5b10d3f5e60f4

14 years agoam 900a3afd: Jit: Fix register usage bug - Issue 2518825 native crash running ARMv5te JIT
Bill Buzbee [Tue, 16 Mar 2010 19:59:32 +0000 (12:59 -0700)]
am 900a3afd: Jit: Fix register usage bug - Issue 2518825 native crash running ARMv5te JIT

Merge commit '900a3afd0e8e0d88426b21447d601ee67e17b642' into dalvik-dev

* commit '900a3afd0e8e0d88426b21447d601ee67e17b642':
  Jit: Fix register usage bug - Issue 2518825 native crash running ARMv5te JIT

14 years agoJit: Fix register usage bug - Issue 2518825 native crash running ARMv5te JIT
Bill Buzbee [Tue, 16 Mar 2010 19:41:43 +0000 (12:41 -0700)]
Jit: Fix register usage bug - Issue 2518825 native crash running ARMv5te JIT

Change I8ca61804 added a call to dvmCanPutArrayElement for APUT_OBJECT,
but did so in a way that violated register usage restrictions.  This change
tells the register allocation system what registers we expect to remain
live across the call to dvmCanPutArrayElement.

Change-Id: Icd83b888ba60768a196070d62d07d12c7a3c73c6

14 years agoam fcd1cbd4: Merge "Include strings.h directly for its ffs prototype."
Carl Shapiro [Tue, 16 Mar 2010 18:37:47 +0000 (11:37 -0700)]
am fcd1cbd4: Merge "Include strings.h directly for its ffs prototype."

Merge commit 'fcd1cbd456809d2a2c58644efb71e1f42810d3ab' into dalvik-dev

* commit 'fcd1cbd456809d2a2c58644efb71e1f42810d3ab':
  Include strings.h directly for its ffs prototype.

14 years agoMerge "Include strings.h directly for its ffs prototype."
Carl Shapiro [Tue, 16 Mar 2010 18:33:09 +0000 (11:33 -0700)]
Merge "Include strings.h directly for its ffs prototype."

14 years agoMerge "Jit: Handle new VOLATILE Dalvik ops by not handling them." into dalvik-dev
Bill Buzbee [Tue, 16 Mar 2010 18:27:55 +0000 (11:27 -0700)]
Merge "Jit: Handle new VOLATILE Dalvik ops by not handling them." into dalvik-dev

14 years agoam 38b778b3: Fixing an @link issue that is upsetting DroidDoc.
Jesse Wilson [Tue, 16 Mar 2010 18:02:33 +0000 (11:02 -0700)]
am 38b778b3: Fixing an @link issue that is upsetting DroidDoc.

Merge commit '38b778b364061dc87899e7fe0e3efd2502a538fd' into dalvik-dev

* commit '38b778b364061dc87899e7fe0e3efd2502a538fd':
  Fixing an @link issue that is upsetting DroidDoc.

14 years agoFixing an @link issue that is upsetting DroidDoc.
Jesse Wilson [Tue, 16 Mar 2010 17:57:58 +0000 (10:57 -0700)]
Fixing an @link issue that is upsetting DroidDoc.

Change-Id: I9837cfd46684ac6d5b9ec4ac6809da3c3f61d57d

14 years agoMerge "make DalvikRunner ignore .#Foo.java files" into dalvik-dev
Brian Carlstrom [Tue, 16 Mar 2010 17:40:06 +0000 (10:40 -0700)]
Merge "make DalvikRunner ignore .#Foo.java files" into dalvik-dev

14 years agomake DalvikRunner ignore .#Foo.java files
Brian Carlstrom [Tue, 16 Mar 2010 16:46:48 +0000 (09:46 -0700)]
make DalvikRunner ignore .#Foo.java files

Emacs makes hidden bogus symlinks for open modified files such as
".#Foo.java -> user@host.pid:rand" which I'm guessing are to identify
the owning user/host/process. Unfortunately, DalvikRunner was picking
these up as source and trying to compile them.

This change makes NamingPatternCodeFinder ignore these. In order to
avoid duplicating this in all the subclasses, the subclasses now call
super.matches as a first pass. Now subclasses only apply any
additional filtering they want. MainFinder.matches was deleted since
it wasn't adding any new restrictions.

We arguably could add a better starting filter perhaps, but skipping
dot files seems a reasonable first stem.

Change-Id: Ic9f5ec0bb629d5e1bc25a5b80a6619a64285d2b0

14 years agoam 6abe2582: Merge "First half of JSON Javadocs."
Jesse Wilson [Tue, 16 Mar 2010 17:26:16 +0000 (10:26 -0700)]
am 6abe2582: Merge "First half of JSON Javadocs."

Merge commit '6abe2582f9dea9887b4cf6cdee200246b6e86117' into dalvik-dev

* commit '6abe2582f9dea9887b4cf6cdee200246b6e86117':
  First half of JSON Javadocs.

14 years agoMerge "First half of JSON Javadocs."
Jesse Wilson [Tue, 16 Mar 2010 17:21:21 +0000 (10:21 -0700)]
Merge "First half of JSON Javadocs."

14 years agoFirst half of JSON Javadocs.
Jesse Wilson [Tue, 16 Mar 2010 06:47:57 +0000 (23:47 -0700)]
First half of JSON Javadocs.

Change-Id: I277ec3b35a28802dd7b7f82c1f4bbadbd3cc4c65

14 years agoMerge "Remove dead fields, constants, and redundant pass-through methods." into dalvi...
Elliott Hughes [Tue, 16 Mar 2010 16:00:36 +0000 (09:00 -0700)]
Merge "Remove dead fields, constants, and redundant pass-through methods." into dalvik-dev

14 years agoam f8a44e85: Merge "Point debuggerd at the interesting thread."
Andy McFadden [Tue, 16 Mar 2010 15:53:15 +0000 (08:53 -0700)]
am f8a44e85: Merge "Point debuggerd at the interesting thread."

Merge commit 'f8a44e85b2beed31f0cb1688ac6bdc08bc37ece1' into dalvik-dev

* commit 'f8a44e85b2beed31f0cb1688ac6bdc08bc37ece1':
  Point debuggerd at the interesting thread.

14 years agoMerge "Point debuggerd at the interesting thread."
Andy McFadden [Tue, 16 Mar 2010 15:48:04 +0000 (08:48 -0700)]
Merge "Point debuggerd at the interesting thread."

14 years agoReplace free calls to the pthread mutex lock, unlock, and trylock
Carl Shapiro [Sun, 14 Mar 2010 06:34:01 +0000 (22:34 -0800)]
Replace free calls to the pthread mutex lock, unlock, and trylock
functions with calls to the error checked wrapper functions.  This
ensures that all mutex operations are checked in debug builds.

Change-Id: I4a5f181e025a2974f3325bcd9efa861eb6a92978

14 years agoInclude strings.h directly for its ffs prototype.
Carl Shapiro [Tue, 16 Mar 2010 07:21:41 +0000 (00:21 -0700)]
Include strings.h directly for its ffs prototype.

Change-Id: If957427bd0918b3b06e6b6177227f107a4b5a5c5

14 years agoam 27182541: Implementing Document.renameNode() and DOMImplementation.getFeature().
Jesse Wilson [Tue, 16 Mar 2010 05:05:59 +0000 (22:05 -0700)]
am 27182541: Implementing Document.renameNode() and DOMImplementation.getFeature().

Merge commit '271825415aa961bdd9f28a551575bcee6f27b4ab' into dalvik-dev

* commit '271825415aa961bdd9f28a551575bcee6f27b4ab':
  Implementing Document.renameNode() and DOMImplementation.getFeature().

14 years agoPoint debuggerd at the interesting thread.
Andy McFadden [Tue, 16 Mar 2010 00:24:55 +0000 (17:24 -0700)]
Point debuggerd at the interesting thread.

There are a couple of situations (spin-on-suspend, HeapWorker wedged)
where the current thread's native stack is much less interesting than one
of the others.  This change will cause a couple of signals to be thrown
at the "interesting" thread in an attempt to get more useful information
out of debuggerd in these cases.

For bug 2517042.

Change-Id: Ib8c0e0ef93f07b7114e5f4638a907a0f7802bdc0

14 years agoJit: Handle new VOLATILE Dalvik ops by not handling them.
Bill Buzbee [Tue, 16 Mar 2010 00:19:12 +0000 (17:19 -0700)]
Jit: Handle new VOLATILE Dalvik ops by not handling them.

See [Issue 1633591] Volatile long/double accesses should be atomic.
Because we believe this to be a rare case, the Jit will just punt
to the interpreter for these.

Change-Id: Idd05b5acae9aa5ffa60941cba8533534a89c0ff8

14 years agoMake wide-volatile loads and stores atomic.
Andy McFadden [Fri, 5 Mar 2010 23:58:31 +0000 (15:58 -0800)]
Make wide-volatile loads and stores atomic.

This implements the four wide-volatile instructions added in a previous
change, and modifies the verifier to substitute the opcodes into the
instruction stream when appropriate.

For mterp, the ARM wide get/put instructions now have conditional code
that replaces ldrd/strd with a call to the quasiatomic functions.  The
C version does essentially the same thing.  ARMv4T lacks ldrd/stdrd, and
uses separate implementations for the wide field accesses, so those were
updated as well.  x86 will just use stubs.

The JIT should punt these to the interpreter.

Change-Id: Ife88559ed1a698c3267d43c454896f6b12081c0f
Also:
 - We don't seem to be using the negative widths in the instruction
   table.  Not sure they're useful anymore.
 - Tabs -> spaces in x86-atom throw-verification-error impl.

14 years agoImplementing Document.renameNode() and DOMImplementation.getFeature().
Jesse Wilson [Mon, 15 Mar 2010 23:26:31 +0000 (16:26 -0700)]
Implementing Document.renameNode() and DOMImplementation.getFeature().

The rename code required moving some behaviour from ElementImpl
and AttrImpl up to their common superclass, NodeImpl.

Change-Id: I30910de146f525a5ecc837895ce5808928b858a0

14 years agoRemove dead fields, constants, and redundant pass-through methods.
Elliott Hughes [Mon, 15 Mar 2010 23:40:21 +0000 (16:40 -0700)]
Remove dead fields, constants, and redundant pass-through methods.

(This is just preliminary to what I really want to do, which is vastly
reduce the number of near-duplicate methods we have: all the send/recv
variants, for example.)

Change-Id: Ib03653820a18f55aea6c5b876c397afd281a98dc

14 years agoMerge "Eliminate unused heap bitmap functions. This is mostly the "list" code which...
Carl Shapiro [Mon, 15 Mar 2010 23:25:40 +0000 (16:25 -0700)]
Merge "Eliminate unused heap bitmap functions.  This is mostly the "list" code which is no longer needed." into dalvik-dev

14 years agoam 1639f705: Merge "Fix the JIT blocking mode to unblock itself."
Ben Cheng [Mon, 15 Mar 2010 22:51:29 +0000 (15:51 -0700)]
am 1639f705: Merge "Fix the JIT blocking mode to unblock itself."

Merge commit '1639f7054fd7056a089fabe57d02639973d7da10' into dalvik-dev

* commit '1639f7054fd7056a089fabe57d02639973d7da10':
  Fix the JIT blocking mode to unblock itself.

14 years agoMerge "Fix the JIT blocking mode to unblock itself."
Ben Cheng [Mon, 15 Mar 2010 22:48:06 +0000 (15:48 -0700)]
Merge "Fix the JIT blocking mode to unblock itself."

14 years agoFix the JIT blocking mode to unblock itself.
Ben Cheng [Mon, 15 Mar 2010 22:19:06 +0000 (15:19 -0700)]
Fix the JIT blocking mode to unblock itself.

Change-Id: Iaf1da9ee3ce337f2c5ad4985a6c776bc68472f8c

14 years agoam a58fc616: Merge "Try to show lock owner in MONITOR thread dump."
Andy McFadden [Mon, 15 Mar 2010 19:12:59 +0000 (12:12 -0700)]
am a58fc616: Merge "Try to show lock owner in MONITOR thread dump."

Merge commit 'a58fc61670d91cad6eab32b665742a7ce956aebb' into dalvik-dev

* commit 'a58fc61670d91cad6eab32b665742a7ce956aebb':
  Try to show lock owner in MONITOR thread dump.

14 years agoMerge "Try to show lock owner in MONITOR thread dump."
Andy McFadden [Mon, 15 Mar 2010 19:07:18 +0000 (12:07 -0700)]
Merge "Try to show lock owner in MONITOR thread dump."

14 years agoTry to show lock owner in MONITOR thread dump.
Andy McFadden [Fri, 12 Mar 2010 21:39:59 +0000 (13:39 -0800)]
Try to show lock owner in MONITOR thread dump.

A thread in the MONITOR state is blocked waiting on a monitor.  This
raises two interesting questions: (1) what lock is it waiting on, and
(2) who holds that lock?  The answer to (1) can be determined easily by
looking at the source code, but (2) is a bit harder.

This change extracts the target object from the instruction stream and
prints some information about it, e.g.:

- waiting to lock <0x40028c68> (a java.lang.Object) held by threadid=1 (main)

Also: fiddled with "must [not] be locked" on a recently-added function.

(cherry-picked from dalvik-dev)

Change-Id: Ic16695741760d50be70e70fb7470972cef28bb09

14 years agoam 62145b47: Merge "Jit: Minor cleanup - enum size fix, remove useless code, control...
Bill Buzbee [Mon, 15 Mar 2010 17:16:57 +0000 (10:16 -0700)]
am 62145b47: Merge "Jit: Minor cleanup - enum size fix, remove useless code, control consistency."

Merge commit '62145b47a29777d29ec0f8883f84f2336f5522df' into dalvik-dev

* commit '62145b47a29777d29ec0f8883f84f2336f5522df':
  Jit: Minor cleanup - enum size fix, remove useless code, control consistency.

14 years agoMerge "Jit: Minor cleanup - enum size fix, remove useless code, control consistency."
Bill Buzbee [Mon, 15 Mar 2010 17:13:58 +0000 (10:13 -0700)]
Merge "Jit: Minor cleanup - enum size fix, remove useless code, control consistency."

14 years agoam bcdd4b09: Increase the SHORT_DELAY amount in the JSR166 test.
Ben Cheng [Mon, 15 Mar 2010 17:07:13 +0000 (10:07 -0700)]
am bcdd4b09: Increase the SHORT_DELAY amount in the JSR166 test.

Merge commit 'bcdd4b09d018f24aaa61311f3e543636f7eb4095' into dalvik-dev

* commit 'bcdd4b09d018f24aaa61311f3e543636f7eb4095':
  Increase the SHORT_DELAY amount in the JSR166 test.

14 years agoJit: Minor cleanup - enum size fix, remove useless code, control consistency.
Bill Buzbee [Fri, 12 Mar 2010 23:15:35 +0000 (15:15 -0800)]
Jit: Minor cleanup - enum size fix, remove useless code, control consistency.

Change-Id: Id8c16303efd25683ad4b04a85e0d2a059b5ec3be

14 years agoTry to show lock owner in MONITOR thread dump.
Andy McFadden [Fri, 12 Mar 2010 21:39:59 +0000 (13:39 -0800)]
Try to show lock owner in MONITOR thread dump.

A thread in the MONITOR state is blocked waiting on a monitor.  This
raises two interesting questions: (1) what lock is it waiting on, and
(2) who holds that lock?  The answer to (1) can be determined easily by
looking at the source code, but (2) is a bit harder.

This change extracts the target object from the instruction stream and
prints some information about it, e.g.:

- waiting to lock <0x40028c68> (a java.lang.Object) held by threadid=1 (main)

Change-Id: Iad18fc6f2df4142368bdf1063b8cc71de2d66156
Also: fiddled with "must [not] be locked" on a recently-added function.

14 years agoIncrease the SHORT_DELAY amount in the JSR166 test.
Ben Cheng [Mon, 15 Mar 2010 06:04:49 +0000 (23:04 -0700)]
Increase the SHORT_DELAY amount in the JSR166 test.

Change-Id: I890621226c5ea412baee568f3e9b31833185849a

14 years agoMerge "Factor out lock inflation into a common subroutine." into dalvik-dev
Carl Shapiro [Sun, 14 Mar 2010 03:32:47 +0000 (19:32 -0800)]
Merge "Factor out lock inflation into a common subroutine." into dalvik-dev

14 years agoFactor out lock inflation into a common subroutine.
Carl Shapiro [Fri, 12 Mar 2010 23:25:37 +0000 (15:25 -0800)]
Factor out lock inflation into a common subroutine.

Change-Id: Iba789778dbaf34cf92f3ca2ebb96d57ec488c20f

14 years agoam fcfb5220: Adding an Apache-licensed implementation of org.json
Jesse Wilson [Sun, 14 Mar 2010 02:32:42 +0000 (18:32 -0800)]
am fcfb5220: Adding an Apache-licensed implementation of org.json

Merge commit 'fcfb52201103bf732a6233ea45daaa65e253543b' into dalvik-dev

* commit 'fcfb52201103bf732a6233ea45daaa65e253543b':
  Adding an Apache-licensed implementation of org.json

14 years agoam f662e543: Removing the non-free org.json implementation
Jesse Wilson [Sun, 14 Mar 2010 02:32:39 +0000 (18:32 -0800)]
am f662e543: Removing the non-free org.json implementation

Merge commit 'f662e543f4bf86ccc6d4375f664268da4208b61f' into dalvik-dev

* commit 'f662e543f4bf86ccc6d4375f664268da4208b61f':
  Removing the non-free org.json implementation

14 years agoam 37cfb2f4: Merge "A cleanroom implementation of the org.json API."
Jesse Wilson [Sun, 14 Mar 2010 02:32:35 +0000 (18:32 -0800)]
am 37cfb2f4: Merge "A cleanroom implementation of the org.json API."

Merge commit '37cfb2f4bbd39b494172aad059fbe89a45d18a00' into dalvik-dev

* commit '37cfb2f4bbd39b494172aad059fbe89a45d18a00':
  A cleanroom implementation of the org.json API.

14 years agoam 95cd9ac6: Stay in the dbg interpreter if the entry reason is to deal with exceptions.
Ben Cheng [Sun, 14 Mar 2010 02:32:32 +0000 (18:32 -0800)]
am 95cd9ac6: Stay in the dbg interpreter if the entry reason is to deal with exceptions.

Merge commit '95cd9ac6c308008b6bd48e6e516c118fce0e6a1f' into dalvik-dev

* commit '95cd9ac6c308008b6bd48e6e516c118fce0e6a1f':
  Stay in the dbg interpreter if the entry reason is to deal with exceptions.

14 years agoam 3ed90a94: Merge "Add a native method dalvik.system.VMDebug.infopoint(int id)."
Ben Cheng [Sun, 14 Mar 2010 02:32:28 +0000 (18:32 -0800)]
am 3ed90a94: Merge "Add a native method dalvik.system.VMDebug.infopoint(int id)."

Merge commit '3ed90a94fa2eea45a423471405df5df62b187b83' into dalvik-dev

* commit '3ed90a94fa2eea45a423471405df5df62b187b83':
  Add a native method dalvik.system.VMDebug.infopoint(int id).

14 years agoMerge "Remove dead obfuscatory code." into dalvik-dev
Elliott Hughes [Sat, 13 Mar 2010 03:38:22 +0000 (19:38 -0800)]
Merge "Remove dead obfuscatory code." into dalvik-dev

14 years agoAdding an Apache-licensed implementation of org.json
Jesse Wilson [Sat, 13 Mar 2010 02:37:43 +0000 (18:37 -0800)]
Adding an Apache-licensed implementation of org.json

Change-Id: I1b67bac70bd25220a619e6ebe61f7f1c6f316faa

14 years agoRemoving the non-free org.json implementation
Jesse Wilson [Sat, 13 Mar 2010 02:35:28 +0000 (18:35 -0800)]
Removing the non-free org.json implementation

Change-Id: Ife53082824f5916665f198d4b2fb863271841ce0

14 years agoMerge "A cleanroom implementation of the org.json API."
Jesse Wilson [Sat, 13 Mar 2010 02:32:45 +0000 (18:32 -0800)]
Merge "A cleanroom implementation of the org.json API."

14 years agoA cleanroom implementation of the org.json API.
Jesse Wilson [Fri, 12 Mar 2010 08:52:29 +0000 (00:52 -0800)]
A cleanroom implementation of the org.json API.

This implementation lacks documentation. I intend to write that after checking
it into the master branch. By not waiting we'll have more time to exercise the
code, if only in Google's own applications.

This passes all of my tests. I rewrote some of the tests to make Crockford's
implementation fail. The tests that fail on Crockford's implementation are:

  JSONArrayTest
  testEqualsAndHashCode equals() not consistent with hashCode()
  testTokenerConstructorParseFail StackOverflowError
  testStringConstructorParseFail StackOverflowError

  JSONObjectTest
  testOtherNumbers Object.put() accepted a NaN (via a custom Number class)
  testMapConstructorWithBogusEntries JSONObject constructor doesn't validate its input!

  JSONTokenerTest
  testNextNWithAllRemaining off-by-one error?
  testNext0 Returning an empty string should be valid
  testNextCleanCommentsTrailingSingleSlash nextClean doesn't consume a trailing slash
  assertNotClean The character line tabulation is not whitespace according to the JSON spec.
  testNextToDoesntStopOnNull nextTo() shouldn't stop after \0 characters
  testNextToConsumesNull nextTo shouldn't consume \0.
  testSkipToStopsOnNull skipTo shouldn't stop when it sees '\0'

  ParsingTest
  testParsingLargeHexValues For input "0x80000000" Hex values are parsed as Strings if their signed value is greater than Integer.MAX_VALUE.
  testSyntaxProblemUnterminatedArray Stack overflowed on input "["

Change-Id: I44c4a4a698a66bf043ed339d6bd804951e732cbf

14 years agoRemove dead obfuscatory code.
Elliott Hughes [Sat, 13 Mar 2010 01:21:40 +0000 (17:21 -0800)]
Remove dead obfuscatory code.

Bug: 2509206
Change-Id: I72a34e1f80fd6936d255b94daf5683cc2a0f2327

14 years agoStay in the dbg interpreter if the entry reason is to deal with exceptions.
Ben Cheng [Sat, 13 Mar 2010 00:58:24 +0000 (16:58 -0800)]
Stay in the dbg interpreter if the entry reason is to deal with exceptions.

Bug: 2487514
Change-Id: Id1eb91f347ff772714d9560370b9994f46d3c5cb

14 years agoMerge "Add a native method dalvik.system.VMDebug.infopoint(int id)."
Ben Cheng [Sat, 13 Mar 2010 00:33:27 +0000 (16:33 -0800)]
Merge "Add a native method dalvik.system.VMDebug.infopoint(int id)."

14 years agoAdd a native method dalvik.system.VMDebug.infopoint(int id).
Ben Cheng [Sat, 13 Mar 2010 00:11:49 +0000 (16:11 -0800)]
Add a native method dalvik.system.VMDebug.infopoint(int id).

With gdb, the JIT can use it to inspect the VM state when an instrumented line
is reached.

Change-Id: Id39ac4cd564bc1a61208cb7527c30f62b5de3e4e

14 years agoam be6534f3: Jit: Fix for [Issue 2487514] Dropped exception
Bill Buzbee [Sat, 13 Mar 2010 00:26:19 +0000 (16:26 -0800)]
am be6534f3: Jit: Fix for [Issue 2487514] Dropped exception

Merge commit 'be6534f384529e51dfba5c3f1b7eb90c86b66e77' into dalvik-dev

* commit 'be6534f384529e51dfba5c3f1b7eb90c86b66e77':
  Jit: Fix for [Issue 2487514] Dropped exception

14 years agoJit: Fix for [Issue 2487514] Dropped exception
Bill Buzbee [Sat, 13 Mar 2010 00:01:35 +0000 (16:01 -0800)]
Jit: Fix for [Issue 2487514] Dropped exception

The jit was failing to call dvmCanPutArrayElement for aput-object.

Change-Id: I8ca618048dc4d1be5b1f1ed85078759041883b09

14 years agoMerge "Java 6 java.io.File changes." into dalvik-dev
Elliott Hughes [Fri, 12 Mar 2010 23:36:51 +0000 (15:36 -0800)]
Merge "Java 6 java.io.File changes." into dalvik-dev

14 years agoJava 6 java.io.File changes.
Elliott Hughes [Fri, 12 Mar 2010 22:46:47 +0000 (14:46 -0800)]
Java 6 java.io.File changes.

IOError and IOException are just copied from harmony. The native code
is all our own, and the File code is rewritten to match our earlier
changes. FileTest gains more tests for the new methods' behavior with
File("").

We still can't test most of this stuff directly because we run our tests
as root. Manual inspection looks good, though, and I've raised a bug
for switching our tests over to run as a non-root user.

I've removed all the Java 6 exceptions from expectations.txt because
we plan on fixing them all, and almost all of the ones mentioned there
are already addressed anyway.

Bug: 2497395
Change-Id: I517cd2d871bff64d63b2f4eb80fda4cfd6d19cd8

14 years agoam 7cd9d693: Merge "Add a JIT unit test for ArrayStoreException in APUT_OBJECT."
Ben Cheng [Fri, 12 Mar 2010 23:08:38 +0000 (15:08 -0800)]
am 7cd9d693: Merge "Add a JIT unit test for ArrayStoreException in APUT_OBJECT."

Merge commit '7cd9d693146fe1d9a890b7f950c23e6b220cdde4' into dalvik-dev

* commit '7cd9d693146fe1d9a890b7f950c23e6b220cdde4':
  Add a JIT unit test for ArrayStoreException in APUT_OBJECT.

14 years agoMerge "Add a JIT unit test for ArrayStoreException in APUT_OBJECT."
Ben Cheng [Fri, 12 Mar 2010 23:04:18 +0000 (15:04 -0800)]
Merge "Add a JIT unit test for ArrayStoreException in APUT_OBJECT."

14 years agoAdd a JIT unit test for ArrayStoreException in APUT_OBJECT.
Ben Cheng [Fri, 12 Mar 2010 22:39:53 +0000 (14:39 -0800)]
Add a JIT unit test for ArrayStoreException in APUT_OBJECT.

Bug: 2487514

tests> ./run-test --fast 083-jit-regressions
/home/bccheng/local/master-git/dalvik/tests/083-jit-regressions: running...
/home/bccheng/local/master-git/dalvik/tests/083-jit-regressions: succeeded!

tests> ./run-test --jit 083-jit-regressions
/home/bccheng/local/master-git/dalvik/tests/083-jit-regressions: running...
/home/bccheng/local/master-git/dalvik/tests/083-jit-regressions: FAILED!

--- expected.txt    2010-03-12 13:45:13.000000000 -0800
+++ output.txt  2010-03-12 14:51:38.000000000 -0800
@@ -1,3 +1,3 @@
 b2296099 passes
 b2302318 passes
-b2487514 passes
+b2487514 fails: catchCount is 17 (expecting 1000)

Change-Id: I6651a3e0945f96bbb9e0c0af13f2c322b82d0cb0

14 years agoBack out my droiddoc-breaking Object.getClass signature change.
Elliott Hughes [Fri, 12 Mar 2010 21:09:22 +0000 (13:09 -0800)]
Back out my droiddoc-breaking Object.getClass signature change.

I'll try again when I've got time to fix droiddoc (or we get an SET).
This is a non-functional Java 5/Java 6 difference, so it isn't important.

(Amusingly, there's no need to back out the corresponding api.xml
change: it looks like droiddoc normalizes one but not the other.)

Change-Id: I012ebeb199696d5bd16de63e657b15889d546c5e

14 years agoMerge "Use ioctl(FIONREAD) rather than recv(MSG_PEEK) to implement Socket.available...
Elliott Hughes [Fri, 12 Mar 2010 19:27:10 +0000 (11:27 -0800)]
Merge "Use ioctl(FIONREAD) rather than recv(MSG_PEEK) to implement Socket.available." into dalvik-dev

14 years agoam 92e01317: Adding support for DOM3 attribute IDs and SchemaTypeInfos.
Jesse Wilson [Fri, 12 Mar 2010 17:29:19 +0000 (09:29 -0800)]
am 92e01317: Adding support for DOM3 attribute IDs and SchemaTypeInfos.

Merge commit '92e01317d2428856cee52965745d17699a33be5a' into dalvik-dev

* commit '92e01317d2428856cee52965745d17699a33be5a':
  Adding support for DOM3 attribute IDs and SchemaTypeInfos.

14 years agoEliminate unused heap bitmap functions. This is mostly the "list"
Carl Shapiro [Fri, 12 Mar 2010 04:50:08 +0000 (20:50 -0800)]
Eliminate unused heap bitmap functions.  This is mostly the "list"
code which is no longer needed.

Change-Id: I3636a4a6a36e55d2ad080571cdb6c23a16f98aaf

14 years agoUse ioctl(FIONREAD) rather than recv(MSG_PEEK) to implement Socket.available.
Elliott Hughes [Fri, 12 Mar 2010 02:10:42 +0000 (18:10 -0800)]
Use ioctl(FIONREAD) rather than recv(MSG_PEEK) to implement Socket.available.

As well as avoiding unnecessary work, this also means we can reuse the native
code we already have for ioctl(FIONREAD), though we need to change the
interface to take FileDescriptor rather than int, and extract the int on the
native side.

Change-Id: I4c6d9e4e72e514e3e7872c7f882bda5441059915

14 years agoAdding support for DOM3 attribute IDs and SchemaTypeInfos.
Jesse Wilson [Thu, 11 Mar 2010 23:39:41 +0000 (15:39 -0800)]
Adding support for DOM3 attribute IDs and SchemaTypeInfos.

Change-Id: I35e56ed989820df6b8fea36bbf81fe0314c76304

14 years agoFix all instances of "new Integer" (et cetera).
Elliott Hughes [Thu, 11 Mar 2010 23:19:22 +0000 (15:19 -0800)]
Fix all instances of "new Integer" (et cetera).

(This doesn't include libcore/xml/ because I don't want to get in the way there.)

Change-Id: I46f638105d26e82d09128fca605117322229e146

14 years agoMerge "Plug a resource leak with "finally" and make Object.getClass' return type...
Elliott Hughes [Thu, 11 Mar 2010 23:18:24 +0000 (15:18 -0800)]
Merge "Plug a resource leak with "finally" and make Object.getClass' return type match Java 6." into dalvik-dev

14 years agoPlug a resource leak with "finally" and make Object.getClass' return type match Java 6.
Elliott Hughes [Thu, 11 Mar 2010 21:39:05 +0000 (13:39 -0800)]
Plug a resource leak with "finally" and make Object.getClass' return type match Java 6.

Change-Id: Ia8ae90634bfb3680c8e82e4e4cf7f7459263c3d3

14 years agoam 6f9b4d2b: Merge "Implementing getBaseUri() for DOM."
Jesse Wilson [Thu, 11 Mar 2010 23:07:44 +0000 (15:07 -0800)]
am 6f9b4d2b: Merge "Implementing getBaseUri() for DOM."

Merge commit '6f9b4d2bdccb2ea5e548b908e5cc882d262d0940' into dalvik-dev

* commit '6f9b4d2bdccb2ea5e548b908e5cc882d262d0940':
  Implementing getBaseUri() for DOM.

14 years agoMerge "Implementing getBaseUri() for DOM."
Jesse Wilson [Thu, 11 Mar 2010 23:03:28 +0000 (15:03 -0800)]
Merge "Implementing getBaseUri() for DOM."

14 years agoImplementing getBaseUri() for DOM.
Jesse Wilson [Thu, 11 Mar 2010 02:42:32 +0000 (18:42 -0800)]
Implementing getBaseUri() for DOM.

The tests for this uncover problems with the RI's implementation.
It does bizarre things with hashes, trashing the absolute URI and
returning a page-relative one (like "#foo").

Change-Id: Ib8af163a7b359e3f72a9c94eb3dd7e81e3a9a95c

14 years agoam 4527387d: Jit: Make debugging mode aware of inlineExecute/moveResult optimization
Bill Buzbee [Thu, 11 Mar 2010 19:30:26 +0000 (11:30 -0800)]
am 4527387d: Jit: Make debugging mode aware of inlineExecute/moveResult optimization

Merge commit '4527387dd3b5c4dce7300c764805ffd0f3d22649' into dalvik-dev

* commit '4527387dd3b5c4dce7300c764805ffd0f3d22649':
  Jit: Make debugging mode aware of inlineExecute/moveResult optimization

14 years agoJit: Make debugging mode aware of inlineExecute/moveResult optimization
Bill Buzbee [Thu, 11 Mar 2010 19:12:15 +0000 (11:12 -0800)]
Jit: Make debugging mode aware of inlineExecute/moveResult optimization

The Jit has a mode in which selected opcodes can be handled normally
or single-stepped in the interpter.  This was broken for cases in
which the Jit applied an optimization to fold inlineExecute/moveResult
intruction pairs into a single operation and the debug mode was set
to handle the two opcodes differently.

Change-Id: Ifa436d4ba66ba0c13ea366c0956e6cf92ce9cdfd

14 years agoThrow UnknownFormatConversionException instead of AssertionError.
Elliott Hughes [Thu, 11 Mar 2010 18:54:56 +0000 (10:54 -0800)]
Throw UnknownFormatConversionException instead of AssertionError.

There's already a perfectly good exception to throw when we see
a format conversion we don't understand, and my assertion prevented
us from getting to the code that would have thrown it.

Change-Id: I38fdd95482a3d48e26b68b045444f45e94ffc26f

14 years agoMerge "Don't silently ignore arguments just because we don't take any." into dalvik-dev
Elliott Hughes [Thu, 11 Mar 2010 06:06:08 +0000 (22:06 -0800)]
Merge "Don't silently ignore arguments just because we don't take any." into dalvik-dev

14 years agoam dad7a0ef: Merge "Add armv7-a-neon build target"
Colin Cross [Thu, 11 Mar 2010 02:18:47 +0000 (18:18 -0800)]
am dad7a0ef: Merge "Add armv7-a-neon build target"

Merge commit 'dad7a0ef6e5f056f0842f03ff3b8285ef29e6f01' into dalvik-dev

* commit 'dad7a0ef6e5f056f0842f03ff3b8285ef29e6f01':
  Add armv7-a-neon build target

14 years agoMerge "Add armv7-a-neon build target"
Colin Cross [Thu, 11 Mar 2010 02:14:13 +0000 (18:14 -0800)]
Merge "Add armv7-a-neon build target"

14 years agoDon't silently ignore arguments just because we don't take any.
Elliott Hughes [Thu, 11 Mar 2010 00:40:49 +0000 (16:40 -0800)]
Don't silently ignore arguments just because we don't take any.

Change-Id: Ie1d97b1b8a8a87cc8298a6de417104db324e9b47

14 years agoMerge "Tidy up java.lang.Math and java.lang.StrictMath." into dalvik-dev
Elliott Hughes [Thu, 11 Mar 2010 00:34:08 +0000 (16:34 -0800)]
Merge "Tidy up java.lang.Math and java.lang.StrictMath." into dalvik-dev

14 years agoMerge "Minor fixes." into dalvik-dev
Andy McFadden [Thu, 11 Mar 2010 00:26:15 +0000 (16:26 -0800)]
Merge "Minor fixes." into dalvik-dev

14 years agoTidy up java.lang.Math and java.lang.StrictMath.
Elliott Hughes [Thu, 11 Mar 2010 00:15:27 +0000 (16:15 -0800)]
Tidy up java.lang.Math and java.lang.StrictMath.

Removes duplication, fixes typos, and removes some unnecessary object creation.
Note that otherwise-duplicated code that calls a native method needs to remain
duplicated, because the native methods have different implementations. Other
than that, it's not clear to me that the remaining textual differences (mainly
scalb and its implementation details) are meaningful, but it's not clear that
they're not, so I'm leaving them for now. We can always come back later.

This new code still passes all the junit and jtreg tests.

Change-Id: Ica28a01fd1469a162e05deccdb9e6f919246d9f3

14 years agoam f854a794: Merge "remove System.*.println when ddm dispatch fails."
Xavier Ducrohet [Wed, 10 Mar 2010 23:38:11 +0000 (15:38 -0800)]
am f854a794: Merge "remove System.*.println when ddm dispatch fails."

Merge commit 'f854a79457ca12a18acb76070c98e622e6c660c5' into dalvik-dev

* commit 'f854a79457ca12a18acb76070c98e622e6c660c5':
  remove System.*.println when ddm dispatch fails.

14 years agoMerge "remove System.*.println when ddm dispatch fails."
Xavier Ducrohet [Wed, 10 Mar 2010 23:33:45 +0000 (15:33 -0800)]
Merge "remove System.*.println when ddm dispatch fails."

14 years agoCopy harmony's jdk6 Math and StrictMath.
Elliott Hughes [Wed, 10 Mar 2010 23:21:32 +0000 (15:21 -0800)]
Copy harmony's jdk6 Math and StrictMath.

There's some ugliness here I want to remove, but it'll be less confusing if
I commit the upstream code first without my changes...

...that said, I've reverted the upstream Math.pow change because it it's just
cruft; we already pass their tests and jtreg's more thorough pow tests (see
http://blogs.sun.com/darcy/entry/finding_a_bug_in_fdlibm). My guess is that
their real problem was that they were using the buggy fdlibm 5.2 until after
they made the Math.pow change. We've always used 5.3, so we were fine.

Change-Id: I5a6c080d9fd6b60dc7bf77ac10096a913766f512

14 years agoMinor fixes.
Andy McFadden [Wed, 10 Mar 2010 23:21:21 +0000 (15:21 -0800)]
Minor fixes.

Quieted a couple of warnings about constness.

Added "synchronized" to BootClassLoader.getInstance(), which creates the
instance on first use.

Change-Id: I4a521bb2c6853b1ad8a118aa53f697be18b69280

14 years agoEscape ASCII NUL before trying to put it in XML, because XML can't cope.
Elliott Hughes [Wed, 10 Mar 2010 22:30:21 +0000 (14:30 -0800)]
Escape ASCII NUL before trying to put it in XML, because XML can't cope.

Our sholes continuous build is having XML trouble with a FormatterTest
failure that outputs ASCII NUL. Ideally, our junit test runner would escape
all non-printable ASCII as \u escapes, but this seems like a minimal change,
and it's one we already have in the equivalent jtreg code.

Change-Id: Ib9b3219c25515fb358c204d45cb5064293a85b9f

14 years agoremove System.*.println when ddm dispatch fails.
Xavier Ducrohet [Wed, 10 Mar 2010 22:11:40 +0000 (14:11 -0800)]
remove System.*.println when ddm dispatch fails.

Those messages are sometimes displayed to the user executing
the am command and can be really confusing (they are totally
benign)

Change-Id: I09c194a02ddc956ec52f19faa03ca9aa1eba604b

14 years agoam 504af654: Merge "Rearrange the way SignalCatcher writes logs."
Andy McFadden [Wed, 10 Mar 2010 22:11:14 +0000 (14:11 -0800)]
am 504af654: Merge "Rearrange the way SignalCatcher writes logs."

Merge commit '504af654f481ba978bbd2e216b3f05f9dfa55c00' into dalvik-dev

* commit '504af654f481ba978bbd2e216b3f05f9dfa55c00':
  Rearrange the way SignalCatcher writes logs.

14 years agoMerge "Rearrange the way SignalCatcher writes logs."
Andy McFadden [Wed, 10 Mar 2010 22:05:54 +0000 (14:05 -0800)]
Merge "Rearrange the way SignalCatcher writes logs."

14 years agoRearrange the way SignalCatcher writes logs.
Andy McFadden [Wed, 10 Mar 2010 21:42:22 +0000 (13:42 -0800)]
Rearrange the way SignalCatcher writes logs.

This is an attempt to reduce the amount of time that threads are suspended
while dumping stack traces in response to a SIGQUIT.  This is primarily
for ANRs and bugreport generation, where many different apps may be trying
to write their stacks out concurrently.

Instead of grabbing the file with flock() and then printing the traces
to the file, we render the traces to memory and write them with a single
write() call to an O_APPEND fd.  Also, the file access now occurs after
the VM threads have been resumed to avoid stalling on I/O.

No change was made to the format of the output.

For bug 2504471.

Also: did some rearranging in the file.

Change-Id: If505ec014237289a6cc86aa09bc66b3a126b345c

14 years agoMerge "Fix Issue 7036: java.math.BigInteger ctor accepts invalid input." into dalvik-dev
Elliott Hughes [Wed, 10 Mar 2010 21:43:29 +0000 (13:43 -0800)]
Merge "Fix Issue 7036: java.math.BigInteger ctor accepts invalid input." into dalvik-dev

14 years agoFix Issue 7036: java.math.BigInteger ctor accepts invalid input.
Elliott Hughes [Wed, 10 Mar 2010 21:11:16 +0000 (13:11 -0800)]
Fix Issue 7036: java.math.BigInteger ctor accepts invalid input.

OpenSSL's BN library accepts pretty much all input, so if we want to follow
Java's rules, we have to implement them ourselves.

(The FormatterTest change is unrelated and fixes outstanding build breakage
caused by me.)

Bug: http://code.google.com/p/android/issues/detail?id=7036
Change-Id: I0f5413b56fad9289644927672bebf7c3d57e8042

14 years agoam 72621c9d: Pad the page containing ARM code in the JIT code cache to work around...
Ben Cheng [Wed, 10 Mar 2010 21:32:40 +0000 (13:32 -0800)]
am 72621c9d: Pad the page containing ARM code in the JIT code cache to work around a CPU bug.

Merge commit '72621c9d3c175b0f9b239de5b0bcd83c7e5984e8' into dalvik-dev

* commit '72621c9d3c175b0f9b239de5b0bcd83c7e5984e8':
  Pad the page containing ARM code in the JIT code cache to work around a CPU bug.

14 years agoPad the page containing ARM code in the JIT code cache to work around a CPU bug.
Ben Cheng [Wed, 10 Mar 2010 21:12:55 +0000 (13:12 -0800)]
Pad the page containing ARM code in the JIT code cache to work around a CPU bug.

Bug: 2501147

Verified with seeing the following line in the log. The 4096 number confirms
that the ARM handler code is using a full page.

D/dalvikvm(  369): 21 compilations using 4096 + 1288 bytes

Change-Id: I89e1473ce9a4353f58f740e1c86d358d3fec33b2

14 years agoAdd Java 6 additions to Double, Enum, Float, and String.
Elliott Hughes [Wed, 10 Mar 2010 01:01:16 +0000 (17:01 -0800)]
Add Java 6 additions to Double, Enum, Float, and String.

I rewrote the documentation for Double, Enum, and Float, but the "code" is the
same as harmony's. I rewrote the String code and wrote some tests to ensure
that a malicious Charset can't subvert String immutability.

I've also extracted the Android-specific bits of StringTest (which weren't
testing String at all) and brought back the latest harmony StringTest.java.

(The Class and Package changes are just to placate our API comparison tools.)

Bug: 2497395
Change-Id: Id57bda806891c3c85adfcb3b85eea8a8fad2c7b4

14 years agoam 33a939f4: Merge "New tests for JSONObject and for JSON\'s self-use."
Jesse Wilson [Wed, 10 Mar 2010 18:17:46 +0000 (10:17 -0800)]
am 33a939f4: Merge "New tests for JSONObject and for JSON\'s self-use."

Merge commit '33a939f4c016698866b495c5e752e8c16ccef0b3' into dalvik-dev

* commit '33a939f4c016698866b495c5e752e8c16ccef0b3':
  New tests for JSONObject and for JSON's self-use.