Index: runtime/vm/assembler_mips.cc |
diff --git a/runtime/vm/assembler_mips.cc b/runtime/vm/assembler_mips.cc |
index b96cb1bd8c8d1a8b960e6f1f484dd3166719d8eb..da5a6dfef9413be67945bc219096ac4040ce0721 100644 |
--- a/runtime/vm/assembler_mips.cc |
+++ b/runtime/vm/assembler_mips.cc |
@@ -670,8 +670,10 @@ void Assembler::LoadClassId(Register result, Register object) { |
void Assembler::LoadClassById(Register result, Register class_id) { |
ASSERT(!in_delay_slot_); |
ASSERT(result != class_id); |
- LoadImmediate(result, Isolate::Current()->class_table()->TableAddress()); |
- lw(result, Address(result, 0)); |
+ LoadIsolate(result); |
+ const intptr_t offset = |
+ Isolate::class_table_offset() + ClassTable::table_offset(); |
+ lw(result, Address(result, offset)); |
sll(TMP, class_id, 2); |
addu(result, result, TMP); |
lw(result, Address(result)); |