OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_ARM64 | 5 #if V8_TARGET_ARCH_ARM64 |
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 3103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3114 void FullCodeGenerator::EmitGetSuperConstructor(CallRuntime* expr) { | 3114 void FullCodeGenerator::EmitGetSuperConstructor(CallRuntime* expr) { |
3115 ZoneList<Expression*>* args = expr->arguments(); | 3115 ZoneList<Expression*>* args = expr->arguments(); |
3116 DCHECK_EQ(1, args->length()); | 3116 DCHECK_EQ(1, args->length()); |
3117 VisitForAccumulatorValue(args->at(0)); | 3117 VisitForAccumulatorValue(args->at(0)); |
3118 __ AssertFunction(x0); | 3118 __ AssertFunction(x0); |
3119 __ Ldr(x0, FieldMemOperand(x0, HeapObject::kMapOffset)); | 3119 __ Ldr(x0, FieldMemOperand(x0, HeapObject::kMapOffset)); |
3120 __ Ldr(x0, FieldMemOperand(x0, Map::kPrototypeOffset)); | 3120 __ Ldr(x0, FieldMemOperand(x0, Map::kPrototypeOffset)); |
3121 context()->Plug(x0); | 3121 context()->Plug(x0); |
3122 } | 3122 } |
3123 | 3123 |
| 3124 void FullCodeGenerator::EmitGetOrdinaryHasInstance(CallRuntime* expr) { |
| 3125 DCHECK_EQ(0, expr->arguments()->length()); |
| 3126 __ LoadNativeContextSlot(Context::ORDINARY_HAS_INSTANCE_INDEX, x0); |
| 3127 context()->Plug(x0); |
| 3128 } |
3124 | 3129 |
3125 void FullCodeGenerator::EmitDebugIsActive(CallRuntime* expr) { | 3130 void FullCodeGenerator::EmitDebugIsActive(CallRuntime* expr) { |
3126 DCHECK(expr->arguments()->length() == 0); | 3131 DCHECK(expr->arguments()->length() == 0); |
3127 ExternalReference debug_is_active = | 3132 ExternalReference debug_is_active = |
3128 ExternalReference::debug_is_active_address(isolate()); | 3133 ExternalReference::debug_is_active_address(isolate()); |
3129 __ Mov(x10, debug_is_active); | 3134 __ Mov(x10, debug_is_active); |
3130 __ Ldrb(x0, MemOperand(x10)); | 3135 __ Ldrb(x0, MemOperand(x10)); |
3131 __ SmiTag(x0); | 3136 __ SmiTag(x0); |
3132 context()->Plug(x0); | 3137 context()->Plug(x0); |
3133 } | 3138 } |
(...skipping 1034 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4168 } | 4173 } |
4169 | 4174 |
4170 return INTERRUPT; | 4175 return INTERRUPT; |
4171 } | 4176 } |
4172 | 4177 |
4173 | 4178 |
4174 } // namespace internal | 4179 } // namespace internal |
4175 } // namespace v8 | 4180 } // namespace v8 |
4176 | 4181 |
4177 #endif // V8_TARGET_ARCH_ARM64 | 4182 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |