OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 V(OuterContext) \ | 139 V(OuterContext) \ |
140 V(Parameter) \ | 140 V(Parameter) \ |
141 V(Power) \ | 141 V(Power) \ |
142 V(PushArgument) \ | 142 V(PushArgument) \ |
143 V(RegExpLiteral) \ | 143 V(RegExpLiteral) \ |
144 V(Return) \ | 144 V(Return) \ |
145 V(Sar) \ | 145 V(Sar) \ |
146 V(Shl) \ | 146 V(Shl) \ |
147 V(Shr) \ | 147 V(Shr) \ |
148 V(Simulate) \ | 148 V(Simulate) \ |
| 149 V(SoftDeoptimize) \ |
149 V(StackCheck) \ | 150 V(StackCheck) \ |
150 V(StoreContextSlot) \ | 151 V(StoreContextSlot) \ |
151 V(StoreGlobalCell) \ | 152 V(StoreGlobalCell) \ |
152 V(StoreGlobalGeneric) \ | 153 V(StoreGlobalGeneric) \ |
153 V(StoreKeyedFastElement) \ | 154 V(StoreKeyedFastElement) \ |
154 V(StoreKeyedGeneric) \ | 155 V(StoreKeyedGeneric) \ |
155 V(StoreKeyedSpecializedArrayElement) \ | 156 V(StoreKeyedSpecializedArrayElement) \ |
156 V(StoreNamedField) \ | 157 V(StoreNamedField) \ |
157 V(StoreNamedGeneric) \ | 158 V(StoreNamedGeneric) \ |
158 V(StringAdd) \ | 159 V(StringAdd) \ |
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
840 class HBlockEntry: public HTemplateInstruction<0> { | 841 class HBlockEntry: public HTemplateInstruction<0> { |
841 public: | 842 public: |
842 virtual Representation RequiredInputRepresentation(int index) const { | 843 virtual Representation RequiredInputRepresentation(int index) const { |
843 return Representation::None(); | 844 return Representation::None(); |
844 } | 845 } |
845 | 846 |
846 DECLARE_CONCRETE_INSTRUCTION(BlockEntry) | 847 DECLARE_CONCRETE_INSTRUCTION(BlockEntry) |
847 }; | 848 }; |
848 | 849 |
849 | 850 |
| 851 class HSoftDeoptimize: public HTemplateInstruction<0> { |
| 852 public: |
| 853 virtual Representation RequiredInputRepresentation(int index) const { |
| 854 return Representation::None(); |
| 855 } |
| 856 |
| 857 DECLARE_CONCRETE_INSTRUCTION(SoftDeoptimize) |
| 858 }; |
| 859 |
| 860 |
850 class HDeoptimize: public HControlInstruction { | 861 class HDeoptimize: public HControlInstruction { |
851 public: | 862 public: |
852 explicit HDeoptimize(int environment_length) | 863 explicit HDeoptimize(int environment_length) |
853 : HControlInstruction(NULL, NULL), | 864 : HControlInstruction(NULL, NULL), |
854 values_(environment_length) { } | 865 values_(environment_length) { } |
855 | 866 |
856 virtual Representation RequiredInputRepresentation(int index) const { | 867 virtual Representation RequiredInputRepresentation(int index) const { |
857 return Representation::None(); | 868 return Representation::None(); |
858 } | 869 } |
859 | 870 |
860 virtual int OperandCount() { return values_.length(); } | 871 virtual int OperandCount() { return values_.length(); } |
861 virtual HValue* OperandAt(int index) { return values_[index]; } | 872 virtual HValue* OperandAt(int index) { return values_[index]; } |
| 873 virtual void PrintDataTo(StringStream* stream); |
862 | 874 |
863 void AddEnvironmentValue(HValue* value) { | 875 void AddEnvironmentValue(HValue* value) { |
864 values_.Add(NULL); | 876 values_.Add(NULL); |
865 SetOperandAt(values_.length() - 1, value); | 877 SetOperandAt(values_.length() - 1, value); |
866 } | 878 } |
867 | 879 |
868 DECLARE_CONCRETE_INSTRUCTION(Deoptimize) | 880 DECLARE_CONCRETE_INSTRUCTION(Deoptimize) |
869 | 881 |
870 enum UseEnvironment { | 882 enum UseEnvironment { |
871 kNoUses, | 883 kNoUses, |
(...skipping 3160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4032 | 4044 |
4033 DECLARE_CONCRETE_INSTRUCTION(In) | 4045 DECLARE_CONCRETE_INSTRUCTION(In) |
4034 }; | 4046 }; |
4035 | 4047 |
4036 #undef DECLARE_INSTRUCTION | 4048 #undef DECLARE_INSTRUCTION |
4037 #undef DECLARE_CONCRETE_INSTRUCTION | 4049 #undef DECLARE_CONCRETE_INSTRUCTION |
4038 | 4050 |
4039 } } // namespace v8::internal | 4051 } } // namespace v8::internal |
4040 | 4052 |
4041 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 4053 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |