| Index: src/mips/lithium-mips.h
|
| diff --git a/src/mips/lithium-mips.h b/src/mips/lithium-mips.h
|
| index 479f75aff384c0cc6cf79b6d0bad17771ef8695e..584682c13db1bb88cc094c154ed4783cd1954b51 100644
|
| --- a/src/mips/lithium-mips.h
|
| +++ b/src/mips/lithium-mips.h
|
| @@ -62,12 +62,12 @@ class LCodeGen;
|
| V(CallNewArray) \
|
| V(CallRuntime) \
|
| V(CallStub) \
|
| - V(CheckFunction) \
|
| V(CheckInstanceType) \
|
| V(CheckMaps) \
|
| V(CheckMapValue) \
|
| V(CheckNonSmi) \
|
| V(CheckSmi) \
|
| + V(CheckValue) \
|
| V(ClampDToUint8) \
|
| V(ClampIToUint8) \
|
| V(ClampTToUint8) \
|
| @@ -161,6 +161,7 @@ class LCodeGen;
|
| V(SmiTag) \
|
| V(SmiUntag) \
|
| V(StackCheck) \
|
| + V(StoreCodeEntry) \
|
| V(StoreContextSlot) \
|
| V(StoreGlobalCell) \
|
| V(StoreGlobalGeneric) \
|
| @@ -1731,7 +1732,24 @@ class LDrop V8_FINAL : public LTemplateInstruction<0, 0, 0> {
|
| };
|
|
|
|
|
| -class LInnerAllocatedObject V8_FINAL : public LTemplateInstruction<1, 1, 0> {
|
| +class LStoreCodeEntry V8_FINAL: public LTemplateInstruction<0, 1, 1> {
|
| + public:
|
| + LStoreCodeEntry(LOperand* function, LOperand* code_object) {
|
| + inputs_[0] = function;
|
| + temps_[0] = code_object;
|
| + }
|
| +
|
| + LOperand* function() { return inputs_[0]; }
|
| + LOperand* code_object() { return temps_[0]; }
|
| +
|
| + virtual void PrintDataTo(StringStream* stream);
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(StoreCodeEntry, "store-code-entry")
|
| + DECLARE_HYDROGEN_ACCESSOR(StoreCodeEntry)
|
| +};
|
| +
|
| +
|
| +class LInnerAllocatedObject V8_FINAL: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| explicit LInnerAllocatedObject(LOperand* base_object) {
|
| inputs_[0] = base_object;
|
| @@ -2023,17 +2041,13 @@ class LNumberTagD V8_FINAL : public LTemplateInstruction<1, 1, 2> {
|
| };
|
|
|
|
|
| -class LDoubleToSmi V8_FINAL : public LTemplateInstruction<1, 1, 2> {
|
| +class LDoubleToSmi V8_FINAL : public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| - LDoubleToSmi(LOperand* value, LOperand* temp, LOperand* temp2) {
|
| + explicit LDoubleToSmi(LOperand* value) {
|
| inputs_[0] = value;
|
| - temps_[0] = temp;
|
| - temps_[1] = temp2;
|
| }
|
|
|
| LOperand* value() { return inputs_[0]; }
|
| - LOperand* temp() { return temps_[0]; }
|
| - LOperand* temp2() { return temps_[1]; }
|
|
|
| DECLARE_CONCRETE_INSTRUCTION(DoubleToSmi, "double-to-smi")
|
| DECLARE_HYDROGEN_ACCESSOR(UnaryOperation)
|
| @@ -2043,17 +2057,13 @@ class LDoubleToSmi V8_FINAL : public LTemplateInstruction<1, 1, 2> {
|
|
|
|
|
| // Sometimes truncating conversion from a tagged value to an int32.
|
| -class LDoubleToI V8_FINAL : public LTemplateInstruction<1, 1, 2> {
|
| +class LDoubleToI V8_FINAL : public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| - LDoubleToI(LOperand* value, LOperand* temp, LOperand* temp2) {
|
| + explicit LDoubleToI(LOperand* value) {
|
| inputs_[0] = value;
|
| - temps_[0] = temp;
|
| - temps_[1] = temp2;
|
| }
|
|
|
| LOperand* value() { return inputs_[0]; }
|
| - LOperand* temp() { return temps_[0]; }
|
| - LOperand* temp2() { return temps_[1]; }
|
|
|
| DECLARE_CONCRETE_INSTRUCTION(DoubleToI, "double-to-i")
|
| DECLARE_HYDROGEN_ACCESSOR(UnaryOperation)
|
| @@ -2063,22 +2073,19 @@ class LDoubleToI V8_FINAL : public LTemplateInstruction<1, 1, 2> {
|
|
|
|
|
| // Truncating conversion from a tagged value to an int32.
|
| -class LTaggedToI V8_FINAL : public LTemplateInstruction<1, 1, 3> {
|
| +class LTaggedToI V8_FINAL : public LTemplateInstruction<1, 1, 2> {
|
| public:
|
| LTaggedToI(LOperand* value,
|
| LOperand* temp,
|
| - LOperand* temp2,
|
| - LOperand* temp3) {
|
| + LOperand* temp2) {
|
| inputs_[0] = value;
|
| temps_[0] = temp;
|
| temps_[1] = temp2;
|
| - temps_[2] = temp3;
|
| }
|
|
|
| LOperand* value() { return inputs_[0]; }
|
| LOperand* temp() { return temps_[0]; }
|
| LOperand* temp2() { return temps_[1]; }
|
| - LOperand* temp3() { return temps_[2]; }
|
|
|
| DECLARE_CONCRETE_INSTRUCTION(TaggedToI, "tagged-to-i")
|
| DECLARE_HYDROGEN_ACCESSOR(UnaryOperation)
|
| @@ -2303,16 +2310,16 @@ class LStringCharFromCode V8_FINAL : public LTemplateInstruction<1, 1, 0> {
|
| };
|
|
|
|
|
| -class LCheckFunction V8_FINAL : public LTemplateInstruction<0, 1, 0> {
|
| +class LCheckValue V8_FINAL : public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| - explicit LCheckFunction(LOperand* value) {
|
| + explicit LCheckValue(LOperand* value) {
|
| inputs_[0] = value;
|
| }
|
|
|
| LOperand* value() { return inputs_[0]; }
|
|
|
| - DECLARE_CONCRETE_INSTRUCTION(CheckFunction, "check-function")
|
| - DECLARE_HYDROGEN_ACCESSOR(CheckFunction)
|
| + DECLARE_CONCRETE_INSTRUCTION(CheckValue, "check-value")
|
| + DECLARE_HYDROGEN_ACCESSOR(CheckValue)
|
| };
|
|
|
|
|
|
|