diff options
author | 2016-09-27 18:43:30 -0700 | |
---|---|---|
committer | 2016-09-29 17:31:09 -0700 | |
commit | 0795f23920ee9aabf28e45c63cd592dcccf00216 (patch) | |
tree | ff3f880c5e84f3316532b47d0e9a7729ade848ac /runtime/thread.h | |
parent | d1224dce59eb0019507e41da5e10f12dda66bee4 (diff) |
Clean up ScopedThreadStateChange to use ObjPtr
Also fixed inclusion of -inl.h files in .h files by adding
scoped_object_access-inl.h and scoped_fast_natvie_object_access-inl.h
Changed AddLocalReference / Decode to use ObjPtr.
Changed libartbenchmark to be debug to avoid linkage errors.
Bug: 31113334
Test: test-art-host
Change-Id: I4d2e160483a29d21e1e0e440585ed328b9811483
Diffstat (limited to 'runtime/thread.h')
-rw-r--r-- | runtime/thread.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/runtime/thread.h b/runtime/thread.h index 55f1489389..f2c22d17a9 100644 --- a/runtime/thread.h +++ b/runtime/thread.h @@ -366,7 +366,7 @@ class Thread { void AssertNoPendingException() const; void AssertNoPendingExceptionForNewException(const char* msg) const; - void SetException(mirror::Throwable* new_exception) REQUIRES_SHARED(Locks::mutator_lock_); + void SetException(ObjPtr<mirror::Throwable> new_exception) REQUIRES_SHARED(Locks::mutator_lock_); void ClearException() REQUIRES_SHARED(Locks::mutator_lock_) { tlsPtr_.exception = nullptr; @@ -902,7 +902,9 @@ class Thread { // Returns the fake exception used to activate deoptimization. static mirror::Throwable* GetDeoptimizationException() { - return reinterpret_cast<mirror::Throwable*>(-1); + // Note that the mirror::Throwable must be aligned to kObjectAlignment or else it cannot be + // represented by ObjPtr. + return reinterpret_cast<mirror::Throwable*>(0x100); } // Currently deoptimization invokes verifier which can trigger class loading |