Я пытаюсь понять фрагмент байт-кода V8. Но я не могу понять, что такое SwitchOnGeneratorState. Я предполагаю, что это связано с контекстом функции JavaScript, но хочу знать правильное значение. Это фрагмент байт-кода V8. Любая подсказка была бы благодарна.
0000013D630F11C1: [BytecodeArray] in OldSpace
- map: 0x02c083f838d9 <Map>Parameter count 2
Frame size 136
0000013D630F11FA @ 0 : a8 f9 00 01 SwitchOnGeneratorState r2, [0], [1] { 0: @305 }
0000013D630F11FE @ 4 : 7f 01 01 CreateFunctionContext [1], [1]
0000013D630F1201 @ 7 : 16 f4 PushContext r7
0000013D630F1203 @ 9 : 25 02 Ldar a0
0000013D630F1205 @ 11 : 1d 04 StaCurrentContextSlot [4]
0000013D630F1207 @ 13 : 27 fe f3 Mov <closure>, r8
0000013D630F120A @ 16 : 27 03 f2 Mov <this>, r9
0000013D630F120D @ 19 : 61 03 f3 02 InvokeIntrinsic [_CreateJSGeneratorObject], r8-r9
0000013D630F1211 @ 23 : 26 f9 Star r2
837 E> 0000013D630F1213 @ 25 : a0 StackCheck
0000013D630F1214 @ 26 : 60 b4 fb 00 CallJSRuntime [async_function_promise_create], r0-r0
0000013D630F1218 @ 30 : 26 f5 Star r6
0000013D630F121A @ 32 : 27 ff f1 Mov <context>, r10
0000013D630F121D @ 35 : 27 ff f0 Mov <context>, r11
876 S> 0000013D630F1220 @ 38 : 19 f4 06 00 LdaImmutableContextSlot r7, [6], [0]