Index: runtime/vm/instructions_arm64.cc |
diff --git a/runtime/vm/instructions_arm64.cc b/runtime/vm/instructions_arm64.cc |
index 1690456a34d0fa85ea26310ea37fee4a8e789226..9987527126276f79549da9d6573594c90c416d17 100644 |
--- a/runtime/vm/instructions_arm64.cc |
+++ b/runtime/vm/instructions_arm64.cc |
@@ -208,8 +208,9 @@ uword InstructionPattern::DecodeLoadWordFromPool(uword end, |
offset |= instr->Imm16Field(); |
} |
} |
+ // PP is untagged on ARM64. |
ASSERT(Utils::IsAligned(offset, 8)); |
- *index = (offset - Array::data_offset()) / 8; |
+ *index = ObjectPool::IndexFromOffset(offset - kHeapObjectTag); |
return start; |
} |