Index: runtime/vm/assembler_arm64.cc |
diff --git a/runtime/vm/assembler_arm64.cc b/runtime/vm/assembler_arm64.cc |
index 1d34d5b6f1f9ff727a3f46d0cab27aec0f674eb6..70b2f2ce8b441ceada649b67350e387b917eeee0 100644 |
--- a/runtime/vm/assembler_arm64.cc |
+++ b/runtime/vm/assembler_arm64.cc |
@@ -368,6 +368,7 @@ intptr_t Assembler::FindImmediate(int64_t imm) { |
bool Assembler::CanLoadFromObjectPool(const Object& object) const { |
ASSERT(!object.IsICData() || ICData::Cast(object).IsOriginal()); |
+ ASSERT(!object.IsField() || Field::Cast(object).IsOriginal()); |
ASSERT(!Thread::CanLoadFromThread(object)); |
if (!constant_pool_allowed()) { |
return false; |
@@ -403,6 +404,7 @@ void Assembler::LoadObjectHelper(Register dst, |
const Object& object, |
bool is_unique) { |
ASSERT(!object.IsICData() || ICData::Cast(object).IsOriginal()); |
+ ASSERT(!object.IsField() || Field::Cast(object).IsOriginal()); |
if (Thread::CanLoadFromThread(object)) { |
ldr(dst, Address(THR, Thread::OffsetFromThread(object))); |
} else if (CanLoadFromObjectPool(object)) { |
@@ -442,6 +444,7 @@ void Assembler::LoadUniqueObject(Register dst, const Object& object) { |
void Assembler::CompareObject(Register reg, const Object& object) { |
ASSERT(!object.IsICData() || ICData::Cast(object).IsOriginal()); |
+ ASSERT(!object.IsField() || Field::Cast(object).IsOriginal()); |
if (Thread::CanLoadFromThread(object)) { |
ldr(TMP, Address(THR, Thread::OffsetFromThread(object))); |
CompareRegisters(reg, TMP); |
@@ -948,6 +951,7 @@ void Assembler::StoreIntoObjectNoBarrier(Register object, |
const Address& dest, |
const Object& value) { |
ASSERT(!value.IsICData() || ICData::Cast(value).IsOriginal()); |
+ ASSERT(!value.IsField() || Field::Cast(value).IsOriginal()); |
ASSERT(value.IsSmi() || value.InVMHeap() || |
(value.IsOld() && value.IsNotTemporaryScopedHandle())); |
// No store buffer update. |