| Index: src/macro-assembler-ia32.cc
|
| ===================================================================
|
| --- src/macro-assembler-ia32.cc (revision 434)
|
| +++ src/macro-assembler-ia32.cc (working copy)
|
| @@ -601,8 +601,11 @@
|
| }
|
|
|
|
|
| -void MacroAssembler::IllegalOperation() {
|
| - push(Immediate(Factory::undefined_value()));
|
| +void MacroAssembler::IllegalOperation(int num_arguments) {
|
| + if (num_arguments > 0) {
|
| + add(Operand(esp), Immediate(num_arguments * kPointerSize));
|
| + }
|
| + mov(Operand(eax), Immediate(Factory::undefined_value()));
|
| }
|
|
|
|
|
| @@ -616,7 +619,7 @@
|
| // constant, we check that the actual number of arguments match the
|
| // expectation.
|
| if (f->nargs >= 0 && f->nargs != num_arguments) {
|
| - IllegalOperation();
|
| + IllegalOperation(num_arguments);
|
| return;
|
| }
|
|
|
|
|