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

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

Issue 10910224: Using type feedback, eliminate store barriers for indexed stores. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « runtime/vm/flow_graph_builder.cc ('k') | runtime/vm/flow_graph_optimizer.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 (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 434 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 const Array& arguments_descriptor = 445 const Array& arguments_descriptor =
446 DartEntry::ArgumentsDescriptor(argument_count, argument_names); 446 DartEntry::ArgumentsDescriptor(argument_count, argument_names);
447 uword label_address = 0; 447 uword label_address = 0;
448 switch (checked_argument_count) { 448 switch (checked_argument_count) {
449 case 1: 449 case 1:
450 label_address = StubCode::OneArgCheckInlineCacheEntryPoint(); 450 label_address = StubCode::OneArgCheckInlineCacheEntryPoint();
451 break; 451 break;
452 case 2: 452 case 2:
453 label_address = StubCode::TwoArgsCheckInlineCacheEntryPoint(); 453 label_address = StubCode::TwoArgsCheckInlineCacheEntryPoint();
454 break; 454 break;
455 case 3:
456 label_address = StubCode::ThreeArgsCheckInlineCacheEntryPoint();
457 break;
455 default: 458 default:
456 UNIMPLEMENTED(); 459 UNIMPLEMENTED();
457 } 460 }
458 ExternalLabel target_label("InlineCache", label_address); 461 ExternalLabel target_label("InlineCache", label_address);
459 462
460 EmitInstanceCall(&target_label, ic_data, arguments_descriptor, argument_count, 463 EmitInstanceCall(&target_label, ic_data, arguments_descriptor, argument_count,
461 deopt_id, token_pos, locs); 464 deopt_id, token_pos, locs);
462 } 465 }
463 466
464 467
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
848 case ABOVE: return unsigned_left > unsigned_right; 851 case ABOVE: return unsigned_left > unsigned_right;
849 case ABOVE_EQUAL: return unsigned_left >= unsigned_right; 852 case ABOVE_EQUAL: return unsigned_left >= unsigned_right;
850 default: 853 default:
851 UNIMPLEMENTED(); 854 UNIMPLEMENTED();
852 return false; 855 return false;
853 } 856 }
854 } 857 }
855 858
856 859
857 } // namespace dart 860 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph_builder.cc ('k') | runtime/vm/flow_graph_optimizer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698