OSDN Git Service

android-x86/dalvik.git
14 years agoFix for 2542488 JIT codegen bug with overlapping wide operands
Bill Buzbee [Sat, 27 Mar 2010 17:58:03 +0000 (10:58 -0700)]
Fix for 2542488 JIT codegen bug with overlapping wide operands

Change-Id: I2f31492f68cb753f76dd664cd6b0a52d7d32de4c

14 years agoImprove JIT self verifier test coverage to follow single-step instructions.
Ben Cheng [Sat, 27 Mar 2010 00:45:28 +0000 (17:45 -0700)]
Improve JIT self verifier test coverage to follow single-step instructions.

Bug: 2549326
Change-Id: I01412d4aac1379b61c90fe6e59c534b33be93f66

14 years agoMerge "Fixing tests to handle changes in our behaviour since DOM 3." into froyo
Jesse Wilson [Fri, 26 Mar 2010 22:21:11 +0000 (15:21 -0700)]
Merge "Fixing tests to handle changes in our behaviour since DOM 3." into froyo

14 years agoSuppressing additional tests that fail in Froyo.
Jesse Wilson [Fri, 26 Mar 2010 21:49:30 +0000 (14:49 -0700)]
Suppressing additional tests that fail in Froyo.

Our File class doesn't do SecurityManager checks at the same time as it
did previously.

We added a failing logging test but not the fix.

We moved the SQL drivers around, causing some SQL tests to fail.

A new logging test doesn't load its resources using the safe pattern.

Change-Id: I34ab81e4001969aa536f61a89c277ae2b879d49d

14 years agoFixing tests to handle changes in our behaviour since DOM 3.
Jesse Wilson [Fri, 26 Mar 2010 21:03:36 +0000 (14:03 -0700)]
Fixing tests to handle changes in our behaviour since DOM 3.

Our exception priority has changed for DOM attributes. We
previously used to throw DOMExceptions with namespace error
codes and now throw DOMExceptions with character error codes
when the attribute name is malformed. This caused changes to
many tests.

Another notable behaviour change is that we now supply the
qname (like the RI) where previously we did not. It is optional,
but we now include it for RI-consistency.

Yet another behaviour change is that we don't look at System
properties when choosing a SAX implementation. This simplifies
our internals significantly. End users who want an alternative
SAX implementation should construct it manually.

Also adding @KnownFailure tags for new tests that we have
never yet passed.

Change-Id: I6f81bedd7c2a0867086dc507b3220c2b07c4d3d3

14 years agoUse correct resource flags for Dalvik ld/st instructions to enable code motion.
Ben Cheng [Thu, 25 Mar 2010 23:16:02 +0000 (16:16 -0700)]
Use correct resource flags for Dalvik ld/st instructions to enable code motion.

Change-Id: I9b371af4150b6245c0ff59eea63d83406edbbcee

14 years agoTest and document our handling of nulls with getString().
Jesse Wilson [Thu, 25 Mar 2010 20:31:43 +0000 (13:31 -0700)]
Test and document our handling of nulls with getString().

Our behaviour is consistent with Crockford's.

The test confirms that the behaviour is consistent with the report
of that bug, which the submitter claims is not how it should behave.
http://code.google.com/p/android/issues/detail?id=7257

Change-Id: Ibace4bd995e3cbc8fb6c9dc509f8f4491865a647

14 years agoMerge "Jit: Fix for 2542488 JIT codegen bug with overlapping wide operands"
Bill Buzbee [Thu, 25 Mar 2010 20:07:45 +0000 (13:07 -0700)]
Merge "Jit: Fix for 2542488 JIT codegen bug with overlapping wide operands"

14 years agoJit: Fix for 2542488 JIT codegen bug with overlapping wide operands
Bill Buzbee [Thu, 25 Mar 2010 17:38:34 +0000 (10:38 -0700)]
Jit: Fix for 2542488 JIT codegen bug with overlapping wide operands

Change-Id: I7b922e223fe1f5242d1f3db1fa18f54aaed725af

14 years agoFix java.util.Random's constructors.
Elliott Hughes [Thu, 25 Mar 2010 06:38:48 +0000 (23:38 -0700)]
Fix java.util.Random's constructors.

