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

Side by Side Diff: runtime/vm/flow_graph_builder.h

Issue 265443002: VM: Explicitly load function and context before calling a closure. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « runtime/vm/flow_graph.cc ('k') | runtime/vm/flow_graph_builder.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 #ifndef VM_FLOW_GRAPH_BUILDER_H_ 5 #ifndef VM_FLOW_GRAPH_BUILDER_H_
6 #define VM_FLOW_GRAPH_BUILDER_H_ 6 #define VM_FLOW_GRAPH_BUILDER_H_
7 7
8 #include "platform/assert.h" 8 #include "platform/assert.h"
9 #include "platform/globals.h" 9 #include "platform/globals.h"
10 #include "vm/allocation.h" 10 #include "vm/allocation.h"
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 intptr_t token_pos, 414 intptr_t token_pos,
415 const Class& function_class, 415 const Class& function_class,
416 const String& function_name, 416 const String& function_name,
417 ArgumentListNode* function_arguments, 417 ArgumentListNode* function_arguments,
418 int invocation_type); 418 int invocation_type);
419 419
420 void BuildStaticSetter(StaticSetterNode* node, bool result_is_needed); 420 void BuildStaticSetter(StaticSetterNode* node, bool result_is_needed);
421 Definition* BuildStoreStaticField(StoreStaticFieldNode* node, 421 Definition* BuildStoreStaticField(StoreStaticFieldNode* node,
422 bool result_is_needed); 422 bool result_is_needed);
423 423
424 ClosureCallInstr* BuildClosureCall(ClosureCallNode* node); 424 void BuildClosureCall(ClosureCallNode* node, bool result_needed);
425 425
426 Value* BuildNullValue(); 426 Value* BuildNullValue();
427 427
428 // Returns true if the run-time type check can be eliminated. 428 // Returns true if the run-time type check can be eliminated.
429 bool CanSkipTypeCheck(intptr_t token_pos, 429 bool CanSkipTypeCheck(intptr_t token_pos,
430 Value* value, 430 Value* value,
431 const AbstractType& dst_type, 431 const AbstractType& dst_type,
432 const String& dst_name); 432 const String& dst_name);
433 433
434 // Helpers for allocating and deallocating temporary locals on top of the 434 // Helpers for allocating and deallocating temporary locals on top of the
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 // Output parameters. 564 // Output parameters.
565 GrowableArray<TargetEntryInstr**> true_successor_addresses_; 565 GrowableArray<TargetEntryInstr**> true_successor_addresses_;
566 GrowableArray<TargetEntryInstr**> false_successor_addresses_; 566 GrowableArray<TargetEntryInstr**> false_successor_addresses_;
567 567
568 intptr_t condition_token_pos_; 568 intptr_t condition_token_pos_;
569 }; 569 };
570 570
571 } // namespace dart 571 } // namespace dart
572 572
573 #endif // VM_FLOW_GRAPH_BUILDER_H_ 573 #endif // VM_FLOW_GRAPH_BUILDER_H_
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph.cc ('k') | runtime/vm/flow_graph_builder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698