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

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

Issue 2715213008: VM: Allow configuring use_field_guards on the per-isolate basis and include it into snapshot featur… (Closed)
Patch Set: Created 3 years, 9 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 RUNTIME_VM_ISOLATE_H_ 5 #ifndef RUNTIME_VM_ISOLATE_H_
6 #define RUNTIME_VM_ISOLATE_H_ 6 #define RUNTIME_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 612 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 // Isolate-specific flag handling. 623 // Isolate-specific flag handling.
624 static void FlagsInitialize(Dart_IsolateFlags* api_flags); 624 static void FlagsInitialize(Dart_IsolateFlags* api_flags);
625 void FlagsCopyTo(Dart_IsolateFlags* api_flags) const; 625 void FlagsCopyTo(Dart_IsolateFlags* api_flags) const;
626 void FlagsCopyFrom(const Dart_IsolateFlags& api_flags); 626 void FlagsCopyFrom(const Dart_IsolateFlags& api_flags);
627 627
628 #if defined(PRODUCT) 628 #if defined(PRODUCT)
629 bool type_checks() const { return FLAG_enable_type_checks; } 629 bool type_checks() const { return FLAG_enable_type_checks; }
630 bool asserts() const { return FLAG_enable_asserts; } 630 bool asserts() const { return FLAG_enable_asserts; }
631 bool error_on_bad_type() const { return FLAG_error_on_bad_type; } 631 bool error_on_bad_type() const { return FLAG_error_on_bad_type; }
632 bool error_on_bad_override() const { return FLAG_error_on_bad_override; } 632 bool error_on_bad_override() const { return FLAG_error_on_bad_override; }
633 bool use_field_guards() const { return FLAG_use_field_guards; }
633 #else // defined(PRODUCT) 634 #else // defined(PRODUCT)
634 bool type_checks() const { return type_checks_; } 635 bool type_checks() const { return type_checks_; }
635 bool asserts() const { return asserts_; } 636 bool asserts() const { return asserts_; }
636 bool error_on_bad_type() const { return error_on_bad_type_; } 637 bool error_on_bad_type() const { return error_on_bad_type_; }
637 bool error_on_bad_override() const { return error_on_bad_override_; } 638 bool error_on_bad_override() const { return error_on_bad_override_; }
639 bool use_field_guards() const { return use_field_guards_; }
638 #endif // defined(PRODUCT) 640 #endif // defined(PRODUCT)
639 641
640 static void KillAllIsolates(LibMsgId msg_id); 642 static void KillAllIsolates(LibMsgId msg_id);
641 static void KillIfExists(Isolate* isolate, LibMsgId msg_id); 643 static void KillIfExists(Isolate* isolate, LibMsgId msg_id);
642 644
643 static void DisableIsolateCreation(); 645 static void DisableIsolateCreation();
644 static void EnableIsolateCreation(); 646 static void EnableIsolateCreation();
645 static bool IsolateCreationEnabled(); 647 static bool IsolateCreationEnabled();
646 648
647 void StopBackgroundCompiler(); 649 void StopBackgroundCompiler();
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
757 DeoptContext* deopt_context_; 759 DeoptContext* deopt_context_;
758 760
759 bool is_service_isolate_; 761 bool is_service_isolate_;
760 762
761 // Isolate-specific flags. 763 // Isolate-specific flags.
762 #if !defined(PRODUCT) 764 #if !defined(PRODUCT)
763 bool type_checks_; 765 bool type_checks_;
764 bool asserts_; 766 bool asserts_;
765 bool error_on_bad_type_; 767 bool error_on_bad_type_;
766 bool error_on_bad_override_; 768 bool error_on_bad_override_;
769 bool use_field_guards_;
767 #endif // !defined(PRODUCT) 770 #endif // !defined(PRODUCT)
768 771
769 // Timestamps of last operation via service. 772 // Timestamps of last operation via service.
770 int64_t last_allocationprofile_accumulator_reset_timestamp_; 773 int64_t last_allocationprofile_accumulator_reset_timestamp_;
771 int64_t last_allocationprofile_gc_timestamp_; 774 int64_t last_allocationprofile_gc_timestamp_;
772 775
773 // Ring buffer of objects assigned an id. 776 // Ring buffer of objects assigned an id.
774 ObjectIdRing* object_id_ring_; 777 ObjectIdRing* object_id_ring_;
775 778
776 VMTagCounters vm_tag_counters_; 779 VMTagCounters vm_tag_counters_;
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
1005 intptr_t* spawn_count_; 1008 intptr_t* spawn_count_;
1006 1009
1007 Dart_IsolateFlags isolate_flags_; 1010 Dart_IsolateFlags isolate_flags_;
1008 bool paused_; 1011 bool paused_;
1009 bool errors_are_fatal_; 1012 bool errors_are_fatal_;
1010 }; 1013 };
1011 1014
1012 } // namespace dart 1015 } // namespace dart
1013 1016
1014 #endif // RUNTIME_VM_ISOLATE_H_ 1017 #endif // RUNTIME_VM_ISOLATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698