summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Implement adoptNode() and importNode()."Jesse Wilson2010-03-095-132/+432
|\
| * Implement adoptNode() and importNode().Jesse Wilson2010-03-095-132/+432
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "Minor documentation improvements."Elliott Hughes2010-03-0919-147/+212
|\ \
| * | Minor documentation improvements.Elliott Hughes2010-03-0919-147/+212
| | | | | | | | | | | | | | | | | | | | | | | | Based on user-submitted bugs that were just misunderstandings, plus implementation bugs caused by the intended behavior being somewhat subtle. Change-Id: Ic2606b5e57dadc95a35c2d0a977c01434a2fa28a
* | | Merge "Fix certimport.sh to check for Bouncy Castle provider installation ↵Brian Carlstrom2010-03-091-4/+32
|\ \ \ | | | | | | | | | | | | (and add 1.6 JDK to PATH)"
| * | | Fix certimport.sh to check for Bouncy Castle provider installation (and add ↵Brian Carlstrom2010-03-091-4/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge "Hoist shape discrimination above thin lock owner test in the lock ↵Carl Shapiro2010-03-090-0/+0
|\ \ \ \ | | | | | | | | | | | | | | | 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."
| * | | | Hoist shape discrimination above thin lock owner test in the lockCarl Shapiro2010-03-080-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. In addition, move compiler barriers so they immediately preceed base address publication. Also, kill cargo-cult volatiles that confounded my bug hunt.
* | | | | Add an empty CleanSpec.mkJean-Baptiste Queru2010-03-080-0/+0
| |_|_|/ |/| | | | | | | | | | | Change-Id: I43d2404e71aa2bc0d3d6aada35d613bb484129e7
* | | | Merge "Adding support for getUserData() and setUserData() to DOM nodes."Jesse Wilson2010-03-0810-28/+199
|\ \ \ \ | |_|_|/ |/| | |
| * | | Adding support for getUserData() and setUserData() to DOM nodes.Jesse Wilson2010-03-0810-28/+199
| | | | | | | | | | | | | | | | | | | | | | | | Also making sure both Document and DocumentType get assigned a Document value when possible; this is necessary to store the user data objects.
* | | | Jit: fix for 2483131 - VM daemon thread shutdown with JIT enabledBill Buzbee2010-03-080-0/+0
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | As part of shutdown, the Jit needs to unchain all translations so that they can respond to suspend requests. This change introduces a dvmJitUnchainAll() into shutdown, and also removes some previous housecleaning that freed our key tables. We can't actually free those because suspended threads in the process of shutting down may hold references. Change-Id: I7aad332e7195a94970c25a25b2d9fda5607bec08
* | | Jit: Make most Jit compile failures non-fatal; just abort offending translationBill Buzbee2010-03-070-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | Issue 2175597 Jit compile failures should abort translation, but not the VM Added new dvmCompileAbort() to replace uses of dvmAbort() when something goes wrong during the compliation of a trace. In that case, we'll abort the translation and set it's head to the interpret-only "translation".
* | | Merge "Jit: Fix for issue 2487769, Simplify in-line thin lock release"Carl Shapiro2010-03-050-0/+0
|\ \ \
| * | | Jit: Fix for issue 2487769, Simplify in-line thin lock releaseBill Buzbee2010-03-050-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | The Jit was using ldrex/strex to clear an owned thin lock in the fast path. This was not necessary - an integer store works and is much faster.
* | | | Merge "Collect more JIT stats in the assert build."Ben Cheng2010-03-050-0/+0
|\ \ \ \
| * | | | Collect more JIT stats in the assert build.Ben Cheng2010-03-050-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New stuff includes breakdown of callsite types (ie monomorphic vs polymorphic vs monoporphic resolved to native), total time spent in JIT'ing, and average JIT time per compilation. Example output: D/dalvikvm( 840): 4042 compilations using 1976 + 329108 bytes D/dalvikvm( 840): Compiler arena uses 10 blocks (8100 bytes each) D/dalvikvm( 840): Compiler work queue length is 0/36 D/dalvikvm( 840): size if 8192, entries used is 4137 D/dalvikvm( 840): JIT: 4137 traces, 8192 slots, 1099 chains, 40 thresh, Non-blocking D/dalvikvm( 840): JIT: Lookups: 1128780 hits, 168564 misses; 179520 normal, 6 punt D/dalvikvm( 840): JIT: noChainExit: 528464 IC miss, 194708 interp callsite, 0 switch overflow D/dalvikvm( 840): JIT: Invoke: 507 mono, 988 poly, 72 native, 1038 return D/dalvikvm( 840): JIT: Total compilation time: 2342 ms D/dalvikvm( 840): JIT: Avg unit compilation time: 579 us D/dalvikvm( 840): JIT: 3357 Translation chains, 97 interp stubs D/dalvikvm( 840): dalvik.vm.jit.op = 0-2,4-5,7-8,a-c,e-16,19-1a,1c-23,26,28-29,2b-2f,31-3d,44-4b,4d-51,60,62-63,68-69,70-72,76-78,7b,81-82,84,87,89,8d-93,95-98,a1,a3,a6,a8-a9,b0-b3,b5-b6,bb-bf,c6-c8,d0,d2-d6,d8,da-e2,ee-f0,f2-fb, D/dalvikvm( 840): Code size stats: 50666/105126 (compiled/total Dalvik), 329108 (native)
* | | | | Merge "Fix server side SSLEngine ServerKeyExchange signature."Costin Manolache2010-03-052-26/+30
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | Fix server side SSLEngine ServerKeyExchange signature.Costin Manolache2010-03-052-26/+30
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code using SSLEngine for non-blocking SSL can't talk with openssl as a client, since the signature is computed on different content (and openssl checks it, unlike java). The fix is to use strip the 0x00 prefix when signing - like it is done when generating the message, refactored both to use a common method. We also include the length in the signature, it was also missing.
* | | | Merge "Implementing the Java 7 APIs for DeflaterOutputStreams."Jesse Wilson2010-03-055-16/+295
|\ \ \ \ | |/ / / |/| | |
| * | | Implementing the Java 7 APIs for DeflaterOutputStreams.Jesse Wilson2010-03-055-16/+295
| |/ / | | | | | | | | | See bug 1729487.
* | | Prevent java.text.Normalizer from getting a default constructor.Elliott Hughes2010-03-031-0/+2
| | | | | | | | | | | | The dalvik continuous build's new jdiff run caught this.
* | | Merge "Don't call a method that can be overridden from File's constructors."Elliott Hughes2010-03-032-1/+19
|\ \ \
| * | | Don't call a method that can be overridden from File's constructors.Elliott Hughes2010-03-032-1/+19
| | | | | | | | | | | | | | | | Bug: 2486943
* | | | Merge "Update local copy of getSchedulerGroup."Andy McFadden2010-03-030-0/+0
|\ \ \ \ | |/ / / |/| | |
| * | | Update local copy of getSchedulerGroup.Andy McFadden2010-03-030-0/+0
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | The getSchedulerGroup() in libcutils was updated, but for some reason we have our own copy in the VM. This change brings it up to date so we stop crashing every time something requests a virtual stack (e.g. with a "kill -3 <pid>"). (The function is now an exact clone -- the previous version was slightly modified.)
* | | Merge "Jit: Sapphire tuning - mostly scheduling."Bill Buzbee2010-03-030-0/+0
|\ \ \
| * | | Jit: Sapphire tuning - mostly scheduling.Bill Buzbee2010-03-030-0/+0
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-enabled load/store motion that had inadvertently been turned off for non-armv7 targets. Tagged memory references with the kind of memory they touch (Dalvik frame, literal pool, heap) to enable more aggressive load hoisting. Eliminated some largely duplicate code in the target specific files. Reworked temp register allocation code to allocate next temp round-robin (to improve scheduling opportunities). Overall, nice gain for Sapphire. Shows 5% to 15% on some benchmarks, and measurable improvements for Passion.
* | | am b16b78db: am 275acdff: Copy Froyo\'s version of MulticastSocketTest to ↵Elliott Hughes2010-03-030-0/+0
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | Eclair for CTS. Merge commit 'b16b78db118036d7df2cf5705baa18f34bd42eec' * commit 'b16b78db118036d7df2cf5705baa18f34bd42eec': Copy Froyo's version of MulticastSocketTest to Eclair for CTS.
| * | am 275acdff: Copy Froyo\'s version of MulticastSocketTest to Eclair for CTS.Elliott Hughes2010-03-031-1174/+736
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | Merge commit '275acdff64a58f407cec552e7027cb07414b48ef' into eclair-plus-aosp * commit '275acdff64a58f407cec552e7027cb07414b48ef': Copy Froyo's version of MulticastSocketTest to Eclair for CTS.
| | * | Copy Froyo's version of MulticastSocketTest to Eclair for CTS.Elliott Hughes2010-03-021-1174/+736
| | | | | | | | | | | | | | | | Partners are seeing test failures from the old tests, which were very bogus.
* | | | Merge "Switch thread's cgroup during spin-on-suspend."Andy McFadden2010-03-020-0/+0
|\ \ \ \
| * | | | Switch thread's cgroup during spin-on-suspend.Andy McFadden2010-03-020-0/+0
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dalvik uses a safe-point suspend mechanism, in which threads are asked to suspend and do so at their earliest convenience. The thread doing the asking will sleep-spin until all threads have complied. If a thread keeps on running, we get a "spin on suspend" situation. The VM tries to correct matters by raising the priority of the spinning thread if it's below normal. Until now it was just fiddling with the "nice" value, but it appears that isn't enough (e.g. bug 2467653). We now also change the thread's process group from "background" to "foreground" in an attempt to get it some CPU. Also includes some changes as part of the Log Reduction Act: - Don't log the thread stacks on the first spin-on-suspend iteration. The act of logging can itself be quite a drag. - Removed the redundant and unnecessary "dumping state" line, as well as some dead glibc-only code. - While waiting for daemon threads to shut down, only show the "not ready yet" message on the first iteration.
* | | | Merge "Print the self thread id and the owning thread id in the description ↵Carl Shapiro2010-03-020-0/+0
|\ \ \ \ | | | | | | | | | | | | | | | of the IllegalMonitorExcpetion throw by unlockMonitor."
| * | | | Print the self thread id and the owning thread id in the descriptionCarl Shapiro2010-02-240-0/+0
| | | | | | | | | | | | | | | | | | | | of the IllegalMonitorExcpetion throw by unlockMonitor.
* | | | | Use assertEquals rather than assertTrue/assertFalse.Elliott Hughes2010-03-021-23/+9
| | | | |
* | | | | Add our home-grown Normalizer tests.Elliott Hughes2010-03-022-0/+100
| |/ / / |/| | | | | | | | | | | Originally https://android-git.corp.google.com/g/42517.
* | | | Merge "Implement (but @hide) java.text.Normalizer from Java 6."Elliott Hughes2010-03-017-0/+363
|\ \ \ \
| * | | | Implement (but @hide) java.text.Normalizer from Java 6.Elliott Hughes2010-03-017-0/+363
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on https://android-git.corp.google.com/g/42516. Includes the harmony tests from their Java 6 branch. Bug: 719001
* | | | | Merge "Implementing almost all of Document.normalizeDocument()."Jesse Wilson2010-03-0110-48/+446
|\ \ \ \ \
| * | | | | Implementing almost all of Document.normalizeDocument().Jesse Wilson2010-03-0110-48/+446
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This follows the rules specified by DOMConfiguration. In particular: - replacing CDATA nodes with text - splitting CDATA nodes - merging text nodes - stripping comments - detecting invalid characters I haven't added the normalization code for XML validation or namespaces.
* | | | | | Merge "Allow unpriviledged gdbserver to attach to debuggable processes."David 'Digit' Turner2010-03-010-0/+0
|\ \ \ \ \ \
| * | | | | | Allow unpriviledged gdbserver to attach to debuggable processes.David 'Digit' Turner2010-03-010-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is used to allow an unprivileged gdbserver binary to perform a ptrace attach to a debuggable process. The kernel will only allow the attach to succeed under the following conditions: - gdbserver and the process are run under the exact same uids/gids - the process is dumpable The second condition requires this patch. The first one is ensured by different changes to the platform (that don't directly touch Dalvik). This is part of the work performed to allow native debugging of applications on production devices.
* | | | | | | Merge "Added a simple check for stray tracked refs."Andy McFadden2010-03-010-0/+0
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | |
| * | | | | | Added a simple check for stray tracked refs.Andy McFadden2010-03-010-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea is to make sure the main thread is getting through the VM init process with an empty tracked references table. If we find any, we print a warning and dump the table, but continue on anyway. My test was a trivial dvmMalloc(), which turned up a flaw in the ref table dump code: it didn't deal with "raw" dvmMalloc sections. So that's fixed as well.
* | | | | | | Merge "Added an x86-atom "TODO" list."Andy McFadden2010-03-010-0/+0
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | |
| * | | | | | Added an x86-atom "TODO" list.Andy McFadden2010-03-010-0/+0
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Besides the obvious things (unimplemented opcodes), this points out a couple of changes that were made to the interpreter and require a corresponding change for x86-atom.
* | | | | | Merge "New implementation for DOMConfiguration."Jesse Wilson2010-03-015-21/+808
|\ \ \ \ \ \
| * | | | | | New implementation for DOMConfiguration.Jesse Wilson2010-03-015-21/+808
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This API is disgusting. Its not regular, not typesafe, sparsely implemented and overly specific. I'm implementing the minimum I can get away with - exactly the same route taken by the RI. The Parameter stuff feels a little bit like overkill, but it allowed me to group related chunks of code together and avoid long chains of equalsIgnoreCase if statements. This is necessary to implement Document.normalize(), one of the last remaining APIs in DOMv3. Also fixing our implementation of Node.normalize() and adding tests to discover a bug in that code. Previously a document like this: "<foo>abc<br>def</foo>" Would be normalized to this: "<foo>abcdef<br></foo>" Which is a horrible bug! Yuck. Implementation and tests for Document.normalize() are forthcoming.
* | | | | | | Merge "Fix a FormatFlagsConversionMismatchException bug I introduced in Froyo."Elliott Hughes2010-03-011-1/+1
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | |