summaryrefslogtreecommitdiffstats
path: root/vm/test
Commit message (Collapse)AuthorAgeFilesLines
* Dalvik is dead, long live Dalvik!Brian Carlstrom2014-08-053-645/+0
| | | | | | | | | | | | | | | | | | | | | | | croot cd dalvik repo start dalvik-is-dead-long-live-dalvik . repo sync -c . git rm -r README.txt git rm -r dexopt git rm -r tools/deadcode.py git rm -r tools/dex-preopt git rm -r tools/dexcheck git rm -r tools/gdbjithelper git rm -r unit-tests git rm -r vm git checkout HEAD vm/Common.h (needed by libdex) git checkout HEAD vm/DalvikVersion.h (needed by libdex) git checkout HEAD vm/Profile.h (needed by dmtracedump) git add Android.mk (after removing vm, dexopt, and unit-tests references) git commit -a -m 'Dalvik is dead, long live Dalvik!' Bug: 14298175 Change-Id: I9dd13053677629d13496d4238af4374452cda415
* Remove tests of dead code.Elliott Hughes2014-05-131-377/+0
| | | | | Bug: 14903517 Change-Id: I9fc7dd742e80850eeb461f91be7750530585cfb3
* Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-082-47/+47
| | | | | | | | | See https://android-git.corp.google.com/g/#/c/157220 Also fix an occurrence of LOGW missed in an earlier change. Bug: 5449033 Change-Id: I2e3b23839e6dcd09015d6402280e9300c75e3406
* Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGESteve Block2012-01-051-1/+1
| | | | | | | See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ic558031c75b3702d90eb78bd730501ae5d3c077b
* Optimize IndirectRefTable.Jeff Brown2011-10-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed unused debugging code that maintained pointers to the 4 previous objects in each slot. Promoted the serial number property of a slot to be first class. This is a sufficiently cheap and useful check to perform that we might as well always do it. Changed get() and remove() so they check the validity of the references at the same time as they retrieve them. They're also a bit smarter about checking the reference kind given that they can assume that the table will only contain references of one kind. The checks are now much more consistent. For example, remove() used to check whether an index was stale only in the case where it was not removing the top entry (now it always checks). Made add() return NULL instead of dvmAbort()'ing in the case where the table overflowed and ensure we don't blow away the table in that cases. This change resolves an issue with TestIndirectRefTable.cpp which deliberately overflows the table and expects add() to return NULL (as documented!). As it happens, the add() method is called in exactly 3 places in Jni.cpp. In each of those cases, the code was written to handle a NULL result and only in the case of adding a weak global reference did it not abort. Fixed the weak global reference case to be consistent with the others. Changed the signature of contains() to take an Object* since that's what we're actually looking for inside the table. Added a couple of calls to dump() in TestIndirectRefTable.cpp for visual inspection of its correctness. Performance as measured by TestIndirectRefTable on same hardware. Old implementation: - Add/remove 100 objects FIFO order, 100000 iterations, 0.023ms / iteration - Add/remove 100 objects LIFO order, 100000 iterations, 0.020ms / iteration - Get 100 objects, 100000 iterations, 0.009ms / iteration New implementation: - Add/remove 100 objects FIFO order, 100000 iterations, 0.010ms / iteration - Add/remove 100 objects LIFO order, 100000 iterations, 0.009ms / iteration - Get 100 objects, 100000 iterations, 0.002ms / iteration Change-Id: I1c904eb03bc8dd9822e6d9cce702c696e976974e
* Add a simple performance test for IndirectRefTable.Jeff Brown2011-10-271-0/+96
| | | | Change-Id: Ib75354508fff1921d8d73eba5e3a3905a362b1e1
* Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGESteve Block2011-10-261-2/+2
| | | | | | | See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I8bd96961e369a08e86ff78b82d90f20f42787eb1
* Clean up IndirectRefTable a bit.Elliott Hughes2011-06-211-242/+80
| | | | | | | The main purpose here was to have slightly less unclear warnings for JNI local reference abuse. Change-Id: I2c6378dd0a94d8afb96a8e409f7460205e3cd315
* Normalize the include guard style.Carl Shapiro2011-06-141-3/+3
| | | | | | | | | | An leading underscore followed by a capital letter is a reserved name space in C and C++. This change also moves any #include directives within the include guard in some of the compiler/codegen/arm header files. Change-Id: I9715e2c5301699d31886e61d0fe6e29483555a2a
* Prefer printf format "%#x" over "0x%x".Dan Bornstein2011-05-261-2/+2
| | | | | | I exist to serve. Change-Id: I8e2880b20eefd466da8515d5b6b0c5cb75d56169
* Further conservation of newlines.Dan Bornstein2011-05-262-58/+58
| | | | | | Friends don't let friends end LOG() strings with newlines. Change-Id: I5a18c766c90c4ab5f03caa6acd601d34d91beb00
* Remove unneeded void argument list declarations.Carl Shapiro2011-04-203-21/+21
| | | | Change-Id: Ica749f6defa890363ec531b29e25bc415dc2cbb9
* Move the remaining non-compiler VM code into C++.Carl Shapiro2011-04-153-5/+5
| | | | Change-Id: Id8693208d2741c55a7b0474d1264f2112019d11f
* Improve JNI indirect ref diagnosticsAndy McFadden2011-04-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Improved CheckJNI problem detection and failure reporting. Also, the indirect reference table data structure now responds to invalid requests with a magic bogus object instead of NULL, so that failures are immediate and obvious. The extended checks in the indirect ref implementation are still on, mostly so that bad code fails in an obvious way even when CheckJNI is not enabled. This change also includes a hack to allow weak globals to work. Returning non-NULL for invalid refs turned a rarely-fails-weirdly issue into an always-fails-loudly, which is good, but we need to paper over it until the WGR fix is in place. This will need to be removed later. Also, reduced some log levels. Bug 4184721 Change-Id: Iaec75c71dbc85934366be2e717329b635d0fa49e
* am 6f22f6ba: am e1034238: am b387ce8a: Remove references to android_atomic_swap.Carl Shapiro2011-01-231-6/+0
|\ | | | | | | | | * commit '6f22f6bac408e487bcf8fcfd25ef6263cfaefd57': Remove references to android_atomic_swap.
| * Remove references to android_atomic_swap.Carl Shapiro2011-01-231-6/+0
| | | | | | | | | | | | Bug: 3381237 Change-Id: Iabca4be285082d804b0b206025bd4ca8e008ee42
* | Fix implicit conversions, rename reserved works, enable -Wc++-compat.Carl Shapiro2010-12-071-4/+6
|/ | | | Change-Id: I06292964a6882ea2d0c17c5c962db95e46b01543
* Eliminate the only use of the releasing swap name.Carl Shapiro2010-06-301-3/+3
| | | | Change-Id: I5e59c5b364c4155b179ceb9c16d2c4baae6cd2ea
* Merge remote branch 'goog/dalvik-dev' into mmBrian Carlstrom2010-06-302-115/+383
|\ | | | | | | Change-Id: I4346c9891939e589c627b9de4d71b959ed8f3b51
| * Implement 64-bit atomic ops for ARMv6K+.Andy McFadden2010-06-172-114/+383
| | | | | | | | | | | | | | | | | | | | | | | | This implements the "quasi-atomic" 64-bit operations using LDREXD/STREXD when those instructions are available (e.g. our ARMv7-A devices). Also, folded in an expanded version of AtomicSpeed.c that has been floating around my hard drive for a while. (This time, without Condition Code Roulette.) Change-Id: I90803794994373e2c620be423c081f0da4469fdf
| * Atomic op cleanup.Andy McFadden2010-06-161-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced VM-local macros for barrier and CAS calls with the actual versions provided by cutils. ATOMIC_CMP_SWAP(addr,old,new) --> android_atomic_release_cas(old,new,addr) MEM_BARRIER --> ANDROID_MEMBAR_FULL Renamed android_quasiatomic* to dvmQuasiAtomic*. Didn't change how anything works, just the names. Change-Id: I8c68f28e1f7c9cb832183e0918d097dfe6a2cac8
| * Remove repeated newlines at the end of files.Carl Shapiro2010-06-081-1/+0
| | | | | | | | Change-Id: I1e3d103a7b932ef21acedb6438c0f26b315df28f
| * Remove trailing whitespace.Carl Shapiro2010-06-081-1/+1
| | | | | | | | Change-Id: I95534bb2b88eaf48f2329282041118cd034c812b
| * Eliminate more unused variables and compiler warnings.Carl Shapiro2010-05-261-10/+10
| | | | | | | | | | | | | | | | | | | | This change also introduces wrappers for condition variable operations similar to what we have already for mutex operations. Almost all the remaining warnings are now in the compiler or non-debug uses of the CHECK_JIT macro. Change-Id: I9f492f1582a06065e3a52287c7834adddfbefff9
| * Remove unused labels, variables, and functions. Enable warnings.Carl Shapiro2010-05-211-1/+1
| | | | | | | | Change-Id: Icbe24eaf1ad499f28b68b6a5f05368271a0a7e86
* | Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-masterBrian Carlstrom2010-05-282-11/+11
|/ | | | Change-Id: I0c0edb3ebf0d5e040d6bbbf60269fab0deb70ef9
* Minor debugging tweaks to IndirectRefTable.Andy McFadden2009-08-311-2/+5
| | | | Added serial number checks, fixed tests, updated logging.
* Progress toward indirect JNI references.Andy McFadden2009-08-201-2/+2
| | | | | | | | | | | Switch from simple typecasts to conversion functions for the objects passed in and out of JNI calls. No real change here; object references are still just pointers. Use explicit pin/unpin calls for primitive arrays. For GetStringChars we now pin the char[] rather than the String object. (Which doesn't make much difference in the grand scheme of things, since you need to keep the String to pass into the release function anyway.)
* Indirect reference table implementation.Andy McFadden2009-07-313-0/+490
| | | | | | | | | | | | | | | | | | This change introduces the "indirect" reference table, which will be replacing ReferenceTable for local and global JNI references. The key difference is that, instead of handing raw Object pointers to JNI, we will be giving them a magic value that can be converted back to an Object. The goal is to avoid having to pin every object that native code is aware of. The code is not actually used anywhere yet. Also bundled up here: - added detail to a log message - fixed a string format issue in the internal assert() definition - very minor optimization in "remove" function in ReferenceTable - quiet a gcc complaint - only include the hash table regression test in builds that invoke it
* auto import //branches/master/...@140412The Android Open Source Project2009-03-182-0/+117
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-032-0/+211
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-032-211/+0
|
* Initial ContributionThe Android Open Source Project2008-10-212-0/+211