ladybird/Libraries/LibJS/Bytecode
Aliaksandr Kalenik b3713db4ab
Some checks are pending
CI / Lagom (x86_64, Fuzzers_CI, false, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, false, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (arm64, Sanitizer_CI, false, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, true, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (arm64, macos-15, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (x86_64, ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
LibJS: Emit ThrowIfTDZ for identifiers used in assignment expressions
Error about not-initialized `x` variable access should be thrown for:
```js
function foo() {
    x = 69;
    let x;
}

foo();
```

Progress on test262:
```
Diff Tests:
test/staging/sm/expressions/optional-chain-tdz.js  -> 
test/staging/sm/expressions/short-circuit-compound-assignment-tdz.js
 -> 
```

Fixes https://github.com/LadybirdBrowser/ladybird/issues/4587
2025-05-06 12:06:23 +02:00
..
ASTCodegen.cpp LibJS: Emit ThrowIfTDZ for identifiers used in assignment expressions 2025-05-06 12:06:23 +02:00
BasicBlock.cpp
BasicBlock.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Builtins.cpp
Builtins.h LibJS: Add builtin for Math.random() 2025-04-03 13:56:39 +02:00
CodeGenerationError.cpp
CodeGenerationError.h
Executable.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Executable.h LibJS: Preserve information about local variables declaration kind 2025-05-06 12:06:23 +02:00
Generator.cpp LibJS: Preserve information about local variables declaration kind 2025-05-06 12:06:23 +02:00
Generator.h LibJS: Preserve information about local variables declaration kind 2025-05-06 12:06:23 +02:00
IdentifierTable.cpp LibJS: Use FlyString in PropertyKey instead of DeprecatedFlyString 2025-03-24 22:27:17 +00:00
IdentifierTable.h LibJS: Make Optional<IdentifierTableIndex> use less space 2025-03-27 19:50:13 +00:00
Instruction.cpp LibJS: Remove unused InstructionStreamIterator::source_code getter 2025-04-16 10:41:44 -06:00
Instruction.h LibJS: Optimize reading known-to-be-initialized var bindings 2025-05-04 02:31:18 +02:00
Interpreter.cpp LibJS: Preserve information about local variables declaration kind 2025-05-06 12:06:23 +02:00
Interpreter.h Revert "LibJS: Add StackFrame to avoid indirection in VM register access" 2025-04-29 16:08:42 +02:00
Label.cpp
Label.h
Op.h LibJS: Optimize reading known-to-be-initialized var bindings 2025-05-04 02:31:18 +02:00
Operand.h LibJS: Add new operand type for function arguments 2025-04-26 11:02:29 +02:00
RegexTable.cpp
RegexTable.h LibJS: Use u32 for RegexTableIndex 2025-04-06 02:05:27 +02:00
Register.h LibJS: Remove unused bytecode VM register reservation 2025-04-30 09:38:40 +02:00
ScopedOperand.cpp
ScopedOperand.h
StringTable.cpp LibJS: Make Optional<StringTableIndex> use less space 2025-04-06 02:05:27 +02:00
StringTable.h LibJS: Make Optional<StringTableIndex> use less space 2025-04-06 02:05:27 +02:00