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

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: 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
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 641 matching lines...) Expand 10 before | Expand all | Expand 10 after
652 return deoptimized_code_array_; 652 return deoptimized_code_array_;
653 } 653 }
654 void set_deoptimized_code_array(const GrowableObjectArray& value); 654 void set_deoptimized_code_array(const GrowableObjectArray& value);
655 void TrackDeoptimizedCode(const Code& code); 655 void TrackDeoptimizedCode(const Code& code);
656 656
657 bool compilation_allowed() const { return compilation_allowed_; } 657 bool compilation_allowed() const { return compilation_allowed_; }
658 void set_compilation_allowed(bool allowed) { 658 void set_compilation_allowed(bool allowed) {
659 compilation_allowed_ = allowed; 659 compilation_allowed_ = allowed;
660 } 660 }
661 661
662 // In precompilation we finalize all regular classes before compiling.
663 bool all_classes_finalized() const { return all_classes_finalized_; }
664 void set_all_classes_finalized(bool value) {
665 all_classes_finalized_ = value;
666 }
667
662 RawObject* InvokePendingServiceExtensionCalls(); 668 RawObject* InvokePendingServiceExtensionCalls();
663 void AppendServiceExtensionCall(const Instance& closure, 669 void AppendServiceExtensionCall(const Instance& closure,
664 const String& method_name, 670 const String& method_name,
665 const Array& parameter_keys, 671 const Array& parameter_keys,
666 const Array& parameter_values, 672 const Array& parameter_values,
667 const Instance& reply_port, 673 const Instance& reply_port,
668 const Instance& id); 674 const Instance& id);
669 void RegisterServiceExtensionHandler(const String& name, 675 void RegisterServiceExtensionHandler(const String& name,
670 const Instance& closure); 676 const Instance& closure);
671 RawInstance* LookupServiceExtensionHandler(const String& name); 677 RawInstance* LookupServiceExtensionHandler(const String& name);
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
843 enum { 849 enum {
844 kRegisteredNameIndex = 0, 850 kRegisteredNameIndex = 0,
845 kRegisteredHandlerIndex, 851 kRegisteredHandlerIndex,
846 kRegisteredEntrySize 852 kRegisteredEntrySize
847 }; 853 };
848 RawGrowableObjectArray* registered_service_extension_handlers_; 854 RawGrowableObjectArray* registered_service_extension_handlers_;
849 855
850 Metric* metrics_list_head_; 856 Metric* metrics_list_head_;
851 857
852 bool compilation_allowed_; 858 bool compilation_allowed_;
859 bool all_classes_finalized_;
853 860
854 // TODO(23153): Move this out of Isolate/Thread. 861 // TODO(23153): Move this out of Isolate/Thread.
855 CHA* cha_; 862 CHA* cha_;
856 863
857 // Isolate list next pointer. 864 // Isolate list next pointer.
858 Isolate* next_; 865 Isolate* next_;
859 866
860 // Used to wake the isolate when it is in the pause event loop. 867 // Used to wake the isolate when it is in the pause event loop.
861 Monitor* pause_loop_monitor_; 868 Monitor* pause_loop_monitor_;
862 869
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
1049 uint8_t* serialized_message_; 1056 uint8_t* serialized_message_;
1050 intptr_t serialized_message_len_; 1057 intptr_t serialized_message_len_;
1051 Isolate::Flags isolate_flags_; 1058 Isolate::Flags isolate_flags_;
1052 bool paused_; 1059 bool paused_;
1053 bool errors_are_fatal_; 1060 bool errors_are_fatal_;
1054 }; 1061 };
1055 1062
1056 } // namespace dart 1063 } // namespace dart
1057 1064
1058 #endif // VM_ISOLATE_H_ 1065 #endif // VM_ISOLATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698