OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 V(CmpMapAndBranch) \ | 80 V(CmpMapAndBranch) \ |
81 V(CmpT) \ | 81 V(CmpT) \ |
82 V(CmpConstantEqAndBranch) \ | 82 V(CmpConstantEqAndBranch) \ |
83 V(ConstantD) \ | 83 V(ConstantD) \ |
84 V(ConstantI) \ | 84 V(ConstantI) \ |
85 V(ConstantS) \ | 85 V(ConstantS) \ |
86 V(ConstantT) \ | 86 V(ConstantT) \ |
87 V(Context) \ | 87 V(Context) \ |
88 V(DebugBreak) \ | 88 V(DebugBreak) \ |
89 V(DeclareGlobals) \ | 89 V(DeclareGlobals) \ |
90 V(DeleteProperty) \ | |
91 V(Deoptimize) \ | 90 V(Deoptimize) \ |
92 V(DivI) \ | 91 V(DivI) \ |
93 V(DoubleToI) \ | 92 V(DoubleToI) \ |
94 V(DoubleToSmi) \ | 93 V(DoubleToSmi) \ |
95 V(DummyUse) \ | 94 V(DummyUse) \ |
96 V(ElementsKind) \ | 95 V(ElementsKind) \ |
97 V(FunctionLiteral) \ | 96 V(FunctionLiteral) \ |
98 V(GetCachedArrayIndex) \ | 97 V(GetCachedArrayIndex) \ |
99 V(GlobalObject) \ | 98 V(GlobalObject) \ |
100 V(GlobalReceiver) \ | 99 V(GlobalReceiver) \ |
101 V(Goto) \ | 100 V(Goto) \ |
102 V(HasCachedArrayIndexAndBranch) \ | 101 V(HasCachedArrayIndexAndBranch) \ |
103 V(HasInstanceTypeAndBranch) \ | 102 V(HasInstanceTypeAndBranch) \ |
104 V(In) \ | |
105 V(InstanceOf) \ | 103 V(InstanceOf) \ |
106 V(InstanceOfKnownGlobal) \ | 104 V(InstanceOfKnownGlobal) \ |
107 V(InstanceSize) \ | 105 V(InstanceSize) \ |
108 V(InstructionGap) \ | 106 V(InstructionGap) \ |
109 V(Integer32ToDouble) \ | 107 V(Integer32ToDouble) \ |
110 V(Integer32ToSmi) \ | 108 V(Integer32ToSmi) \ |
111 V(Uint32ToDouble) \ | 109 V(Uint32ToDouble) \ |
112 V(InvokeFunction) \ | 110 V(InvokeFunction) \ |
113 V(IsConstructCallAndBranch) \ | 111 V(IsConstructCallAndBranch) \ |
114 V(IsObjectAndBranch) \ | 112 V(IsObjectAndBranch) \ |
(...skipping 2568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2683 | 2681 |
2684 DECLARE_CONCRETE_INSTRUCTION(TypeofIsAndBranch, "typeof-is-and-branch") | 2682 DECLARE_CONCRETE_INSTRUCTION(TypeofIsAndBranch, "typeof-is-and-branch") |
2685 DECLARE_HYDROGEN_ACCESSOR(TypeofIsAndBranch) | 2683 DECLARE_HYDROGEN_ACCESSOR(TypeofIsAndBranch) |
2686 | 2684 |
2687 Handle<String> type_literal() { return hydrogen()->type_literal(); } | 2685 Handle<String> type_literal() { return hydrogen()->type_literal(); } |
2688 | 2686 |
2689 virtual void PrintDataTo(StringStream* stream); | 2687 virtual void PrintDataTo(StringStream* stream); |
2690 }; | 2688 }; |
2691 | 2689 |
2692 | 2690 |
2693 class LDeleteProperty: public LTemplateInstruction<1, 3, 0> { | |
2694 public: | |
2695 LDeleteProperty(LOperand* context, LOperand* obj, LOperand* key) { | |
2696 inputs_[0] = context; | |
2697 inputs_[1] = obj; | |
2698 inputs_[2] = key; | |
2699 } | |
2700 | |
2701 LOperand* context() { return inputs_[0]; } | |
2702 LOperand* object() { return inputs_[1]; } | |
2703 LOperand* key() { return inputs_[2]; } | |
2704 | |
2705 DECLARE_CONCRETE_INSTRUCTION(DeleteProperty, "delete-property") | |
2706 }; | |
2707 | |
2708 | |
2709 class LOsrEntry: public LTemplateInstruction<0, 0, 0> { | 2691 class LOsrEntry: public LTemplateInstruction<0, 0, 0> { |
2710 public: | 2692 public: |
2711 LOsrEntry() {} | 2693 LOsrEntry() {} |
2712 | 2694 |
2713 virtual bool HasInterestingComment(LCodeGen* gen) const { return false; } | 2695 virtual bool HasInterestingComment(LCodeGen* gen) const { return false; } |
2714 DECLARE_CONCRETE_INSTRUCTION(OsrEntry, "osr-entry") | 2696 DECLARE_CONCRETE_INSTRUCTION(OsrEntry, "osr-entry") |
2715 }; | 2697 }; |
2716 | 2698 |
2717 | 2699 |
2718 class LStackCheck: public LTemplateInstruction<0, 1, 0> { | 2700 class LStackCheck: public LTemplateInstruction<0, 1, 0> { |
2719 public: | 2701 public: |
2720 explicit LStackCheck(LOperand* context) { | 2702 explicit LStackCheck(LOperand* context) { |
2721 inputs_[0] = context; | 2703 inputs_[0] = context; |
2722 } | 2704 } |
2723 | 2705 |
2724 LOperand* context() { return inputs_[0]; } | 2706 LOperand* context() { return inputs_[0]; } |
2725 | 2707 |
2726 DECLARE_CONCRETE_INSTRUCTION(StackCheck, "stack-check") | 2708 DECLARE_CONCRETE_INSTRUCTION(StackCheck, "stack-check") |
2727 DECLARE_HYDROGEN_ACCESSOR(StackCheck) | 2709 DECLARE_HYDROGEN_ACCESSOR(StackCheck) |
2728 | 2710 |
2729 Label* done_label() { return &done_label_; } | 2711 Label* done_label() { return &done_label_; } |
2730 | 2712 |
2731 private: | 2713 private: |
2732 Label done_label_; | 2714 Label done_label_; |
2733 }; | 2715 }; |
2734 | 2716 |
2735 | 2717 |
2736 class LIn: public LTemplateInstruction<1, 3, 0> { | |
2737 public: | |
2738 LIn(LOperand* context, LOperand* key, LOperand* object) { | |
2739 inputs_[0] = context; | |
2740 inputs_[1] = key; | |
2741 inputs_[2] = object; | |
2742 } | |
2743 | |
2744 LOperand* context() { return inputs_[0]; } | |
2745 LOperand* key() { return inputs_[1]; } | |
2746 LOperand* object() { return inputs_[2]; } | |
2747 | |
2748 DECLARE_CONCRETE_INSTRUCTION(In, "in") | |
2749 }; | |
2750 | |
2751 | |
2752 class LForInPrepareMap: public LTemplateInstruction<1, 2, 0> { | 2718 class LForInPrepareMap: public LTemplateInstruction<1, 2, 0> { |
2753 public: | 2719 public: |
2754 LForInPrepareMap(LOperand* context, LOperand* object) { | 2720 LForInPrepareMap(LOperand* context, LOperand* object) { |
2755 inputs_[0] = context; | 2721 inputs_[0] = context; |
2756 inputs_[1] = object; | 2722 inputs_[1] = object; |
2757 } | 2723 } |
2758 | 2724 |
2759 LOperand* context() { return inputs_[0]; } | 2725 LOperand* context() { return inputs_[0]; } |
2760 LOperand* object() { return inputs_[1]; } | 2726 LOperand* object() { return inputs_[1]; } |
2761 | 2727 |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2999 | 2965 |
3000 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2966 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
3001 }; | 2967 }; |
3002 | 2968 |
3003 #undef DECLARE_HYDROGEN_ACCESSOR | 2969 #undef DECLARE_HYDROGEN_ACCESSOR |
3004 #undef DECLARE_CONCRETE_INSTRUCTION | 2970 #undef DECLARE_CONCRETE_INSTRUCTION |
3005 | 2971 |
3006 } } // namespace v8::internal | 2972 } } // namespace v8::internal |
3007 | 2973 |
3008 #endif // V8_IA32_LITHIUM_IA32_H_ | 2974 #endif // V8_IA32_LITHIUM_IA32_H_ |
OLD | NEW |