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

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

Issue 1747073002: Make type canonicalization thread safe (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 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
« no previous file with comments | « no previous file | runtime/vm/isolate.cc » ('j') | runtime/vm/object.cc » ('J')
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 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 void set_message_handler(MessageHandler* value) { message_handler_ = value; } 312 void set_message_handler(MessageHandler* value) { message_handler_ = value; }
313 313
314 bool is_runnable() const { return is_runnable_; } 314 bool is_runnable() const { return is_runnable_; }
315 void set_is_runnable(bool value) { is_runnable_ = value; } 315 void set_is_runnable(bool value) { is_runnable_ = value; }
316 316
317 IsolateSpawnState* spawn_state() const { return spawn_state_; } 317 IsolateSpawnState* spawn_state() const { return spawn_state_; }
318 void set_spawn_state(IsolateSpawnState* value) { spawn_state_ = value; } 318 void set_spawn_state(IsolateSpawnState* value) { spawn_state_ = value; }
319 319
320 Mutex* mutex() const { return mutex_; } 320 Mutex* mutex() const { return mutex_; }
321 Mutex* symbols_mutex() const { return symbols_mutex_; } 321 Mutex* symbols_mutex() const { return symbols_mutex_; }
322 Mutex* type_canonicalization_mutex() const {
323 return type_canonicalization_mutex_;
324 }
322 325
323 Debugger* debugger() const { 326 Debugger* debugger() const {
324 if (!FLAG_support_debugger) { 327 if (!FLAG_support_debugger) {
325 return NULL; 328 return NULL;
326 } 329 }
327 ASSERT(debugger_ != NULL); 330 ASSERT(debugger_ != NULL);
328 return debugger_; 331 return debugger_;
329 } 332 }
330 333
331 void set_single_step(bool value) { single_step_ = value; } 334 void set_single_step(bool value) { single_step_ = value; }
(...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after
745 void* init_callback_data_; 748 void* init_callback_data_;
746 Dart_EnvironmentCallback environment_callback_; 749 Dart_EnvironmentCallback environment_callback_;
747 Dart_LibraryTagHandler library_tag_handler_; 750 Dart_LibraryTagHandler library_tag_handler_;
748 ApiState* api_state_; 751 ApiState* api_state_;
749 Debugger* debugger_; 752 Debugger* debugger_;
750 bool resume_request_; 753 bool resume_request_;
751 int64_t last_resume_timestamp_; 754 int64_t last_resume_timestamp_;
752 bool has_compiled_code_; // Can check that no compilation occured. 755 bool has_compiled_code_; // Can check that no compilation occured.
753 Random random_; 756 Random random_;
754 Simulator* simulator_; 757 Simulator* simulator_;
755 Mutex* mutex_; // protects stack_limit_, saved_stack_limit_, compiler stats. 758 Mutex* mutex_; // Protects stack_limit_, saved_stack_limit_, compiler stats.
756 Mutex* symbols_mutex_; // Protects concurrent access to teh symbol table. 759 Mutex* symbols_mutex_; // Protects concurrent access to the symbol table.
760 Mutex* type_canonicalization_mutex_; // Protects type canonicalization.
757 uword saved_stack_limit_; 761 uword saved_stack_limit_;
758 uword deferred_interrupts_mask_; 762 uword deferred_interrupts_mask_;
759 uword deferred_interrupts_; 763 uword deferred_interrupts_;
760 uword stack_overflow_flags_; 764 uword stack_overflow_flags_;
761 int32_t stack_overflow_count_; 765 int32_t stack_overflow_count_;
762 MessageHandler* message_handler_; 766 MessageHandler* message_handler_;
763 IsolateSpawnState* spawn_state_; 767 IsolateSpawnState* spawn_state_;
764 bool is_runnable_; 768 bool is_runnable_;
765 Dart_GcPrologueCallback gc_prologue_callback_; 769 Dart_GcPrologueCallback gc_prologue_callback_;
766 Dart_GcEpilogueCallback gc_epilogue_callback_; 770 Dart_GcEpilogueCallback gc_epilogue_callback_;
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
1017 intptr_t* spawn_count_; 1021 intptr_t* spawn_count_;
1018 1022
1019 Dart_IsolateFlags isolate_flags_; 1023 Dart_IsolateFlags isolate_flags_;
1020 bool paused_; 1024 bool paused_;
1021 bool errors_are_fatal_; 1025 bool errors_are_fatal_;
1022 }; 1026 };
1023 1027
1024 } // namespace dart 1028 } // namespace dart
1025 1029
1026 #endif // VM_ISOLATE_H_ 1030 #endif // VM_ISOLATE_H_
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/isolate.cc » ('j') | runtime/vm/object.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698