| OLD | NEW |
| 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 507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 518 AtomicOperations::IncrementBy(&loading_invalidation_gen_, 1); | 518 AtomicOperations::IncrementBy(&loading_invalidation_gen_, 1); |
| 519 } | 519 } |
| 520 } | 520 } |
| 521 intptr_t loading_invalidation_gen() { | 521 intptr_t loading_invalidation_gen() { |
| 522 return AtomicOperations::LoadRelaxedIntPtr(&loading_invalidation_gen_); | 522 return AtomicOperations::LoadRelaxedIntPtr(&loading_invalidation_gen_); |
| 523 } | 523 } |
| 524 | 524 |
| 525 // Used by mutator thread to notify background compiler which fields | 525 // Used by mutator thread to notify background compiler which fields |
| 526 // triggered code invalidation. | 526 // triggered code invalidation. |
| 527 void AddDisablingField(const Field& field); | 527 void AddDisablingField(const Field& field); |
| 528 // Returns Field::null() if none available in the list. | 528 // Returns Field::null() if none available in the list. Can be called |
| 529 // only from background compiler and while mutator thread is at safepoint. |
| 529 RawField* GetDisablingField(); | 530 RawField* GetDisablingField(); |
| 530 void ClearDisablingFieldList(); | 531 void ClearDisablingFieldList(); |
| 531 | 532 |
| 532 // Used by background compiler which field became boxed and must trigger | 533 // Used by background compiler which field became boxed and must trigger |
| 533 // deoptimization in the mutator thread. | 534 // deoptimization in the mutator thread. |
| 534 void AddDeoptimizingBoxedField(const Field& field); | 535 void AddDeoptimizingBoxedField(const Field& field); |
| 535 // Returns Field::null() if none available in the list. | 536 // Returns Field::null() if none available in the list. |
| 536 RawField* GetDeoptimizingBoxedField(); | 537 RawField* GetDeoptimizingBoxedField(); |
| 537 | 538 |
| 538 RawObject* InvokePendingServiceExtensionCalls(); | 539 RawObject* InvokePendingServiceExtensionCalls(); |
| (...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 923 intptr_t* spawn_count_; | 924 intptr_t* spawn_count_; |
| 924 | 925 |
| 925 Dart_IsolateFlags isolate_flags_; | 926 Dart_IsolateFlags isolate_flags_; |
| 926 bool paused_; | 927 bool paused_; |
| 927 bool errors_are_fatal_; | 928 bool errors_are_fatal_; |
| 928 }; | 929 }; |
| 929 | 930 |
| 930 } // namespace dart | 931 } // namespace dart |
| 931 | 932 |
| 932 #endif // VM_ISOLATE_H_ | 933 #endif // VM_ISOLATE_H_ |
| OLD | NEW |