OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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_XXX. | 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_XXX. |
6 | 6 |
7 #include "vm/flow_graph_compiler.h" | 7 #include "vm/flow_graph_compiler.h" |
8 | 8 |
9 #include "vm/dart_entry.h" | 9 #include "vm/dart_entry.h" |
10 #include "vm/debugger.h" | 10 #include "vm/debugger.h" |
(...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
533 CheckClassIds(kClassIdReg, args, is_instance_lbl, is_not_instance_lbl); | 533 CheckClassIds(kClassIdReg, args, is_instance_lbl, is_not_instance_lbl); |
534 } | 534 } |
535 | 535 |
536 | 536 |
537 void FlowGraphCompiler::GenerateStringTypeCheck(Register kClassIdReg, | 537 void FlowGraphCompiler::GenerateStringTypeCheck(Register kClassIdReg, |
538 Label* is_instance_lbl, | 538 Label* is_instance_lbl, |
539 Label* is_not_instance_lbl) { | 539 Label* is_not_instance_lbl) { |
540 GrowableArray<intptr_t> args; | 540 GrowableArray<intptr_t> args; |
541 args.Add(kOneByteStringCid); | 541 args.Add(kOneByteStringCid); |
542 args.Add(kTwoByteStringCid); | 542 args.Add(kTwoByteStringCid); |
543 args.Add(kFourByteStringCid); | |
544 args.Add(kExternalOneByteStringCid); | 543 args.Add(kExternalOneByteStringCid); |
545 args.Add(kExternalTwoByteStringCid); | 544 args.Add(kExternalTwoByteStringCid); |
546 args.Add(kExternalFourByteStringCid); | |
547 CheckClassIds(kClassIdReg, args, is_instance_lbl, is_not_instance_lbl); | 545 CheckClassIds(kClassIdReg, args, is_instance_lbl, is_not_instance_lbl); |
548 } | 546 } |
549 | 547 |
550 | 548 |
551 void FlowGraphCompiler::GenerateListTypeCheck(Register kClassIdReg, | 549 void FlowGraphCompiler::GenerateListTypeCheck(Register kClassIdReg, |
552 Label* is_instance_lbl) { | 550 Label* is_instance_lbl) { |
553 Label unknown; | 551 Label unknown; |
554 GrowableArray<intptr_t> args; | 552 GrowableArray<intptr_t> args; |
555 args.Add(kArrayCid); | 553 args.Add(kArrayCid); |
556 args.Add(kGrowableObjectArrayCid); | 554 args.Add(kGrowableObjectArrayCid); |
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
919 ASSERT(Utils::IsInt(31, disp)); | 917 ASSERT(Utils::IsInt(31, disp)); |
920 return FieldAddress(array, disp); | 918 return FieldAddress(array, disp); |
921 } | 919 } |
922 default: | 920 default: |
923 UNIMPLEMENTED(); | 921 UNIMPLEMENTED(); |
924 return FieldAddress(SPREG, 0); | 922 return FieldAddress(SPREG, 0); |
925 } | 923 } |
926 } | 924 } |
927 | 925 |
928 } // namespace dart | 926 } // namespace dart |
OLD | NEW |