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 #if V8_TARGET_ARCH_ARM | 5 #if V8_TARGET_ARCH_ARM |
6 | 6 |
7 #include "src/ast/scopes.h" | 7 #include "src/ast/scopes.h" |
8 #include "src/code-factory.h" | 8 #include "src/code-factory.h" |
9 #include "src/code-stubs.h" | 9 #include "src/code-stubs.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 3295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3306 void FullCodeGenerator::EmitGetSuperConstructor(CallRuntime* expr) { | 3306 void FullCodeGenerator::EmitGetSuperConstructor(CallRuntime* expr) { |
3307 ZoneList<Expression*>* args = expr->arguments(); | 3307 ZoneList<Expression*>* args = expr->arguments(); |
3308 DCHECK_EQ(1, args->length()); | 3308 DCHECK_EQ(1, args->length()); |
3309 VisitForAccumulatorValue(args->at(0)); | 3309 VisitForAccumulatorValue(args->at(0)); |
3310 __ AssertFunction(r0); | 3310 __ AssertFunction(r0); |
3311 __ ldr(r0, FieldMemOperand(r0, HeapObject::kMapOffset)); | 3311 __ ldr(r0, FieldMemOperand(r0, HeapObject::kMapOffset)); |
3312 __ ldr(r0, FieldMemOperand(r0, Map::kPrototypeOffset)); | 3312 __ ldr(r0, FieldMemOperand(r0, Map::kPrototypeOffset)); |
3313 context()->Plug(r0); | 3313 context()->Plug(r0); |
3314 } | 3314 } |
3315 | 3315 |
| 3316 void FullCodeGenerator::EmitGetOrdinaryHasInstance(CallRuntime* expr) { |
| 3317 DCHECK_EQ(0, expr->arguments()->length()); |
| 3318 __ LoadNativeContextSlot(Context::ORDINARY_HAS_INSTANCE_INDEX, r0); |
| 3319 context()->Plug(r0); |
| 3320 } |
3316 | 3321 |
3317 void FullCodeGenerator::EmitDebugIsActive(CallRuntime* expr) { | 3322 void FullCodeGenerator::EmitDebugIsActive(CallRuntime* expr) { |
3318 DCHECK(expr->arguments()->length() == 0); | 3323 DCHECK(expr->arguments()->length() == 0); |
3319 ExternalReference debug_is_active = | 3324 ExternalReference debug_is_active = |
3320 ExternalReference::debug_is_active_address(isolate()); | 3325 ExternalReference::debug_is_active_address(isolate()); |
3321 __ mov(ip, Operand(debug_is_active)); | 3326 __ mov(ip, Operand(debug_is_active)); |
3322 __ ldrb(r0, MemOperand(ip)); | 3327 __ ldrb(r0, MemOperand(ip)); |
3323 __ SmiTag(r0); | 3328 __ SmiTag(r0); |
3324 context()->Plug(r0); | 3329 context()->Plug(r0); |
3325 } | 3330 } |
(...skipping 843 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4169 DCHECK(interrupt_address == | 4174 DCHECK(interrupt_address == |
4170 isolate->builtins()->OnStackReplacement()->entry()); | 4175 isolate->builtins()->OnStackReplacement()->entry()); |
4171 return ON_STACK_REPLACEMENT; | 4176 return ON_STACK_REPLACEMENT; |
4172 } | 4177 } |
4173 | 4178 |
4174 | 4179 |
4175 } // namespace internal | 4180 } // namespace internal |
4176 } // namespace v8 | 4181 } // namespace v8 |
4177 | 4182 |
4178 #endif // V8_TARGET_ARCH_ARM | 4183 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |