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

Side by Side Diff: runtime/vm/object.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: addressed comments 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/intermediate_language_x64.cc ('k') | runtime/vm/object.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_OBJECT_H_ 5 #ifndef VM_OBJECT_H_
6 #define VM_OBJECT_H_ 6 #define VM_OBJECT_H_
7 7
8 #include "include/dart_api.h" 8 #include "include/dart_api.h"
9 #include "platform/assert.h" 9 #include "platform/assert.h"
10 #include "platform/utils.h" 10 #include "platform/utils.h"
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 static const LanguageError& branch_offset_error() { 428 static const LanguageError& branch_offset_error() {
429 ASSERT(branch_offset_error_ != NULL); 429 ASSERT(branch_offset_error_ != NULL);
430 return *branch_offset_error_; 430 return *branch_offset_error_;
431 } 431 }
432 432
433 static RawClass* class_class() { return class_class_; } 433 static RawClass* class_class() { return class_class_; }
434 static RawClass* dynamic_class() { return dynamic_class_; } 434 static RawClass* dynamic_class() { return dynamic_class_; }
435 static RawClass* void_class() { return void_class_; } 435 static RawClass* void_class() { return void_class_; }
436 static RawType* dynamic_type() { return dynamic_type_; } 436 static RawType* dynamic_type() { return dynamic_type_; }
437 static RawType* void_type() { return void_type_; } 437 static RawType* void_type() { return void_type_; }
438 static RawType* function_type() { return function_type_; }
regis 2014/04/30 18:23:15 You should not introduce this type. This is not a
Florian Schneider 2014/04/30 18:57:33 Done. I changed flow_graph_type_propagator instead
438 static RawClass* unresolved_class_class() { return unresolved_class_class_; } 439 static RawClass* unresolved_class_class() { return unresolved_class_class_; }
439 static RawClass* type_arguments_class() { return type_arguments_class_; } 440 static RawClass* type_arguments_class() { return type_arguments_class_; }
440 static RawClass* patch_class_class() { return patch_class_class_; } 441 static RawClass* patch_class_class() { return patch_class_class_; }
441 static RawClass* function_class() { return function_class_; } 442 static RawClass* function_class() { return function_class_; }
442 static RawClass* closure_data_class() { return closure_data_class_; } 443 static RawClass* closure_data_class() { return closure_data_class_; }
443 static RawClass* redirection_data_class() { return redirection_data_class_; } 444 static RawClass* redirection_data_class() { return redirection_data_class_; }
444 static RawClass* field_class() { return field_class_; } 445 static RawClass* field_class() { return field_class_; }
445 static RawClass* literal_token_class() { return literal_token_class_; } 446 static RawClass* literal_token_class() { return literal_token_class_; }
446 static RawClass* token_stream_class() { return token_stream_class_; } 447 static RawClass* token_stream_class() { return token_stream_class_; }
447 static RawClass* script_class() { return script_class_; } 448 static RawClass* script_class() { return script_class_; }
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 585
585 // The static values below are singletons shared between the different 586 // The static values below are singletons shared between the different
586 // isolates. They are all allocated in the non-GC'd Dart::vm_isolate_. 587 // isolates. They are all allocated in the non-GC'd Dart::vm_isolate_.
587 static RawObject* null_; 588 static RawObject* null_;
588 589
589 static RawClass* class_class_; // Class of the Class vm object. 590 static RawClass* class_class_; // Class of the Class vm object.
590 static RawClass* dynamic_class_; // Class of the 'dynamic' type. 591 static RawClass* dynamic_class_; // Class of the 'dynamic' type.
591 static RawClass* void_class_; // Class of the 'void' type. 592 static RawClass* void_class_; // Class of the 'void' type.
592 static RawType* dynamic_type_; // Class of the 'dynamic' type. 593 static RawType* dynamic_type_; // Class of the 'dynamic' type.
593 static RawType* void_type_; // Class of the 'void' type. 594 static RawType* void_type_; // Class of the 'void' type.
595 static RawType* function_type_; // Type of the 'Function' vm class.
regis 2014/04/30 18:23:15 ditto
594 static RawClass* unresolved_class_class_; // Class of UnresolvedClass. 596 static RawClass* unresolved_class_class_; // Class of UnresolvedClass.
595 static RawClass* type_arguments_class_; // Class of TypeArguments vm object. 597 static RawClass* type_arguments_class_; // Class of TypeArguments vm object.
596 static RawClass* patch_class_class_; // Class of the PatchClass vm object. 598 static RawClass* patch_class_class_; // Class of the PatchClass vm object.
597 static RawClass* function_class_; // Class of the Function vm object. 599 static RawClass* function_class_; // Class of the Function vm object.
598 static RawClass* closure_data_class_; // Class of ClosureData vm obj. 600 static RawClass* closure_data_class_; // Class of ClosureData vm obj.
599 static RawClass* redirection_data_class_; // Class of RedirectionData vm obj. 601 static RawClass* redirection_data_class_; // Class of RedirectionData vm obj.
600 static RawClass* field_class_; // Class of the Field vm object. 602 static RawClass* field_class_; // Class of the Field vm object.
601 static RawClass* literal_token_class_; // Class of LiteralToken vm object. 603 static RawClass* literal_token_class_; // Class of LiteralToken vm object.
602 static RawClass* token_stream_class_; // Class of the TokenStream vm object. 604 static RawClass* token_stream_class_; // Class of the TokenStream vm object.
603 static RawClass* script_class_; // Class of the Script vm object. 605 static RawClass* script_class_; // Class of the Script vm object.
(...skipping 6372 matching lines...) Expand 10 before | Expand all | Expand 10 after
6976 6978
6977 6979
6978 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, 6980 RawObject* MegamorphicCache::GetTargetFunction(const Array& array,
6979 intptr_t index) { 6981 intptr_t index) {
6980 return array.At((index * kEntryLength) + kTargetFunctionIndex); 6982 return array.At((index * kEntryLength) + kTargetFunctionIndex);
6981 } 6983 }
6982 6984
6983 } // namespace dart 6985 } // namespace dart
6984 6986
6985 #endif // VM_OBJECT_H_ 6987 #endif // VM_OBJECT_H_
OLDNEW
« no previous file with comments | « runtime/vm/intermediate_language_x64.cc ('k') | runtime/vm/object.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698