| Index: src/ia32/lithium-ia32.h
|
| diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h
|
| index fe6f79463e08c74c922e1ea65086fe993f722384..7b848fc221c3fb5206caa88a5493d0396fef174b 100644
|
| --- a/src/ia32/lithium-ia32.h
|
| +++ b/src/ia32/lithium-ia32.h
|
| @@ -45,9 +45,7 @@ class LCodeGen;
|
| V(ClampDToUint8) \
|
| V(ClampIToUint8) \
|
| V(ClampTToUint8) \
|
| - V(ClampTToUint8NoSSE2) \
|
| V(ClassOfTestAndBranch) \
|
| - V(ClobberDoubles) \
|
| V(CompareMinusZeroAndBranch) \
|
| V(CompareNumericAndBranch) \
|
| V(CmpObjectEqAndBranch) \
|
| @@ -239,10 +237,7 @@ class LInstruction : public ZoneObject {
|
| bool ClobbersTemps() const { return IsCall(); }
|
| bool ClobbersRegisters() const { return IsCall(); }
|
| virtual bool ClobbersDoubleRegisters(Isolate* isolate) const {
|
| - return IsCall() ||
|
| - // We only have rudimentary X87Stack tracking, thus in general
|
| - // cannot handle phi-nodes.
|
| - (!CpuFeatures::IsSafeForSnapshot(isolate, SSE2) && IsControl());
|
| + return IsCall();
|
| }
|
|
|
| virtual bool HasResult() const = 0;
|
| @@ -250,7 +245,6 @@ class LInstruction : public ZoneObject {
|
|
|
| bool HasDoubleRegisterResult();
|
| bool HasDoubleRegisterInput();
|
| - bool IsDoubleInput(X87Register reg, LCodeGen* cgen);
|
|
|
| LOperand* FirstInput() { return InputAt(0); }
|
| LOperand* Output() { return HasResult() ? result() : NULL; }
|
| @@ -375,20 +369,6 @@ class LInstructionGap V8_FINAL : public LGap {
|
| };
|
|
|
|
|
| -class LClobberDoubles V8_FINAL : public LTemplateInstruction<0, 0, 0> {
|
| - public:
|
| - explicit LClobberDoubles(Isolate* isolate) {
|
| - ASSERT(!CpuFeatures::IsSafeForSnapshot(isolate, SSE2));
|
| - }
|
| -
|
| - virtual bool ClobbersDoubleRegisters(Isolate* isolate) const V8_OVERRIDE {
|
| - return true;
|
| - }
|
| -
|
| - DECLARE_CONCRETE_INSTRUCTION(ClobberDoubles, "clobber-d")
|
| -};
|
| -
|
| -
|
| class LGoto V8_FINAL : public LTemplateInstruction<0, 0, 0> {
|
| public:
|
| explicit LGoto(HBasicBlock* block) : block_(block) { }
|
| @@ -2460,30 +2440,6 @@ class LClampTToUint8 V8_FINAL : public LTemplateInstruction<1, 1, 1> {
|
| };
|
|
|
|
|
| -// Truncating conversion from a tagged value to an int32.
|
| -class LClampTToUint8NoSSE2 V8_FINAL : public LTemplateInstruction<1, 1, 3> {
|
| - public:
|
| - LClampTToUint8NoSSE2(LOperand* unclamped,
|
| - LOperand* temp1,
|
| - LOperand* temp2,
|
| - LOperand* temp3) {
|
| - inputs_[0] = unclamped;
|
| - temps_[0] = temp1;
|
| - temps_[1] = temp2;
|
| - temps_[2] = temp3;
|
| - }
|
| -
|
| - LOperand* unclamped() { return inputs_[0]; }
|
| - LOperand* scratch() { return temps_[0]; }
|
| - LOperand* scratch2() { return temps_[1]; }
|
| - LOperand* scratch3() { return temps_[2]; }
|
| -
|
| - DECLARE_CONCRETE_INSTRUCTION(ClampTToUint8NoSSE2,
|
| - "clamp-t-to-uint8-nosse2")
|
| - DECLARE_HYDROGEN_ACCESSOR(UnaryOperation)
|
| -};
|
| -
|
| -
|
| class LCheckNonSmi V8_FINAL : public LTemplateInstruction<0, 1, 0> {
|
| public:
|
| explicit LCheckNonSmi(LOperand* value) {
|
| @@ -2778,7 +2734,6 @@ class LChunkBuilder V8_FINAL : public LChunkBuilderBase {
|
| // Methods for getting operands for Use / Define / Temp.
|
| LUnallocated* ToUnallocated(Register reg);
|
| LUnallocated* ToUnallocated(XMMRegister reg);
|
| - LUnallocated* ToUnallocated(X87Register reg);
|
|
|
| // Methods for setting up define-use relationships.
|
| MUST_USE_RESULT LOperand* Use(HValue* value, LUnallocated* operand);
|
| @@ -2840,7 +2795,6 @@ class LChunkBuilder V8_FINAL : public LChunkBuilderBase {
|
| Register reg);
|
| LInstruction* DefineFixedDouble(LTemplateResultInstruction<1>* instr,
|
| XMMRegister reg);
|
| - LInstruction* DefineX87TOS(LTemplateResultInstruction<1>* instr);
|
| // Assigns an environment to an instruction. An instruction which can
|
| // deoptimize must have an environment.
|
| LInstruction* AssignEnvironment(LInstruction* instr);
|
|
|