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 |