| Index: src/codegen-ia32.h
|
| ===================================================================
|
| --- src/codegen-ia32.h (revision 1620)
|
| +++ src/codegen-ia32.h (working copy)
|
| @@ -436,6 +436,28 @@
|
| StaticType* type,
|
| const OverwriteMode overwrite_mode = NO_OVERWRITE);
|
|
|
| + // If possible, combine two constant smi values using op to produce
|
| + // a smi result, and push it on the virtual frame, all at compile time.
|
| + // Returns true if it succeeds. Otherwise it has no effect.
|
| + bool FoldConstantSmis(Token::Value op, int left, int right);
|
| +
|
| + // Emit code to perform a binary operation on
|
| + // a constant smi and a likely smi. Consumes the Result *operand.
|
| + void ConstantSmiBinaryOperation(Token::Value op,
|
| + Result* operand,
|
| + Handle<Object> constant_operand,
|
| + StaticType* type,
|
| + bool reversed,
|
| + OverwriteMode overwrite_mode);
|
| +
|
| + // Emit code to perform a binary operation on two likely smis.
|
| + // The code to handle smi arguments is produced inline.
|
| + // Consumes the Results *left and *right.
|
| + void LikelySmiBinaryOperation(Token::Value op,
|
| + Result* left,
|
| + Result* right,
|
| + OverwriteMode overwrite_mode);
|
| +
|
| void Comparison(Condition cc,
|
| bool strict,
|
| ControlDestination* destination);
|
| @@ -449,13 +471,6 @@
|
| // at most 16 bits of user-controlled data per assembly operation.
|
| void LoadUnsafeSmi(Register target, Handle<Object> value);
|
|
|
| - bool IsInlineSmi(Literal* literal);
|
| - void SmiOperation(Token::Value op,
|
| - StaticType* type,
|
| - Handle<Object> value,
|
| - bool reversed,
|
| - OverwriteMode overwrite_mode);
|
| -
|
| void CallWithArguments(ZoneList<Expression*>* arguments, int position);
|
|
|
| void CheckStack();
|
| @@ -562,7 +577,6 @@
|
| #endif
|
|
|
| bool is_eval_; // Tells whether code is generated for eval.
|
| -
|
| Handle<Script> script_;
|
| List<DeferredCode*> deferred_;
|
|
|
|
|