summaryrefslogtreecommitdiff
path: root/runtime/mirror/object-inl.h
diff options
context:
space:
mode:
author Mathieu Chartier <mathieuc@google.com> 2014-04-16 09:48:48 -0700
committer Mathieu Chartier <mathieuc@google.com> 2014-04-17 19:01:34 -0700
commitbbd695c71e0bf518f582e84524e1cdeb3de3896c (patch)
tree6fe6a128b629abc6a396a192b2e8da1180afeded /runtime/mirror/object-inl.h
parenta092ee404ababbf8fc945111dc4a571284c9f02f (diff)
Replace ObjectSet with LargeObjectBitmap.
Speeds up large object marking since large objects no longer required a lock. Changed the GCs to use the heap bitmap for marking objects which aren't in the fast path. This eliminates the need for a MarkLargeObject function. Maps before (10 GC iterations): Mean partial time: 180ms Mean sticky time: 151ms Maps after: Mean partial time: 161ms Mean sticky time: 101ms Note: the GC durations are long due to recent ergonomic changes and because the fast bulk free hasn't yet been enabled. Over 50% of the GC time is spent in RosAllocSpace::FreeList. Bug: 13571028 Change-Id: Id8f94718aeaa13052672ccbae1e8edf77d653f62
Diffstat (limited to 'runtime/mirror/object-inl.h')
-rw-r--r--runtime/mirror/object-inl.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/runtime/mirror/object-inl.h b/runtime/mirror/object-inl.h
index 2505855831..b195dea57e 100644
--- a/runtime/mirror/object-inl.h
+++ b/runtime/mirror/object-inl.h
@@ -51,14 +51,14 @@ inline void Object::SetClass(Class* new_klass) {
OFFSET_OF_OBJECT_MEMBER(Object, klass_), new_klass, false);
}
-inline LockWord Object::GetLockWord(bool is_volatile) {
- return LockWord(GetField32(OFFSET_OF_OBJECT_MEMBER(Object, monitor_), is_volatile));
+inline LockWord Object::GetLockWord(bool as_volatile) {
+ return LockWord(GetField32(OFFSET_OF_OBJECT_MEMBER(Object, monitor_), as_volatile));
}
-inline void Object::SetLockWord(LockWord new_val, bool is_volatile) {
+inline void Object::SetLockWord(LockWord new_val, bool as_volatile) {
// Force use of non-transactional mode and do not check.
SetField32<false, false>(OFFSET_OF_OBJECT_MEMBER(Object, monitor_), new_val.GetValue(),
- is_volatile);
+ as_volatile);
}
inline bool Object::CasLockWord(LockWord old_val, LockWord new_val) {