| 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 |