| 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 4694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4705 }; | 4705 }; |
| 4706 | 4706 |
| 4707 | 4707 |
| 4708 class HStringAdd: public HBinaryOperation { | 4708 class HStringAdd: public HBinaryOperation { |
| 4709 public: | 4709 public: |
| 4710 HStringAdd(HValue* context, HValue* left, HValue* right) | 4710 HStringAdd(HValue* context, HValue* left, HValue* right) |
| 4711 : HBinaryOperation(context, left, right) { | 4711 : HBinaryOperation(context, left, right) { |
| 4712 set_representation(Representation::Tagged()); | 4712 set_representation(Representation::Tagged()); |
| 4713 SetFlag(kUseGVN); | 4713 SetFlag(kUseGVN); |
| 4714 SetGVNFlag(kDependsOnMaps); | 4714 SetGVNFlag(kDependsOnMaps); |
| 4715 SetGVNFlag(kChangesNewSpacePromotion); |
| 4715 } | 4716 } |
| 4716 | 4717 |
| 4717 virtual Representation RequiredInputRepresentation(int index) { | 4718 virtual Representation RequiredInputRepresentation(int index) { |
| 4718 return Representation::Tagged(); | 4719 return Representation::Tagged(); |
| 4719 } | 4720 } |
| 4720 | 4721 |
| 4721 virtual HType CalculateInferredType() { | 4722 virtual HType CalculateInferredType() { |
| 4722 return HType::String(); | 4723 return HType::String(); |
| 4723 } | 4724 } |
| 4724 | 4725 |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4788 DECLARE_CONCRETE_INSTRUCTION(StringCharFromCode) | 4789 DECLARE_CONCRETE_INSTRUCTION(StringCharFromCode) |
| 4789 }; | 4790 }; |
| 4790 | 4791 |
| 4791 | 4792 |
| 4792 class HStringLength: public HUnaryOperation { | 4793 class HStringLength: public HUnaryOperation { |
| 4793 public: | 4794 public: |
| 4794 explicit HStringLength(HValue* string) : HUnaryOperation(string) { | 4795 explicit HStringLength(HValue* string) : HUnaryOperation(string) { |
| 4795 set_representation(Representation::Tagged()); | 4796 set_representation(Representation::Tagged()); |
| 4796 SetFlag(kUseGVN); | 4797 SetFlag(kUseGVN); |
| 4797 SetGVNFlag(kDependsOnMaps); | 4798 SetGVNFlag(kDependsOnMaps); |
| 4798 SetGVNFlag(kChangesNewSpacePromotion); | |
| 4799 } | 4799 } |
| 4800 | 4800 |
| 4801 virtual Representation RequiredInputRepresentation(int index) { | 4801 virtual Representation RequiredInputRepresentation(int index) { |
| 4802 return Representation::Tagged(); | 4802 return Representation::Tagged(); |
| 4803 } | 4803 } |
| 4804 | 4804 |
| 4805 virtual HType CalculateInferredType() { | 4805 virtual HType CalculateInferredType() { |
| 4806 STATIC_ASSERT(String::kMaxLength <= Smi::kMaxValue); | 4806 STATIC_ASSERT(String::kMaxLength <= Smi::kMaxValue); |
| 4807 return HType::Smi(); | 4807 return HType::Smi(); |
| 4808 } | 4808 } |
| (...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5286 DECLARE_CONCRETE_INSTRUCTION(LoadFieldByIndex); | 5286 DECLARE_CONCRETE_INSTRUCTION(LoadFieldByIndex); |
| 5287 }; | 5287 }; |
| 5288 | 5288 |
| 5289 | 5289 |
| 5290 #undef DECLARE_INSTRUCTION | 5290 #undef DECLARE_INSTRUCTION |
| 5291 #undef DECLARE_CONCRETE_INSTRUCTION | 5291 #undef DECLARE_CONCRETE_INSTRUCTION |
| 5292 | 5292 |
| 5293 } } // namespace v8::internal | 5293 } } // namespace v8::internal |
| 5294 | 5294 |
| 5295 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 5295 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
| OLD | NEW |