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 4774 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4785 private: | 4785 private: |
4786 Handle<FixedArray> constant_properties_; | 4786 Handle<FixedArray> constant_properties_; |
4787 bool fast_elements_; | 4787 bool fast_elements_; |
4788 bool has_function_; | 4788 bool has_function_; |
4789 }; | 4789 }; |
4790 | 4790 |
4791 | 4791 |
4792 class HRegExpLiteral: public HMaterializedLiteral<1> { | 4792 class HRegExpLiteral: public HMaterializedLiteral<1> { |
4793 public: | 4793 public: |
4794 HRegExpLiteral(HValue* context, | 4794 HRegExpLiteral(HValue* context, |
| 4795 Handle<FixedArray> literals, |
4795 Handle<String> pattern, | 4796 Handle<String> pattern, |
4796 Handle<String> flags, | 4797 Handle<String> flags, |
4797 int literal_index) | 4798 int literal_index) |
4798 : HMaterializedLiteral<1>(literal_index, 0), | 4799 : HMaterializedLiteral<1>(literal_index, 0), |
| 4800 literals_(literals), |
4799 pattern_(pattern), | 4801 pattern_(pattern), |
4800 flags_(flags) { | 4802 flags_(flags) { |
4801 SetOperandAt(0, context); | 4803 SetOperandAt(0, context); |
4802 SetAllSideEffects(); | 4804 SetAllSideEffects(); |
4803 } | 4805 } |
4804 | 4806 |
4805 HValue* context() { return OperandAt(0); } | 4807 HValue* context() { return OperandAt(0); } |
| 4808 Handle<FixedArray> literals() { return literals_; } |
4806 Handle<String> pattern() { return pattern_; } | 4809 Handle<String> pattern() { return pattern_; } |
4807 Handle<String> flags() { return flags_; } | 4810 Handle<String> flags() { return flags_; } |
4808 | 4811 |
4809 virtual Representation RequiredInputRepresentation(int index) { | 4812 virtual Representation RequiredInputRepresentation(int index) { |
4810 return Representation::Tagged(); | 4813 return Representation::Tagged(); |
4811 } | 4814 } |
4812 virtual HType CalculateInferredType(); | 4815 virtual HType CalculateInferredType(); |
4813 | 4816 |
4814 DECLARE_CONCRETE_INSTRUCTION(RegExpLiteral) | 4817 DECLARE_CONCRETE_INSTRUCTION(RegExpLiteral) |
4815 | 4818 |
4816 private: | 4819 private: |
| 4820 Handle<FixedArray> literals_; |
4817 Handle<String> pattern_; | 4821 Handle<String> pattern_; |
4818 Handle<String> flags_; | 4822 Handle<String> flags_; |
4819 }; | 4823 }; |
4820 | 4824 |
4821 | 4825 |
4822 class HFunctionLiteral: public HTemplateInstruction<1> { | 4826 class HFunctionLiteral: public HTemplateInstruction<1> { |
4823 public: | 4827 public: |
4824 HFunctionLiteral(HValue* context, | 4828 HFunctionLiteral(HValue* context, |
4825 Handle<SharedFunctionInfo> shared, | 4829 Handle<SharedFunctionInfo> shared, |
4826 bool pretenure) | 4830 bool pretenure) |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5097 DECLARE_CONCRETE_INSTRUCTION(LoadFieldByIndex); | 5101 DECLARE_CONCRETE_INSTRUCTION(LoadFieldByIndex); |
5098 }; | 5102 }; |
5099 | 5103 |
5100 | 5104 |
5101 #undef DECLARE_INSTRUCTION | 5105 #undef DECLARE_INSTRUCTION |
5102 #undef DECLARE_CONCRETE_INSTRUCTION | 5106 #undef DECLARE_CONCRETE_INSTRUCTION |
5103 | 5107 |
5104 } } // namespace v8::internal | 5108 } } // namespace v8::internal |
5105 | 5109 |
5106 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 5110 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |