| 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 2844 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2855 } | 2855 } |
| 2856 | 2856 |
| 2857 Unique<HeapObject> object_; | 2857 Unique<HeapObject> object_; |
| 2858 bool object_in_new_space_; | 2858 bool object_in_new_space_; |
| 2859 }; | 2859 }; |
| 2860 | 2860 |
| 2861 | 2861 |
| 2862 class HCheckInstanceType final : public HUnaryOperation { | 2862 class HCheckInstanceType final : public HUnaryOperation { |
| 2863 public: | 2863 public: |
| 2864 enum Check { | 2864 enum Check { |
| 2865 IS_SPEC_OBJECT, | 2865 IS_JS_RECEIVER, |
| 2866 IS_JS_ARRAY, | 2866 IS_JS_ARRAY, |
| 2867 IS_JS_DATE, | 2867 IS_JS_DATE, |
| 2868 IS_STRING, | 2868 IS_STRING, |
| 2869 IS_INTERNALIZED_STRING, | 2869 IS_INTERNALIZED_STRING, |
| 2870 LAST_INTERVAL_CHECK = IS_JS_DATE | 2870 LAST_INTERVAL_CHECK = IS_JS_DATE |
| 2871 }; | 2871 }; |
| 2872 | 2872 |
| 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_SPEC_OBJECT: return HType::JSObject(); | 2883 case IS_JS_RECEIVER: return HType::JSObject(); |
| 2884 case IS_JS_ARRAY: return HType::JSArray(); | 2884 case IS_JS_ARRAY: return HType::JSArray(); |
| 2885 case IS_JS_DATE: | 2885 case IS_JS_DATE: return HType::JSObject(); |
| 2886 return HType::JSObject(); | |
| 2887 case IS_STRING: return HType::String(); | 2886 case IS_STRING: return HType::String(); |
| 2888 case IS_INTERNALIZED_STRING: return HType::String(); | 2887 case IS_INTERNALIZED_STRING: return HType::String(); |
| 2889 } | 2888 } |
| 2890 UNREACHABLE(); | 2889 UNREACHABLE(); |
| 2891 return HType::Tagged(); | 2890 return HType::Tagged(); |
| 2892 } | 2891 } |
| 2893 | 2892 |
| 2894 HValue* Canonicalize() override; | 2893 HValue* Canonicalize() override; |
| 2895 | 2894 |
| 2896 bool is_interval_check() const { return check_ <= LAST_INTERVAL_CHECK; } | 2895 bool is_interval_check() const { return check_ <= LAST_INTERVAL_CHECK; } |
| (...skipping 4921 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7818 | 7817 |
| 7819 | 7818 |
| 7820 | 7819 |
| 7821 #undef DECLARE_INSTRUCTION | 7820 #undef DECLARE_INSTRUCTION |
| 7822 #undef DECLARE_CONCRETE_INSTRUCTION | 7821 #undef DECLARE_CONCRETE_INSTRUCTION |
| 7823 | 7822 |
| 7824 } // namespace internal | 7823 } // namespace internal |
| 7825 } // namespace v8 | 7824 } // namespace v8 |
| 7826 | 7825 |
| 7827 #endif // V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ | 7826 #endif // V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ |
| OLD | NEW |