summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Userland/Libraries/LibJS/Runtime/FunctionEnvironment.cpp6
-rw-r--r--Userland/Libraries/LibJS/Runtime/FunctionObject.h6
2 files changed, 6 insertions, 6 deletions
diff --git a/Userland/Libraries/LibJS/Runtime/FunctionEnvironment.cpp b/Userland/Libraries/LibJS/Runtime/FunctionEnvironment.cpp
index 62ebfb403c..d130d8a8e7 100644
--- a/Userland/Libraries/LibJS/Runtime/FunctionEnvironment.cpp
+++ b/Userland/Libraries/LibJS/Runtime/FunctionEnvironment.cpp
@@ -33,9 +33,9 @@ Value FunctionEnvironment::get_super_base() const
{
VERIFY(m_function_object);
auto home_object = m_function_object->home_object();
- if (home_object.is_undefined())
+ if (!home_object)
return js_undefined();
- return home_object.as_object().internal_get_prototype_of();
+ return home_object->internal_get_prototype_of();
}
// 9.1.1.3.2 HasThisBinding ( ), https://tc39.es/ecma262/#sec-function-environment-records-hasthisbinding
@@ -51,7 +51,7 @@ bool FunctionEnvironment::has_super_binding() const
{
if (this_binding_status() == ThisBindingStatus::Lexical)
return false;
- if (function_object().home_object().is_undefined())
+ if (!function_object().home_object())
return false;
return true;
}
diff --git a/Userland/Libraries/LibJS/Runtime/FunctionObject.h b/Userland/Libraries/LibJS/Runtime/FunctionObject.h
index c98d4fc141..5b089877b1 100644
--- a/Userland/Libraries/LibJS/Runtime/FunctionObject.h
+++ b/Userland/Libraries/LibJS/Runtime/FunctionObject.h
@@ -34,8 +34,8 @@ public:
const Vector<Value>& bound_arguments() const { return m_bound_arguments; }
- Value home_object() const { return m_home_object; }
- void set_home_object(Value home_object) { m_home_object = home_object; }
+ Object* home_object() const { return m_home_object; }
+ void set_home_object(Object* home_object) { m_home_object = home_object; }
ConstructorKind constructor_kind() const { return m_constructor_kind; };
void set_constructor_kind(ConstructorKind constructor_kind) { m_constructor_kind = constructor_kind; }
@@ -75,7 +75,7 @@ private:
virtual bool is_function() const override { return true; }
Value m_bound_this;
Vector<Value> m_bound_arguments;
- Value m_home_object;
+ Object* m_home_object { nullptr };
ConstructorKind m_constructor_kind = ConstructorKind::Base;
ThisMode m_this_mode { ThisMode::Global };
bool m_has_simple_parameter_list { false };