Index: runtime/vm/assembler_ia32.cc |
diff --git a/runtime/vm/assembler_ia32.cc b/runtime/vm/assembler_ia32.cc |
index 9dc734bc49bcb89228a9622e4cc7c8c9270ae394..1059706469aa4b804a569904c0dadda868406682 100644 |
--- a/runtime/vm/assembler_ia32.cc |
+++ b/runtime/vm/assembler_ia32.cc |
@@ -3023,8 +3023,10 @@ void Assembler::LoadClassId(Register result, Register object) { |
void Assembler::LoadClassById(Register result, Register class_id) { |
ASSERT(result != class_id); |
- movl(result, |
- Address::Absolute(Isolate::Current()->class_table()->TableAddress())); |
+ LoadIsolate(result); |
+ const intptr_t offset = |
+ Isolate::class_table_offset() + ClassTable::table_offset(); |
+ movl(result, Address(result, offset)); |
movl(result, Address(result, class_id, TIMES_4, 0)); |
} |