mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-03 22:59:33 +00:00
LibJS+LibWeb: Use realm.create<T> instead of heap.allocate<T>
The main motivation behind this is to remove JS specifics of the Realm from the implementation of the Heap. As a side effect of this change, this is a bit nicer to read than the previous approach, and in my opinion, also makes it a little more clear that this method is specific to a JavaScript Realm.
This commit is contained in:
parent
2a5dbedad4
commit
9b79a686eb
Notes:
github-actions[bot]
2024-11-13 21:52:48 +00:00
Author: https://github.com/shannonbooth
Commit: 9b79a686eb
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2322
Reviewed-by: https://github.com/gmta
326 changed files with 697 additions and 714 deletions
|
@ -28,7 +28,7 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<Instance>> Instance::construct_impl(JS::Rea
|
|||
auto& vm = realm.vm();
|
||||
|
||||
auto module_instance = TRY(Detail::instantiate_module(vm, module.compiled_module()->module, import_object));
|
||||
return vm.heap().allocate<Instance>(realm, realm, move(module_instance));
|
||||
return realm.create<Instance>(realm, move(module_instance));
|
||||
}
|
||||
|
||||
Instance::Instance(JS::Realm& realm, NonnullOwnPtr<Wasm::ModuleInstance> module_instance)
|
||||
|
@ -59,7 +59,7 @@ void Instance::initialize(JS::Realm& realm)
|
|||
[&](Wasm::MemoryAddress const& address) {
|
||||
Optional<JS::GCPtr<Memory>> object = m_memory_instances.get(address);
|
||||
if (!object.has_value()) {
|
||||
object = heap().allocate<Memory>(realm, realm, address);
|
||||
object = realm.create<Memory>(realm, address);
|
||||
m_memory_instances.set(address, *object);
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,7 @@ void Instance::initialize(JS::Realm& realm)
|
|||
[&](Wasm::TableAddress const& address) {
|
||||
Optional<JS::GCPtr<Table>> object = m_table_instances.get(address);
|
||||
if (!object.has_value()) {
|
||||
object = heap().allocate<Table>(realm, realm, address);
|
||||
object = realm.create<Table>(realm, address);
|
||||
m_table_instances.set(address, *object);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue