OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 1586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1597 Handle<Code> original_code(debug_info->original_code()); | 1597 Handle<Code> original_code(debug_info->original_code()); |
1598 #ifdef DEBUG | 1598 #ifdef DEBUG |
1599 // Get the code which is actually executing. | 1599 // Get the code which is actually executing. |
1600 Handle<Code> frame_code(frame->code()); | 1600 Handle<Code> frame_code(frame->code()); |
1601 ASSERT(frame_code.is_identical_to(code)); | 1601 ASSERT(frame_code.is_identical_to(code)); |
1602 #endif | 1602 #endif |
1603 | 1603 |
1604 // Find the call address in the running code. This address holds the call to | 1604 // Find the call address in the running code. This address holds the call to |
1605 // either a DebugBreakXXX or to the debug break return entry code if the | 1605 // either a DebugBreakXXX or to the debug break return entry code if the |
1606 // break point is still active after processing the break point. | 1606 // break point is still active after processing the break point. |
1607 Address addr = frame->pc() - Assembler::kPatchReturnSequenceLength; | 1607 Address addr = frame->pc() - Assembler::kCallTargetAddressOffset; |
1608 | 1608 |
1609 // Check if the location is at JS exit. | 1609 // Check if the location is at JS exit. |
1610 bool at_js_return = false; | 1610 bool at_js_return = false; |
1611 bool break_at_js_return_active = false; | 1611 bool break_at_js_return_active = false; |
1612 RelocIterator it(debug_info->code()); | 1612 RelocIterator it(debug_info->code()); |
1613 while (!it.done()) { | 1613 while (!it.done()) { |
1614 if (RelocInfo::IsJSReturn(it.rinfo()->rmode())) { | 1614 if (RelocInfo::IsJSReturn(it.rinfo()->rmode())) { |
1615 at_js_return = (it.rinfo()->pc() == | 1615 at_js_return = (it.rinfo()->pc() == |
1616 addr - Assembler::kPatchReturnSequenceAddressOffset); | 1616 addr - Assembler::kPatchReturnSequenceAddressOffset); |
1617 break_at_js_return_active = it.rinfo()->IsCallInstruction(); | 1617 break_at_js_return_active = it.rinfo()->IsCallInstruction(); |
(...skipping 1096 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2714 | 2714 |
2715 | 2715 |
2716 void LockingCommandMessageQueue::Clear() { | 2716 void LockingCommandMessageQueue::Clear() { |
2717 ScopedLock sl(lock_); | 2717 ScopedLock sl(lock_); |
2718 queue_.Clear(); | 2718 queue_.Clear(); |
2719 } | 2719 } |
2720 | 2720 |
2721 #endif // ENABLE_DEBUGGER_SUPPORT | 2721 #endif // ENABLE_DEBUGGER_SUPPORT |
2722 | 2722 |
2723 } } // namespace v8::internal | 2723 } } // namespace v8::internal |
OLD | NEW |