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 1596 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1607 Address addr = frame->pc() - Assembler::kCallTargetAddressOffset; | 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()->IsPatchedReturnSequence(); |
1618 } | 1618 } |
1619 it.next(); | 1619 it.next(); |
1620 } | 1620 } |
1621 | 1621 |
1622 // Handle the jump to continue execution after break point depending on the | 1622 // Handle the jump to continue execution after break point depending on the |
1623 // break location. | 1623 // break location. |
1624 if (at_js_return) { | 1624 if (at_js_return) { |
1625 // If the break point as return is still active jump to the corresponding | 1625 // If the break point as return is still active jump to the corresponding |
1626 // place in the original code. If not the break point was removed during | 1626 // place in the original code. If not the break point was removed during |
1627 // break point processing. | 1627 // break point processing. |
(...skipping 1075 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2703 | 2703 |
2704 | 2704 |
2705 void LockingCommandMessageQueue::Clear() { | 2705 void LockingCommandMessageQueue::Clear() { |
2706 ScopedLock sl(lock_); | 2706 ScopedLock sl(lock_); |
2707 queue_.Clear(); | 2707 queue_.Clear(); |
2708 } | 2708 } |
2709 | 2709 |
2710 #endif // ENABLE_DEBUGGER_SUPPORT | 2710 #endif // ENABLE_DEBUGGER_SUPPORT |
2711 | 2711 |
2712 } } // namespace v8::internal | 2712 } } // namespace v8::internal |
OLD | NEW |