| Index: src/ia32/macro-assembler-ia32.cc
|
| diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc
|
| index 53ffa39357c97a47aa53df3f934a712fb30e9380..c85789efa1e2dff5a90b0d1e3f3a79e383d7239e 100644
|
| --- a/src/ia32/macro-assembler-ia32.cc
|
| +++ b/src/ia32/macro-assembler-ia32.cc
|
| @@ -3287,6 +3287,22 @@ void MacroAssembler::TruncatingDiv(Register dividend, int32_t divisor) {
|
| }
|
|
|
|
|
| +void MacroAssembler::OSRDropVectorFromStack(int unoptimized_slot_count,
|
| + Register scratch0,
|
| + Register scratch1) {
|
| + if (unoptimized_slot_count > 0) {
|
| + Label loop_start;
|
| + lea(scratch0,
|
| + Operand(ebp, JavaScriptFrameConstants::kFeedbackVectorOffset));
|
| + bind(&loop_start);
|
| + mov(scratch1, Operand(scratch0, -1 * kPointerSize));
|
| + mov(Operand(scratch0, 0), scratch1);
|
| + sub(scratch0, Immediate(kPointerSize));
|
| + cmp(scratch0, esp);
|
| + j(greater, &loop_start);
|
| + }
|
| + add(esp, Immediate(kPointerSize));
|
| +}
|
| } } // namespace v8::internal
|
|
|
| #endif // V8_TARGET_ARCH_IA32
|
|
|