Index: src/ic/ic-inl.h |
diff --git a/src/ic/ic-inl.h b/src/ic/ic-inl.h |
index dffac2d43de54f1e93cb94674e40163b7fc49243..a6970934b861f3050f43bc2fa4be29afd06eac14 100644 |
--- a/src/ic/ic-inl.h |
+++ b/src/ic/ic-inl.h |
@@ -18,56 +18,15 @@ namespace internal { |
Address IC::address() const { |
// Get the address of the call. |
- Address result = Assembler::target_address_from_return_address(pc()); |
- |
- Debug* debug = isolate()->debug(); |
- // First check if any break points are active if not just return the address |
- // of the call. |
- if (!debug->has_break_points()) return result; |
- |
- // At least one break point is active perform additional test to ensure that |
- // break point locations are updated correctly. |
- if (debug->IsDebugBreak( |
- Assembler::target_address_at(result, raw_constant_pool()))) { |
- // If the call site is a call to debug break then return the address in |
- // the original code instead of the address in the running code. This will |
- // cause the original code to be updated and keeps the breakpoint active in |
- // the running code. |
- Code* code = GetCode(); |
- Code* original_code = GetOriginalCode(); |
- intptr_t delta = |
- original_code->instruction_start() - code->instruction_start(); |
- // Return the address in the original code. This is the place where |
- // the call which has been overwritten by the DebugBreakXXX resides |
- // and the place where the inline cache system should look. |
- return result + delta; |
- } else { |
- // No break point here just return the address of the call. |
- return result; |
- } |
+ return Assembler::target_address_from_return_address(pc()); |
} |
Address IC::constant_pool() const { |
- if (!FLAG_enable_embedded_constant_pool) { |
- return NULL; |
+ if (FLAG_enable_embedded_constant_pool) { |
+ return raw_constant_pool(); |
} else { |
- Address constant_pool = raw_constant_pool(); |
- Debug* debug = isolate()->debug(); |
- // First check if any break points are active if not just return the |
- // original constant pool. |
- if (!debug->has_break_points()) return constant_pool; |
- |
- // At least one break point is active perform additional test to ensure that |
- // break point locations are updated correctly. |
- Address target = Assembler::target_address_from_return_address(pc()); |
- if (debug->IsDebugBreak( |
- Assembler::target_address_at(target, constant_pool))) { |
- // If the call site is a call to debug break then we want to return the |
- // constant pool for the original code instead of the breakpointed code. |
- return GetOriginalCode()->constant_pool(); |
- } |
- return constant_pool; |
+ return NULL; |
} |
} |