OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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_THREAD_H_ | 5 #ifndef VM_THREAD_H_ |
6 #define VM_THREAD_H_ | 6 #define VM_THREAD_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 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
322 } | 322 } |
323 #endif | 323 #endif |
324 void StoreBufferBlockProcess(StoreBuffer::ThresholdPolicy policy); | 324 void StoreBufferBlockProcess(StoreBuffer::ThresholdPolicy policy); |
325 static intptr_t store_buffer_block_offset() { | 325 static intptr_t store_buffer_block_offset() { |
326 return OFFSET_OF(Thread, store_buffer_block_); | 326 return OFFSET_OF(Thread, store_buffer_block_); |
327 } | 327 } |
328 | 328 |
329 uword top_exit_frame_info() const { | 329 uword top_exit_frame_info() const { |
330 return top_exit_frame_info_; | 330 return top_exit_frame_info_; |
331 } | 331 } |
| 332 void set_top_exit_frame_info(uword top_exit_frame_info) { |
| 333 top_exit_frame_info_ = top_exit_frame_info; |
| 334 } |
332 static intptr_t top_exit_frame_info_offset() { | 335 static intptr_t top_exit_frame_info_offset() { |
333 return OFFSET_OF(Thread, top_exit_frame_info_); | 336 return OFFSET_OF(Thread, top_exit_frame_info_); |
334 } | 337 } |
335 | 338 |
336 StackResource* top_resource() const { return top_resource_; } | 339 StackResource* top_resource() const { return top_resource_; } |
337 void set_top_resource(StackResource* value) { | 340 void set_top_resource(StackResource* value) { |
338 top_resource_ = value; | 341 top_resource_ = value; |
339 } | 342 } |
340 static intptr_t top_resource_offset() { | 343 static intptr_t top_resource_offset() { |
341 return OFFSET_OF(Thread, top_resource_); | 344 return OFFSET_OF(Thread, top_resource_); |
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
720 explicit Thread(Isolate* isolate); | 723 explicit Thread(Isolate* isolate); |
721 | 724 |
722 void StoreBufferRelease( | 725 void StoreBufferRelease( |
723 StoreBuffer::ThresholdPolicy policy = StoreBuffer::kCheckThreshold); | 726 StoreBuffer::ThresholdPolicy policy = StoreBuffer::kCheckThreshold); |
724 void StoreBufferAcquire(); | 727 void StoreBufferAcquire(); |
725 | 728 |
726 void set_zone(Zone* zone) { | 729 void set_zone(Zone* zone) { |
727 zone_ = zone; | 730 zone_ = zone; |
728 } | 731 } |
729 | 732 |
730 void set_top_exit_frame_info(uword top_exit_frame_info) { | |
731 top_exit_frame_info_ = top_exit_frame_info; | |
732 } | |
733 | |
734 void set_safepoint_state(uint32_t value) { | 733 void set_safepoint_state(uint32_t value) { |
735 safepoint_state_ = value; | 734 safepoint_state_ = value; |
736 } | 735 } |
737 void EnterSafepointUsingLock(); | 736 void EnterSafepointUsingLock(); |
738 void ExitSafepointUsingLock(); | 737 void ExitSafepointUsingLock(); |
739 void BlockForSafepoint(); | 738 void BlockForSafepoint(); |
740 | 739 |
741 static void SetCurrent(Thread* current) { | 740 static void SetCurrent(Thread* current) { |
742 OSThread::SetCurrentTLS(reinterpret_cast<uword>(current)); | 741 OSThread::SetCurrentTLS(reinterpret_cast<uword>(current)); |
743 } | 742 } |
(...skipping 28 matching lines...) Expand all Loading... |
772 // Disable thread interrupts. | 771 // Disable thread interrupts. |
773 class DisableThreadInterruptsScope : public StackResource { | 772 class DisableThreadInterruptsScope : public StackResource { |
774 public: | 773 public: |
775 explicit DisableThreadInterruptsScope(Thread* thread); | 774 explicit DisableThreadInterruptsScope(Thread* thread); |
776 ~DisableThreadInterruptsScope(); | 775 ~DisableThreadInterruptsScope(); |
777 }; | 776 }; |
778 | 777 |
779 } // namespace dart | 778 } // namespace dart |
780 | 779 |
781 #endif // VM_THREAD_H_ | 780 #endif // VM_THREAD_H_ |
OLD | NEW |