| Index: src/ia32/lithium-ia32.h
|
| diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h
|
| index a6a25261ea446c6457a16bea6521f0e468e80e07..0c2f8a0bbf4195e251c275e98e4648f54603e538 100644
|
| --- a/src/ia32/lithium-ia32.h
|
| +++ b/src/ia32/lithium-ia32.h
|
| @@ -276,10 +276,7 @@ class LInstruction : public ZoneObject {
|
| bool ClobbersTemps() const { return IsCall(); }
|
| bool ClobbersRegisters() const { return IsCall(); }
|
| virtual bool ClobbersDoubleRegisters() const {
|
| - return IsCall() ||
|
| - // We only have rudimentary X87Stack tracking, thus in general
|
| - // cannot handle phi-nodes.
|
| - (!CpuFeatures::IsSafeForSnapshot(SSE2) && IsControl());
|
| + return IsCall();
|
| }
|
|
|
| virtual bool HasResult() const = 0;
|
| @@ -408,17 +405,18 @@ class LInstructionGap V8_FINAL : public LGap {
|
|
|
| class LGoto V8_FINAL : public LTemplateInstruction<0, 0, 0> {
|
| public:
|
| - explicit LGoto(int block_id) : block_id_(block_id) { }
|
| + explicit LGoto(HBasicBlock* block) : block_(block) { }
|
|
|
| virtual bool HasInterestingComment(LCodeGen* gen) const V8_OVERRIDE;
|
| DECLARE_CONCRETE_INSTRUCTION(Goto, "goto")
|
| virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
|
| virtual bool IsControl() const V8_OVERRIDE { return true; }
|
|
|
| - int block_id() const { return block_id_; }
|
| + int block_id() const { return block_->block_id(); }
|
| + HBasicBlock* block() const { return block_; }
|
|
|
| private:
|
| - int block_id_;
|
| + HBasicBlock* block_;
|
| };
|
|
|
|
|
|
|