| OLD | NEW |
| 1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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 #include "src/code-stub-assembler.h" | 4 #include "src/code-stub-assembler.h" |
| 5 #include "src/code-factory.h" | 5 #include "src/code-factory.h" |
| 6 #include "src/frames-inl.h" | 6 #include "src/frames-inl.h" |
| 7 #include "src/frames.h" | 7 #include "src/frames.h" |
| 8 | 8 |
| 9 namespace v8 { | 9 namespace v8 { |
| 10 namespace internal { | 10 namespace internal { |
| (...skipping 2882 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2893 GotoIf(Word32Equal(value_instance_type, Int32Constant(SYMBOL_TYPE)), | 2893 GotoIf(Word32Equal(value_instance_type, Int32Constant(SYMBOL_TYPE)), |
| 2894 &done_loop); | 2894 &done_loop); |
| 2895 break; | 2895 break; |
| 2896 } | 2896 } |
| 2897 Goto(&done_throw); | 2897 Goto(&done_throw); |
| 2898 } | 2898 } |
| 2899 } | 2899 } |
| 2900 | 2900 |
| 2901 BIND(&done_throw); | 2901 BIND(&done_throw); |
| 2902 { | 2902 { |
| 2903 const char* primitive_name = nullptr; |
| 2904 switch (primitive_type) { |
| 2905 case PrimitiveType::kBoolean: |
| 2906 primitive_name = "Boolean"; |
| 2907 break; |
| 2908 case PrimitiveType::kNumber: |
| 2909 primitive_name = "Number"; |
| 2910 break; |
| 2911 case PrimitiveType::kString: |
| 2912 primitive_name = "String"; |
| 2913 break; |
| 2914 case PrimitiveType::kSymbol: |
| 2915 primitive_name = "Symbol"; |
| 2916 break; |
| 2917 } |
| 2918 CHECK_NOT_NULL(primitive_name); |
| 2919 |
| 2903 // The {value} is not a compatible receiver for this method. | 2920 // The {value} is not a compatible receiver for this method. |
| 2904 CallRuntime(Runtime::kThrowNotGeneric, context, | 2921 CallRuntime(Runtime::kThrowTypeError, context, |
| 2905 HeapConstant(factory()->NewStringFromAsciiChecked(method_name, | 2922 SmiConstant(MessageTemplate::kNotGeneric), |
| 2906 TENURED))); | 2923 CStringConstant(method_name), CStringConstant(primitive_name)); |
| 2907 Unreachable(); | 2924 Unreachable(); |
| 2908 } | 2925 } |
| 2909 | 2926 |
| 2910 BIND(&done_loop); | 2927 BIND(&done_loop); |
| 2911 return var_value.value(); | 2928 return var_value.value(); |
| 2912 } | 2929 } |
| 2913 | 2930 |
| 2914 Node* CodeStubAssembler::ThrowIfNotInstanceType(Node* context, Node* value, | 2931 Node* CodeStubAssembler::ThrowIfNotInstanceType(Node* context, Node* value, |
| 2915 InstanceType instance_type, | 2932 InstanceType instance_type, |
| 2916 char const* method_name) { | 2933 char const* method_name) { |
| (...skipping 5656 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8573 formatted.c_str(), TENURED); | 8590 formatted.c_str(), TENURED); |
| 8574 CallRuntime(Runtime::kGlobalPrint, NoContextConstant(), | 8591 CallRuntime(Runtime::kGlobalPrint, NoContextConstant(), |
| 8575 HeapConstant(string)); | 8592 HeapConstant(string)); |
| 8576 } | 8593 } |
| 8577 CallRuntime(Runtime::kDebugPrint, NoContextConstant(), tagged_value); | 8594 CallRuntime(Runtime::kDebugPrint, NoContextConstant(), tagged_value); |
| 8578 #endif | 8595 #endif |
| 8579 } | 8596 } |
| 8580 | 8597 |
| 8581 } // namespace internal | 8598 } // namespace internal |
| 8582 } // namespace v8 | 8599 } // namespace v8 |
| OLD | NEW |