| 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;
|
| }
|
| }
|
|
|
|
|