| Index: src/x64/lithium-x64.h
|
| diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h
|
| index a8291473bd31cc8f72a8db698553973093d2c86c..55c599451b406a21c1e9f67536c900026f6d5af5 100644
|
| --- a/src/x64/lithium-x64.h
|
| +++ b/src/x64/lithium-x64.h
|
| @@ -151,6 +151,7 @@ class LCodeGen;
|
| V(StringCompareAndBranch) \
|
| V(SubI) \
|
| V(TaggedToI) \
|
| + V(TailCallThroughMegamorphicCache) \
|
| V(ThisFunction) \
|
| V(ToFastProperties) \
|
| V(TransitionElementsKind) \
|
| @@ -489,6 +490,27 @@ class LCallStub FINAL : public LTemplateInstruction<1, 1, 0> {
|
| };
|
|
|
|
|
| +class LTailCallThroughMegamorphicCache FINAL
|
| + : public LTemplateInstruction<0, 3, 0> {
|
| + public:
|
| + explicit LTailCallThroughMegamorphicCache(LOperand* context,
|
| + LOperand* receiver,
|
| + LOperand* name) {
|
| + inputs_[0] = context;
|
| + inputs_[1] = receiver;
|
| + inputs_[2] = name;
|
| + }
|
| +
|
| + LOperand* context() { return inputs_[0]; }
|
| + LOperand* receiver() { return inputs_[1]; }
|
| + LOperand* name() { return inputs_[2]; }
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(TailCallThroughMegamorphicCache,
|
| + "tail-call-through-megamorphic-cache")
|
| + DECLARE_HYDROGEN_ACCESSOR(TailCallThroughMegamorphicCache)
|
| +};
|
| +
|
| +
|
| class LUnknownOSRValue FINAL : public LTemplateInstruction<1, 0, 0> {
|
| public:
|
| virtual bool HasInterestingComment(LCodeGen* gen) const OVERRIDE {
|
| @@ -1886,9 +1908,10 @@ class LCallWithDescriptor FINAL : public LTemplateResultInstruction<1> {
|
|
|
| LOperand* target() const { return inputs_[0]; }
|
|
|
| + DECLARE_HYDROGEN_ACCESSOR(CallWithDescriptor)
|
| +
|
| private:
|
| DECLARE_CONCRETE_INSTRUCTION(CallWithDescriptor, "call-with-descriptor")
|
| - DECLARE_HYDROGEN_ACCESSOR(CallWithDescriptor)
|
|
|
| virtual void PrintDataTo(StringStream* stream) OVERRIDE;
|
|
|
|
|