Chromium Code Reviews| Index: src/debug.cc |
| diff --git a/src/debug.cc b/src/debug.cc |
| index 3586a1836db64cf8ae8f721af0b6bdf33bbd5982..6e726fb9f60243ae0abf3453bcad764ef4d24e40 100644 |
| --- a/src/debug.cc |
| +++ b/src/debug.cc |
| @@ -1893,6 +1893,9 @@ static void RedirectActivationsToRecompiledCodeOnThread( |
| // Patch the return address to return into the code with |
| // debug break slots. |
| frame->set_pc(new_pc); |
| + if (FLAG_enable_ool_constant_pool) { |
|
danno
2014/07/29 13:24:08
Is this a change that is unrelated to the port (se
andrew_low
2014/07/30 13:27:05
Created https://codereview.chromium.org/430523002
|
| + frame->set_constant_pool(new_code->constant_pool()); |
| + } |
| } |
| } |
| @@ -2317,7 +2320,12 @@ void Debug::SetAfterBreakTarget(JavaScriptFrame* frame) { |
| // Find the call address in the running code. This address holds the call to |
| // either a DebugBreakXXX or to the debug break return entry code if the |
| // break point is still active after processing the break point. |
| +#if V8_TARGET_ARCH_PPC |
| + // PPC has variable length call sequence |
| + Address addr = Assembler::target_address_from_return_address(frame->pc()); |
| +#else |
| Address addr = frame->pc() - Assembler::kPatchDebugBreakSlotReturnOffset; |
|
danno
2014/07/29 13:24:08
Could you please abstract this to Assembler? There
andrew_low
2014/07/30 13:27:05
Done.
|
| +#endif |
| // Check if the location is at JS exit or debug break slot. |
| bool at_js_return = false; |
| @@ -2340,7 +2348,7 @@ void Debug::SetAfterBreakTarget(JavaScriptFrame* frame) { |
| // Handle the jump to continue execution after break point depending on the |
| // break location. |
| if (at_js_return) { |
| - // If the break point as return is still active jump to the corresponding |
| + // If the break point at return is still active jump to the corresponding |
| // place in the original code. If not the break point was removed during |
| // break point processing. |
| if (break_at_js_return_active) { |
| @@ -2408,7 +2416,12 @@ bool Debug::IsBreakAtReturn(JavaScriptFrame* frame) { |
| #endif |
| // Find the call address in the running code. |
| +#if V8_TARGET_ARCH_PPC |
|
danno
2014/07/29 13:24:08
See above
andrew_low
2014/07/30 13:27:05
Done.
|
| + // PPC has variable length call sequence |
| + Address addr = Assembler::target_address_from_return_address(frame->pc()); |
| +#else |
| Address addr = frame->pc() - Assembler::kPatchDebugBreakSlotReturnOffset; |
| +#endif |
| // Check if the location is at JS return. |
| RelocIterator it(debug_info->code()); |