Andreas Kling
70411a117b
LibJS: Use u32 instead of size_t for bytecode instruction array sizes
...
Instructions that have an embedded tail array are not going to have
more than 2^32 elements in any remotely sane situation.
2025-04-06 02:05:27 +02:00
Andreas Kling
41314d0460
LibJS: Remove unnecessary exception checks in bytecode dispatch
...
No need to check for exceptions after instructions that cannot throw.
2025-04-05 11:20:26 +02:00
Andreas Kling
cba80580e2
Revert "LibJS: Avoid calling generic Instruction::length() during dispatch"
...
This reverts commit 8f2ee01e6f
.
Speculative revert, as this appears to severely regress performance on
our JS benchmark runner.
2025-04-03 15:09:49 +02:00
Andreas Kling
8f2ee01e6f
LibJS: Avoid calling generic Instruction::length() during dispatch
...
Since we know the exact type, we can avoid calling the generic lookup
function that branches on instruction type.
2025-04-03 13:56:39 +02:00
Andreas Kling
a0bb31f7a0
LibJS: Make async functions & generators faster with helper types
...
Instead of returning internal generator results as ordinary JS::Objects
with properties, we now use GeneratorResult and CompletionCell which
both inherit from Cell directly and allow efficient access to state.
1.59x speedup on JetStream3/lazy-collections.js :^)
2025-04-01 02:30:42 +02:00
Andreas Kling
f1914893e9
LibJS+LibWeb: Remove more uses of DeprecatedFlyString
2025-03-24 22:27:17 +00:00
Timothy Flynn
93712b24bf
Everywhere: Hoist the Libraries folder to the top-level
2024-11-10 12:50:45 +01:00