Subclasses rely on having their overridden setSeed called by Random's
constructors, and the RI actually documents this behavior. (The
documentation even changed between Java 5 and Java 6 to make it _more_
explicit.)

This patch keeps that part of I6239d93bb46876ef1c4a5e155a6dc1ac6fab4eae
that improved our randomness, but reverts the attempt to fix Random's
uncouth behavior.

Also a regression test so we don't try to fix Random again in future.

Bug: 2502231
Change-Id: Ieea1009145c74eac9475c0cd5066dabad20eb114

14 years agoMerge "Don't leak memory on failed pipe or mutex init"
Kenny Root [Thu, 25 Mar 2010 00:07:15 +0000 (17:07 -0700)]
Merge "Don't leak memory on failed pipe or mutex init"

14 years agoDon't leak memory on failed pipe or mutex init
Kenny Root [Thu, 25 Mar 2010 00:01:22 +0000 (17:01 -0700)]
Don't leak memory on failed pipe or mutex init

SSL allocation might fail on pipe or mutex creation, so free allocated
memory when that happens.

Change-Id: Ibe3813cb652db1e880e3acf0dc1fa37fbe0ad455

14 years agoMerge "Fix for the JIT blocking mode plus some code cleanup."
Ben Cheng [Wed, 24 Mar 2010 22:49:50 +0000 (15:49 -0700)]
Merge "Fix for the JIT blocking mode plus some code cleanup."

14 years agoFix for the JIT blocking mode plus some code cleanup.
Ben Cheng [Wed, 24 Mar 2010 22:24:19 +0000 (15:24 -0700)]
Fix for the JIT blocking mode plus some code cleanup.

Bug: 2517606
Change-Id: I2b5aa92ceaf23d484329330ae20de5966704280b

14 years agoSwitch to VMWAIT while outputting trace data.
Andy McFadden [Wed, 24 Mar 2010 20:03:08 +0000 (13:03 -0700)]
Switch to VMWAIT while outputting trace data.

One of the traces from a monkey run suggests we stalled out during the
open/write/close part of writing the trace data.  To reduce the chances
of spin-on-suspending here we now switch to VMWAIT during the I/O.

For bug 2541030.

Change-Id: Ice832988213741976917fdd36afa12a694a42e81

14 years agoMerge "Improve java.net.InetAddress.getLocalHost documentation."
Elliott Hughes [Tue, 23 Mar 2010 23:23:02 +0000 (16:23 -0700)]
Merge "Improve java.net.InetAddress.getLocalHost documentation."

14 years agoJit: disable for Sapphire.
Bill Buzbee [Tue, 23 Mar 2010 21:34:11 +0000 (14:34 -0700)]
Jit: disable for Sapphire.

Change-Id: I3c48f239ef9a83fac1ef05d18ea1b00ab27879ff

14 years agoImprove java.net.InetAddress.getLocalHost documentation.
Elliott Hughes [Tue, 23 Mar 2010 21:21:27 +0000 (14:21 -0700)]
Improve java.net.InetAddress.getLocalHost documentation.

Bug: 1518707
Change-Id: I741a7a28325320949e84e997e6a49d3356c9a308

14 years agoFurther refinements to "kill other thread".
Andy McFadden [Tue, 23 Mar 2010 19:34:43 +0000 (12:34 -0700)]
Further refinements to "kill other thread".

Switched from SIGSEGV to SIGSTKFLT.  Otherwise it looks like we're
seg-faulting in code that was actually executing just fine.

