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

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

Issue 1754813004: Add thread safe constant canonicalization. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Move allocation 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') | 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 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 { 322 Mutex* type_canonicalization_mutex() const {
323 return type_canonicalization_mutex_; 323 return type_canonicalization_mutex_;
324 } 324 }
325 Mutex* constant_canonicalization_mutex() const {
326 return constant_canonicalization_mutex_;
327 }
325 328
326 Debugger* debugger() const { 329 Debugger* debugger() const {
327 if (!FLAG_support_debugger) { 330 if (!FLAG_support_debugger) {
328 return NULL; 331 return NULL;
329 } 332 }
330 ASSERT(debugger_ != NULL); 333 ASSERT(debugger_ != NULL);
331 return debugger_; 334 return debugger_;
332 } 335 }
333 336
334 void set_single_step(bool value) { single_step_ = value; } 337 void set_single_step(bool value) { single_step_ = value; }
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
751 ApiState* api_state_; 754 ApiState* api_state_;
752 Debugger* debugger_; 755 Debugger* debugger_;
753 bool resume_request_; 756 bool resume_request_;
754 int64_t last_resume_timestamp_; 757 int64_t last_resume_timestamp_;
755 bool has_compiled_code_; // Can check that no compilation occured. 758 bool has_compiled_code_; // Can check that no compilation occured.
756 Random random_; 759 Random random_;
757 Simulator* simulator_; 760 Simulator* simulator_;
758 Mutex* mutex_; // Protects stack_limit_, saved_stack_limit_, compiler stats. 761 Mutex* mutex_; // Protects stack_limit_, saved_stack_limit_, compiler stats.
759 Mutex* symbols_mutex_; // Protects concurrent access to the symbol table. 762 Mutex* symbols_mutex_; // Protects concurrent access to the symbol table.
760 Mutex* type_canonicalization_mutex_; // Protects type canonicalization. 763 Mutex* type_canonicalization_mutex_; // Protects type canonicalization.
764 Mutex* constant_canonicalization_mutex_; // Protects const canonicalization.
761 uword saved_stack_limit_; 765 uword saved_stack_limit_;
762 uword deferred_interrupts_mask_; 766 uword deferred_interrupts_mask_;
763 uword deferred_interrupts_; 767 uword deferred_interrupts_;
764 uword stack_overflow_flags_; 768 uword stack_overflow_flags_;
765 int32_t stack_overflow_count_; 769 int32_t stack_overflow_count_;
766 MessageHandler* message_handler_; 770 MessageHandler* message_handler_;
767 IsolateSpawnState* spawn_state_; 771 IsolateSpawnState* spawn_state_;
768 bool is_runnable_; 772 bool is_runnable_;
769 Dart_GcPrologueCallback gc_prologue_callback_; 773 Dart_GcPrologueCallback gc_prologue_callback_;
770 Dart_GcEpilogueCallback gc_epilogue_callback_; 774 Dart_GcEpilogueCallback gc_epilogue_callback_;
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
1021 intptr_t* spawn_count_; 1025 intptr_t* spawn_count_;
1022 1026
1023 Dart_IsolateFlags isolate_flags_; 1027 Dart_IsolateFlags isolate_flags_;
1024 bool paused_; 1028 bool paused_;
1025 bool errors_are_fatal_; 1029 bool errors_are_fatal_;
1026 }; 1030 };
1027 1031
1028 } // namespace dart 1032 } // namespace dart
1029 1033
1030 #endif // VM_ISOLATE_H_ 1034 #endif // VM_ISOLATE_H_
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698