summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Stage 3 of Thumb2 support. armv7-a now generates vfp code inline.Bill Buzbee2009-07-310-0/+0
|
* Merge change 8953Android (Google) Code Review2009-07-301-127/+131
|\ | | | | | | | | * changes: Store all IP addresses for a hostname instead of just one.
| * Store all IP addresses for a hostname instead of just one.Lorenzo Colitti2009-07-301-127/+131
| |
* | Merge change 9190Android (Google) Code Review2009-07-300-0/+0
|\ \ | | | | | | | | | | | | * changes: Minor tweak (TEQS -> TEQ).
| * | Minor tweak (TEQS -> TEQ).Andy McFadden2009-07-300-0/+0
| | | | | | | | | | | | Avoids "Warning: s suffix on comparison instruction is deprecated".
* | | am bd79e449: Fix an issue where we\'re adding 4x the intended offset.Jesse Wilson2009-07-303-3/+53
|\ \ \ | |/ / |/| | | | | | | | | | | | | | Merge commit 'bd79e4498465381117f2cbc6399a256061f1d144' * commit 'bd79e4498465381117f2cbc6399a256061f1d144': Fix an issue where we're adding 4x the intended offset.
| * | Fix an issue where we're adding 4x the intended offset.Jesse Wilson2009-07-293-3/+53
| | | | | | | | | | | | | | | | | | We were doing pointer arithmetic of mixed types (jint* and jint), and the type conversion ended up causing the offset to be converted an extra time.
* | | am 29326482: Removing MD2Urs Grob2009-07-3031-541/+1294
|\ \ \ | |/ / | | | | | | | | | | | | | | | Merge commit '2932648271e72bad181b293e1fa5945265c7dbed' * commit '2932648271e72bad181b293e1fa5945265c7dbed': Removing MD2
| * | Removing MD2Urs Grob2009-07-2931-541/+1294
| | |
* | | Merge change 9042Android (Google) Code Review2009-07-290-0/+0
|\ \ \ | | | | | | | | | | | | | | | | * changes: Update bytecode verifier info.
| * | | Update bytecode verifier info.Andy McFadden2009-07-290-0/+0
| | | | | | | | | | | | | | | | | | | | Rewrote last section to describe deferred verification error reporting. Added note about structured locking checks.
* | | | Merge change 9014Android (Google) Code Review2009-07-293-13/+6
|\ \ \ \ | |/ / / |/| | | | | | | | | | | * changes: Fixing some broken links in the concurrent Javadoc.
| * | | Fixing some broken links in the concurrent Javadoc.Jesse Wilson2009-07-293-13/+6
| | | | | | | | | | | | | | | | | | | | | | | | There's a bug in droiddoc where links to methods with generic parameters don't resolve correctly. I'll open a buganizer issue for this; in the interim I've simply dropped the parameters for the offending links.
* | | | Fixing Executors to use raw types, which is what RI v5 does.Jesse Wilson2009-07-292-2/+3
|/ / / | | | | | | | | | Also fixing VMStack to hide the new API method.
* | | Merge change 8903Android (Google) Code Review2009-07-2982-7485/+12807
|\ \ \ | |_|/ |/| | | | | | | | * changes: Update concurrent module to Harmony r798021.
| * | Update concurrent module to Harmony r798021.Jesse Wilson2009-07-2882-7485/+12807
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 56bcdc2a3b881883409267c3bd16294d80716859 Merge: 903691a f429dca Author: Jesse Wilson <jessewilson@google.com> Date: Mon Jul 27 17:33:19 2009 -0700 Merge branch 'concurrent_798021' into concurrent_dalvik Conflicts: libcore/concurrent/.classpath libcore/concurrent/build.xml libcore/concurrent/make/run-test.xml libcore/concurrent/src/main/java/java/util/concurrent/ArrayBlockingQueue.java libcore/concurrent/src/main/java/java/util/concurrent/BlockingQueue.java libcore/concurrent/src/main/java/java/util/concurrent/ConcurrentHashMap.java libcore/concurrent/src/main/java/java/util/concurrent/ConcurrentLinkedQueue.java libcore/concurrent/src/main/java/java/util/concurrent/ConcurrentMap.java libcore/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArrayList.java libcore/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArraySet.java libcore/concurrent/src/main/java/java/util/concurrent/DelayQueue.java libcore/concurrent/src/main/java/java/util/concurrent/LinkedBlockingQueue.java libcore/concurrent/src/main/java/java/util/concurrent/PriorityBlockingQueue.java libcore/concurrent/src/main/java/java/util/concurrent/ScheduledThreadPoolExecutor.java libcore/concurrent/src/main/java/java/util/concurrent/Semaphore.java libcore/concurrent/src/main/java/java/util/concurrent/SynchronousQueue.java libcore/concurrent/src/main/java/java/util/concurrent/ThreadPoolExecutor.java libcore/concurrent/src/main/java/java/util/concurrent/TimeUnit.java libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicBoolean.java libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicInteger.java libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicIntegerArray.java libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicLong.java libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicLongArray.java libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicLongFieldUpdater.java libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicReference.java libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicReferenceArray.java libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java libcore/concurrent/src/main/java/java/util/concurrent/atomic/package.html libcore/concurrent/src/main/java/java/util/concurrent/locks/AbstractQueuedSynchronizer.java libcore/concurrent/src/main/java/java/util/concurrent/locks/LockSupport.java libcore/concurrent/src/main/java/java/util/concurrent/locks/ReentrantReadWriteLock.java libcore/concurrent/src/main/java/java/util/concurrent/locks/package.html libcore/concurrent/src/main/java/java/util/concurrent/package.html libcore/concurrent/src/test/java/tests/api/java/util/concurrent/AtomicLongFieldUpdaterTest.java libcore/concurrent/src/test/java/tests/api/java/util/concurrent/AtomicReferenceFieldUpdaterTest.java libcore/concurrent/src/test/java/tests/api/java/util/concurrent/AtomicReferenceTest.java libcore/concurrent/src/test/java/tests/api/java/util/concurrent/ConcurrentHashMapTest.java libcore/concurrent/src/test/java/tests/api/java/util/concurrent/DelayQueueTest.java libcore/concurrent/src/test/java/tests/api/java/util/concurrent/ExecutorsTest.java libcore/concurrent/src/test/java/tests/api/java/util/concurrent/JSR166TestCase.java libcore/concurrent/src/test/java/tests/api/java/util/concurrent/LinkedBlockingQueueTest.java libcore/concurrent/src/test/java/tests/api/java/util/concurrent/LockSupportTest.java libcore/concurrent/src/test/java/tests/api/java/util/concurrent/ReentrantLockTest.java libcore/concurrent/src/test/java/tests/api/java/util/concurrent/ReentrantReadWriteLockTest.java commit 903691ae71cff640d5487a3d34a20e8767dbfb66 Author: Jesse Wilson <jessewilson@google.com> Date: Mon Jul 27 16:09:58 2009 -0700 Dalvik Concurrent commit f429dca21c408ee62e688f60d5e110718374e944 Author: Jesse Wilson <jessewilson@google.com> Date: Mon Jul 27 16:08:25 2009 -0700 Concurrent 798021 commit b2c76fdd1056113000140bc4af57300c87469d2d Author: Jesse Wilson <jessewilson@google.com> Date: Mon Jul 27 16:03:45 2009 -0700 Concurrent 527399
* | | Merge change 8867Android (Google) Code Review2009-07-280-0/+0
|\ \ \ | | | | | | | | | | | | | | | | * changes: Fix for 1857865: Need x86 implementation for OP_THROW_VERIFICATION_ERROR
| * | | Fix for 1857865: Need x86 implementation for OP_THROW_VERIFICATION_ERRORBill Buzbee2009-07-280-0/+0
| |/ /
* | | Prevent OP_INVOKE_DIRECT_EMPTY from terminating a traceBill Buzbee2009-07-280-0/+0
|/ /
* | Stage 2 of structural changes for support of THUMB2. No logic changes.Bill Buzbee2009-07-280-0/+0
| |
* | Fix for 3326: Incorrect return value from native library in dalvikBill Buzbee2009-07-280-0/+0
| | | | | | | | | | Really a workaround for a gcc bug in 4.3. Don't trust the C compiler to properly clear high bits from < 32-bit JNI return values.
* | Merge change 5582Android (Google) Code Review2009-07-27404-19699/+14348
|\ \ | | | | | | | | | | | | * changes: Integrate luni module (but not tests) to Harmony r772995.
| * | Integrate luni module (but not tests) to Harmony r772995.Jesse Wilson2009-07-24404-19699/+14348
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable changes - Stripped "@since Android 1.0" from many files. Most files are now 100% the same in Dalvik and Harmony. - AbstractStringBuilder.reverse() supports surrogates - AbstractStringBuilder shares less to waste less memory - Bitset optimized - BufferedInputStream changed to support unsynchronized close() - BufferedOutputStream does flushInternal - BufferedReader supports EBCDIC NEL - Collections.synchronizedList().indexOf() does a copy for more concurrency - Classes in nio module changed: DatagramChannelImpl, SocketChannelImpl and ServerSocketChannelImpl (these depend on internal APIs changed in this update) - DataInputStream/DataOutputStream now use a small buffer to limit the number of times the underlying stream is accessed - Date now has a minutes offset, more efficient toString() - ExposedByteArrayInputStream: new internal class - DeleteOnExit moved to top-level class - FileDescriptor.isValid() now non-native - Float, Double lessThan optimized (fix for compare(-0.0F, 0.0F) still pending) - FileURLConnection now guesses content types from streams - HashMap iterator changes - Hashtable iterator changes - INetworkSystem - removes bind2(), createMulticastSocket, sendStream(), - renames createSocket to createStreamSocket - JarURLConnection rewritten - LinkedHashMap: new iterator - Locale, Currency, TimeZone: now use ICU in Harmony, plain Java in Dalvik - ObjectInputStream: Accessor objects in Harmony, direct native in Dalvik - ProxyClassFile - many changes - String - optimized ascii for toLowerCase, toUpperCase, compare - Timer - rewritten - TreeMap - rewritten - URLClassLoader - new - URLConnection - new guessContentTypeFromStream(), uses org.apache.harmony.awt.www.content to lookup content type handlers
* | | Fix a JIT bug where invoke-direct-empty is the last instruction in the trace.Ben Cheng2009-07-270-0/+0
| | |
* | | Merge change 8665Android (Google) Code Review2009-07-270-0/+0
|\ \ \ | | | | | | | | | | | | | | | | * changes: First phase of restructuring to support THUMB2 & ARM traces Store some useful info about traces in JitTable entry; some general cleanup
| * | | First phase of restructuring to support THUMB2 & ARM tracesBill Buzbee2009-07-270-0/+0
| | | | | | | | | | | | | | | | Store some useful info about traces in JitTable entry; some general cleanup
* | | | Merge change 8707Android (Google) Code Review2009-07-270-0/+0
|\ \ \ \ | |/ / / |/| | | | | | | | | | | * changes: Fix mangling to translate dollar signs.
| * | | Fix mangling to translate dollar signs.Brian McKenna2009-07-270-0/+0
| | | | | | | | | | | | | | | | (Manually pulled from external change 10724.)
* | | | Added dvmLinearAllocContains().Andy McFadden2009-07-270-0/+0
|/ / /
* | | am 8e696dc0: JNI direct buffer function speedup, part 3.Andy McFadden2009-07-259-8/+50
|\ \ \ | | |/ | |/| | | | | | | | | | | | | Merge commit '8e696dc0271299433cb3297e7aafc7bd0ee1b2b7' * commit '8e696dc0271299433cb3297e7aafc7bd0ee1b2b7': JNI direct buffer function speedup, part 3.
| * | JNI direct buffer function speedup, part 3.Andy McFadden2009-07-249-8/+50
| | | | | | | | | | | | | | | | | | | | | | | | This caches the effective address in a new field in the base Buffer object. The first time something calls through one of the various getEffectiveAddress calls, the value is set. (This seemed easier than chasing down the constructors and factories, and also prevents bit rot on the "slow path" in the VM.)
* | | am 8e5c7847: JNI direct buffer function speedup, part 2.Andy McFadden2009-07-240-0/+0
|\ \ \ | |/ / | | / | |/ |/| | | | | Merge commit '8e5c78470229fd2f5474574081eaa4a2286aafea' * commit '8e5c78470229fd2f5474574081eaa4a2286aafea': JNI direct buffer function speedup, part 2.
| * JNI direct buffer function speedup, part 2.Andy McFadden2009-07-230-0/+0
| | | | | | | | | | | | | | | | | | | | | | This converts the three direct buffer functions from JNI to internal VM calls. As a bonus, we grab PlatformAddress.osaddr directly instead of retrieving it with PlatformAddress.toLong(). We're still calling through getEffectiveAddress(), which is where most of the complexity lies. Nudged a couple of comments.
* | am 828311c1: Merge change 8258 into donutAndroid (Google) Code Review2009-07-220-0/+0
|\ \ | |/ | | | | | | | | | | Merge commit '828311c1293ba533065895cc375abb143e14b69a' * commit '828311c1293ba533065895cc375abb143e14b69a': Minor fixes to CheckJNI.
| * Merge change 8258 into donutAndroid (Google) Code Review2009-07-220-0/+0
| |\ | | | | | | | | | | | | * changes: Minor fixes to CheckJNI.
| | * Minor fixes to CheckJNI.Andy McFadden2009-07-220-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We weren't always switching to "running" mode before playing with objects. Now checkObject() always changes modes, and things that called checkObject while in "running" mode now do so after switching back to "native" (which shouldn't matter now, but I don't want to require nested switching to work if I don't have to). Vaguely related to internal bug 1943379, since I think we want to do some updates to CheckJNI there.
* | | am 5f612b82: JNI direct buffer function speedup, part 1.Andy McFadden2009-07-220-0/+0
|\ \ \ | |/ / | | | | | | | | | | | | | | | Merge commit '5f612b82bbc2fcfb13865acd3c3835febab23466' * commit '5f612b82bbc2fcfb13865acd3c3835febab23466': JNI direct buffer function speedup, part 1.
| * | JNI direct buffer function speedup, part 1.Andy McFadden2009-07-220-0/+0
| |/ | | | | | | | | | | | | | | | | | | | | | | This is a fairly straightforward improvement to GetDirectBufferAddress, caching classes and methodIDs instead of looking them up on every call. This is the best we can do without making the function more vulnerable to internal changes to Harmony's NIO implementation. It looks like we need to take this farther, but this way we have a relatively fast and relatively safe version to fall back on. For internal bug 1943379.
* | Add armv7-a target to jit. Mostly a placeholder, another restructuring to comeBill Buzbee2009-07-220-0/+0
| |
* | Remove unused label.Ben Cheng2009-07-210-0/+0
| |
* | Associate Java source code line number with JIT traces.Ben Cheng2009-07-210-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sample output: D/dalvikvm( 400): TRACEPROFILE 0x426d945c 5192426 [0x4(+32), 810] Lcom/android/unit_tests/PerformanceTests$AddMemberVariableTest;testRun;()V D/dalvikvm( 400): TRACEPROFILE 0x426d955c 263 [0x2(+1), 809] (omitted) D/dalvikvm( 400): TRACEPROFILE 0x426d9640 0 [0x53(+1), 344] (omitted) D/dalvikvm( 400): TRACEPROFILE 0x426d960c 0 [0x72(+1), 271] (omitted) D/dalvikvm( 400): TRACEPROFILE 0x426d9590 0 [0x74(+5), 272] (omitted) For the first line: 5192426: execution count of this trace 0x4: starting bytecode offset +32: number of instructions included in the trace 810: line number corresponding to 0x4 in the file containing the method Also add WITH_JIT_TUNING for now whenever JIT is enabled.
* | Merge change 7773Android (Google) Code Review2009-07-200-0/+0
|\ \ | | | | | | | | | | | | * changes: Polish JIT trace profiling and fix a unchaining bug when profiling is enabled.
| * | Polish JIT trace profiling and fix a unchaining bug when profiling is enabled.Ben Cheng2009-07-200-0/+0
| | |
* | | Merge change 7487Android (Google) Code Review2009-07-162-2/+2
|\ \ \ | | | | | | | | | | | | | | | | * changes: Fixed a tiny bug in TimSort that slightly affects performance on small arrays Martin Buchholz discovered this bug by running all tests with assertions enabled. That's the only way he could have discovered it, as it doesn't affect correctness:) The assertion that failed was the one at the head of countRunAndMakeAscending. The cause was that I called the method with (a, start, length) instead of (a, start, end).
| * | | Fixed a tiny bug in TimSort that slightly affects performance on small arraysJoshua Bloch2009-07-152-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Martin Buchholz discovered this bug by running all tests with assertions enabled. That's the only way he could have discovered it, as it doesn't affect correctness:) The assertion that failed was the one at the head of countRunAndMakeAscending. The cause was that I called the method with (a, start, length) instead of (a, start, end).
* | | | Merge change 7550Android (Google) Code Review2009-07-163-21/+108
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | * changes: Fixing wakeups caused by Thread.join() interacting with LockSupport.unpark.
| * | | | Fixing wakeups caused by Thread.join() interacting with LockSupport.unpark.Jesse Wilson2009-07-163-21/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This caused several concurrency tests to fail when run with timeouts, since the tests cause park and unpark to happen frequently. Also fixing a tiny issue with CoreTestRunnable to use the proper tmp directory and to include the program of a failed external execution.
* | | | | Merge change 7442Android (Google) Code Review2009-07-160-0/+0
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * changes: Make verifier field/method resolution conformant.
| * | | | | Make verifier field/method resolution conformant.Andy McFadden2009-07-150-0/+0
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The VM spec spells out a particular way to look for fields. It assumes that static and virtual fields are piled together into a single pool, so it makes sense to scan through both kinds when resolving. In Dalvik, field definitions are separated by scope, so we can save a little time by only searching through the appropriate list. It turns out that you can create a situation where a field with the same name is available in both static and virtual forms in the same class. javac won't let you do this in a single class, but with separate compilation and inheritance you can pull it off. In these situations, Dalvik can do the wrong thing. For example, if you ask for a static field, Dalvik will happily use the static field from a superclass without realizing that there's an instance field with the same name in the current class. It's supposed to find the instance field, realize that it's not static, and throw an exception. This change updates the verifier to do an "untyped" scan like the VM spec wants. Problematic situations are identifed and result in an "incompatible class change" exception. This does not alter "direct" method lookups (constructors, private methods). I also altered the annotation "ambiguous" method lookup to use the new function, since that's probably the desired behavior there as well.
* | | | | Merge change 7474Android (Google) Code Review2009-07-160-0/+0
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * changes: Throw OutOfMemoryError on oversize array allocs.