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

Side by Side Diff: src/full-codegen/arm/full-codegen-arm.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/crankshaft/hydrogen.cc ('k') | src/full-codegen/arm64/full-codegen-arm64.cc » ('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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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_ARM 5 #if V8_TARGET_ARCH_ARM
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 3295 matching lines...) Expand 10 before | Expand all | Expand 10 after
3306 void FullCodeGenerator::EmitGetSuperConstructor(CallRuntime* expr) { 3306 void FullCodeGenerator::EmitGetSuperConstructor(CallRuntime* expr) {
3307 ZoneList<Expression*>* args = expr->arguments(); 3307 ZoneList<Expression*>* args = expr->arguments();
3308 DCHECK_EQ(1, args->length()); 3308 DCHECK_EQ(1, args->length());
3309 VisitForAccumulatorValue(args->at(0)); 3309 VisitForAccumulatorValue(args->at(0));
3310 __ AssertFunction(r0); 3310 __ AssertFunction(r0);
3311 __ ldr(r0, FieldMemOperand(r0, HeapObject::kMapOffset)); 3311 __ ldr(r0, FieldMemOperand(r0, HeapObject::kMapOffset));
3312 __ ldr(r0, FieldMemOperand(r0, Map::kPrototypeOffset)); 3312 __ ldr(r0, FieldMemOperand(r0, Map::kPrototypeOffset));
3313 context()->Plug(r0); 3313 context()->Plug(r0);
3314 } 3314 }
3315 3315
3316 void FullCodeGenerator::EmitGetOrdinaryHasInstance(CallRuntime* expr) {
3317 DCHECK_EQ(0, expr->arguments()->length());
3318 __ LoadNativeContextSlot(Context::ORDINARY_HAS_INSTANCE_INDEX, r0);
3319 context()->Plug(r0);
3320 }
3316 3321
3317 void FullCodeGenerator::EmitDebugIsActive(CallRuntime* expr) { 3322 void FullCodeGenerator::EmitDebugIsActive(CallRuntime* expr) {
3318 DCHECK(expr->arguments()->length() == 0); 3323 DCHECK(expr->arguments()->length() == 0);
3319 ExternalReference debug_is_active = 3324 ExternalReference debug_is_active =
3320 ExternalReference::debug_is_active_address(isolate()); 3325 ExternalReference::debug_is_active_address(isolate());
3321 __ mov(ip, Operand(debug_is_active)); 3326 __ mov(ip, Operand(debug_is_active));
3322 __ ldrb(r0, MemOperand(ip)); 3327 __ ldrb(r0, MemOperand(ip));
3323 __ SmiTag(r0); 3328 __ SmiTag(r0);
3324 context()->Plug(r0); 3329 context()->Plug(r0);
3325 } 3330 }
(...skipping 843 matching lines...) Expand 10 before | Expand all | Expand 10 after
4169 DCHECK(interrupt_address == 4174 DCHECK(interrupt_address ==
4170 isolate->builtins()->OnStackReplacement()->entry()); 4175 isolate->builtins()->OnStackReplacement()->entry());
4171 return ON_STACK_REPLACEMENT; 4176 return ON_STACK_REPLACEMENT;
4172 } 4177 }
4173 4178
4174 4179
4175 } // namespace internal 4180 } // namespace internal
4176 } // namespace v8 4181 } // namespace v8
4177 4182
4178 #endif // V8_TARGET_ARCH_ARM 4183 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « src/crankshaft/hydrogen.cc ('k') | src/full-codegen/arm64/full-codegen-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698