summaryrefslogtreecommitdiffstats
path: root/vm/Sync.h
Commit message (Collapse)AuthorAgeFilesLines
* dalvik: dalvik device extension pack.Xin Qi2013-10-311-0/+2
| | | | | | | | | Add support for customer device extension Change-Id: I0402a630ba212d1c5e81cda110f61210f7b60384 (cherry picked from commit 11499df326462bfe25890a35c6abbf019ff7784e) (cherry picked from commit e03b8f8da9cf4eef64cedf39ce9ca90d26ce5124) (cherry picked from commit fb360be406f35b9591f12c61936657f03cc5880f)
* 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
* Get rid of uneeded extern, enum, typedef and struct qualifiers.Carl Shapiro2011-04-271-20/+11
| | | | Change-Id: I236c5a1553a51f82c9bc3eaaab042046c854d3b4
* Remove DVM_LOCK_INIT and DVM_LOCK_INITIAL_THIN_VALUE.Carl Shapiro2011-04-201-9/+0
| | | | | | | | | | | | The original implementation for thin locks used a magic non-zero value to encode the initial thin lock state. This magic value was kept around in DVM_LOCK_INITIAL_THIN_VALUE and stored into the lock word of newly allocated objects. A later revision to the thin locking code made the initial thin lock value be 0. That change eliminated the requirement that lock words be explicitly initialized as the allocator always returns zero-filled memory. Change-Id: I34e0b43b4c4db0f45cf7cf524e15d4a6096c1365
* Compile the garbage collector and heap profiler as C++.Carl Shapiro2011-04-081-0/+8
| | | | Change-Id: I25d8fa821987a3dd6d7109d07fd42dbf2fe0e589
* Remove unused and racey debugging code.Carl Shapiro2011-02-041-5/+0
| | | | Change-Id: I335a9304b7ffdcba8062cd33ce1a0d721f345a73
* Expand away the QUIET_ZYGOTE_MONITOR macro.Carl Shapiro2010-11-091-2/+0
| | | | Change-Id: I74eac297597e8e7c9a13d03335f91cf289e060df
* Try to show lock owner in MONITOR thread dump.Andy McFadden2010-03-151-0/+8
| | | | | | | | | | | | | | | | | | 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
* Jit: Start the Jit when framework signals on first screen drawBill Buzbee2010-02-051-2/+3
| | | | | | | | | Cleanup of delayed start - introduce dvmRelativeCondWait in Sync.c. Additionally, support for deadman timer to start Jit when no screen draws happen, and to start immediately when running stand-alone. Fixed bug in assert variant of libdvm - recent MONITOR change had neglected to add a new type of exit to the exit stats.
* Jit: Fix for [Issue 2406862] Compiler thread preventing VM from shutting downBill Buzbee2010-01-291-0/+5
| | | | | | Replace placeholder sleep with timed condition wait that will start the jit either when the framework signals that the first screen has been drawn or a fixed time has elapsed.
* Update the hash state bits when an identity hash code is computed.Carl Shapiro2010-01-221-2/+23
|
* Separately sweep the monitor list before sweeping the heap. RequiredCarl Shapiro2010-01-111-9/+6
| | | | | | | for the copying collector so we can abandon objects without examining their headers. There is a liminal reduction in sweep time when using the non-moving collector. In addition, this change uncomments a call to free to reclaim the monitor when its owning object is unmarked.
* New implementation of wait, notify, and notifyAll. Uses an explicitCarl Shapiro2010-01-041-1/+1
| | | | | queue to represent the wait set instead of the implicit queue within the monitor condition variable.
* Supersede the Lock union type with a word-sized integer in the objectCarl Shapiro2009-12-221-15/+3
| | | | instance header. An object's lock member is now just a bit-field.
* Remove conditionally compiled code for monitor-only locks.Carl Shapiro2009-12-211-2/+1
|
* Repurpose bits 1 and 2 of the lockword for encoding the hash state ofCarl Shapiro2009-12-211-5/+30
| | | | | | an object. Invert the meaning of the shape bit to match the encoding scheme described in Bacon's paper. Consequently, monitor pointers must have the lower 3 bits stripped before they may be dereferenced.
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+123
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-123/+0
|
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-171-0/+7
|
* Initial ContributionThe Android Open Source Project2008-10-211-0/+116