| Index: src/ia32/lithium-ia32.h
|
| ===================================================================
|
| --- src/ia32/lithium-ia32.h (revision 6109)
|
| +++ src/ia32/lithium-ia32.h (working copy)
|
| @@ -63,6 +63,7 @@
|
| // LDivI
|
| // LInstanceOf
|
| // LInstanceOfAndBranch
|
| +// LInstanceOfKnownGlobal
|
| // LLoadKeyedFastElement
|
| // LLoadKeyedGeneric
|
| // LModI
|
| @@ -205,6 +206,7 @@
|
| V(Goto) \
|
| V(InstanceOf) \
|
| V(InstanceOfAndBranch) \
|
| + V(InstanceOfKnownGlobal) \
|
| V(Integer32ToDouble) \
|
| V(IsNull) \
|
| V(IsNullAndBranch) \
|
| @@ -1004,6 +1006,23 @@
|
| };
|
|
|
|
|
| +class LInstanceOfKnownGlobal: public LUnaryOperation {
|
| + public:
|
| + LInstanceOfKnownGlobal(LOperand* left, LOperand* temp)
|
| + : LUnaryOperation(left), temp_(temp) { }
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(InstanceOfKnownGlobal,
|
| + "instance-of-known-global")
|
| + DECLARE_HYDROGEN_ACCESSOR(InstanceOfKnownGlobal)
|
| +
|
| + Handle<JSFunction> function() const { return hydrogen()->function(); }
|
| + LOperand* temp() const { return temp_; }
|
| +
|
| + private:
|
| + LOperand* temp_;
|
| +};
|
| +
|
| +
|
| class LBoundsCheck: public LBinaryOperation {
|
| public:
|
| LBoundsCheck(LOperand* index, LOperand* length)
|
| @@ -2080,6 +2099,7 @@
|
| LInstruction* instr,
|
| HInstruction* hinstr,
|
| CanDeoptimize can_deoptimize = CANNOT_DEOPTIMIZE_EAGERLY);
|
| + LInstruction* MarkAsSaveDoubles(LInstruction* instr);
|
|
|
| LInstruction* SetInstructionPendingDeoptimizationEnvironment(
|
| LInstruction* instr, int ast_id);
|
|
|