ladybird/Tests/LibJS/Bytecode/expected/delete-super-eval-order.txt
Andreas Kling 4046f65ae7 LibJS: Treat class definition parts as strict
Record the generator's strictness for each emitted bytecode
instruction, instead of applying the executable's final strictness to
every instruction during assembly. This lets class heritage and
computed element names run with strict assignment semantics inside
sloppy scripts.

Also create the class self-binding as a strict immutable binding,
matching ClassDefinitionEvaluation, and cover strict class heritage and
computed names in the runtime tests.
2026-05-22 01:56:57 +02:00

60 lines
1.6 KiB
Text

$6a8031db delete-super-eval-order.js:4:1
Registers: 10
Blocks: 3
Constants:
[0] = String("m")
[1] = Undefined
[2] = String("x")
block0:
[ 0] GetLexicalEnvironment dst:reg4
[ 8] CreateLexicalEnvironment dst:reg5, parent:reg4, capacity:0, is_catch_environment:false
[ 20] CreateVariable `A`, is_immutable:true, is_global:false, is_strict:true
[ 30] SetLexicalEnvironment environment:reg4
[ 38] NewClass dst:reg6, class_environment:reg5, class_blueprint_index:0, element_keys:[element_keys:String("m")]
[ 60] DynamicInitializeLexicalBinding `A`, src:reg6
[ 70] Jump target:block2
block1:
[ 78] Catch dst:reg6
[ 80] SetLexicalEnvironment environment:reg4
[ 88] Mov2 dst1:reg5, src1:Undefined, dst2:reg7, src2:reg5
[ a0] End value:reg5
block2:
[ a8] Mov dst:reg6, src:Undefined
[ b8] GetGlobal dst:reg9, `A`
[ c8] CallConstruct dst:reg8, callee:reg9, A
[ e0] GetById dst:reg9, base:reg8, `m`
[ f8] Call dst:reg5, callee:reg9, this_value:reg8, <object>.m, arguments:[String("x")]
[ 120] Mov2 dst1:reg6, src1:reg5, dst2:reg5, src2:reg6
[ 138] End value:reg5
Exception handlers:
[ a8 .. 140] => handler block1
A$ef0589ec
Registers: 5
Blocks: 1
Constants:
[0] = Undefined
block0:
[ 0] End value:Undefined
m$0f7c4977 delete-super-eval-order.js:6:9
Registers: 7
Blocks: 2
Constants:
[0] = Undefined
block0:
[ 0] ResolveThisBinding
[ 8] ResolveSuperBase dst:reg5
[ 10] NewReferenceError dst:reg6, Can't delete a property on 'super'
[ 20] Throw src:reg6
block1:
[ 28] End value:Undefined