Index: runtime/vm/assembler_x64.cc |
diff --git a/runtime/vm/assembler_x64.cc b/runtime/vm/assembler_x64.cc |
index 74ecda578eb01ac5d170bfd0e18c496525be5744..b27235a51c32ff9eed8089cb17a2bfc5efa2b4d0 100644 |
--- a/runtime/vm/assembler_x64.cc |
+++ b/runtime/vm/assembler_x64.cc |
@@ -64,11 +64,30 @@ Assembler::Assembler(bool use_far_branches) |
patchable_pool_entries_.Add(kNotPatchable); |
} |
- // Create fixed object pool entry for debugger stub. |
- if (StubCode::BreakpointRuntime_entry() != NULL) { |
+ // Create fixed object pool entries for debugger stubs. |
+ if (StubCode::ICCallBreakpoint_entry() != NULL) { |
intptr_t index = |
- FindExternalLabel(&StubCode::BreakpointRuntimeLabel(), kNotPatchable); |
- ASSERT(index == kBreakpointRuntimeCPIndex); |
+ FindExternalLabel(&StubCode::ICCallBreakpointLabel(), |
+ kNotPatchable); |
+ ASSERT(index == kICCallBreakpointCPIndex); |
+ } else { |
+ object_pool_.Add(vacant, Heap::kOld); |
+ patchable_pool_entries_.Add(kNotPatchable); |
+ } |
+ if (StubCode::ClosureCallBreakpoint_entry() != NULL) { |
+ intptr_t index = |
+ FindExternalLabel(&StubCode::ClosureCallBreakpointLabel(), |
+ kNotPatchable); |
+ ASSERT(index == kClosureCallBreakpointCPIndex); |
+ } else { |
+ object_pool_.Add(vacant, Heap::kOld); |
+ patchable_pool_entries_.Add(kNotPatchable); |
+ } |
+ if (StubCode::RuntimeCallBreakpoint_entry() != NULL) { |
+ intptr_t index = |
+ FindExternalLabel(&StubCode::RuntimeCallBreakpointLabel(), |
+ kNotPatchable); |
+ ASSERT(index == kRuntimeCallBreakpointCPIndex); |
} else { |
object_pool_.Add(vacant, Heap::kOld); |
patchable_pool_entries_.Add(kNotPatchable); |