diff options
Diffstat (limited to 'runtime/thread.h')
-rw-r--r-- | runtime/thread.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/runtime/thread.h b/runtime/thread.h index da7af83e0b..9d4d89d0c4 100644 --- a/runtime/thread.h +++ b/runtime/thread.h @@ -573,6 +573,21 @@ class Thread { OFFSETOF_MEMBER(tls_ptr_sized_values, suspend_trigger)); } + template<size_t pointer_size> + static ThreadOffset<pointer_size> ThreadLocalPosOffset() { + return ThreadOffsetFromTlsPtr<pointer_size>(OFFSETOF_MEMBER(tls_ptr_sized_values, thread_local_pos)); + } + + template<size_t pointer_size> + static ThreadOffset<pointer_size> ThreadLocalEndOffset() { + return ThreadOffsetFromTlsPtr<pointer_size>(OFFSETOF_MEMBER(tls_ptr_sized_values, thread_local_end)); + } + + template<size_t pointer_size> + static ThreadOffset<pointer_size> ThreadLocalObjectsOffset() { + return ThreadOffsetFromTlsPtr<pointer_size>(OFFSETOF_MEMBER(tls_ptr_sized_values, thread_local_objects)); + } + // Size of stack less any space reserved for stack overflow size_t GetStackSize() const { return tlsPtr_.stack_size - (tlsPtr_.stack_end - tlsPtr_.stack_begin); |