Files
ladybird/Tests/LibJS/Bytecode/expected/generator-yield.txt
Andreas Kling fdd7809bd1 Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests
Created these while experimenting with LibJS. Might as well bring them
into the tree and increase our coverage.
2026-02-17 20:44:57 +01:00

32 lines
1.6 KiB
Plaintext

JS bytecode executable ""
[ 0] 0: GetLexicalEnvironment dst:reg4
[ 8] GetGlobal dst:reg6, identifier:multi_yield
[ 18] Call dst:reg5, callee:reg6, this_value:Undefined, multi_yield
[ 38] SetGlobal identifier:g, src:reg5
[ 48] GetGlobal dst:reg6, identifier:g
[ 58] GetById dst:reg7, base:reg6, property:next, base_identifier:g
[ 70] Call dst:reg5, callee:reg7, this_value:reg6, g.next
[ 90] GetGlobal dst:reg6, identifier:g
[ a0] GetById dst:reg8, base:reg6, property:next, base_identifier:g
[ b8] Call dst:reg7, callee:reg8, this_value:reg6, g.next
[ d8] End value:reg7
JS bytecode executable "multi_yield"
[ 0] 0: GetLexicalEnvironment dst:reg4
[ 8] Yield continuation_label:@18, value:Undefined
[ 18] 1: Yield continuation_label:@28, value:Int32(1)
[ 28] 2: Mov dst:reg5, src:reg0
[ 38] GetCompletionFields type_dst:reg6, value_dst:reg7, completion:reg5
[ 48] JumpStrictlyEquals lhs:reg6, rhs:Int32(1), true_target:@60, false_target:@70
[ 60] 3: Yield continuation_label:@a0, value:Int32(2)
[ 70] 4: JumpStrictlyEquals lhs:reg6, rhs:Int32(5), true_target:@88, false_target:@90
[ 88] 5: Throw src:reg7
[ 90] 6: Yield value:reg7
[ a0] 7: Mov dst:reg7, src:reg0
[ b0] GetCompletionFields type_dst:reg5, value_dst:reg6, completion:reg7
[ c0] JumpStrictlyEquals lhs:reg5, rhs:Int32(1), true_target:@d8, false_target:@e8
[ d8] 8: Yield value:Undefined
[ e8] 9: JumpStrictlyEquals lhs:reg5, rhs:Int32(5), true_target:@100, false_target:@108
[ 100] 10: Throw src:reg6
[ 108] 11: Yield value:reg6