Timothy Flynn
941336505c
LibJS: Align async module rejection order with fulfillment order
...
This is a normative change in the ECMA-262 spec. See:
https://github.com/tc39/ecma262/commit/4752038
2025-12-17 15:33:26 +01:00
Timothy Flynn
a8514a2c29
LibJS: Do not assume cyclic modules have a cycle root
...
This is a normative change in the ECMA-262 spec. See:
https://github.com/tc39/ecma262/commit/939b993
2025-11-13 14:05:18 +01:00
caztanj
e93f44112d
LibJS: Do not verify cycle root's status is linked in CyclicModule
...
This VERIFY is both incorrect and redundant. The VERIFY at step 2
verifies the status when evaluate is called on m_cycle_root.
2025-10-22 11:54:56 +02:00
Feng Yu
61c36e2865
LibJS: Sync additional Import Attributes spec changes
...
Some steps were not updated with tc39/ecma262#3057 . This patch
syncs the remaining changes.
2025-10-22 10:58:19 +02:00
Timothy Flynn
3867a192a1
LibJS: Update spec steps / links for the import-assertions proposal
...
This proposal has reached stage 4 and been merged into the main ECMA-262
spec. See:
https://github.com/tc39/ecma262/commit/4e3450e
2025-04-29 07:33:08 -04:00
Andreas Kling
c5a239b8c4
LibJS: Add missing visit for CyclicModule::m_evaluation_error
2025-04-05 21:34:13 +02:00
Andreas Kling
de424d6879
LibJS: Make Completion.[[Value]] non-optional
...
Instead, just use js_undefined() whenever the [[Value]] field is unused.
This avoids a whole bunch of presence checks.
2025-04-05 11:20:26 +02:00
Andreas Kling
53da8893ac
LibJS: Replace PropertyKey(char[]) with PropertyKey(FlyString)
...
...and deal with the fallout.
2025-03-24 22:27:17 +00:00
Timothy Flynn
85b424464a
AK+Everywhere: Rename verify_cast to as
...
Follow-up to fc20e61e72 .
2025-01-21 11:34:06 -05:00
Timothy Flynn
2c3077d929
LibJS: Implement InnerModuleLoading as a free function
...
It is currently implemented as a member of CyclicModule. However, as the
spec indicates, this must be invokable with non-CyclicModule modules. In
several of the call sites, we are blindly casting to a CyclicModule;
this will fail for e.g. JSON modules.
2025-01-21 14:58:32 +01:00
Shannon Booth
f87041bf3a
LibGC+Everywhere: Factor out a LibGC from LibJS
...
Resulting in a massive rename across almost everywhere! Alongside the
namespace change, we now have the following names:
* JS::NonnullGCPtr -> GC::Ref
* JS::GCPtr -> GC::Ptr
* JS::HeapFunction -> GC::Function
* JS::CellImpl -> GC::Cell
* JS::Handle -> GC::Root
2024-11-15 14:49:20 +01:00
Shannon Booth
1e54003cb1
LibJS+LibWeb: Rename Heap::allocate_without_realm to Heap::allocate
...
Now that the heap has no knowledge about a JavaScript realm and is
purely for managing the memory of the heap, it does not make sense
to name this function to say that it is a non-realm variant.
2024-11-13 16:51:44 -05:00
Timothy Flynn
93712b24bf
Everywhere: Hoist the Libraries folder to the top-level
2024-11-10 12:50:45 +01:00