| Index: src/ia32/codegen-ia32.h
|
| ===================================================================
|
| --- src/ia32/codegen-ia32.h (revision 3695)
|
| +++ src/ia32/codegen-ia32.h (working copy)
|
| @@ -652,6 +652,11 @@
|
| void GenerateCall(MacroAssembler* masm, Register left, Smi* right);
|
| void GenerateCall(MacroAssembler* masm, Smi* left, Register right);
|
|
|
| + Result GenerateCall(MacroAssembler* masm,
|
| + VirtualFrame* frame,
|
| + Result* left,
|
| + Result* right);
|
| +
|
| private:
|
| Token::Value op_;
|
| OverwriteMode mode_;
|
| @@ -700,15 +705,9 @@
|
| void GenerateReturn(MacroAssembler* masm);
|
| void GenerateHeapResultAllocation(MacroAssembler* masm, Label* alloc_failure);
|
|
|
| - // Args in registers are always OK for ADD and SUB. Floating-point MUL and DIV
|
| - // are also OK. Though MUL and DIV on SMIs modify the original registers so
|
| - // we need to push args on stack anyway.
|
| bool ArgsInRegistersSupported() {
|
| - if (op_ == Token::ADD || op_ == Token::SUB) return true;
|
| - if (op_ == Token::MUL || op_ == Token::DIV) {
|
| - return flags_ == NO_SMI_CODE_IN_STUB;
|
| - }
|
| - return false;
|
| + return op_ == Token::ADD || op_ == Token::SUB
|
| + || op_ == Token::MUL || op_ == Token::DIV;
|
| }
|
| bool IsOperationCommutative() {
|
| return (op_ == Token::ADD) || (op_ == Token::MUL);
|
|
|