| Index: runtime/vm/assembler_arm64.cc
|
| ===================================================================
|
| --- runtime/vm/assembler_arm64.cc (revision 40703)
|
| +++ runtime/vm/assembler_arm64.cc (working copy)
|
| @@ -1091,20 +1091,24 @@
|
| }
|
|
|
|
|
| -void Assembler::LoadClassById(Register result, Register class_id, Register pp) {
|
| +void Assembler::LoadClassById(Register result,
|
| + Register class_id,
|
| + Isolate* isolate,
|
| + Register pp) {
|
| ASSERT(result != class_id);
|
| - LoadFieldFromOffset(result, CTX, Context::isolate_offset(), pp);
|
| - const intptr_t table_offset_in_isolate =
|
| - Isolate::class_table_offset() + ClassTable::table_offset();
|
| - LoadFromOffset(result, result, table_offset_in_isolate, pp);
|
| + LoadImmediate(result, isolate->ClassTableAddress(), pp);
|
| + LoadFromOffset(result, result, 0, pp);
|
| ldr(result, Address(result, class_id, UXTX, Address::Scaled));
|
| }
|
|
|
|
|
| -void Assembler::LoadClass(Register result, Register object, Register pp) {
|
| +void Assembler::LoadClass(Register result,
|
| + Register object,
|
| + Isolate* isolate,
|
| + Register pp) {
|
| ASSERT(object != TMP);
|
| LoadClassId(TMP, object, pp);
|
| - LoadClassById(result, TMP, pp);
|
| + LoadClassById(result, TMP, isolate, pp);
|
| }
|
|
|
|
|
|
|