summaryrefslogtreecommitdiffstats
path: root/vm/Atomic.h
Commit message (Collapse)AuthorAgeFilesLines
* Simplify the quasi-atomic stuff and add MIPS support.Elliott Hughes2012-05-011-0/+3
| | | | Change-Id: Iac896c03ef707c998cc714628adea0255f21c035
* Fix memory barriers (Issue 3338450)buzbee2011-09-271-1/+8
| | | | | | Add extra memory barrier on volatile stores. Change-Id: Id4a4750cdfc910eda2f0b44ead0af2a569b5735e
* 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-10/+2
| | | | Change-Id: I236c5a1553a51f82c9bc3eaaab042046c854d3b4
* Compile the garbage collector and heap profiler as C++.Carl Shapiro2011-04-081-0/+8
| | | | Change-Id: I25d8fa821987a3dd6d7109d07fd42dbf2fe0e589
* Add opcodes for volatile field accessesAndy McFadden2010-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | This adds instructions for {i,s}{get,put}{,-object}-volatile, for a total of eight new instructions. On SMP systems, these instructions will be substituted in for existing field access instructions, either by dexopt or during just-in-time verification. Unlike the wide-volatile instructions, these will not be used at all when the VM is not built for SMP. (Ideally we'd omit the volatile instruction implementations entirely on non-SMP builds, but that requires a little work in gen-mterp.py.) The change defines and implements the opcodes and support methods, but does not cause them to be used. Also, changed dvmQuasiAtomicRead64's argument to be const. Change-Id: I9e44fe881e87f27aa41f6c6e898ec4402cb5493e
* Atomic op cleanup.Andy McFadden2010-06-161-26/+16
| | | | | | | | | | | | | | | 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
* Atomic/SMP update, part 2. (manual to dalvik-dev)Andy McFadden2010-05-281-4/+7
| | | | | | | | | Updated "generic" quasiatomic implementation to use atomic release store instead of atomic swap when releasing the lock. Track change to name of memory barrier. Change-Id: I229fc2aec8996db07b84f2d1bcfbe4346a810d85
* Atomic/SMP update.Andy McFadden2010-05-201-13/+27
| | | | | | | | | Moved quasiatomic 64-bit operations in here. They still need work. Use the new libcutils atomic-inline header for our memory barriers. Adjust makefiles to set SMP definition appropriately. Change-Id: Id2ab2123724bb0baeb32f862b5568392aba35a59
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+48
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-48/+0
|
* Initial ContributionThe Android Open Source Project2008-10-211-0/+48