| 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 3017 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3028 void FullCodeGenerator::EmitGetSuperConstructor(CallRuntime* expr) { | 3028 void FullCodeGenerator::EmitGetSuperConstructor(CallRuntime* expr) { |
| 3029 ZoneList<Expression*>* args = expr->arguments(); | 3029 ZoneList<Expression*>* args = expr->arguments(); |
| 3030 DCHECK_EQ(1, args->length()); | 3030 DCHECK_EQ(1, args->length()); |
| 3031 VisitForAccumulatorValue(args->at(0)); | 3031 VisitForAccumulatorValue(args->at(0)); |
| 3032 __ AssertFunction(x0); | 3032 __ AssertFunction(x0); |
| 3033 __ Ldr(x0, FieldMemOperand(x0, HeapObject::kMapOffset)); | 3033 __ Ldr(x0, FieldMemOperand(x0, HeapObject::kMapOffset)); |
| 3034 __ Ldr(x0, FieldMemOperand(x0, Map::kPrototypeOffset)); | 3034 __ Ldr(x0, FieldMemOperand(x0, Map::kPrototypeOffset)); |
| 3035 context()->Plug(x0); | 3035 context()->Plug(x0); |
| 3036 } | 3036 } |
| 3037 | 3037 |
| 3038 void FullCodeGenerator::EmitGetOrdinaryHasInstance(CallRuntime* expr) { | |
| 3039 DCHECK_EQ(0, expr->arguments()->length()); | |
| 3040 __ LoadNativeContextSlot(Context::ORDINARY_HAS_INSTANCE_INDEX, x0); | |
| 3041 context()->Plug(x0); | |
| 3042 } | |
| 3043 | |
| 3044 void FullCodeGenerator::EmitDebugIsActive(CallRuntime* expr) { | 3038 void FullCodeGenerator::EmitDebugIsActive(CallRuntime* expr) { |
| 3045 DCHECK(expr->arguments()->length() == 0); | 3039 DCHECK(expr->arguments()->length() == 0); |
| 3046 ExternalReference debug_is_active = | 3040 ExternalReference debug_is_active = |
| 3047 ExternalReference::debug_is_active_address(isolate()); | 3041 ExternalReference::debug_is_active_address(isolate()); |
| 3048 __ Mov(x10, debug_is_active); | 3042 __ Mov(x10, debug_is_active); |
| 3049 __ Ldrb(x0, MemOperand(x10)); | 3043 __ Ldrb(x0, MemOperand(x10)); |
| 3050 __ SmiTag(x0); | 3044 __ SmiTag(x0); |
| 3051 context()->Plug(x0); | 3045 context()->Plug(x0); |
| 3052 } | 3046 } |
| 3053 | 3047 |
| (...skipping 937 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3991 } | 3985 } |
| 3992 | 3986 |
| 3993 return INTERRUPT; | 3987 return INTERRUPT; |
| 3994 } | 3988 } |
| 3995 | 3989 |
| 3996 | 3990 |
| 3997 } // namespace internal | 3991 } // namespace internal |
| 3998 } // namespace v8 | 3992 } // namespace v8 |
| 3999 | 3993 |
| 4000 #endif // V8_TARGET_ARCH_ARM64 | 3994 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |