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() {
