From 0795f23920ee9aabf28e45c63cd592dcccf00216 Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Tue, 27 Sep 2016 18:43:30 -0700 Subject: 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 --- runtime/handle_scope-inl.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'runtime/handle_scope-inl.h') diff --git a/runtime/handle_scope-inl.h b/runtime/handle_scope-inl.h index 2e1b8ed3a0..75a0391086 100644 --- a/runtime/handle_scope-inl.h +++ b/runtime/handle_scope-inl.h @@ -21,6 +21,7 @@ #include "base/mutex.h" #include "handle.h" +#include "obj_ptr-inl.h" #include "thread-inl.h" #include "verify_object-inl.h" @@ -107,12 +108,21 @@ inline MutableHandle StackHandleScope::NewHandle(T* object) { return h; } +template template +inline MutableHandle StackHandleScope::NewHandle( + ObjPtr object) { + return NewHandle(object.Decode()); +} + template template inline HandleWrapper StackHandleScope::NewHandleWrapper(T** object) { - SetReference(pos_, *object); - MutableHandle h(GetHandle(pos_)); - pos_++; - return HandleWrapper(object, h); + return HandleWrapper(object, NewHandle(*object)); +} + +template template +inline HandleWrapperObjPtr StackHandleScope::NewHandleWrapper( + ObjPtr* object) { + return HandleWrapperObjPtr(object, NewHandle(*object)); } template -- cgit v1.2.3-59-g8ed1b