mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-30 11:37:16 +02:00
LibJS+LibWeb: Reduce use of GlobalObject as an intermediary
- Prefer VM::current_realm() over GlobalObject::associated_realm() - Prefer VM::heap() over GlobalObject::heap() - Prefer Cell::vm() over Cell::global_object() - Prefer Wrapper::vm() over Wrapper::global_object() - Inline Realm::global_object() calls used to access intrinsics as they will later perform a direct lookup without going through the global object
This commit is contained in:
Notes:
sideshowbarker
2024-07-17 07:52:48 +09:00
Author: https://github.com/linusg Commit: https://github.com/SerenityOS/serenity/commit/b345a0acca Pull-request: https://github.com/SerenityOS/serenity/pull/14973 Reviewed-by: https://github.com/davidot ✅
@@ -46,7 +46,6 @@ void JSONObject::initialize(Realm& realm)
|
||||
ThrowCompletionOr<String> JSONObject::stringify_impl(VM& vm, Value value, Value replacer, Value space)
|
||||
{
|
||||
auto& realm = *vm.current_realm();
|
||||
auto& global_object = realm.global_object();
|
||||
|
||||
StringifyState state;
|
||||
|
||||
@@ -102,7 +101,7 @@ ThrowCompletionOr<String> JSONObject::stringify_impl(VM& vm, Value value, Value
|
||||
state.gap = String::empty();
|
||||
}
|
||||
|
||||
auto* wrapper = Object::create(realm, global_object.object_prototype());
|
||||
auto* wrapper = Object::create(realm, realm.global_object().object_prototype());
|
||||
MUST(wrapper->create_data_property_or_throw(String::empty(), value));
|
||||
return serialize_json_property(vm, state, String::empty(), wrapper);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user