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
diff --git a/runtime/Android.bp b/runtime/Android.bp
index db99631..5ed3acc 100644
--- a/runtime/Android.bp
+++ b/runtime/Android.bp
@@ -125,7 +125,6 @@
"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 d33062d..42609fb 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
similarity index 64%
rename from runtime/mirror/call_site.cc
rename to runtime/mirror/call_site-inl.h
index 7a23940..dbbd4d1 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 be5bdc9..ca9a9ee 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 @@
// 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() {