| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ | 5 #ifndef V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ |
| 6 #define V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ | 6 #define V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ |
| 7 | 7 |
| 8 #include <cstring> | 8 #include <cstring> |
| 9 #include <iosfwd> | 9 #include <iosfwd> |
| 10 | 10 |
| (...skipping 758 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 769 protected: | 769 protected: |
| 770 // This function must be overridden for instructions with flag kUseGVN, to | 770 // This function must be overridden for instructions with flag kUseGVN, to |
| 771 // compare the non-Operand parts of the instruction. | 771 // compare the non-Operand parts of the instruction. |
| 772 virtual bool DataEquals(HValue* other) { | 772 virtual bool DataEquals(HValue* other) { |
| 773 UNREACHABLE(); | 773 UNREACHABLE(); |
| 774 return false; | 774 return false; |
| 775 } | 775 } |
| 776 | 776 |
| 777 bool ToStringOrToNumberCanBeObserved() const { | 777 bool ToStringOrToNumberCanBeObserved() const { |
| 778 if (type().IsTaggedPrimitive()) return false; | 778 if (type().IsTaggedPrimitive()) return false; |
| 779 if (type().IsJSObject()) return true; | 779 if (type().IsJSReceiver()) return true; |
| 780 return !representation().IsSmiOrInteger32() && !representation().IsDouble(); | 780 return !representation().IsSmiOrInteger32() && !representation().IsDouble(); |
| 781 } | 781 } |
| 782 | 782 |
| 783 virtual Representation RepresentationFromInputs() { | 783 virtual Representation RepresentationFromInputs() { |
| 784 return representation(); | 784 return representation(); |
| 785 } | 785 } |
| 786 virtual Representation RepresentationFromUses(); | 786 virtual Representation RepresentationFromUses(); |
| 787 Representation RepresentationFromUseRequirements(); | 787 Representation RepresentationFromUseRequirements(); |
| 788 bool HasNonSmiUse(); | 788 bool HasNonSmiUse(); |
| 789 virtual void UpdateRepresentation(Representation new_rep, | 789 virtual void UpdateRepresentation(Representation new_rep, |
| (...skipping 2083 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2873 DECLARE_INSTRUCTION_FACTORY_P2(HCheckInstanceType, HValue*, Check); | 2873 DECLARE_INSTRUCTION_FACTORY_P2(HCheckInstanceType, HValue*, Check); |
| 2874 | 2874 |
| 2875 std::ostream& PrintDataTo(std::ostream& os) const override; // NOLINT | 2875 std::ostream& PrintDataTo(std::ostream& os) const override; // NOLINT |
| 2876 | 2876 |
| 2877 Representation RequiredInputRepresentation(int index) override { | 2877 Representation RequiredInputRepresentation(int index) override { |
| 2878 return Representation::Tagged(); | 2878 return Representation::Tagged(); |
| 2879 } | 2879 } |
| 2880 | 2880 |
| 2881 HType CalculateInferredType() override { | 2881 HType CalculateInferredType() override { |
| 2882 switch (check_) { | 2882 switch (check_) { |
| 2883 case IS_JS_RECEIVER: return HType::JSObject(); | 2883 case IS_JS_RECEIVER: return HType::JSReceiver(); |
| 2884 case IS_JS_ARRAY: return HType::JSArray(); | 2884 case IS_JS_ARRAY: return HType::JSArray(); |
| 2885 case IS_JS_DATE: return HType::JSObject(); | 2885 case IS_JS_DATE: return HType::JSObject(); |
| 2886 case IS_STRING: return HType::String(); | 2886 case IS_STRING: return HType::String(); |
| 2887 case IS_INTERNALIZED_STRING: return HType::String(); | 2887 case IS_INTERNALIZED_STRING: return HType::String(); |
| 2888 } | 2888 } |
| 2889 UNREACHABLE(); | 2889 UNREACHABLE(); |
| 2890 return HType::Tagged(); | 2890 return HType::Tagged(); |
| 2891 } | 2891 } |
| 2892 | 2892 |
| 2893 HValue* Canonicalize() override; | 2893 HValue* Canonicalize() override; |
| (...skipping 4923 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7817 | 7817 |
| 7818 | 7818 |
| 7819 | 7819 |
| 7820 #undef DECLARE_INSTRUCTION | 7820 #undef DECLARE_INSTRUCTION |
| 7821 #undef DECLARE_CONCRETE_INSTRUCTION | 7821 #undef DECLARE_CONCRETE_INSTRUCTION |
| 7822 | 7822 |
| 7823 } // namespace internal | 7823 } // namespace internal |
| 7824 } // namespace v8 | 7824 } // namespace v8 |
| 7825 | 7825 |
| 7826 #endif // V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ | 7826 #endif // V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ |
| OLD | NEW |