| Index: src/mips/lithium-mips.h
|
| diff --git a/src/mips/lithium-mips.h b/src/mips/lithium-mips.h
|
| index d682748e145076e2241caa4cfbf203756e64762e..67836cf7b38ca6cf05a62e83a37b5994b65886ce 100644
|
| --- a/src/mips/lithium-mips.h
|
| +++ b/src/mips/lithium-mips.h
|
| @@ -91,13 +91,10 @@ class LCodeGen;
|
| V(Drop) \
|
| V(Dummy) \
|
| V(DummyUse) \
|
| - V(ElementsKind) \
|
| V(ForInCacheArray) \
|
| V(ForInPrepareMap) \
|
| V(FunctionLiteral) \
|
| V(GetCachedArrayIndex) \
|
| - V(GlobalObject) \
|
| - V(GlobalReceiver) \
|
| V(Goto) \
|
| V(HasCachedArrayIndexAndBranch) \
|
| V(HasInstanceTypeAndBranch) \
|
| @@ -116,7 +113,6 @@ class LCodeGen;
|
| V(Label) \
|
| V(LazyBailout) \
|
| V(LoadContextSlot) \
|
| - V(LoadExternalArrayPointer) \
|
| V(LoadRoot) \
|
| V(LoadFieldByIndex) \
|
| V(LoadFunctionPrototype) \
|
| @@ -129,6 +125,7 @@ class LCodeGen;
|
| V(MapEnumLength) \
|
| V(MathAbs) \
|
| V(MathExp) \
|
| + V(MathClz32) \
|
| V(MathFloor) \
|
| V(MathFloorOfDiv) \
|
| V(MathLog) \
|
| @@ -144,7 +141,6 @@ class LCodeGen;
|
| V(NumberTagU) \
|
| V(NumberUntagD) \
|
| V(OsrEntry) \
|
| - V(OuterContext) \
|
| V(Parameter) \
|
| V(Power) \
|
| V(PushArgument) \
|
| @@ -170,7 +166,6 @@ class LCodeGen;
|
| V(SubI) \
|
| V(TaggedToI) \
|
| V(ThisFunction) \
|
| - V(Throw) \
|
| V(ToFastProperties) \
|
| V(TransitionElementsKind) \
|
| V(TrapAllocationMemento) \
|
| @@ -179,7 +174,6 @@ class LCodeGen;
|
| V(Uint32ToDouble) \
|
| V(Uint32ToSmi) \
|
| V(UnknownOSRValue) \
|
| - V(ValueOf) \
|
| V(WrapReceiver)
|
|
|
| #define DECLARE_CONCRETE_INSTRUCTION(type, mnemonic) \
|
| @@ -555,6 +549,7 @@ class LWrapReceiver V8_FINAL : public LTemplateInstruction<1, 2, 0> {
|
| }
|
|
|
| DECLARE_CONCRETE_INSTRUCTION(WrapReceiver, "wrap-receiver")
|
| + DECLARE_HYDROGEN_ACCESSOR(WrapReceiver)
|
|
|
| LOperand* receiver() { return inputs_[0]; }
|
| LOperand* function() { return inputs_[1]; }
|
| @@ -808,6 +803,18 @@ class LMathLog V8_FINAL : public LTemplateInstruction<1, 1, 0> {
|
| };
|
|
|
|
|
| +class LMathClz32 V8_FINAL : public LTemplateInstruction<1, 1, 0> {
|
| + public:
|
| + explicit LMathClz32(LOperand* value) {
|
| + inputs_[0] = value;
|
| + }
|
| +
|
| + LOperand* value() { return inputs_[0]; }
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(MathClz32, "math-clz32")
|
| +};
|
| +
|
| +
|
| class LMathExp V8_FINAL : public LTemplateInstruction<1, 1, 3> {
|
| public:
|
| LMathExp(LOperand* value,
|
| @@ -1279,34 +1286,6 @@ class LMapEnumLength V8_FINAL : public LTemplateInstruction<1, 1, 0> {
|
| };
|
|
|
|
|
| -class LElementsKind V8_FINAL : public LTemplateInstruction<1, 1, 0> {
|
| - public:
|
| - explicit LElementsKind(LOperand* value) {
|
| - inputs_[0] = value;
|
| - }
|
| -
|
| - LOperand* value() { return inputs_[0]; }
|
| -
|
| - DECLARE_CONCRETE_INSTRUCTION(ElementsKind, "elements-kind")
|
| - DECLARE_HYDROGEN_ACCESSOR(ElementsKind)
|
| -};
|
| -
|
| -
|
| -class LValueOf V8_FINAL : public LTemplateInstruction<1, 1, 1> {
|
| - public:
|
| - LValueOf(LOperand* value, LOperand* temp) {
|
| - inputs_[0] = value;
|
| - temps_[0] = temp;
|
| - }
|
| -
|
| - LOperand* value() { return inputs_[0]; }
|
| - LOperand* temp() { return temps_[0]; }
|
| -
|
| - DECLARE_CONCRETE_INSTRUCTION(ValueOf, "value-of")
|
| - DECLARE_HYDROGEN_ACCESSOR(ValueOf)
|
| -};
|
| -
|
| -
|
| class LDateField V8_FINAL : public LTemplateInstruction<1, 1, 1> {
|
| public:
|
| LDateField(LOperand* date, LOperand* temp, Smi* index) : index_(index) {
|
| @@ -1362,20 +1341,6 @@ class LSeqStringSetChar V8_FINAL : public LTemplateInstruction<1, 4, 0> {
|
| };
|
|
|
|
|
| -class LThrow V8_FINAL : public LTemplateInstruction<0, 2, 0> {
|
| - public:
|
| - LThrow(LOperand* context, LOperand* value) {
|
| - inputs_[0] = context;
|
| - inputs_[1] = value;
|
| - }
|
| -
|
| - LOperand* context() { return inputs_[0]; }
|
| - LOperand* value() { return inputs_[1]; }
|
| -
|
| - DECLARE_CONCRETE_INSTRUCTION(Throw, "throw")
|
| -};
|
| -
|
| -
|
| class LAddI V8_FINAL : public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LAddI(LOperand* left, LOperand* right) {
|
| @@ -1545,20 +1510,6 @@ class LLoadRoot V8_FINAL : public LTemplateInstruction<1, 0, 0> {
|
| };
|
|
|
|
|
| -class LLoadExternalArrayPointer V8_FINAL
|
| - : public LTemplateInstruction<1, 1, 0> {
|
| - public:
|
| - explicit LLoadExternalArrayPointer(LOperand* object) {
|
| - inputs_[0] = object;
|
| - }
|
| -
|
| - LOperand* object() { return inputs_[0]; }
|
| -
|
| - DECLARE_CONCRETE_INSTRUCTION(LoadExternalArrayPointer,
|
| - "load-external-array-pointer")
|
| -};
|
| -
|
| -
|
| class LLoadKeyed V8_FINAL : public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LLoadKeyed(LOperand* elements, LOperand* key) {
|
| @@ -1753,18 +1704,6 @@ class LContext V8_FINAL : public LTemplateInstruction<1, 0, 0> {
|
| };
|
|
|
|
|
| -class LOuterContext V8_FINAL : public LTemplateInstruction<1, 1, 0> {
|
| - public:
|
| - explicit LOuterContext(LOperand* context) {
|
| - inputs_[0] = context;
|
| - }
|
| -
|
| - LOperand* context() { return inputs_[0]; }
|
| -
|
| - DECLARE_CONCRETE_INSTRUCTION(OuterContext, "outer-context")
|
| -};
|
| -
|
| -
|
| class LDeclareGlobals V8_FINAL : public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LDeclareGlobals(LOperand* context) {
|
| @@ -1778,30 +1717,6 @@ class LDeclareGlobals V8_FINAL : public LTemplateInstruction<0, 1, 0> {
|
| };
|
|
|
|
|
| -class LGlobalObject V8_FINAL : public LTemplateInstruction<1, 1, 0> {
|
| - public:
|
| - explicit LGlobalObject(LOperand* context) {
|
| - inputs_[0] = context;
|
| - }
|
| -
|
| - LOperand* context() { return inputs_[0]; }
|
| -
|
| - DECLARE_CONCRETE_INSTRUCTION(GlobalObject, "global-object")
|
| -};
|
| -
|
| -
|
| -class LGlobalReceiver V8_FINAL : public LTemplateInstruction<1, 1, 0> {
|
| - public:
|
| - explicit LGlobalReceiver(LOperand* global_object) {
|
| - inputs_[0] = global_object;
|
| - }
|
| -
|
| - LOperand* global_object() { return inputs_[0]; }
|
| -
|
| - DECLARE_CONCRETE_INSTRUCTION(GlobalReceiver, "global-receiver")
|
| -};
|
| -
|
| -
|
| class LCallJSFunction V8_FINAL : public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LCallJSFunction(LOperand* function) {
|
| @@ -2652,7 +2567,6 @@ class LChunkBuilder V8_FINAL : public LChunkBuilderBase {
|
| current_block_(NULL),
|
| next_block_(NULL),
|
| allocator_(allocator),
|
| - position_(RelocInfo::kNoPosition),
|
| instruction_pending_deoptimization_environment_(NULL),
|
| pending_deoptimization_ast_id_(BailoutId::None()) { }
|
|
|
| @@ -2669,7 +2583,6 @@ class LChunkBuilder V8_FINAL : public LChunkBuilderBase {
|
| LInstruction* DoMultiplyAdd(HMul* mul, HValue* addend);
|
|
|
| static bool HasMagicNumberForDivisor(int32_t divisor);
|
| - static HValue* SimplifiedDivisorForMathFloorOfDiv(HValue* val);
|
|
|
| LInstruction* DoMathFloor(HUnaryMathOperation* instr);
|
| LInstruction* DoMathRound(HUnaryMathOperation* instr);
|
| @@ -2678,6 +2591,7 @@ class LChunkBuilder V8_FINAL : public LChunkBuilderBase {
|
| LInstruction* DoMathExp(HUnaryMathOperation* instr);
|
| LInstruction* DoMathSqrt(HUnaryMathOperation* instr);
|
| LInstruction* DoMathPowHalf(HUnaryMathOperation* instr);
|
| + LInstruction* DoMathClz32(HUnaryMathOperation* instr);
|
|
|
| private:
|
| enum Status {
|
| @@ -2789,7 +2703,6 @@ class LChunkBuilder V8_FINAL : public LChunkBuilderBase {
|
| HBasicBlock* current_block_;
|
| HBasicBlock* next_block_;
|
| LAllocator* allocator_;
|
| - int position_;
|
| LInstruction* instruction_pending_deoptimization_environment_;
|
| BailoutId pending_deoptimization_ast_id_;
|
|
|
|
|