diff --git a/fxjs/cfxjse_arguments.cpp b/fxjs/cfxjse_arguments.cpp
index 663996c..b8670ad 100644
--- a/fxjs/cfxjse_arguments.cpp
+++ b/fxjs/cfxjse_arguments.cpp
@@ -45,15 +45,6 @@
   return ByteString(*szStringVal);
 }
 
-CFXJSE_HostObject* CFXJSE_Arguments::GetObject(int32_t index,
-                                               CFXJSE_Class* pClass) const {
-  v8::Local<v8::Value> hValue = (*m_pInfo)[index];
-  ASSERT(!hValue.IsEmpty());
-  if (!hValue->IsObject())
-    return nullptr;
-  return FXJSE_RetrieveObjectBinding(hValue.As<v8::Object>(), pClass);
-}
-
 CFXJSE_Value* CFXJSE_Arguments::GetReturnValue() const {
   return m_pRetValue.Get();
 }
diff --git a/fxjs/cfxjse_arguments.h b/fxjs/cfxjse_arguments.h
index 92a36c8..e24fc8f 100644
--- a/fxjs/cfxjse_arguments.h
+++ b/fxjs/cfxjse_arguments.h
@@ -25,12 +25,10 @@
   int32_t GetInt32(int32_t index) const;
   float GetFloat(int32_t index) const;
   ByteString GetUTF8String(int32_t index) const;
-  CFXJSE_HostObject* GetObject(int32_t index,
-                               CFXJSE_Class* pClass = nullptr) const;
   CFXJSE_Value* GetReturnValue() const;
 
  private:
-  const v8::FunctionCallbackInfo<v8::Value>* m_pInfo;
+  UnownedPtr<const v8::FunctionCallbackInfo<v8::Value>> m_pInfo;
   UnownedPtr<CFXJSE_Value> m_pRetValue;
 };
 
