ladybird/Libraries/LibJS/Bytecode
Aliaksandr Kalenik c3b0eabf18 LibJS: Capture PrototypeChainValidity before executing internal_get()
- Capture PrototypeChainValidity before invoking `internal_get()`. A
  getter may mutate the prototype chain (e.g., delete itself). Capturing
  earlier ensures such mutations invalidate the cached entry and prevent
  stale GetById hits.
- When caching, take PrototypeChainValidity from the base object
  (receiver), not from the prototype where the property was found.
  Otherwise, changes to an intermediate prototype between the base
  object and the cached prototype object go unnoticed, leading to
  incorrect cache hits.
2025-09-18 15:56:20 +02:00
..
ASTCodegen.cpp LibJS: Add PutByNumericId and change PutById to be string key only 2025-09-13 20:02:28 +02:00
BasicBlock.cpp
BasicBlock.h Everywhere: Slap some [[clang::lifetimebound]] where appropriate 2025-09-01 11:11:38 +02:00
Builtins.cpp
Builtins.h LibJS: Do more comprehensive check if next() fast path is possible 2025-06-02 00:15:36 +02:00
CodeGenerationError.cpp
CodeGenerationError.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Executable.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Executable.h LibJS: Add inline caching for adding new own properties to objects 2025-09-17 12:44:44 +02:00
Generator.cpp LibJS: Add PutByNumericId and change PutById to be string key only 2025-09-13 20:02:28 +02:00
Generator.h LibJS: Add PutByNumericId and change PutById to be string key only 2025-09-13 20:02:28 +02:00
IdentifierTable.cpp LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
IdentifierTable.h LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
Instruction.cpp LibJS: Remove unused InstructionStreamIterator::source_code getter 2025-04-16 10:41:44 -06:00
Instruction.h LibJS: Add PutByNumericId and change PutById to be string key only 2025-09-13 20:02:28 +02:00
Interpreter.cpp LibJS: Capture PrototypeChainValidity before executing internal_get() 2025-09-18 15:56:20 +02:00
Interpreter.h LibJS: Allocate context up front in SuperCallWithArgumentArray 2025-08-31 15:24:37 +02:00
Label.cpp
Label.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Op.h LibJS: Add PutByNumericId and change PutById to be string key only 2025-09-13 20:02:28 +02:00
Operand.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
RegexTable.cpp
RegexTable.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Register.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ScopedOperand.cpp
ScopedOperand.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
StringTable.cpp LibJS+LibWeb: Port interned bytecode strings to UTF-16 2025-08-14 10:27:08 +02:00
StringTable.h LibJS+LibWeb: Port interned bytecode strings to UTF-16 2025-08-14 10:27:08 +02:00