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

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

Issue 1392893003: In precompilation, finalize all classes eagerly. Use the stable class hierarchy for doing CHA based… (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Sync Created 5 years, 2 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
« no previous file with comments | « runtime/vm/flow_graph_type_propagator.cc ('k') | runtime/vm/isolate.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) 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 #ifndef VM_ISOLATE_H_ 5 #ifndef VM_ISOLATE_H_
6 #define VM_ISOLATE_H_ 6 #define VM_ISOLATE_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 "vm/atomic.h" 10 #include "vm/atomic.h"
(...skipping 640 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 return deoptimized_code_array_; 651 return deoptimized_code_array_;
652 } 652 }
653 void set_deoptimized_code_array(const GrowableObjectArray& value); 653 void set_deoptimized_code_array(const GrowableObjectArray& value);
654 void TrackDeoptimizedCode(const Code& code); 654 void TrackDeoptimizedCode(const Code& code);
655 655
656 bool compilation_allowed() const { return compilation_allowed_; } 656 bool compilation_allowed() const { return compilation_allowed_; }
657 void set_compilation_allowed(bool allowed) { 657 void set_compilation_allowed(bool allowed) {
658 compilation_allowed_ = allowed; 658 compilation_allowed_ = allowed;
659 } 659 }
660 660
661 // In precompilation we finalize all regular classes before compiling.
662 bool all_classes_finalized() const { return all_classes_finalized_; }
663 void set_all_classes_finalized(bool value) {
664 all_classes_finalized_ = value;
665 }
666
661 RawObject* InvokePendingServiceExtensionCalls(); 667 RawObject* InvokePendingServiceExtensionCalls();
662 void AppendServiceExtensionCall(const Instance& closure, 668 void AppendServiceExtensionCall(const Instance& closure,
663 const String& method_name, 669 const String& method_name,
664 const Array& parameter_keys, 670 const Array& parameter_keys,
665 const Array& parameter_values, 671 const Array& parameter_values,
666 const Instance& reply_port, 672 const Instance& reply_port,
667 const Instance& id); 673 const Instance& id);
668 void RegisterServiceExtensionHandler(const String& name, 674 void RegisterServiceExtensionHandler(const String& name,
669 const Instance& closure); 675 const Instance& closure);
670 RawInstance* LookupServiceExtensionHandler(const String& name); 676 RawInstance* LookupServiceExtensionHandler(const String& name);
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
842 enum { 848 enum {
843 kRegisteredNameIndex = 0, 849 kRegisteredNameIndex = 0,
844 kRegisteredHandlerIndex, 850 kRegisteredHandlerIndex,
845 kRegisteredEntrySize 851 kRegisteredEntrySize
846 }; 852 };
847 RawGrowableObjectArray* registered_service_extension_handlers_; 853 RawGrowableObjectArray* registered_service_extension_handlers_;
848 854
849 Metric* metrics_list_head_; 855 Metric* metrics_list_head_;
850 856
851 bool compilation_allowed_; 857 bool compilation_allowed_;
858 bool all_classes_finalized_;
852 859
853 // Isolate list next pointer. 860 // Isolate list next pointer.
854 Isolate* next_; 861 Isolate* next_;
855 862
856 // Used to wake the isolate when it is in the pause event loop. 863 // Used to wake the isolate when it is in the pause event loop.
857 Monitor* pause_loop_monitor_; 864 Monitor* pause_loop_monitor_;
858 865
859 #define ISOLATE_METRIC_VARIABLE(type, variable, name, unit) \ 866 #define ISOLATE_METRIC_VARIABLE(type, variable, name, unit) \
860 type metric_##variable##_; 867 type metric_##variable##_;
861 ISOLATE_METRIC_LIST(ISOLATE_METRIC_VARIABLE); 868 ISOLATE_METRIC_LIST(ISOLATE_METRIC_VARIABLE);
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
1045 uint8_t* serialized_message_; 1052 uint8_t* serialized_message_;
1046 intptr_t serialized_message_len_; 1053 intptr_t serialized_message_len_;
1047 Isolate::Flags isolate_flags_; 1054 Isolate::Flags isolate_flags_;
1048 bool paused_; 1055 bool paused_;
1049 bool errors_are_fatal_; 1056 bool errors_are_fatal_;
1050 }; 1057 };
1051 1058
1052 } // namespace dart 1059 } // namespace dart
1053 1060
1054 #endif // VM_ISOLATE_H_ 1061 #endif // VM_ISOLATE_H_
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph_type_propagator.cc ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698