| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index 300673428257d9fee2d14c36757884433f50b716..a94376daeed8eec49fa23b3c82f69ce597dbdc39 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -104,6 +104,7 @@ class LChunkBuilder;
|
| V(DeleteProperty) \
|
| V(Deoptimize) \
|
| V(Div) \
|
| + V(DummyUse) \
|
| V(ElementsKind) \
|
| V(EnterInlined) \
|
| V(FastLiteral) \
|
| @@ -1024,6 +1025,28 @@ class HBlockEntry: public HTemplateInstruction<0> {
|
| };
|
|
|
|
|
| +class HDummyUse: public HTemplateInstruction<1> {
|
| + public:
|
| + explicit HDummyUse(HValue* value) {
|
| + SetOperandAt(0, value);
|
| + // Pretend to be a Smi so that the HChange instructions inserted
|
| + // before any use generate as little code as possible.
|
| + set_representation(Representation::Tagged());
|
| + set_type(HType::Smi());
|
| + }
|
| +
|
| + HValue* value() { return OperandAt(0); }
|
| +
|
| + virtual Representation RequiredInputRepresentation(int index) {
|
| + return Representation::None();
|
| + }
|
| +
|
| + virtual void PrintDataTo(StringStream* stream);
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(DummyUse);
|
| +};
|
| +
|
| +
|
| // We insert soft-deoptimize when we hit code with unknown typefeedback,
|
| // so that we get a chance of re-optimizing with useful typefeedback.
|
| // HSoftDeoptimize does not end a basic block as opposed to HDeoptimize.
|
|
|