Jess
Jess
When certain commands contain newlines in their arguments, an error is triggered within the `check_repeated()` function of the `Command` class. This issue becomes apparent, for instance, when a user pastes...
```console Finished 37 tests and 0 benchmarks in 6ms (37ms tests, 0ms benchmarks, 18446744073709551585ms other). All 37 tests passed. ``` (Im 80-90% sure I didnt wait 584942417.3550721 years for the...
### Summary UBSAN complains about a type confusion [here](https://github.com/LadybirdBrowser/ladybird/blob/dda1573746f0d7858c70fb0b6f2b7a2f1e8aa2d4/Libraries/LibJS/Bytecode/Interpreter.cpp#L2183) in the lookup caches of a few different instructions. POC: ```js async function f0(a1) { try { let [] = this;...
### Summary This crashes with just: `[3] 2600885 segmentation fault Build/debug/bin/js crash-3.js` ```js function chain(parent) { Number(parent); chain({ __proto__: parent }); } chain() ``` ### Operating system Linux ### Steps...
Currently, we create `this_argument` with `ordinary_create_from_constructor`, then we use `arguments_list` to build the callee_context. The issue is we don't properly model the side-effects of `ordinary_create_from_constructor`, if `new_target` is a proxy...
This speeds up expressions such as `BigInt.asIntN(0x4000000000000, 1n)` (https://github.com/LadybirdBrowser/ladybird/pull/3615), and those involving very large bigints. Instead of `modulo()` we just cut off high bits.
If we really want we can introduce a compatibility layer, but flakes are pretty standard.
This ones a bit sneaky, the overflow happens before the `checked +=`
Before, If the cache was empty we would try and evict non-existant entries and crash. So we should make sure that we don't saturate the cache with a single parse...