| Index: src/ia32/macro-assembler-ia32.cc
|
| diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc
|
| index 084901783e2ddba1c002483ac23115445bc62a0d..7404a62d5c0805214b84129a521de9c9b97d065f 100644
|
| --- a/src/ia32/macro-assembler-ia32.cc
|
| +++ b/src/ia32/macro-assembler-ia32.cc
|
| @@ -681,6 +681,16 @@ void MacroAssembler::DebugBreak() {
|
| call(ces.GetCode(), RelocInfo::DEBUGGER_STATEMENT);
|
| }
|
|
|
| +void MacroAssembler::MaybeDropFrames() {
|
| + // Check whether we need to drop frames to restart a function on the stack.
|
| + ExternalReference restart_fp =
|
| + ExternalReference::debug_restart_fp_address(isolate());
|
| + mov(ebx, Operand::StaticVariable(restart_fp));
|
| + test(ebx, ebx);
|
| + j(not_zero, isolate()->builtins()->FrameDropperTrampoline(),
|
| + RelocInfo::CODE_TARGET);
|
| +}
|
| +
|
| void MacroAssembler::Cvtsi2sd(XMMRegister dst, const Operand& src) {
|
| xorps(dst, dst);
|
| cvtsi2sd(dst, src);
|
| @@ -1916,6 +1926,7 @@ void MacroAssembler::InvokePrologue(const ParameterCount& expected,
|
| DCHECK(actual.reg().is(eax));
|
| DCHECK(expected.reg().is(ebx));
|
| } else {
|
| + definitely_matches = true;
|
| Move(eax, actual.reg());
|
| }
|
| }
|
|
|