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

Side by Side Diff: runtime/vm/flow_graph_compiler_arm.cc

Issue 1965823002: Initial isolate reload support (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM. 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_ARM.
6 #if defined(TARGET_ARCH_ARM) 6 #if defined(TARGET_ARCH_ARM)
7 7
8 #include "vm/flow_graph_compiler.h" 8 #include "vm/flow_graph_compiler.h"
9 9
10 #include "vm/ast_printer.h" 10 #include "vm/ast_printer.h"
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 TokenPosition token_pos, 438 TokenPosition token_pos,
439 const Class& type_class, 439 const Class& type_class,
440 Label* is_instance_lbl, 440 Label* is_instance_lbl,
441 Label* is_not_instance_lbl) { 441 Label* is_not_instance_lbl) {
442 __ Comment("Subtype1TestCacheLookup"); 442 __ Comment("Subtype1TestCacheLookup");
443 const Register kInstanceReg = R0; 443 const Register kInstanceReg = R0;
444 __ LoadClass(R1, kInstanceReg, R2); 444 __ LoadClass(R1, kInstanceReg, R2);
445 // R1: instance class. 445 // R1: instance class.
446 // Check immediate superclass equality. 446 // Check immediate superclass equality.
447 __ ldr(R2, FieldAddress(R1, Class::super_type_offset())); 447 __ ldr(R2, FieldAddress(R1, Class::super_type_offset()));
448 __ ldr(R2, FieldAddress(R2, Type::type_class_offset())); 448 __ ldr(R2, FieldAddress(R2, Type::type_class_id_offset()));
449 __ CompareObject(R2, type_class); 449 __ CompareImmediate(R2, Smi::RawValue(type_class.id()));
450 __ b(is_instance_lbl, EQ); 450 __ b(is_instance_lbl, EQ);
451 451
452 const Register kTypeArgumentsReg = kNoRegister; 452 const Register kTypeArgumentsReg = kNoRegister;
453 const Register kTempReg = kNoRegister; 453 const Register kTempReg = kNoRegister;
454 return GenerateCallSubtypeTestStub(kTestTypeOneArg, 454 return GenerateCallSubtypeTestStub(kTestTypeOneArg,
455 kInstanceReg, 455 kInstanceReg,
456 kTypeArgumentsReg, 456 kTypeArgumentsReg,
457 kTempReg, 457 kTempReg,
458 is_instance_lbl, 458 is_instance_lbl,
459 is_not_instance_lbl); 459 is_not_instance_lbl);
(...skipping 1540 matching lines...) Expand 10 before | Expand all | Expand 10 after
2000 DRegister dreg = EvenDRegisterOf(reg); 2000 DRegister dreg = EvenDRegisterOf(reg);
2001 __ vldrd(dreg, Address(SP, kDoubleSize, Address::PostIndex)); 2001 __ vldrd(dreg, Address(SP, kDoubleSize, Address::PostIndex));
2002 } 2002 }
2003 2003
2004 2004
2005 #undef __ 2005 #undef __
2006 2006
2007 } // namespace dart 2007 } // namespace dart
2008 2008
2009 #endif // defined TARGET_ARCH_ARM 2009 #endif // defined TARGET_ARCH_ARM
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698