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 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_ARM | 7 #if V8_TARGET_ARCH_ARM |
8 | 8 |
9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" |
10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 5059 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5070 __ tst(r1, Operand(1 << Map::kIsUndetectable)); | 5070 __ tst(r1, Operand(1 << Map::kIsUndetectable)); |
5071 Split(eq, if_true, if_false, fall_through); | 5071 Split(eq, if_true, if_false, fall_through); |
5072 } else if (String::Equals(check, factory->symbol_string())) { | 5072 } else if (String::Equals(check, factory->symbol_string())) { |
5073 __ JumpIfSmi(r0, if_false); | 5073 __ JumpIfSmi(r0, if_false); |
5074 __ CompareObjectType(r0, r0, r1, SYMBOL_TYPE); | 5074 __ CompareObjectType(r0, r0, r1, SYMBOL_TYPE); |
5075 Split(eq, if_true, if_false, fall_through); | 5075 Split(eq, if_true, if_false, fall_through); |
5076 } else if (String::Equals(check, factory->float32x4_string())) { | 5076 } else if (String::Equals(check, factory->float32x4_string())) { |
5077 __ JumpIfSmi(r0, if_false); | 5077 __ JumpIfSmi(r0, if_false); |
5078 __ CompareObjectType(r0, r0, r1, FLOAT32X4_TYPE); | 5078 __ CompareObjectType(r0, r0, r1, FLOAT32X4_TYPE); |
5079 Split(eq, if_true, if_false, fall_through); | 5079 Split(eq, if_true, if_false, fall_through); |
| 5080 } else if (String::Equals(check, factory->int32x4_string())) { |
| 5081 __ JumpIfSmi(r0, if_false); |
| 5082 __ CompareObjectType(r0, r0, r1, INT32X4_TYPE); |
| 5083 Split(eq, if_true, if_false, fall_through); |
| 5084 } else if (String::Equals(check, factory->bool32x4_string())) { |
| 5085 __ JumpIfSmi(r0, if_false); |
| 5086 __ CompareObjectType(r0, r0, r1, BOOL32X4_TYPE); |
| 5087 Split(eq, if_true, if_false, fall_through); |
| 5088 } else if (String::Equals(check, factory->int16x8_string())) { |
| 5089 __ JumpIfSmi(r0, if_false); |
| 5090 __ CompareObjectType(r0, r0, r1, INT16X8_TYPE); |
| 5091 Split(eq, if_true, if_false, fall_through); |
| 5092 } else if (String::Equals(check, factory->bool16x8_string())) { |
| 5093 __ JumpIfSmi(r0, if_false); |
| 5094 __ CompareObjectType(r0, r0, r1, BOOL16X8_TYPE); |
| 5095 Split(eq, if_true, if_false, fall_through); |
| 5096 } else if (String::Equals(check, factory->int8x16_string())) { |
| 5097 __ JumpIfSmi(r0, if_false); |
| 5098 __ CompareObjectType(r0, r0, r1, INT8X16_TYPE); |
| 5099 Split(eq, if_true, if_false, fall_through); |
| 5100 } else if (String::Equals(check, factory->bool8x16_string())) { |
| 5101 __ JumpIfSmi(r0, if_false); |
| 5102 __ CompareObjectType(r0, r0, r1, BOOL8X16_TYPE); |
| 5103 Split(eq, if_true, if_false, fall_through); |
5080 } else if (String::Equals(check, factory->boolean_string())) { | 5104 } else if (String::Equals(check, factory->boolean_string())) { |
5081 __ CompareRoot(r0, Heap::kTrueValueRootIndex); | 5105 __ CompareRoot(r0, Heap::kTrueValueRootIndex); |
5082 __ b(eq, if_true); | 5106 __ b(eq, if_true); |
5083 __ CompareRoot(r0, Heap::kFalseValueRootIndex); | 5107 __ CompareRoot(r0, Heap::kFalseValueRootIndex); |
5084 Split(eq, if_true, if_false, fall_through); | 5108 Split(eq, if_true, if_false, fall_through); |
5085 } else if (String::Equals(check, factory->undefined_string())) { | 5109 } else if (String::Equals(check, factory->undefined_string())) { |
5086 __ CompareRoot(r0, Heap::kUndefinedValueRootIndex); | 5110 __ CompareRoot(r0, Heap::kUndefinedValueRootIndex); |
5087 __ b(eq, if_true); | 5111 __ b(eq, if_true); |
5088 __ JumpIfSmi(r0, if_false); | 5112 __ JumpIfSmi(r0, if_false); |
5089 // Check for undetectable objects => true. | 5113 // Check for undetectable objects => true. |
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5469 DCHECK(interrupt_address == | 5493 DCHECK(interrupt_address == |
5470 isolate->builtins()->OsrAfterStackCheck()->entry()); | 5494 isolate->builtins()->OsrAfterStackCheck()->entry()); |
5471 return OSR_AFTER_STACK_CHECK; | 5495 return OSR_AFTER_STACK_CHECK; |
5472 } | 5496 } |
5473 | 5497 |
5474 | 5498 |
5475 } // namespace internal | 5499 } // namespace internal |
5476 } // namespace v8 | 5500 } // namespace v8 |
5477 | 5501 |
5478 #endif // V8_TARGET_ARCH_ARM | 5502 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |