summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2019-03-27 16:18:18 +0000
committer Vladimir Marko <vmarko@google.com> 2019-03-28 09:22:07 +0000
commit621c8807f38fedab56ea701370a18df123177f67 (patch)
tree058a0b3e4157ef726f909b0efe14965a7e336513
parent0eefb9bad0b098e892f977694ad1207f3ef42c90 (diff)
ObjPtr<>-ify mirror::CallSite.
And remove unused function CallSite::Create(). Test: m test-art-host-gtest Test: testrunner.py --host --interpreter Bug: 31113334 Change-Id: I936cda76543fb79edda1c2cc8671b0684fb9f08a
-rw-r--r--runtime/Android.bp1
-rw-r--r--runtime/interpreter/interpreter_common.cc1
-rw-r--r--runtime/mirror/call_site-inl.h (renamed from runtime/mirror/call_site.cc)17
-rw-r--r--runtime/mirror/call_site.h9
4 files changed, 11 insertions, 17 deletions
diff --git a/runtime/Android.bp b/runtime/Android.bp
index db99631370..5ed3acc4fa 100644
--- a/runtime/Android.bp
+++ b/runtime/Android.bp
@@ -125,7 +125,6 @@ libart_cc_defaults {
"managed_stack.cc",
"method_handles.cc",
"mirror/array.cc",
- "mirror/call_site.cc",
"mirror/class.cc",
"mirror/class_ext.cc",
"mirror/dex_cache.cc",
diff --git a/runtime/interpreter/interpreter_common.cc b/runtime/interpreter/interpreter_common.cc
index d33062da22..42609fb0a7 100644
--- a/runtime/interpreter/interpreter_common.cc
+++ b/runtime/interpreter/interpreter_common.cc
@@ -31,6 +31,7 @@
#include "method_handles.h"
#include "mirror/array-alloc-inl.h"
#include "mirror/array-inl.h"
+#include "mirror/call_site-inl.h"
#include "mirror/class.h"
#include "mirror/emulated_stack_frame.h"
#include "mirror/method_handle_impl-inl.h"
diff --git a/runtime/mirror/call_site.cc b/runtime/mirror/call_site-inl.h
index 7a23940bf8..dbbd4d1a41 100644
--- a/runtime/mirror/call_site.cc
+++ b/runtime/mirror/call_site-inl.h
@@ -14,22 +14,21 @@
* limitations under the License.
*/
+#ifndef ART_RUNTIME_MIRROR_CALL_SITE_INL_H_
+#define ART_RUNTIME_MIRROR_CALL_SITE_INL_H_
+
#include "call_site.h"
-#include "class-alloc-inl.h"
-#include "class_root.h"
-#include "obj_ptr-inl.h"
+#include "object-inl.h"
namespace art {
namespace mirror {
-mirror::CallSite* CallSite::Create(Thread* const self, Handle<MethodHandle> target) {
- ObjPtr<mirror::CallSite> cs =
- ObjPtr<CallSite>::DownCast(GetClassRoot<CallSite>()->AllocObject(self));
- CHECK(!Runtime::Current()->IsActiveTransaction());
- cs->SetFieldObject<false>(TargetOffset(), target.Get());
- return cs.Ptr();
+inline ObjPtr<MethodHandle> CallSite::GetTarget() {
+ return GetFieldObject<MethodHandle>(TargetOffset());
}
} // namespace mirror
} // namespace art
+
+#endif // ART_RUNTIME_MIRROR_CALL_SITE_INL_H_
diff --git a/runtime/mirror/call_site.h b/runtime/mirror/call_site.h
index be5bdc9c3e..ca9a9eed4f 100644
--- a/runtime/mirror/call_site.h
+++ b/runtime/mirror/call_site.h
@@ -18,6 +18,7 @@
#define ART_RUNTIME_MIRROR_CALL_SITE_H_
#include "mirror/method_handle_impl.h"
+#include "obj_ptr.h"
namespace art {
@@ -28,13 +29,7 @@ namespace mirror {
// C++ mirror of java.lang.invoke.CallSite
class MANAGED CallSite : public Object {
public:
- static mirror::CallSite* Create(Thread* const self,
- Handle<MethodHandle> method_handle)
- REQUIRES_SHARED(Locks::mutator_lock_) REQUIRES(!Roles::uninterruptible_);
-
- MethodHandle* GetTarget() REQUIRES_SHARED(Locks::mutator_lock_) {
- return GetFieldObject<MethodHandle>(TargetOffset());
- }
+ ObjPtr<MethodHandle> GetTarget() REQUIRES_SHARED(Locks::mutator_lock_);
private:
static inline MemberOffset TargetOffset() {