| Index: runtime/vm/assembler_arm64.cc
|
| diff --git a/runtime/vm/assembler_arm64.cc b/runtime/vm/assembler_arm64.cc
|
| index f05016d5986247f95909a107ab5d8aa9676431f3..6d315e61a228fa539f397e1a43f49f1f291535d7 100644
|
| --- a/runtime/vm/assembler_arm64.cc
|
| +++ b/runtime/vm/assembler_arm64.cc
|
| @@ -416,7 +416,7 @@ void Assembler::LoadExternalLabelFixed(Register dst,
|
| }
|
|
|
|
|
| -void Assembler::LoadIsolate(Register dst, Register pp) {
|
| +void Assembler::LoadIsolate(Register dst) {
|
| ldr(dst, Address(THR, Thread::isolate_offset()));
|
| }
|
|
|
| @@ -964,8 +964,10 @@ void Assembler::LoadClassId(Register result, Register object, Register pp) {
|
|
|
| void Assembler::LoadClassById(Register result, Register class_id, Register pp) {
|
| ASSERT(result != class_id);
|
| - LoadImmediate(result, Isolate::Current()->class_table()->TableAddress(), pp);
|
| - LoadFromOffset(result, result, 0, pp);
|
| + LoadIsolate(result);
|
| + const intptr_t offset =
|
| + Isolate::class_table_offset() + ClassTable::table_offset();
|
| + LoadFromOffset(result, result, offset, pp);
|
| ldr(result, Address(result, class_id, UXTX, Address::Scaled));
|
| }
|
|
|
|
|