Assignability checks for SetFieldObject.
Adds check to SetFieldObject that is enabled with VERIFY_OBJECT_ENABLED.
The check verifies that the object being set to the field is assignable
to that field.
Fix bug that iftable was typed to be Object[][] but being assigned a
Object[].
Change-Id: I3d3744347f2dd142ca90db321ed876eaebfe7f7f
diff --git a/src/mark_sweep.h b/src/mark_sweep.h
index aaeb0ff..d6218dc 100644
--- a/src/mark_sweep.h
+++ b/src/mark_sweep.h
@@ -339,7 +339,7 @@
// Schedules an unmarked object for reference processing.
void DelayReferenceReferent(Object* reference)
- SHARED_LOCKS_REQUIRED(Locks::heap_bitmap_lock_);
+ SHARED_LOCKS_REQUIRED(Locks::heap_bitmap_lock_, Locks::mutator_lock_);
// Recursively blackens objects on the mark stack.
void ProcessMarkStack()
@@ -355,7 +355,7 @@
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
void ClearWhiteReferences(Object** list)
- SHARED_LOCKS_REQUIRED(Locks::heap_bitmap_lock_);
+ SHARED_LOCKS_REQUIRED(Locks::heap_bitmap_lock_, Locks::mutator_lock_);
void ProcessReferences(Object** soft_references, bool clear_soft_references,
Object** weak_references,