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-stubs.h" | 9 #include "src/code-stubs.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 3300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3311 __ b(ne, &non_function_constructor); | 3311 __ b(ne, &non_function_constructor); |
3312 | 3312 |
3313 // r0 now contains the constructor function. Grab the | 3313 // r0 now contains the constructor function. Grab the |
3314 // instance class name from there. | 3314 // instance class name from there. |
3315 __ ldr(r0, FieldMemOperand(r0, JSFunction::kSharedFunctionInfoOffset)); | 3315 __ ldr(r0, FieldMemOperand(r0, JSFunction::kSharedFunctionInfoOffset)); |
3316 __ ldr(r0, FieldMemOperand(r0, SharedFunctionInfo::kInstanceClassNameOffset)); | 3316 __ ldr(r0, FieldMemOperand(r0, SharedFunctionInfo::kInstanceClassNameOffset)); |
3317 __ b(&done); | 3317 __ b(&done); |
3318 | 3318 |
3319 // Functions have class 'Function'. | 3319 // Functions have class 'Function'. |
3320 __ bind(&function); | 3320 __ bind(&function); |
3321 __ LoadRoot(r0, Heap::kfunction_class_stringRootIndex); | 3321 __ LoadRoot(r0, Heap::kFunction_stringRootIndex); |
3322 __ jmp(&done); | 3322 __ jmp(&done); |
3323 | 3323 |
3324 // Objects with a non-function constructor have class 'Object'. | 3324 // Objects with a non-function constructor have class 'Object'. |
3325 __ bind(&non_function_constructor); | 3325 __ bind(&non_function_constructor); |
3326 __ LoadRoot(r0, Heap::kObject_stringRootIndex); | 3326 __ LoadRoot(r0, Heap::kObject_stringRootIndex); |
3327 __ jmp(&done); | 3327 __ jmp(&done); |
3328 | 3328 |
3329 // Non-JS objects have class null. | 3329 // Non-JS objects have class null. |
3330 __ bind(&null); | 3330 __ bind(&null); |
3331 __ LoadRoot(r0, Heap::kNullValueRootIndex); | 3331 __ LoadRoot(r0, Heap::kNullValueRootIndex); |
(...skipping 1549 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4881 | 4881 |
4882 DCHECK(interrupt_address == | 4882 DCHECK(interrupt_address == |
4883 isolate->builtins()->OsrAfterStackCheck()->entry()); | 4883 isolate->builtins()->OsrAfterStackCheck()->entry()); |
4884 return OSR_AFTER_STACK_CHECK; | 4884 return OSR_AFTER_STACK_CHECK; |
4885 } | 4885 } |
4886 | 4886 |
4887 | 4887 |
4888 } } // namespace v8::internal | 4888 } } // namespace v8::internal |
4889 | 4889 |
4890 #endif // V8_TARGET_ARCH_ARM | 4890 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |