AsyncModules.golden 10.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#
# Autogenerated by generate-bytecode-expectations.
#

---
wrap: no
module: yes
top level: yes
top level await: yes

---
snippet: "
  await 42;
"
15 16
frame size: 7
parameter count: 1
17
bytecode array length: 116
18 19
bytecodes: [
                B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
20 21
                B(Mov), R(closure), R(2),
                B(Mov), R(this), R(3),
22
  /*    0 E> */ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(2), U8(2),
23
                B(Star0),
24 25
  /*    0 E> */ B(SuspendGenerator), R(0), R(0), U8(2), U8(0),
                B(ResumeGenerator), R(0), R(0), U8(2),
26
                B(Star2),
27
                B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
28 29
                B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
                B(Ldar), R(2),
30
  /*    0 E> */ B(Throw),
31
                B(Ldar), R(2),
32
                B(Return),
33
                B(Mov), R(2), R(1),
34
                B(Ldar), R(1),
35
                B(Mov), R(context), R(2),
36
  /*    0 S> */ B(LdaSmi), I8(42),
37
                B(Star4),
38 39 40 41
                B(Mov), R(0), R(3),
                B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(3), U8(2),
  /*    0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), U8(1),
                B(ResumeGenerator), R(0), R(0), U8(3),
42
                B(Star3),
43
                B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
44
                B(Star4),
45
                B(LdaZero),
46
                B(TestReferenceEqual), R(4),
47
                B(JumpIfTrue), U8(5),
48
                B(Ldar), R(3),
49 50
                B(ReThrow),
                B(LdaUndefined),
51
                B(Star4),
52
                B(LdaTrue),
53
                B(Star5),
54 55
                B(Mov), R(0), R(3),
                B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(3), U8(3),
56
  /*   10 S> */ B(Return),
57
                B(Star3),
58
                B(CreateCatchContext), R(3), U8(4),
59
                B(Star2),
60 61
                B(LdaTheHole),
                B(SetPendingMessage),
62 63
                B(Ldar), R(2),
                B(PushContext), R(3),
64
                B(LdaImmutableCurrentContextSlot), U8(2),
65
                B(Star5),
66
                B(LdaTrue),
67
                B(Star6),
68 69
                B(Mov), R(0), R(4),
                B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionReject), R(4), U8(3),
70
                B(Return),
71 72
]
constant pool: [
73 74
  Smi [20],
  Smi [62],
75 76 77 78 79
  Smi [10],
  Smi [7],
  SCOPE_INFO_TYPE,
]
handlers: [
80
  [47, 92, 92],
81 82 83 84 85 86
]

---
snippet: "
  await import(\"foo\");
"
87 88
frame size: 7
parameter count: 1
89
bytecode array length: 125
90 91
bytecodes: [
                B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
92 93
                B(Mov), R(closure), R(2),
                B(Mov), R(this), R(3),
94
  /*    0 E> */ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(2), U8(2),
95
                B(Star0),
96 97
  /*    0 E> */ B(SuspendGenerator), R(0), R(0), U8(2), U8(0),
                B(ResumeGenerator), R(0), R(0), U8(2),
98
                B(Star2),
99
                B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
100 101
                B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
                B(Ldar), R(2),
102
  /*    0 E> */ B(Throw),
103
                B(Ldar), R(2),
104
                B(Return),
105
                B(Mov), R(2), R(1),
106
                B(Ldar), R(1),
107 108
                B(Mov), R(context), R(2),
  /*    0 S> */ B(LdaConstant), U8(4),
109
                B(Star4),
110 111
                B(Mov), R(closure), R(3),
                B(CallRuntime), U16(Runtime::kDynamicImportCall), R(3), U8(2),
112
                B(Star4),
113 114 115 116
                B(Mov), R(0), R(3),
                B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(3), U8(2),
  /*    0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), U8(1),
                B(ResumeGenerator), R(0), R(0), U8(3),
117
                B(Star3),
118
                B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
119
                B(Star4),
120
                B(LdaZero),
121
                B(TestReferenceEqual), R(4),
122
                B(JumpIfTrue), U8(5),
123
                B(Ldar), R(3),
124 125
                B(ReThrow),
                B(LdaUndefined),
126
                B(Star4),
127
                B(LdaTrue),
128
                B(Star5),
129 130
                B(Mov), R(0), R(3),
                B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(3), U8(3),
131
  /*   21 S> */ B(Return),
132
                B(Star3),
133
                B(CreateCatchContext), R(3), U8(5),
134
                B(Star2),
135 136
                B(LdaTheHole),
                B(SetPendingMessage),
137 138
                B(Ldar), R(2),
                B(PushContext), R(3),
139
                B(LdaImmutableCurrentContextSlot), U8(2),
140
                B(Star5),
141
                B(LdaTrue),
142
                B(Star6),
143 144
                B(Mov), R(0), R(4),
                B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionReject), R(4), U8(3),
145
                B(Return),
146 147
]
constant pool: [
148 149
  Smi [20],
  Smi [71],
150 151 152 153 154 155
  Smi [10],
  Smi [7],
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["foo"],
  SCOPE_INFO_TYPE,
]
handlers: [
156
  [47, 101, 101],
157 158 159 160 161 162 163 164 165 166
]

---
snippet: "
  await 42;
  async function foo() {
    await 42;
  }
  foo();
"
167 168
frame size: 8
parameter count: 1
169
bytecode array length: 126
170 171
bytecodes: [
                B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
172 173
                B(Mov), R(closure), R(3),
                B(Mov), R(this), R(4),
174
  /*    0 E> */ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(3), U8(2),
175
                B(Star0),
176
                B(CreateClosure), U8(2), U8(0), U8(0),
177
                B(Star1),
178
                B(Ldar), R(0),
179 180
  /*    0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), U8(0),
                B(ResumeGenerator), R(0), R(0), U8(3),
181
                B(Star3),
182
                B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
183 184
                B(SwitchOnSmiNoFeedback), U8(3), U8(2), I8(0),
                B(Ldar), R(3),
185
  /*    0 E> */ B(Throw),
186
                B(Ldar), R(3),
187
                B(Return),
188
                B(Mov), R(3), R(2),
189
                B(Ldar), R(2),
190
                B(Mov), R(context), R(3),
191
  /*    0 S> */ B(LdaSmi), I8(42),
192
                B(Star5),
193 194 195 196
                B(Mov), R(0), R(4),
                B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(4), U8(2),
  /*    0 E> */ B(SuspendGenerator), R(0), R(0), U8(4), U8(1),
                B(ResumeGenerator), R(0), R(0), U8(4),
197
                B(Star4),
198
                B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
199
                B(Star5),
200
                B(LdaZero),
201
                B(TestReferenceEqual), R(5),
202
                B(JumpIfTrue), U8(5),
203
                B(Ldar), R(4),
204 205 206
                B(ReThrow),
  /*   47 S> */ B(CallUndefinedReceiver0), R(1), U8(0),
                B(LdaUndefined),
207
                B(Star5),
208
                B(LdaTrue),
209
                B(Star6),
210 211
                B(Mov), R(0), R(4),
                B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(4), U8(3),
212
  /*   54 S> */ B(Return),
213
                B(Star4),
214
                B(CreateCatchContext), R(4), U8(5),
215
                B(Star3),
216 217
                B(LdaTheHole),
                B(SetPendingMessage),
218 219
                B(Ldar), R(3),
                B(PushContext), R(4),
220
                B(LdaImmutableCurrentContextSlot), U8(2),
221
                B(Star6),
222
                B(LdaTrue),
223
                B(Star7),
224 225
                B(Mov), R(0), R(5),
                B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionReject), R(5), U8(3),
226
                B(Return),
227 228
]
constant pool: [
229 230
  Smi [27],
  Smi [69],
231 232 233 234 235 236
  SHARED_FUNCTION_INFO_TYPE,
  Smi [10],
  Smi [7],
  SCOPE_INFO_TYPE,
]
handlers: [
237
  [54, 102, 102],
238 239 240 241 242 243 244
]

---
snippet: "
  import * as foo from \"bar\";
  await import(\"goo\");
"
245 246
frame size: 8
parameter count: 1
247
bytecode array length: 135
248 249
bytecodes: [
                B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
250 251
                B(Mov), R(closure), R(3),
                B(Mov), R(this), R(4),
252
  /*    0 E> */ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionEnter), R(3), U8(2),
253
                B(Star0),
254
                B(LdaZero),
255
                B(Star3),
256
                B(CallRuntime), U16(Runtime::kGetModuleNamespace), R(3), U8(1),
257
                B(Star1),
258
                B(Ldar), R(0),
259 260
  /*    0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), U8(0),
                B(ResumeGenerator), R(0), R(0), U8(3),
261
                B(Star3),
262
                B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
263 264
                B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0),
                B(Ldar), R(3),
265
  /*    0 E> */ B(Throw),
266
                B(Ldar), R(3),
267
                B(Return),
268
                B(Mov), R(3), R(2),
269
                B(Ldar), R(2),
270 271
                B(Mov), R(context), R(3),
  /*   28 S> */ B(LdaConstant), U8(4),
272
                B(Star5),
273 274
                B(Mov), R(closure), R(4),
                B(CallRuntime), U16(Runtime::kDynamicImportCall), R(4), U8(2),
275
                B(Star5),
276 277 278 279
                B(Mov), R(0), R(4),
                B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(4), U8(2),
  /*   28 E> */ B(SuspendGenerator), R(0), R(0), U8(4), U8(1),
                B(ResumeGenerator), R(0), R(0), U8(4),
280
                B(Star4),
281
                B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
282
                B(Star5),
283
                B(LdaZero),
284
                B(TestReferenceEqual), R(5),
285
                B(JumpIfTrue), U8(5),
286
                B(Ldar), R(4),
287 288
                B(ReThrow),
                B(LdaUndefined),
289
                B(Star5),
290
                B(LdaTrue),
291
                B(Star6),
292 293
                B(Mov), R(0), R(4),
                B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(4), U8(3),
294
  /*   49 S> */ B(Return),
295
                B(Star4),
296
                B(CreateCatchContext), R(4), U8(5),
297
                B(Star3),
298 299
                B(LdaTheHole),
                B(SetPendingMessage),
300 301
                B(Ldar), R(3),
                B(PushContext), R(4),
302
                B(LdaImmutableCurrentContextSlot), U8(2),
303
                B(Star6),
304
                B(LdaTrue),
305
                B(Star7),
306 307
                B(Mov), R(0), R(5),
                B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionReject), R(5), U8(3),
308
                B(Return),
309 310
]
constant pool: [
311 312
  Smi [30],
  Smi [81],
313 314 315 316 317 318
  Smi [10],
  Smi [7],
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["goo"],
  SCOPE_INFO_TYPE,
]
handlers: [
319
  [57, 111, 111],
320 321
]