Index: runtime/vm/assembler_x64.cc |
=================================================================== |
--- runtime/vm/assembler_x64.cc (revision 37923) |
+++ runtime/vm/assembler_x64.cc (working copy) |
@@ -28,7 +28,8 @@ |
comments_() { |
// Far branching mode is only needed and implemented for MIPS and ARM. |
ASSERT(!use_far_branches); |
- if (Isolate::Current() != Dart::vm_isolate()) { |
+ Isolate* isolate = Isolate::Current(); |
+ if (isolate != Dart::vm_isolate()) { |
object_pool_ = GrowableObjectArray::New(Heap::kOld); |
// These objects and labels need to be accessible through every pool-pointer |
@@ -48,8 +49,9 @@ |
const Smi& vacant = Smi::Handle(Smi::New(0xfa >> kSmiTagShift)); |
- if (StubCode::UpdateStoreBuffer_entry() != NULL) { |
- FindExternalLabel(&StubCode::UpdateStoreBufferLabel(), kNotPatchable); |
+ StubCode* stub_code = isolate->stub_code(); |
+ if (stub_code->UpdateStoreBuffer_entry() != NULL) { |
+ FindExternalLabel(&stub_code->UpdateStoreBufferLabel(), kNotPatchable); |
} else { |
object_pool_.Add(vacant, Heap::kOld); |
patchable_pool_entries_.Add(kNotPatchable); |
@@ -2707,7 +2709,8 @@ |
if (object != RAX) { |
movq(RAX, object); |
} |
- Call(&StubCode::UpdateStoreBufferLabel(), PP); |
+ StubCode* stub_code = Isolate::Current()->stub_code(); |
+ Call(&stub_code->UpdateStoreBufferLabel(), PP); |
if (value != RAX) popq(RAX); |
Bind(&done); |
} |