summaryrefslogtreecommitdiffstats
path: root/runtime/monitor.cc
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2014-05-15 12:39:19 -0700
committerMathieu Chartier <mathieuc@google.com>2014-05-22 10:47:44 -0700
commite09ae0920be57760fb390b6944bce420fa0b5582 (patch)
treeacc40266093df4289ffb6728c979cafd6b5114d2 /runtime/monitor.cc
parentb8033db2a8dc6f7c7e29b1552177542964f56e44 (diff)
downloadart-e09ae0920be57760fb390b6944bce420fa0b5582.zip
art-e09ae0920be57760fb390b6944bce420fa0b5582.tar.gz
art-e09ae0920be57760fb390b6944bce420fa0b5582.tar.bz2
Fix an outstanding compaction bug in interpreter.
Fixed a bug in DoFieldPut where the FieldHelper GetType could cause thread suspension which would result in a stale obj. Added more handles in the class linker to facilitate moving fiels and methods in the future. Removed un-necessarly passing handle references since these are value types and don't need to be passed by reference. Added a special NullHandle type which allows null handles without a handle scope. Change-Id: I1b51723920a2e4f4f8b2907066f578a3e879fd5b
Diffstat (limited to 'runtime/monitor.cc')
-rw-r--r--runtime/monitor.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/monitor.cc b/runtime/monitor.cc
index f783edb..fe1ef6c 100644
--- a/runtime/monitor.cc
+++ b/runtime/monitor.cc
@@ -637,7 +637,7 @@ void Monitor::Inflate(Thread* self, Thread* owner, mirror::Object* obj, int32_t
}
}
-void Monitor::InflateThinLocked(Thread* self, Handle<mirror::Object>& obj, LockWord lock_word,
+void Monitor::InflateThinLocked(Thread* self, Handle<mirror::Object> obj, LockWord lock_word,
uint32_t hash_code) {
DCHECK_EQ(lock_word.GetState(), LockWord::kThinLocked);
uint32_t owner_thread_id = lock_word.ThinLockOwner();