diff options
Diffstat (limited to 'runtime/thread.h')
| -rw-r--r-- | runtime/thread.h | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/runtime/thread.h b/runtime/thread.h index b0be841730..694dbda978 100644 --- a/runtime/thread.h +++ b/runtime/thread.h @@ -144,6 +144,9 @@ class Thread { // Reset internal state of child thread after fork. void InitAfterFork(); + // Get the currently executing thread, frequently referred to as 'self'. This call has reasonably + // high cost and so we favor passing self around when possible. + // TODO: mark as PURE so the compiler may coalesce and remove? static Thread* Current(); // On a runnable thread, check for pending thread suspension request and handle if pending. @@ -362,9 +365,8 @@ class Thread { ThrowLocation GetCurrentLocationForThrow() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); - void SetTopOfStack(StackReference<mirror::ArtMethod>* top_method, uintptr_t pc) { + void SetTopOfStack(StackReference<mirror::ArtMethod>* top_method) { tlsPtr_.managed_stack.SetTopQuickFrame(top_method); - tlsPtr_.managed_stack.SetTopQuickFramePc(pc); } void SetTopOfShadowStack(ShadowFrame* top) { @@ -634,13 +636,6 @@ class Thread { ManagedStack::TopQuickFrameOffset()); } - template<size_t pointer_size> - static ThreadOffset<pointer_size> TopOfManagedStackPcOffset() { - return ThreadOffsetFromTlsPtr<pointer_size>( - OFFSETOF_MEMBER(tls_ptr_sized_values, managed_stack) + - ManagedStack::TopQuickFramePcOffset()); - } - const ManagedStack* GetManagedStack() const { return &tlsPtr_.managed_stack; } |