ladybird/Userland
Andreas Kling a91bb72dab LibJS: Don't overwrite cached this value on async/generator reentry
When resuming execution of a suspended function, we must not overwrite
any cached `this` value with something from the ExecutionContext.

This was causing an empty JS::Value to leak into the VM when resuming
an async arrow function, since the "this mode" for such functions is
lexical and thus ExecutionContext will have an empty `this`.

It became a problem due to the bytecode optimization where we allow
ourselves to assume that `this` remains cached after we've executed a
ResolveThisBinding in this (or the first) basic block of the executable.

Fixes https://github.com/LadybirdBrowser/ladybird/issues/138
2024-06-20 10:17:18 +02:00
..
Libraries LibJS: Don't overwrite cached this value on async/generator reentry 2024-06-20 10:17:18 +02:00
Services Everywhere: Remove AffineCommandExecutorCPU 2024-06-19 17:22:30 +03:00
Utilities LibMedia: Rename LibVideo to LibMedia 2024-06-19 07:51:55 +02:00
CMakeLists.txt Userland: Add the BuggieBox program 2022-11-26 12:41:47 -07:00