Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(39)

Side by Side Diff: src/full-codegen/arm64/full-codegen-arm64.cc

Issue 1809993002: Provide optimized support for the %GetOrdinaryHasInstance intrinsic. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@bare-4774-fix
Patch Set: REBASE and nit. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/full-codegen/arm/full-codegen-arm.cc ('k') | src/full-codegen/full-codegen.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « src/full-codegen/arm/full-codegen-arm.cc ('k') | src/full-codegen/full-codegen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698