1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-08 13:37:10 +09:00
ladybird/Libraries/LibWeb/HTML/CustomElements
Aliaksandr Kalenik bb53485dea LibJS+LibWeb: Add fast path for builtin iterators in iterator_step()
We already have fast path for built-in iterators that skips `next()`
lookup and iteration result object allocation applied for `for..of` and
`for..in` loops. This change extends it to `iterator_step()` to cover
`Array.from()`, `[...arr]` and many other cases.

Makes following function go 2.35x faster on my computer:
```js
(function f() {
  let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
  for (let i = 0; i < 1000000; i++) {
    let [a, ...rest] = arr;
  }
})();
```
2025-05-13 15:14:25 +03:00
..
CustomElementDefinition.cpp LibWeb: Make CustomElementDefinition relationship with GC more sane 2024-12-27 10:02:58 +01:00
CustomElementDefinition.h LibWeb: Make CustomElementDefinition relationship with GC more sane 2024-12-27 10:02:58 +01:00
CustomElementName.cpp
CustomElementName.h
CustomElementReactionNames.cpp LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
CustomElementReactionNames.h LibWeb: Implement 'State-preserving atomic move integration' 2025-04-26 08:45:37 -06:00
CustomElementReactionsStack.h LibWeb: Return a representation of an 'Agent' in 'relevant agent' 2025-01-11 10:39:48 -05:00
CustomElementRegistry.cpp LibJS+LibWeb: Add fast path for builtin iterators in iterator_step() 2025-05-13 15:14:25 +03:00
CustomElementRegistry.h LibWeb/Bindings: Generate undefined in a union as 'Empty' 2025-01-12 18:39:24 +00:00
CustomElementRegistry.idl Meta: Disallow links to single-page HTML spec 2025-02-05 16:04:50 -07:00