| Index: src/x87/lithium-x87.h
|
| diff --git a/src/x87/lithium-x87.h b/src/x87/lithium-x87.h
|
| index e54ba023f83ce5ee0bfacee05466f7af2d4457be..316dee7786922bc6c63241b53ce5568831bff5fc 100644
|
| --- a/src/x87/lithium-x87.h
|
| +++ b/src/x87/lithium-x87.h
|
| @@ -156,6 +156,7 @@ class LCodeGen;
|
| V(StringCompareAndBranch) \
|
| V(SubI) \
|
| V(TaggedToI) \
|
| + V(TailCallThroughMegamorphicCache) \
|
| V(ThisFunction) \
|
| V(ToFastProperties) \
|
| V(TransitionElementsKind) \
|
| @@ -496,6 +497,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 {
|
| @@ -1909,9 +1931,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;
|
|
|
|
|