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 2569 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2684 | 2682 |
2685 DECLARE_CONCRETE_INSTRUCTION(TypeofIsAndBranch, "typeof-is-and-branch") | 2683 DECLARE_CONCRETE_INSTRUCTION(TypeofIsAndBranch, "typeof-is-and-branch") |
2686 DECLARE_HYDROGEN_ACCESSOR(TypeofIsAndBranch) | 2684 DECLARE_HYDROGEN_ACCESSOR(TypeofIsAndBranch) |
2687 | 2685 |
2688 Handle<String> type_literal() { return hydrogen()->type_literal(); } | 2686 Handle<String> type_literal() { return hydrogen()->type_literal(); } |
2689 | 2687 |
2690 virtual void PrintDataTo(StringStream* stream); | 2688 virtual void PrintDataTo(StringStream* stream); |
2691 }; | 2689 }; |
2692 | 2690 |
2693 | 2691 |
2694 class LDeleteProperty: public LTemplateInstruction<1, 3, 0> { | |
2695 public: | |
2696 LDeleteProperty(LOperand* context, LOperand* obj, LOperand* key) { | |
2697 inputs_[0] = context; | |
2698 inputs_[1] = obj; | |
2699 inputs_[2] = key; | |
2700 } | |
2701 | |
2702 LOperand* context() { return inputs_[0]; } | |
2703 LOperand* object() { return inputs_[1]; } | |
2704 LOperand* key() { return inputs_[2]; } | |
2705 | |
2706 DECLARE_CONCRETE_INSTRUCTION(DeleteProperty, "delete-property") | |
2707 }; | |
2708 | |
2709 | |
2710 class LOsrEntry: public LTemplateInstruction<0, 0, 0> { | 2692 class LOsrEntry: public LTemplateInstruction<0, 0, 0> { |
2711 public: | 2693 public: |
2712 LOsrEntry() {} | 2694 LOsrEntry() {} |
2713 | 2695 |
2714 virtual bool HasInterestingComment(LCodeGen* gen) const { return false; } | 2696 virtual bool HasInterestingComment(LCodeGen* gen) const { return false; } |
2715 DECLARE_CONCRETE_INSTRUCTION(OsrEntry, "osr-entry") | 2697 DECLARE_CONCRETE_INSTRUCTION(OsrEntry, "osr-entry") |
2716 }; | 2698 }; |
2717 | 2699 |
2718 | 2700 |
2719 class LStackCheck: public LTemplateInstruction<0, 1, 0> { | 2701 class LStackCheck: public LTemplateInstruction<0, 1, 0> { |
2720 public: | 2702 public: |
2721 explicit LStackCheck(LOperand* context) { | 2703 explicit LStackCheck(LOperand* context) { |
2722 inputs_[0] = context; | 2704 inputs_[0] = context; |
2723 } | 2705 } |
2724 | 2706 |
2725 LOperand* context() { return inputs_[0]; } | 2707 LOperand* context() { return inputs_[0]; } |
2726 | 2708 |
2727 DECLARE_CONCRETE_INSTRUCTION(StackCheck, "stack-check") | 2709 DECLARE_CONCRETE_INSTRUCTION(StackCheck, "stack-check") |
2728 DECLARE_HYDROGEN_ACCESSOR(StackCheck) | 2710 DECLARE_HYDROGEN_ACCESSOR(StackCheck) |
2729 | 2711 |
2730 Label* done_label() { return &done_label_; } | 2712 Label* done_label() { return &done_label_; } |
2731 | 2713 |
2732 private: | 2714 private: |
2733 Label done_label_; | 2715 Label done_label_; |
2734 }; | 2716 }; |
2735 | 2717 |
2736 | 2718 |
2737 class LIn: public LTemplateInstruction<1, 3, 0> { | |
2738 public: | |
2739 LIn(LOperand* context, LOperand* key, LOperand* object) { | |
2740 inputs_[0] = context; | |
2741 inputs_[1] = key; | |
2742 inputs_[2] = object; | |
2743 } | |
2744 | |
2745 LOperand* context() { return inputs_[0]; } | |
2746 LOperand* key() { return inputs_[1]; } | |
2747 LOperand* object() { return inputs_[2]; } | |
2748 | |
2749 DECLARE_CONCRETE_INSTRUCTION(In, "in") | |
2750 }; | |
2751 | |
2752 | |
2753 class LForInPrepareMap: public LTemplateInstruction<1, 2, 0> { | 2719 class LForInPrepareMap: public LTemplateInstruction<1, 2, 0> { |
2754 public: | 2720 public: |
2755 LForInPrepareMap(LOperand* context, LOperand* object) { | 2721 LForInPrepareMap(LOperand* context, LOperand* object) { |
2756 inputs_[0] = context; | 2722 inputs_[0] = context; |
2757 inputs_[1] = object; | 2723 inputs_[1] = object; |
2758 } | 2724 } |
2759 | 2725 |
2760 LOperand* context() { return inputs_[0]; } | 2726 LOperand* context() { return inputs_[0]; } |
2761 LOperand* object() { return inputs_[1]; } | 2727 LOperand* object() { return inputs_[1]; } |
2762 | 2728 |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3000 | 2966 |
3001 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 2967 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
3002 }; | 2968 }; |
3003 | 2969 |
3004 #undef DECLARE_HYDROGEN_ACCESSOR | 2970 #undef DECLARE_HYDROGEN_ACCESSOR |
3005 #undef DECLARE_CONCRETE_INSTRUCTION | 2971 #undef DECLARE_CONCRETE_INSTRUCTION |
3006 | 2972 |
3007 } } // namespace v8::internal | 2973 } } // namespace v8::internal |
3008 | 2974 |
3009 #endif // V8_IA32_LITHIUM_IA32_H_ | 2975 #endif // V8_IA32_LITHIUM_IA32_H_ |
OLD | NEW |