Ignore SIGSEGV before returning.  This avoids creating a second dump
when dvmAbort() is called.  (If the caller's stack trace were at all
interesting, we wouldn't be here, and we can do without the log spam.)

Added some more details to the logging.

For bug 2517042.

Change-Id: Ifff7fd75d6dbf7e3663152787f8921dda215fe40

14 years agoJit: Re-enable for Sapphire
Bill Buzbee [Mon, 22 Mar 2010 20:59:45 +0000 (13:59 -0700)]
Jit: Re-enable for Sapphire

Change-Id: Icbfd8781756c2c7cde88140ed40766e29448b1ff

14 years agoMerge "Use pthread_kill(3) instead of kill(2)."
Andy McFadden [Fri, 19 Mar 2010 22:35:40 +0000 (15:35 -0700)]
Merge "Use pthread_kill(3) instead of kill(2)."

14 years agoUse pthread_kill(3) instead of kill(2).
Andy McFadden [Fri, 19 Mar 2010 22:18:57 +0000 (15:18 -0700)]
Use pthread_kill(3) instead of kill(2).

Another swing at useful native traces.  pthread_kill(3) uses tkill(2)
instead of kill(2), so we may have a better chance of the signal landing
on the right thread.

For bug 2517042.

Change-Id: I62871c1e21b11442ea52c861397674f1644f4da9

14 years agoMerge "Fixing namespace+prefix mode in Expat and removing optional fields from callba...
Jesse Wilson [Fri, 19 Mar 2010 20:39:28 +0000 (13:39 -0700)]
Merge "Fixing namespace+prefix mode in Expat and removing optional fields from callbacks."

14 years agoFixing namespace+prefix mode in Expat and removing optional fields from callbacks.
Jesse Wilson [Fri, 19 Mar 2010 19:51:43 +0000 (12:51 -0700)]
Fixing namespace+prefix mode in Expat and removing optional fields from callbacks.

The first part is related to bug 6632:
  http://code.google.com/p/android/issues/detail?id=6632

I added these optional fields back when I was originally updating
the XML parser for Froyo. I've decided to remove them to simplify
migrating between Android and the RI. It should also save some
object allocations.

Note that the RI v5 and the RI v6 behave differently for optional
values on attributes; this motivated me to add the otherwise
unfortunate assertOneOf() method to the testcase. (We behave more
like RI v6, which is to supply the values upon request)

Change-Id: Icfa5d29976a86bf194b3ed7c0d9e2275c3bff9dd

14 years agoMove String creation outside O(n^2) path in LogManager
Bjorn Bringert [Fri, 19 Mar 2010 11:22:40 +0000 (11:22 +0000)]
Move String creation outside O(n^2) path in LogManager

This more than halves the number of Strings and StringBuilders created
when constructing a GoogleHttpClient and executing a single
HTTP request.

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

Change-Id: Ia8268fd692b08cf82e4abbffe1459e461e9f7e68

14 years agoMerge "Increase sleep delays on debug thread kill."
Andy McFadden [Thu, 18 Mar 2010 23:57:30 +0000 (16:57 -0700)]
Merge "Increase sleep delays on debug thread kill."

14 years agoIncrease sleep delays on debug thread kill.
Andy McFadden [Thu, 18 Mar 2010 23:27:14 +0000 (16:27 -0700)]
Increase sleep delays on debug thread kill.

It appears the delays between the signals were insufficient for a busy
system.  This increases the timeouts to larger values, which may or may
not be sufficient.  What's really needed here is a way to monitor
debuggerd's activity, but that seems like a lot of work for what this
wants to accomplish.

Also, set gDvm.nativeDebuggerActive to true to prevent the heapworker
watchdog timeout from firing.  (Either somebody is going to attach a
debugger soon, or the process is going to die, so it's reasonable to
do here.)

Change-Id: Ic92590499871860ef766147eeaa6efc7afb4acdc

14 years agoDrop needless parens from Javadoc.
Jesse Wilson [Thu, 18 Mar 2010 18:18:42 +0000 (11:18 -0700)]
Drop needless parens from Javadoc.

Although this violates my longstanding style preference, it agrees
with almighty JJB's official ArrayList, which is Good Enough For Me.

Change-Id: I7b608c12e04d0b7789bfcabeab4b7347ad22baca

14 years agoMerge "Javadoc for JSONArray."
Jesse Wilson [Thu, 18 Mar 2010 18:14:45 +0000 (11:14 -0700)]
Merge "Javadoc for JSONArray."

14 years agoJavadoc for JSONArray.
Jesse Wilson [Thu, 18 Mar 2010 06:50:48 +0000 (23:50 -0700)]
Javadoc for JSONArray.

Change-Id: I3aced2607b48210f76887e0d42b591c098ce5db7

14 years agoBug fix for JIT peephole optimization.
Ben Cheng [Thu, 18 Mar 2010 06:32:26 +0000 (23:32 -0700)]
Bug fix for JIT peephole optimization.

Bug: 2520500
Change-Id: I36dbd8b3a6d13c40f9735df4918ab02b5f053b07

14 years agoFixing 10 of the XPath failures caused by a malformed Document.
Jesse Wilson [Wed, 17 Mar 2010 23:16:15 +0000 (16:16 -0700)]
Fixing 10 of the XPath failures caused by a malformed Document.

See bug 2518858.

This makes our XPath implementation fail the exact same tests
as the RI's. (which we assume is also based on Apache Xalan)

Change-Id: I9a98323113c95609651e948ad11113f84ccd87ec

14 years agoMerge "Exercising our XPath implementation with 279 of Jaxen's tests."
Jesse Wilson [Wed, 17 Mar 2010 18:42:23 +0000 (11:42 -0700)]
Merge "Exercising our XPath implementation with 279 of Jaxen's tests."

14 years agoMerge "Javadocs for JSONObject."
Jesse Wilson [Wed, 17 Mar 2010 18:18:15 +0000 (11:18 -0700)]
Merge "Javadocs for JSONObject."

14 years agoJavadocs for JSONObject.
Jesse Wilson [Wed, 17 Mar 2010 06:41:33 +0000 (23:41 -0700)]
Javadocs for JSONObject.

Change-Id: I5ec9df6a3a9baac8f4f498890cd35feff774737a

14 years agoExercising our XPath implementation with 279 of Jaxen's tests.
Jesse Wilson [Tue, 16 Mar 2010 23:52:54 +0000 (16:52 -0700)]
Exercising our XPath implementation with 279 of Jaxen's tests.

Both our implementation and the RIv6 fail 29 tests, 17 of which are
"could not find function" failures regarding our common lack of
support for the evaluate(), document(), upper-case() and lower-case()
functions.

In addition, our implementation fails 10 additional tests:
  xml/moreover.xml / /child::node() "expected:<1> but was:<3>"
  xml/simple.xml / string() "expected:<abd> but was:<"
  xml/web.xml / /child::node() "expected:<web-app> but was:<>"
  xml/web.xml / child::node() "expected:<web-app> but was:<>"
  xml/web.xml / name(/child::node()) "expected:<web-app> but was:<>"
  xml/web.xml / name(/child::node()) "expected:<web-app> but was:<>"
  xml/web.xml / name(/node()) "expected:<web-app> but was:<>"
  xml/web.xml / name(child::node()) "expected:<web-app> but was:<>"
  xml/web.xml / name(node()) "expected:<web-app> but was:<>"
  xml/web.xml /* name(../child::node()) "expected:<web-app> but was:<>"

Change-Id: Icb4695bbf826fd8f1c1ffae5e857169ff551f75e

14 years agoAdd missing macro SIGNATURE_BREAKPOINT.
Ben Cheng [Tue, 16 Mar 2010 23:20:48 +0000 (16:20 -0700)]
Add missing macro SIGNATURE_BREAKPOINT.

Change-Id: I9e450b7b2ff34a3609a99bf8fe11e3efa88ccc30

14 years agoMerge "Implement signature-based breakpoint for the JIT compiler."
Ben Cheng [Tue, 16 Mar 2010 23:16:08 +0000 (16:16 -0700)]
Merge "Implement signature-based breakpoint for the JIT compiler."

14 years agoMerge "Replace a use of index with strchr."
Carl Shapiro [Tue, 16 Mar 2010 23:08:38 +0000 (16:08 -0700)]
Merge "Replace a use of index with strchr."

14 years agoImplement signature-based breakpoint for the JIT compiler.
Ben Cheng [Tue, 16 Mar 2010 23:04:11 +0000 (16:04 -0700)]
Implement signature-based breakpoint for the JIT compiler.

The JIT compiler will replay itself with verbose printing if the compiled
instruction stream matches the customized signature from memory dump in the
bugreports.

Change-Id: I024082c5744903273b24a0a73468b9c0d3588ad5

14 years agoReplace a use of index with strchr.
Carl Shapiro [Tue, 16 Mar 2010 22:18:53 +0000 (15:18 -0700)]
Replace a use of index with strchr.

Change-Id: I2c1238bc1bd0945533712d0d74a761721b8408a3

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 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 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 "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 "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 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 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 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 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 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 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 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 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 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 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 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 "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 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 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 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 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 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 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 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 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 agoMerge "New tests for JSONObject and for JSON's self-use."
Jesse Wilson [Wed, 10 Mar 2010 18:11:59 +0000 (10:11 -0800)]
Merge "New tests for JSONObject and for JSON's self-use."

14 years agoNew tests for JSONObject and for JSON's self-use.
Jesse Wilson [Wed, 10 Mar 2010 01:54:35 +0000 (17:54 -0800)]
New tests for JSONObject and for JSON's self-use.

Alongside development of these tests, I'm working on a new
cleanroom implementation. The self use test was written to
prevent me from self-using in a way that the original
implementation does not.

Change-Id: Ie617aca1978bd39d85b05e5c2c7bd657ed159dd6

14 years agoMerge "If a finalizer wedges, raise prio and retry."
Andy McFadden [Wed, 10 Mar 2010 15:25:33 +0000 (07:25 -0800)]
Merge "If a finalizer wedges, raise prio and retry."

14 years agoMerge "Work around droiddoc bug http://b/2022288."
Elliott Hughes [Wed, 10 Mar 2010 06:59:36 +0000 (22:59 -0800)]
Merge "Work around droiddoc bug http://b/2022288."

14 years agoWork around droiddoc bug http://b/2022288.
Elliott Hughes [Wed, 10 Mar 2010 06:58:34 +0000 (22:58 -0800)]
Work around droiddoc bug http://b/2022288.

Change-Id: Ib46a260916dee99f190aa8b9465f4f2d3b04aa67

14 years agoMerge "Align fake data in the same page offsets as those in the bugreport."
Ben Cheng [Wed, 10 Mar 2010 06:38:34 +0000 (22:38 -0800)]
Merge "Align fake data in the same page offsets as those in the bugreport."

14 years agoAlign fake data in the same page offsets as those in the bugreport.
Ben Cheng [Wed, 10 Mar 2010 06:32:03 +0000 (22:32 -0800)]
Align fake data in the same page offsets as those in the bugreport.

Sometimes the crash in the JIT'ed code is due to CPU bugs which are sensitive
to placement of the code.

Change-Id: I017ec3620f8172e2fac9e7abfa07f76b65db2306

14 years agoAnother go at making droiddoc as happy as javadoc...
Elliott Hughes [Wed, 10 Mar 2010 06:19:34 +0000 (22:19 -0800)]
Another go at making droiddoc as happy as javadoc...

Change-Id: I70dd8d57053a6e60b9be0cbe8a95d9937d9b00ef

14 years agoFix javadoc errors.
Elliott Hughes [Wed, 10 Mar 2010 05:49:16 +0000 (21:49 -0800)]
Fix javadoc errors.

Change-Id: Ib3eb500006f5b4b1dadf959397fce7737fb53fe7

14 years agoMerge "Print errors encountered while writing XML reports"
Jesse Wilson [Wed, 10 Mar 2010 02:10:19 +0000 (18:10 -0800)]
Merge "Print errors encountered while writing XML reports"

14 years agoMerge "Implement adoptNode() and importNode()."
Jesse Wilson [Wed, 10 Mar 2010 02:08:04 +0000 (18:08 -0800)]
Merge "Implement adoptNode() and importNode()."

14 years agoImplement adoptNode() and importNode().
Jesse Wilson [Wed, 10 Mar 2010 00:33:18 +0000 (16:33 -0800)]
Implement adoptNode() and importNode().

importNode() shares all of its implementation with Node.clone();
the only areas they differ are the ones we don't support. The
shared code is in 2 new methods, shallowCopy() and cloneOrImportNode(),
both based on the old clone() method.

Also removing some unnecessary "throws DOMException" clauses.

The tests for the new methods are slightly cumbersome. Most move/copy
nodes to another document, serialize that, and compare.

Change-Id: Id9fb076e020d8327a8f70da401af9bd95d7a3d1b

14 years agoPrint errors encountered while writing XML reports
Jesse Wilson [Wed, 10 Mar 2010 01:59:43 +0000 (17:59 -0800)]
Print errors encountered while writing XML reports

Change-Id: I7fdf9f6989c94a3f0fd3ff93db3426a4d080120f

14 years agoIf a finalizer wedges, raise prio and retry.
Andy McFadden [Wed, 10 Mar 2010 00:38:36 +0000 (16:38 -0800)]
If a finalizer wedges, raise prio and retry.

The VM uses a watchdog mechanism to detect stuck finalizers.  It appears
that, in some cases, the watchdog may be firing because the HeapWorker
thread in a background process doesn't get any CPU time after a
remotely-induced GC finishes.  With this change, if the HeapWorker is
running at a reduced priority, we raise the priority and allow it to
try some more.

No attempt is made to put the thread priority back.  (The HeapWorker
thread doesn't do anything in an idle process, and what it does do is
geared toward freeing one kind of resource or another.)

For bug 2492196.

Change-Id: Ic734c2e2819b9d60d20b2961f2a75085d5879495

14 years agoMerge "Minor documentation improvements."
Elliott Hughes [Tue, 9 Mar 2010 22:49:47 +0000 (14:49 -0800)]
Merge "Minor documentation improvements."

14 years agoMinor documentation improvements.
Elliott Hughes [Tue, 9 Mar 2010 00:54:42 +0000 (16:54 -0800)]
Minor documentation improvements.

Based on user-submitted bugs that were just misunderstandings, plus
implementation bugs caused by the intended behavior being somewhat
subtle.

Change-Id: Ic2606b5e57dadc95a35c2d0a977c01434a2fa28a

14 years agoMerge "Fix certimport.sh to check for Bouncy Castle provider installation (and add...
Brian Carlstrom [Tue, 9 Mar 2010 22:23:08 +0000 (14:23 -0800)]
Merge "Fix certimport.sh to check for Bouncy Castle provider installation (and add 1.6 JDK to PATH)"

14 years agoFix certimport.sh to check for Bouncy Castle provider installation (and add 1.6 JDK...
Brian Carlstrom [Tue, 9 Mar 2010 19:30:13 +0000 (11:30 -0800)]
Fix certimport.sh to check for Bouncy Castle provider installation (and add 1.6 JDK to PATH)

Now if certimport.sh is run on a machine without the
BouncyCastleProvider installed, it will suggest how to apt-get install
the proper package.

At enh's suggestion, I tried running with out own local Bouncy Castle
classes to see what would happen, but the code ended up depending on
our NativeCrypto JNI code and there that isn't proper JNI code to be
loading into a RI JDK.

Also at enh's suggestion, we now prepend a JDK 1.6 bin directory to
the path for correctly correct default behavior. I do make sure it
exists and warn if it does not.

Change-Id: Ic936a6cc69fa3795e917c052ed79d19b2e66b5a1

14 years agoAdd armv7-a-neon build target
Colin Cross [Tue, 9 Mar 2010 21:23:40 +0000 (13:23 -0800)]
Add armv7-a-neon build target

Change-Id: I981d55b53f6b3c185fe93384924bdbe18057132c

14 years agoMerge "Hoist shape discrimination above thin lock owner test in the lock procedure...
Carl Shapiro [Tue, 9 Mar 2010 20:25:51 +0000 (12:25 -0800)]
Merge "Hoist shape discrimination above thin lock owner test in the lock procedure.  It is unsafe to reckon a thin lock owner without having first determined that the bit pattern of the lock word corresponds to that of a thin lock.  Without proper ordering, a monitor lock can and will be created which, excluding the shape bit, corresponds to a lock owned by the calling thread."

14 years agoAdd an empty CleanSpec.mk
Jean-Baptiste Queru [Tue, 9 Mar 2010 02:04:06 +0000 (18:04 -0800)]
Add an empty CleanSpec.mk

Change-Id: I43d2404e71aa2bc0d3d6aada35d613bb484129e7

14 years agoMerge "Adding support for getUserData() and setUserData() to DOM nodes."
Jesse Wilson [Tue, 9 Mar 2010 00:55:58 +0000 (16:55 -0800)]
Merge "Adding support for getUserData() and setUserData() to DOM nodes."

14 years agoAdding support for getUserData() and setUserData() to DOM nodes.
Jesse Wilson [Tue, 9 Mar 2010 00:19:39 +0000 (16:19 -0800)]
Adding support for getUserData() and setUserData() to DOM nodes.

Also making sure both Document and DocumentType get assigned
a Document value when possible; this is necessary to store the
user data objects.