Chromium Code Reviews| Index: src/ia32/code-stubs-ia32.cc |
| diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc |
| index 12cc499a7777797695004ae49938228325fecdd5..ee54bc113b76e02921b81e9d060854bebf084658 100644 |
| --- a/src/ia32/code-stubs-ia32.cc |
| +++ b/src/ia32/code-stubs-ia32.cc |
| @@ -4863,6 +4863,27 @@ void CEntryStub::Generate(MacroAssembler* masm) { |
| __ ThrowUncatchable(eax); |
| __ bind(&throw_normal_exception); |
| + |
| +#ifdef ENABLE_DEBUGGER_SUPPORT |
| + Label proceed_throwing; |
| + ExternalReference c_entry_frame_to_ignore_exception = |
| + ExternalReference(Debug_Address::CEntryFrameToIgnoreException(), |
| + masm->isolate()); |
| + |
| + __ xor_(ecx, ecx); |
| + __ mov(edx, Operand::StaticVariable(c_entry_frame_to_ignore_exception)); |
| + __ mov(Operand::StaticVariable(c_entry_frame_to_ignore_exception), ecx); |
| + |
| + __ cmp(ebp, edx); |
|
Yang
2013/09/13 09:47:56
Instead of these 4 instructions, you could just
_
Peter.Rybin
2013/09/19 15:35:31
Thanks a lot.
I also moved "clear" statement below
|
| + |
| + __ j(not_equal, &proceed_throwing, Label::kNear); |
| + |
| + __ LeaveExitFrame(save_doubles_ == kSaveFPRegs); |
| + __ ret(0); |
| + |
| + __ bind(&proceed_throwing); |
| +#endif // ENABLE_DEBUGGER_SUPPORT |
| + |
| __ Throw(eax); |
| } |