Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Side by Side Diff: test/cctest/interpreter/bytecode_expectations/Modules.golden

Issue 2894293003: Save/restore only live registers in the generator suspend/resume. (Closed)
Patch Set: Tweak Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # 1 #
2 # Autogenerated by generate-bytecode-expectations. 2 # Autogenerated by generate-bytecode-expectations.
3 # 3 #
4 4
5 --- 5 ---
6 wrap: no 6 wrap: no
7 module: yes 7 module: yes
8 top level: yes 8 top level: yes
9 9
10 --- 10 ---
11 snippet: " 11 snippet: "
12 import \"bar\"; 12 import \"bar\";
13 " 13 "
14 frame size: 8 14 frame size: 9
15 parameter count: 2 15 parameter count: 2
16 bytecode array length: 130 16 bytecode array length: 141
17 bytecodes: [ 17 bytecodes: [
18 B(Mov), R(new_target), R(0),
18 B(Ldar), R(new_target), 19 B(Ldar), R(new_target),
19 B(JumpIfUndefined), U8(25), 20 B(JumpIfUndefined), U8(25),
20 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1), 21 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8 (1),
21 B(PushContext), R(1), 22 B(PushContext), R(2),
22 B(ResumeGenerator), R(new_target), 23 B(RestoreGeneratorState), R(0),
23 B(Star), R(0), 24 B(Star), R(1),
24 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), 25 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
25 B(LdaSmi), I8(79), 26 B(LdaSmi), I8(79),
26 B(Star), R(2), 27 B(Star), R(3),
27 B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), 28 B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
28 B(LdaSmi), I8(-2), 29 B(LdaSmi), I8(-2),
29 B(Star), R(0), 30 B(Star), R(1),
30 B(LdaConstant), U8(1), 31 B(LdaConstant), U8(1),
31 B(Star), R(4), 32 B(Star), R(5),
32 B(Mov), R(arg0), R(2), 33 B(Mov), R(arg0), R(3),
33 B(Mov), R(closure), R(3), 34 B(Mov), R(closure), R(4),
34 B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3), 35 B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
35 B(PushContext), R(2), 36 B(PushContext), R(3),
36 B(Mov), R(this), R(4), 37 B(Mov), R(this), R(5),
37 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3) , U8(2), 38 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4) , U8(2),
38 B(StaCurrentContextSlot), U8(4), 39 B(StaCurrentContextSlot), U8(4),
39 /* 0 E> */ B(StackCheck), 40 /* 0 E> */ B(StackCheck),
40 B(LdaImmutableCurrentContextSlot), U8(4), 41 B(Star), R(0),
41 B(Star), R(3),
42 B(LdaImmutableCurrentContextSlot), U8(4), 42 B(LdaImmutableCurrentContextSlot), U8(4),
43 B(Star), R(4), 43 B(Star), R(4),
44 B(LdaZero), 44 B(LdaImmutableCurrentContextSlot), U8(4),
45 /* 0 E> */ B(SuspendGenerator), R(3), U8(0),
46 B(Ldar), R(4),
47 /* 13 S> */ B(Return),
48 B(LdaSmi), I8(-2),
49 B(Star), R(0),
50 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
51 B(Star), R(4),
52 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
53 B(Star), R(5), 45 B(Star), R(5),
54 B(LdaZero), 46 B(LdaZero),
55 B(TestEqualStrictNoFeedback), R(5), 47 /* 0 E> */ B(SuspendGenerator), R(4), R(0), U8(5), U8(0),
48 B(Ldar), R(5),
49 /* 13 S> */ B(Return),
50 B(RestoreGeneratorRegisters), R(0), R(0), U8(5),
51 B(LdaSmi), I8(-2),
52 B(Star), R(1),
53 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
54 B(Star), R(5),
55 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
56 B(Star), R(6),
57 B(LdaZero),
58 B(TestEqualStrictNoFeedback), R(6),
56 B(JumpIfTrue), U8(22), 59 B(JumpIfTrue), U8(22),
57 B(LdaSmi), I8(2), 60 B(LdaSmi), I8(2),
58 B(TestEqualStrictNoFeedback), R(5), 61 B(TestEqualStrictNoFeedback), R(6),
59 B(JumpIfTrue), U8(13), 62 B(JumpIfTrue), U8(13),
60 B(LdaTrue), 63 B(LdaTrue),
61 B(Star), R(7), 64 B(Star), R(8),
62 B(Mov), R(4), R(6), 65 B(Mov), R(5), R(7),
63 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), 66 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2),
64 /* 13 S> */ B(Return), 67 /* 13 S> */ B(Return),
65 B(Ldar), R(4), 68 B(Ldar), R(5),
66 /* 0 E> */ B(Throw), 69 /* 0 E> */ B(Throw),
67 B(Ldar), R(4), 70 B(Ldar), R(5),
68 B(StaCurrentContextSlot), U8(5), 71 B(StaCurrentContextSlot), U8(5),
69 B(LdaCurrentContextSlot), U8(5), 72 B(LdaCurrentContextSlot), U8(5),
70 B(Star), R(3), 73 B(Star), R(4),
71 B(LdaTrue), 74 B(LdaTrue),
72 B(Star), R(4), 75 B(Star), R(5),
73 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), 76 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(4), U8(2),
74 /* 13 S> */ B(Return), 77 /* 13 S> */ B(Return),
75 ] 78 ]
76 constant pool: [ 79 constant pool: [
77 Smi [59], 80 Smi [63],
78 FIXED_ARRAY_TYPE, 81 FIXED_ARRAY_TYPE,
79 ] 82 ]
80 handlers: [ 83 handlers: [
81 ] 84 ]
82 85
83 --- 86 ---
84 snippet: " 87 snippet: "
85 import {foo} from \"bar\"; 88 import {foo} from \"bar\";
86 " 89 "
87 frame size: 8 90 frame size: 9
88 parameter count: 2 91 parameter count: 2
89 bytecode array length: 130 92 bytecode array length: 141
90 bytecodes: [ 93 bytecodes: [
94 B(Mov), R(new_target), R(0),
91 B(Ldar), R(new_target), 95 B(Ldar), R(new_target),
92 B(JumpIfUndefined), U8(25), 96 B(JumpIfUndefined), U8(25),
93 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1), 97 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8 (1),
94 B(PushContext), R(1), 98 B(PushContext), R(2),
95 B(ResumeGenerator), R(new_target), 99 B(RestoreGeneratorState), R(0),
96 B(Star), R(0), 100 B(Star), R(1),
97 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), 101 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
98 B(LdaSmi), I8(79), 102 B(LdaSmi), I8(79),
99 B(Star), R(2), 103 B(Star), R(3),
100 B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), 104 B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
101 B(LdaSmi), I8(-2), 105 B(LdaSmi), I8(-2),
102 B(Star), R(0), 106 B(Star), R(1),
103 B(LdaConstant), U8(1), 107 B(LdaConstant), U8(1),
104 B(Star), R(4), 108 B(Star), R(5),
105 B(Mov), R(arg0), R(2), 109 B(Mov), R(arg0), R(3),
106 B(Mov), R(closure), R(3), 110 B(Mov), R(closure), R(4),
107 B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3), 111 B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
108 B(PushContext), R(2), 112 B(PushContext), R(3),
109 B(Mov), R(this), R(4), 113 B(Mov), R(this), R(5),
110 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3) , U8(2), 114 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4) , U8(2),
111 B(StaCurrentContextSlot), U8(4), 115 B(StaCurrentContextSlot), U8(4),
112 /* 0 E> */ B(StackCheck), 116 /* 0 E> */ B(StackCheck),
113 B(LdaImmutableCurrentContextSlot), U8(4), 117 B(Star), R(0),
114 B(Star), R(3),
115 B(LdaImmutableCurrentContextSlot), U8(4), 118 B(LdaImmutableCurrentContextSlot), U8(4),
116 B(Star), R(4), 119 B(Star), R(4),
117 B(LdaZero), 120 B(LdaImmutableCurrentContextSlot), U8(4),
118 /* 0 E> */ B(SuspendGenerator), R(3), U8(0),
119 B(Ldar), R(4),
120 /* 24 S> */ B(Return),
121 B(LdaSmi), I8(-2),
122 B(Star), R(0),
123 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
124 B(Star), R(4),
125 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
126 B(Star), R(5), 121 B(Star), R(5),
127 B(LdaZero), 122 B(LdaZero),
128 B(TestEqualStrictNoFeedback), R(5), 123 /* 0 E> */ B(SuspendGenerator), R(4), R(0), U8(5), U8(0),
124 B(Ldar), R(5),
125 /* 24 S> */ B(Return),
126 B(RestoreGeneratorRegisters), R(0), R(0), U8(5),
127 B(LdaSmi), I8(-2),
128 B(Star), R(1),
129 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
130 B(Star), R(5),
131 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
132 B(Star), R(6),
133 B(LdaZero),
134 B(TestEqualStrictNoFeedback), R(6),
129 B(JumpIfTrue), U8(22), 135 B(JumpIfTrue), U8(22),
130 B(LdaSmi), I8(2), 136 B(LdaSmi), I8(2),
131 B(TestEqualStrictNoFeedback), R(5), 137 B(TestEqualStrictNoFeedback), R(6),
132 B(JumpIfTrue), U8(13), 138 B(JumpIfTrue), U8(13),
133 B(LdaTrue), 139 B(LdaTrue),
134 B(Star), R(7), 140 B(Star), R(8),
135 B(Mov), R(4), R(6), 141 B(Mov), R(5), R(7),
136 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), 142 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2),
137 /* 24 S> */ B(Return), 143 /* 24 S> */ B(Return),
138 B(Ldar), R(4), 144 B(Ldar), R(5),
139 /* 0 E> */ B(Throw), 145 /* 0 E> */ B(Throw),
140 B(Ldar), R(4), 146 B(Ldar), R(5),
141 B(StaCurrentContextSlot), U8(5), 147 B(StaCurrentContextSlot), U8(5),
142 B(LdaCurrentContextSlot), U8(5), 148 B(LdaCurrentContextSlot), U8(5),
143 B(Star), R(3), 149 B(Star), R(4),
144 B(LdaTrue), 150 B(LdaTrue),
145 B(Star), R(4), 151 B(Star), R(5),
146 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), 152 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(4), U8(2),
147 /* 24 S> */ B(Return), 153 /* 24 S> */ B(Return),
148 ] 154 ]
149 constant pool: [ 155 constant pool: [
150 Smi [59], 156 Smi [63],
151 FIXED_ARRAY_TYPE, 157 FIXED_ARRAY_TYPE,
152 ] 158 ]
153 handlers: [ 159 handlers: [
154 ] 160 ]
155 161
156 --- 162 ---
157 snippet: " 163 snippet: "
158 import {foo as goo} from \"bar\"; 164 import {foo as goo} from \"bar\";
159 goo(42); 165 goo(42);
160 { let x; { goo(42) } }; 166 { let x; { goo(42) } };
161 " 167 "
162 frame size: 8 168 frame size: 9
163 parameter count: 2 169 parameter count: 2
164 bytecode array length: 192 170 bytecode array length: 203
165 bytecodes: [ 171 bytecodes: [
172 B(Mov), R(new_target), R(0),
166 B(Ldar), R(new_target), 173 B(Ldar), R(new_target),
167 B(JumpIfUndefined), U8(25), 174 B(JumpIfUndefined), U8(25),
168 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1), 175 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8 (1),
169 B(PushContext), R(1), 176 B(PushContext), R(2),
170 B(ResumeGenerator), R(new_target), 177 B(RestoreGeneratorState), R(0),
171 B(Star), R(0), 178 B(Star), R(1),
172 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), 179 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
173 B(LdaSmi), I8(79), 180 B(LdaSmi), I8(79),
174 B(Star), R(2), 181 B(Star), R(3),
175 B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), 182 B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
176 B(LdaSmi), I8(-2), 183 B(LdaSmi), I8(-2),
177 B(Star), R(0), 184 B(Star), R(1),
178 B(LdaConstant), U8(1), 185 B(LdaConstant), U8(1),
179 B(Star), R(4), 186 B(Star), R(5),
180 B(Mov), R(arg0), R(2), 187 B(Mov), R(arg0), R(3),
181 B(Mov), R(closure), R(3), 188 B(Mov), R(closure), R(4),
182 B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3), 189 B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
183 B(PushContext), R(2), 190 B(PushContext), R(3),
184 B(Mov), R(this), R(4), 191 B(Mov), R(this), R(5),
185 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3) , U8(2), 192 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4) , U8(2),
186 B(StaCurrentContextSlot), U8(4), 193 B(StaCurrentContextSlot), U8(4),
187 /* 0 E> */ B(StackCheck), 194 /* 0 E> */ B(StackCheck),
188 B(LdaImmutableCurrentContextSlot), U8(4), 195 B(Star), R(0),
189 B(Star), R(3),
190 B(LdaImmutableCurrentContextSlot), U8(4), 196 B(LdaImmutableCurrentContextSlot), U8(4),
191 B(Star), R(4), 197 B(Star), R(4),
192 B(LdaZero), 198 B(LdaImmutableCurrentContextSlot), U8(4),
193 /* 0 E> */ B(SuspendGenerator), R(3), U8(0),
194 B(Ldar), R(4),
195 /* 64 S> */ B(Return),
196 B(LdaSmi), I8(-2),
197 B(Star), R(0),
198 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
199 B(Star), R(4),
200 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
201 B(Star), R(5), 199 B(Star), R(5),
202 B(LdaZero), 200 B(LdaZero),
203 B(TestEqualStrictNoFeedback), R(5), 201 /* 0 E> */ B(SuspendGenerator), R(4), R(0), U8(5), U8(0),
202 B(Ldar), R(5),
203 /* 64 S> */ B(Return),
204 B(RestoreGeneratorRegisters), R(0), R(0), U8(5),
205 B(LdaSmi), I8(-2),
206 B(Star), R(1),
207 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
208 B(Star), R(5),
209 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
210 B(Star), R(6),
211 B(LdaZero),
212 B(TestEqualStrictNoFeedback), R(6),
204 B(JumpIfTrue), U8(22), 213 B(JumpIfTrue), U8(22),
205 B(LdaSmi), I8(2), 214 B(LdaSmi), I8(2),
206 B(TestEqualStrictNoFeedback), R(5), 215 B(TestEqualStrictNoFeedback), R(6),
207 B(JumpIfTrue), U8(13), 216 B(JumpIfTrue), U8(13),
208 B(LdaTrue), 217 B(LdaTrue),
209 B(Star), R(7), 218 B(Star), R(8),
210 B(Mov), R(4), R(6), 219 B(Mov), R(5), R(7),
211 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), 220 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2),
212 /* 64 S> */ B(Return), 221 /* 64 S> */ B(Return),
213 B(Ldar), R(4), 222 B(Ldar), R(5),
214 /* 0 E> */ B(Throw), 223 /* 0 E> */ B(Throw),
215 /* 32 S> */ B(LdaModuleVariable), I8(-1), U8(0), 224 /* 32 S> */ B(LdaModuleVariable), I8(-1), U8(0),
216 B(JumpIfNotHole), U8(11), 225 B(JumpIfNotHole), U8(11),
217 B(LdaConstant), U8(2), 226 B(LdaConstant), U8(2),
227 B(Star), R(5),
228 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(5), U8(1),
218 B(Star), R(4), 229 B(Star), R(4),
219 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
220 B(Star), R(3),
221 B(LdaSmi), I8(42), 230 B(LdaSmi), I8(42),
222 B(Star), R(4), 231 B(Star), R(5),
223 /* 32 E> */ B(CallUndefinedReceiver1), R(3), R(4), U8(3), 232 /* 32 E> */ B(CallUndefinedReceiver1), R(4), R(5), U8(3),
224 B(Ldar), R(closure), 233 B(Ldar), R(closure),
225 B(CreateBlockContext), U8(3), 234 B(CreateBlockContext), U8(3),
226 B(PushContext), R(3), 235 B(PushContext), R(4),
227 B(LdaTheHole), 236 B(LdaTheHole),
228 B(StaCurrentContextSlot), U8(4), 237 B(StaCurrentContextSlot), U8(4),
229 /* 47 S> */ B(LdaUndefined), 238 /* 47 S> */ B(LdaUndefined),
230 /* 47 E> */ B(StaCurrentContextSlot), U8(4), 239 /* 47 E> */ B(StaCurrentContextSlot), U8(4),
231 /* 52 S> */ B(LdaModuleVariable), I8(-1), U8(1), 240 /* 52 S> */ B(LdaModuleVariable), I8(-1), U8(1),
232 B(JumpIfNotHole), U8(11), 241 B(JumpIfNotHole), U8(11),
233 B(LdaConstant), U8(2), 242 B(LdaConstant), U8(2),
243 B(Star), R(6),
244 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(6), U8(1),
234 B(Star), R(5), 245 B(Star), R(5),
235 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(5), U8(1), 246 B(LdaSmi), I8(42),
247 B(Star), R(6),
248 /* 52 E> */ B(CallUndefinedReceiver1), R(5), R(6), U8(5),
249 B(StaContextSlot), R(4), U8(5), U8(0),
250 B(PopContext), R(4),
251 B(LdaCurrentContextSlot), U8(5),
236 B(Star), R(4), 252 B(Star), R(4),
237 B(LdaSmi), I8(42), 253 B(LdaTrue),
238 B(Star), R(5), 254 B(Star), R(5),
239 /* 52 E> */ B(CallUndefinedReceiver1), R(4), R(5), U8(5), 255 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(4), U8(2),
240 B(StaContextSlot), R(3), U8(5), U8(0),
241 B(PopContext), R(3),
242 B(LdaCurrentContextSlot), U8(5),
243 B(Star), R(3),
244 B(LdaTrue),
245 B(Star), R(4),
246 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2),
247 /* 64 S> */ B(Return), 256 /* 64 S> */ B(Return),
248 ] 257 ]
249 constant pool: [ 258 constant pool: [
250 Smi [59], 259 Smi [63],
251 FIXED_ARRAY_TYPE, 260 FIXED_ARRAY_TYPE,
252 ONE_BYTE_INTERNALIZED_STRING_TYPE ["goo"], 261 ONE_BYTE_INTERNALIZED_STRING_TYPE ["goo"],
253 FIXED_ARRAY_TYPE, 262 FIXED_ARRAY_TYPE,
254 ] 263 ]
255 handlers: [ 264 handlers: [
256 ] 265 ]
257 266
258 --- 267 ---
259 snippet: " 268 snippet: "
260 export var foo = 42; 269 export var foo = 42;
261 foo++; 270 foo++;
262 { let x; { foo++ } }; 271 { let x; { foo++ } };
263 " 272 "
264 frame size: 8 273 frame size: 9
265 parameter count: 2 274 parameter count: 2
266 bytecode array length: 172 275 bytecode array length: 183
267 bytecodes: [ 276 bytecodes: [
277 B(Mov), R(new_target), R(0),
268 B(Ldar), R(new_target), 278 B(Ldar), R(new_target),
269 B(JumpIfUndefined), U8(25), 279 B(JumpIfUndefined), U8(25),
270 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1), 280 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8 (1),
271 B(PushContext), R(1), 281 B(PushContext), R(2),
272 B(ResumeGenerator), R(new_target), 282 B(RestoreGeneratorState), R(0),
273 B(Star), R(0), 283 B(Star), R(1),
274 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), 284 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
275 B(LdaSmi), I8(79), 285 B(LdaSmi), I8(79),
276 B(Star), R(2), 286 B(Star), R(3),
277 B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), 287 B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
278 B(LdaSmi), I8(-2), 288 B(LdaSmi), I8(-2),
279 B(Star), R(0), 289 B(Star), R(1),
280 B(LdaConstant), U8(1), 290 B(LdaConstant), U8(1),
281 B(Star), R(4), 291 B(Star), R(5),
282 B(Mov), R(arg0), R(2), 292 B(Mov), R(arg0), R(3),
283 B(Mov), R(closure), R(3), 293 B(Mov), R(closure), R(4),
284 B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3), 294 B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
285 B(PushContext), R(2), 295 B(PushContext), R(3),
286 B(Mov), R(this), R(4), 296 B(Mov), R(this), R(5),
287 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3) , U8(2), 297 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4) , U8(2),
288 B(StaCurrentContextSlot), U8(4), 298 B(StaCurrentContextSlot), U8(4),
289 /* 0 E> */ B(StackCheck), 299 /* 0 E> */ B(StackCheck),
290 B(LdaImmutableCurrentContextSlot), U8(4), 300 B(Star), R(0),
291 B(Star), R(3),
292 B(LdaImmutableCurrentContextSlot), U8(4), 301 B(LdaImmutableCurrentContextSlot), U8(4),
293 B(Star), R(4), 302 B(Star), R(4),
294 B(LdaZero), 303 B(LdaImmutableCurrentContextSlot), U8(4),
295 /* 0 E> */ B(SuspendGenerator), R(3), U8(0),
296 B(Ldar), R(4),
297 /* 49 S> */ B(Return),
298 B(LdaSmi), I8(-2),
299 B(Star), R(0),
300 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
301 B(Star), R(4),
302 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
303 B(Star), R(5), 304 B(Star), R(5),
304 B(LdaZero), 305 B(LdaZero),
305 B(TestEqualStrictNoFeedback), R(5), 306 /* 0 E> */ B(SuspendGenerator), R(4), R(0), U8(5), U8(0),
307 B(Ldar), R(5),
308 /* 49 S> */ B(Return),
309 B(RestoreGeneratorRegisters), R(0), R(0), U8(5),
310 B(LdaSmi), I8(-2),
311 B(Star), R(1),
312 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
313 B(Star), R(5),
314 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
315 B(Star), R(6),
316 B(LdaZero),
317 B(TestEqualStrictNoFeedback), R(6),
306 B(JumpIfTrue), U8(22), 318 B(JumpIfTrue), U8(22),
307 B(LdaSmi), I8(2), 319 B(LdaSmi), I8(2),
308 B(TestEqualStrictNoFeedback), R(5), 320 B(TestEqualStrictNoFeedback), R(6),
309 B(JumpIfTrue), U8(13), 321 B(JumpIfTrue), U8(13),
310 B(LdaTrue), 322 B(LdaTrue),
311 B(Star), R(7), 323 B(Star), R(8),
312 B(Mov), R(4), R(6), 324 B(Mov), R(5), R(7),
313 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), 325 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2),
314 /* 49 S> */ B(Return), 326 /* 49 S> */ B(Return),
315 B(Ldar), R(4), 327 B(Ldar), R(5),
316 /* 0 E> */ B(Throw), 328 /* 0 E> */ B(Throw),
317 /* 17 S> */ B(LdaSmi), I8(42), 329 /* 17 S> */ B(LdaSmi), I8(42),
318 /* 17 E> */ B(StaModuleVariable), I8(1), U8(0), 330 /* 17 E> */ B(StaModuleVariable), I8(1), U8(0),
319 /* 21 S> */ B(LdaModuleVariable), I8(1), U8(0), 331 /* 21 S> */ B(LdaModuleVariable), I8(1), U8(0),
320 B(Inc), U8(3), 332 B(Inc), U8(3),
321 /* 24 E> */ B(StaModuleVariable), I8(1), U8(0), 333 /* 24 E> */ B(StaModuleVariable), I8(1), U8(0),
322 B(Ldar), R(closure), 334 B(Ldar), R(closure),
323 B(CreateBlockContext), U8(2), 335 B(CreateBlockContext), U8(2),
324 B(PushContext), R(3), 336 B(PushContext), R(4),
325 B(LdaTheHole), 337 B(LdaTheHole),
326 B(StaCurrentContextSlot), U8(4), 338 B(StaCurrentContextSlot), U8(4),
327 /* 34 S> */ B(LdaUndefined), 339 /* 34 S> */ B(LdaUndefined),
328 /* 34 E> */ B(StaCurrentContextSlot), U8(4), 340 /* 34 E> */ B(StaCurrentContextSlot), U8(4),
329 /* 39 S> */ B(LdaModuleVariable), I8(1), U8(1), 341 /* 39 S> */ B(LdaModuleVariable), I8(1), U8(1),
330 B(ToNumber), R(4), U8(4), 342 B(ToNumber), R(5), U8(4),
331 B(Ldar), R(4), 343 B(Ldar), R(5),
332 B(Inc), U8(4), 344 B(Inc), U8(4),
333 /* 42 E> */ B(StaModuleVariable), I8(1), U8(1), 345 /* 42 E> */ B(StaModuleVariable), I8(1), U8(1),
334 B(Ldar), R(4), 346 B(Ldar), R(5),
335 B(StaContextSlot), R(3), U8(5), U8(0), 347 B(StaContextSlot), R(4), U8(5), U8(0),
336 B(PopContext), R(3), 348 B(PopContext), R(4),
337 B(LdaCurrentContextSlot), U8(5), 349 B(LdaCurrentContextSlot), U8(5),
338 B(Star), R(3), 350 B(Star), R(4),
339 B(LdaTrue), 351 B(LdaTrue),
340 B(Star), R(4), 352 B(Star), R(5),
341 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), 353 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(4), U8(2),
342 /* 49 S> */ B(Return), 354 /* 49 S> */ B(Return),
343 ] 355 ]
344 constant pool: [ 356 constant pool: [
345 Smi [59], 357 Smi [63],
346 FIXED_ARRAY_TYPE, 358 FIXED_ARRAY_TYPE,
347 FIXED_ARRAY_TYPE, 359 FIXED_ARRAY_TYPE,
348 ] 360 ]
349 handlers: [ 361 handlers: [
350 ] 362 ]
351 363
352 --- 364 ---
353 snippet: " 365 snippet: "
354 export let foo = 42; 366 export let foo = 42;
355 foo++; 367 foo++;
356 { let x; { foo++ } }; 368 { let x; { foo++ } };
357 " 369 "
358 frame size: 8 370 frame size: 9
359 parameter count: 2 371 parameter count: 2
360 bytecode array length: 176 372 bytecode array length: 187
361 bytecodes: [ 373 bytecodes: [
374 B(Mov), R(new_target), R(0),
362 B(Ldar), R(new_target), 375 B(Ldar), R(new_target),
363 B(JumpIfUndefined), U8(25), 376 B(JumpIfUndefined), U8(25),
364 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1), 377 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8 (1),
365 B(PushContext), R(1), 378 B(PushContext), R(2),
366 B(ResumeGenerator), R(new_target), 379 B(RestoreGeneratorState), R(0),
367 B(Star), R(0), 380 B(Star), R(1),
368 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), 381 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
369 B(LdaSmi), I8(79), 382 B(LdaSmi), I8(79),
370 B(Star), R(2), 383 B(Star), R(3),
371 B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), 384 B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
372 B(LdaSmi), I8(-2), 385 B(LdaSmi), I8(-2),
386 B(Star), R(1),
387 B(LdaConstant), U8(1),
388 B(Star), R(5),
389 B(Mov), R(arg0), R(3),
390 B(Mov), R(closure), R(4),
391 B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
392 B(PushContext), R(3),
393 B(Mov), R(this), R(5),
394 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4) , U8(2),
395 B(StaCurrentContextSlot), U8(4),
373 B(Star), R(0), 396 B(Star), R(0),
374 B(LdaConstant), U8(1),
375 B(Star), R(4),
376 B(Mov), R(arg0), R(2),
377 B(Mov), R(closure), R(3),
378 B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3),
379 B(PushContext), R(2),
380 B(Mov), R(this), R(4),
381 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3) , U8(2),
382 B(StaCurrentContextSlot), U8(4),
383 B(LdaTheHole), 397 B(LdaTheHole),
384 B(StaModuleVariable), I8(1), U8(0), 398 B(StaModuleVariable), I8(1), U8(0),
385 /* 0 E> */ B(StackCheck), 399 /* 0 E> */ B(StackCheck),
386 B(LdaImmutableCurrentContextSlot), U8(4), 400 B(LdaImmutableCurrentContextSlot), U8(4),
387 B(Star), R(3), 401 B(Star), R(4),
388 B(LdaImmutableCurrentContextSlot), U8(4), 402 B(LdaImmutableCurrentContextSlot), U8(4),
389 B(Star), R(4),
390 B(LdaZero),
391 /* 0 E> */ B(SuspendGenerator), R(3), U8(0),
392 B(Ldar), R(4),
393 /* 49 S> */ B(Return),
394 B(LdaSmi), I8(-2),
395 B(Star), R(0),
396 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
397 B(Star), R(4),
398 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
399 B(Star), R(5), 403 B(Star), R(5),
400 B(LdaZero), 404 B(LdaZero),
401 B(TestEqualStrictNoFeedback), R(5), 405 /* 0 E> */ B(SuspendGenerator), R(4), R(0), U8(5), U8(0),
406 B(Ldar), R(5),
407 /* 49 S> */ B(Return),
408 B(RestoreGeneratorRegisters), R(0), R(0), U8(5),
409 B(LdaSmi), I8(-2),
410 B(Star), R(1),
411 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
412 B(Star), R(5),
413 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
414 B(Star), R(6),
415 B(LdaZero),
416 B(TestEqualStrictNoFeedback), R(6),
402 B(JumpIfTrue), U8(22), 417 B(JumpIfTrue), U8(22),
403 B(LdaSmi), I8(2), 418 B(LdaSmi), I8(2),
404 B(TestEqualStrictNoFeedback), R(5), 419 B(TestEqualStrictNoFeedback), R(6),
405 B(JumpIfTrue), U8(13), 420 B(JumpIfTrue), U8(13),
406 B(LdaTrue), 421 B(LdaTrue),
407 B(Star), R(7), 422 B(Star), R(8),
408 B(Mov), R(4), R(6), 423 B(Mov), R(5), R(7),
409 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), 424 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2),
410 /* 49 S> */ B(Return), 425 /* 49 S> */ B(Return),
411 B(Ldar), R(4), 426 B(Ldar), R(5),
412 /* 0 E> */ B(Throw), 427 /* 0 E> */ B(Throw),
413 /* 17 S> */ B(LdaSmi), I8(42), 428 /* 17 S> */ B(LdaSmi), I8(42),
414 /* 17 E> */ B(StaModuleVariable), I8(1), U8(0), 429 /* 17 E> */ B(StaModuleVariable), I8(1), U8(0),
415 /* 21 S> */ B(LdaModuleVariable), I8(1), U8(0), 430 /* 21 S> */ B(LdaModuleVariable), I8(1), U8(0),
416 B(Inc), U8(3), 431 B(Inc), U8(3),
417 /* 24 E> */ B(StaModuleVariable), I8(1), U8(0), 432 /* 24 E> */ B(StaModuleVariable), I8(1), U8(0),
418 B(Ldar), R(closure), 433 B(Ldar), R(closure),
419 B(CreateBlockContext), U8(2), 434 B(CreateBlockContext), U8(2),
420 B(PushContext), R(3), 435 B(PushContext), R(4),
421 B(LdaTheHole), 436 B(LdaTheHole),
422 B(StaCurrentContextSlot), U8(4), 437 B(StaCurrentContextSlot), U8(4),
423 /* 34 S> */ B(LdaUndefined), 438 /* 34 S> */ B(LdaUndefined),
424 /* 34 E> */ B(StaCurrentContextSlot), U8(4), 439 /* 34 E> */ B(StaCurrentContextSlot), U8(4),
425 /* 39 S> */ B(LdaModuleVariable), I8(1), U8(1), 440 /* 39 S> */ B(LdaModuleVariable), I8(1), U8(1),
426 B(ToNumber), R(4), U8(4), 441 B(ToNumber), R(5), U8(4),
427 B(Ldar), R(4), 442 B(Ldar), R(5),
428 B(Inc), U8(4), 443 B(Inc), U8(4),
429 /* 42 E> */ B(StaModuleVariable), I8(1), U8(1), 444 /* 42 E> */ B(StaModuleVariable), I8(1), U8(1),
430 B(Ldar), R(4), 445 B(Ldar), R(5),
431 B(StaContextSlot), R(3), U8(5), U8(0), 446 B(StaContextSlot), R(4), U8(5), U8(0),
432 B(PopContext), R(3), 447 B(PopContext), R(4),
433 B(LdaCurrentContextSlot), U8(5), 448 B(LdaCurrentContextSlot), U8(5),
434 B(Star), R(3), 449 B(Star), R(4),
435 B(LdaTrue), 450 B(LdaTrue),
436 B(Star), R(4), 451 B(Star), R(5),
437 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), 452 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(4), U8(2),
438 /* 49 S> */ B(Return), 453 /* 49 S> */ B(Return),
439 ] 454 ]
440 constant pool: [ 455 constant pool: [
441 Smi [63], 456 Smi [67],
442 FIXED_ARRAY_TYPE, 457 FIXED_ARRAY_TYPE,
443 FIXED_ARRAY_TYPE, 458 FIXED_ARRAY_TYPE,
444 ] 459 ]
445 handlers: [ 460 handlers: [
446 ] 461 ]
447 462
448 --- 463 ---
449 snippet: " 464 snippet: "
450 export const foo = 42; 465 export const foo = 42;
451 foo++; 466 foo++;
452 { let x; { foo++ } }; 467 { let x; { foo++ } };
453 " 468 "
454 frame size: 8 469 frame size: 9
455 parameter count: 2 470 parameter count: 2
456 bytecode array length: 180 471 bytecode array length: 191
457 bytecodes: [ 472 bytecodes: [
473 B(Mov), R(new_target), R(0),
458 B(Ldar), R(new_target), 474 B(Ldar), R(new_target),
459 B(JumpIfUndefined), U8(25), 475 B(JumpIfUndefined), U8(25),
460 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1), 476 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8 (1),
461 B(PushContext), R(1), 477 B(PushContext), R(2),
462 B(ResumeGenerator), R(new_target), 478 B(RestoreGeneratorState), R(0),
463 B(Star), R(0), 479 B(Star), R(1),
464 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), 480 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
465 B(LdaSmi), I8(79), 481 B(LdaSmi), I8(79),
466 B(Star), R(2), 482 B(Star), R(3),
467 B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), 483 B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
468 B(LdaSmi), I8(-2), 484 B(LdaSmi), I8(-2),
485 B(Star), R(1),
486 B(LdaConstant), U8(1),
487 B(Star), R(5),
488 B(Mov), R(arg0), R(3),
489 B(Mov), R(closure), R(4),
490 B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
491 B(PushContext), R(3),
492 B(Mov), R(this), R(5),
493 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4) , U8(2),
494 B(StaCurrentContextSlot), U8(4),
469 B(Star), R(0), 495 B(Star), R(0),
470 B(LdaConstant), U8(1),
471 B(Star), R(4),
472 B(Mov), R(arg0), R(2),
473 B(Mov), R(closure), R(3),
474 B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3),
475 B(PushContext), R(2),
476 B(Mov), R(this), R(4),
477 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3) , U8(2),
478 B(StaCurrentContextSlot), U8(4),
479 B(LdaTheHole), 496 B(LdaTheHole),
480 B(StaModuleVariable), I8(1), U8(0), 497 B(StaModuleVariable), I8(1), U8(0),
481 /* 0 E> */ B(StackCheck), 498 /* 0 E> */ B(StackCheck),
482 B(LdaImmutableCurrentContextSlot), U8(4), 499 B(LdaImmutableCurrentContextSlot), U8(4),
483 B(Star), R(3), 500 B(Star), R(4),
484 B(LdaImmutableCurrentContextSlot), U8(4), 501 B(LdaImmutableCurrentContextSlot), U8(4),
485 B(Star), R(4),
486 B(LdaZero),
487 /* 0 E> */ B(SuspendGenerator), R(3), U8(0),
488 B(Ldar), R(4),
489 /* 51 S> */ B(Return),
490 B(LdaSmi), I8(-2),
491 B(Star), R(0),
492 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
493 B(Star), R(4),
494 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
495 B(Star), R(5), 502 B(Star), R(5),
496 B(LdaZero), 503 B(LdaZero),
497 B(TestEqualStrictNoFeedback), R(5), 504 /* 0 E> */ B(SuspendGenerator), R(4), R(0), U8(5), U8(0),
505 B(Ldar), R(5),
506 /* 51 S> */ B(Return),
507 B(RestoreGeneratorRegisters), R(0), R(0), U8(5),
508 B(LdaSmi), I8(-2),
509 B(Star), R(1),
510 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
511 B(Star), R(5),
512 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
513 B(Star), R(6),
514 B(LdaZero),
515 B(TestEqualStrictNoFeedback), R(6),
498 B(JumpIfTrue), U8(22), 516 B(JumpIfTrue), U8(22),
499 B(LdaSmi), I8(2), 517 B(LdaSmi), I8(2),
500 B(TestEqualStrictNoFeedback), R(5), 518 B(TestEqualStrictNoFeedback), R(6),
501 B(JumpIfTrue), U8(13), 519 B(JumpIfTrue), U8(13),
502 B(LdaTrue), 520 B(LdaTrue),
503 B(Star), R(7), 521 B(Star), R(8),
504 B(Mov), R(4), R(6), 522 B(Mov), R(5), R(7),
505 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), 523 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2),
506 /* 51 S> */ B(Return), 524 /* 51 S> */ B(Return),
507 B(Ldar), R(4), 525 B(Ldar), R(5),
508 /* 0 E> */ B(Throw), 526 /* 0 E> */ B(Throw),
509 /* 19 S> */ B(LdaSmi), I8(42), 527 /* 19 S> */ B(LdaSmi), I8(42),
510 /* 19 E> */ B(StaModuleVariable), I8(1), U8(0), 528 /* 19 E> */ B(StaModuleVariable), I8(1), U8(0),
511 /* 23 S> */ B(LdaModuleVariable), I8(1), U8(0), 529 /* 23 S> */ B(LdaModuleVariable), I8(1), U8(0),
512 B(Inc), U8(3), 530 B(Inc), U8(3),
513 /* 26 E> */ B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0 ), 531 /* 26 E> */ B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0 ),
514 B(Ldar), R(closure), 532 B(Ldar), R(closure),
515 B(CreateBlockContext), U8(2), 533 B(CreateBlockContext), U8(2),
516 B(PushContext), R(3), 534 B(PushContext), R(4),
517 B(LdaTheHole), 535 B(LdaTheHole),
518 B(StaCurrentContextSlot), U8(4), 536 B(StaCurrentContextSlot), U8(4),
519 /* 36 S> */ B(LdaUndefined), 537 /* 36 S> */ B(LdaUndefined),
520 /* 36 E> */ B(StaCurrentContextSlot), U8(4), 538 /* 36 E> */ B(StaCurrentContextSlot), U8(4),
521 /* 41 S> */ B(LdaModuleVariable), I8(1), U8(1), 539 /* 41 S> */ B(LdaModuleVariable), I8(1), U8(1),
522 B(ToNumber), R(4), U8(4), 540 B(ToNumber), R(5), U8(4),
523 B(Ldar), R(4), 541 B(Ldar), R(5),
524 B(Inc), U8(4), 542 B(Inc), U8(4),
525 /* 44 E> */ B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0 ), 543 /* 44 E> */ B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0 ),
526 B(Ldar), R(4), 544 B(Ldar), R(5),
527 B(StaContextSlot), R(3), U8(5), U8(0), 545 B(StaContextSlot), R(4), U8(5), U8(0),
528 B(PopContext), R(3), 546 B(PopContext), R(4),
529 B(LdaCurrentContextSlot), U8(5), 547 B(LdaCurrentContextSlot), U8(5),
530 B(Star), R(3), 548 B(Star), R(4),
531 B(LdaTrue), 549 B(LdaTrue),
532 B(Star), R(4), 550 B(Star), R(5),
533 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), 551 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(4), U8(2),
534 /* 51 S> */ B(Return), 552 /* 51 S> */ B(Return),
535 ] 553 ]
536 constant pool: [ 554 constant pool: [
537 Smi [63], 555 Smi [67],
538 FIXED_ARRAY_TYPE, 556 FIXED_ARRAY_TYPE,
539 FIXED_ARRAY_TYPE, 557 FIXED_ARRAY_TYPE,
540 ] 558 ]
541 handlers: [ 559 handlers: [
542 ] 560 ]
543 561
544 --- 562 ---
545 snippet: " 563 snippet: "
546 export default (function () {}); 564 export default (function () {});
547 " 565 "
548 frame size: 8 566 frame size: 9
549 parameter count: 2 567 parameter count: 2
550 bytecode array length: 141 568 bytecode array length: 152
551 bytecodes: [ 569 bytecodes: [
570 B(Mov), R(new_target), R(0),
552 B(Ldar), R(new_target), 571 B(Ldar), R(new_target),
553 B(JumpIfUndefined), U8(25), 572 B(JumpIfUndefined), U8(25),
554 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1), 573 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8 (1),
555 B(PushContext), R(1), 574 B(PushContext), R(2),
556 B(ResumeGenerator), R(new_target), 575 B(RestoreGeneratorState), R(0),
557 B(Star), R(0), 576 B(Star), R(1),
558 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), 577 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
559 B(LdaSmi), I8(79), 578 B(LdaSmi), I8(79),
560 B(Star), R(2), 579 B(Star), R(3),
561 B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), 580 B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
562 B(LdaSmi), I8(-2), 581 B(LdaSmi), I8(-2),
582 B(Star), R(1),
583 B(LdaConstant), U8(1),
584 B(Star), R(5),
585 B(Mov), R(arg0), R(3),
586 B(Mov), R(closure), R(4),
587 B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
588 B(PushContext), R(3),
589 B(Mov), R(this), R(5),
590 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4) , U8(2),
591 B(StaCurrentContextSlot), U8(4),
563 B(Star), R(0), 592 B(Star), R(0),
564 B(LdaConstant), U8(1),
565 B(Star), R(4),
566 B(Mov), R(arg0), R(2),
567 B(Mov), R(closure), R(3),
568 B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3),
569 B(PushContext), R(2),
570 B(Mov), R(this), R(4),
571 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3) , U8(2),
572 B(StaCurrentContextSlot), U8(4),
573 B(LdaTheHole), 593 B(LdaTheHole),
574 B(StaModuleVariable), I8(1), U8(0), 594 B(StaModuleVariable), I8(1), U8(0),
575 /* 0 E> */ B(StackCheck), 595 /* 0 E> */ B(StackCheck),
576 B(LdaImmutableCurrentContextSlot), U8(4), 596 B(LdaImmutableCurrentContextSlot), U8(4),
577 B(Star), R(3), 597 B(Star), R(4),
578 B(LdaImmutableCurrentContextSlot), U8(4), 598 B(LdaImmutableCurrentContextSlot), U8(4),
579 B(Star), R(4),
580 B(LdaZero),
581 /* 0 E> */ B(SuspendGenerator), R(3), U8(0),
582 B(Ldar), R(4),
583 /* 32 S> */ B(Return),
584 B(LdaSmi), I8(-2),
585 B(Star), R(0),
586 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
587 B(Star), R(4),
588 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
589 B(Star), R(5), 599 B(Star), R(5),
590 B(LdaZero), 600 B(LdaZero),
591 B(TestEqualStrictNoFeedback), R(5), 601 /* 0 E> */ B(SuspendGenerator), R(4), R(0), U8(5), U8(0),
602 B(Ldar), R(5),
603 /* 32 S> */ B(Return),
604 B(RestoreGeneratorRegisters), R(0), R(0), U8(5),
605 B(LdaSmi), I8(-2),
606 B(Star), R(1),
607 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
608 B(Star), R(5),
609 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
610 B(Star), R(6),
611 B(LdaZero),
612 B(TestEqualStrictNoFeedback), R(6),
592 B(JumpIfTrue), U8(22), 613 B(JumpIfTrue), U8(22),
593 B(LdaSmi), I8(2), 614 B(LdaSmi), I8(2),
594 B(TestEqualStrictNoFeedback), R(5), 615 B(TestEqualStrictNoFeedback), R(6),
595 B(JumpIfTrue), U8(13), 616 B(JumpIfTrue), U8(13),
596 B(LdaTrue), 617 B(LdaTrue),
597 B(Star), R(7), 618 B(Star), R(8),
598 B(Mov), R(4), R(6), 619 B(Mov), R(5), R(7),
599 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), 620 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2),
600 /* 32 S> */ B(Return), 621 /* 32 S> */ B(Return),
601 B(Ldar), R(4), 622 B(Ldar), R(5),
602 /* 0 E> */ B(Throw), 623 /* 0 E> */ B(Throw),
603 B(Ldar), R(4), 624 B(Ldar), R(5),
604 B(StaCurrentContextSlot), U8(5), 625 B(StaCurrentContextSlot), U8(5),
605 B(CreateClosure), U8(2), U8(3), U8(0), 626 B(CreateClosure), U8(2), U8(3), U8(0),
606 B(StaModuleVariable), I8(1), U8(0), 627 B(StaModuleVariable), I8(1), U8(0),
607 B(LdaCurrentContextSlot), U8(5), 628 B(LdaCurrentContextSlot), U8(5),
608 B(Star), R(3), 629 B(Star), R(4),
609 B(LdaTrue), 630 B(LdaTrue),
610 B(Star), R(4), 631 B(Star), R(5),
611 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), 632 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(4), U8(2),
612 /* 32 S> */ B(Return), 633 /* 32 S> */ B(Return),
613 ] 634 ]
614 constant pool: [ 635 constant pool: [
615 Smi [63], 636 Smi [67],
616 FIXED_ARRAY_TYPE, 637 FIXED_ARRAY_TYPE,
617 SHARED_FUNCTION_INFO_TYPE, 638 SHARED_FUNCTION_INFO_TYPE,
618 ] 639 ]
619 handlers: [ 640 handlers: [
620 ] 641 ]
621 642
622 --- 643 ---
623 snippet: " 644 snippet: "
624 export default (class {}); 645 export default (class {});
625 " 646 "
626 frame size: 8 647 frame size: 9
627 parameter count: 2 648 parameter count: 2
628 bytecode array length: 174 649 bytecode array length: 185
629 bytecodes: [ 650 bytecodes: [
651 B(Mov), R(new_target), R(0),
630 B(Ldar), R(new_target), 652 B(Ldar), R(new_target),
631 B(JumpIfUndefined), U8(25), 653 B(JumpIfUndefined), U8(25),
632 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1), 654 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8 (1),
633 B(PushContext), R(1), 655 B(PushContext), R(2),
634 B(ResumeGenerator), R(new_target), 656 B(RestoreGeneratorState), R(0),
635 B(Star), R(0), 657 B(Star), R(1),
636 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), 658 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
637 B(LdaSmi), I8(79), 659 B(LdaSmi), I8(79),
638 B(Star), R(2), 660 B(Star), R(3),
639 B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), 661 B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
640 B(LdaSmi), I8(-2), 662 B(LdaSmi), I8(-2),
663 B(Star), R(1),
664 B(LdaConstant), U8(1),
665 B(Star), R(5),
666 B(Mov), R(arg0), R(3),
667 B(Mov), R(closure), R(4),
668 B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
669 B(PushContext), R(3),
670 B(Mov), R(this), R(5),
671 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4) , U8(2),
672 B(StaCurrentContextSlot), U8(4),
641 B(Star), R(0), 673 B(Star), R(0),
642 B(LdaConstant), U8(1),
643 B(Star), R(4),
644 B(Mov), R(arg0), R(2),
645 B(Mov), R(closure), R(3),
646 B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3),
647 B(PushContext), R(2),
648 B(Mov), R(this), R(4),
649 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3) , U8(2),
650 B(StaCurrentContextSlot), U8(4),
651 B(LdaTheHole), 674 B(LdaTheHole),
652 B(StaModuleVariable), I8(1), U8(0), 675 B(StaModuleVariable), I8(1), U8(0),
653 /* 0 E> */ B(StackCheck), 676 /* 0 E> */ B(StackCheck),
654 B(LdaImmutableCurrentContextSlot), U8(4), 677 B(LdaImmutableCurrentContextSlot), U8(4),
655 B(Star), R(3), 678 B(Star), R(4),
656 B(LdaImmutableCurrentContextSlot), U8(4), 679 B(LdaImmutableCurrentContextSlot), U8(4),
657 B(Star), R(4),
658 B(LdaZero),
659 /* 0 E> */ B(SuspendGenerator), R(3), U8(0),
660 B(Ldar), R(4),
661 /* 26 S> */ B(Return),
662 B(LdaSmi), I8(-2),
663 B(Star), R(0),
664 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
665 B(Star), R(4),
666 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
667 B(Star), R(5), 680 B(Star), R(5),
668 B(LdaZero), 681 B(LdaZero),
669 B(TestEqualStrictNoFeedback), R(5), 682 /* 0 E> */ B(SuspendGenerator), R(4), R(0), U8(5), U8(0),
683 B(Ldar), R(5),
684 /* 26 S> */ B(Return),
685 B(RestoreGeneratorRegisters), R(0), R(0), U8(5),
686 B(LdaSmi), I8(-2),
687 B(Star), R(1),
688 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
689 B(Star), R(5),
690 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
691 B(Star), R(6),
692 B(LdaZero),
693 B(TestEqualStrictNoFeedback), R(6),
670 B(JumpIfTrue), U8(22), 694 B(JumpIfTrue), U8(22),
671 B(LdaSmi), I8(2), 695 B(LdaSmi), I8(2),
672 B(TestEqualStrictNoFeedback), R(5), 696 B(TestEqualStrictNoFeedback), R(6),
673 B(JumpIfTrue), U8(13), 697 B(JumpIfTrue), U8(13),
674 B(LdaTrue), 698 B(LdaTrue),
675 B(Star), R(7), 699 B(Star), R(8),
676 B(Mov), R(4), R(6), 700 B(Mov), R(5), R(7),
677 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), 701 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2),
678 /* 26 S> */ B(Return), 702 /* 26 S> */ B(Return),
679 B(Ldar), R(4), 703 B(Ldar), R(5),
680 /* 0 E> */ B(Throw), 704 /* 0 E> */ B(Throw),
681 B(Ldar), R(4), 705 B(Ldar), R(5),
682 B(StaCurrentContextSlot), U8(5), 706 B(StaCurrentContextSlot), U8(5),
683 B(CreateClosure), U8(2), U8(3), U8(0), 707 B(CreateClosure), U8(2), U8(3), U8(0),
684 B(Star), R(3), 708 B(Star), R(4),
685 B(LdaTheHole), 709 B(LdaTheHole),
686 B(Star), R(4), 710 B(Star), R(5),
687 B(LdaSmi), I8(16), 711 B(LdaSmi), I8(16),
688 B(Star), R(6), 712 B(Star), R(7),
689 B(LdaSmi), I8(24), 713 B(LdaSmi), I8(24),
690 B(Star), R(7), 714 B(Star), R(8),
691 B(Mov), R(3), R(5), 715 B(Mov), R(4), R(6),
692 B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4), 716 B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(4),
693 B(Star), R(4), 717 B(Star), R(5),
694 B(CallRuntime), U16(Runtime::kInstallClassNameAccessor), R(3), U 8(1), 718 B(CallRuntime), U16(Runtime::kInstallClassNameAccessor), R(4), U 8(1),
695 B(CallRuntime), U16(Runtime::kToFastProperties), R(3), U8(1), 719 B(CallRuntime), U16(Runtime::kToFastProperties), R(4), U8(1),
696 B(StaModuleVariable), I8(1), U8(0), 720 B(StaModuleVariable), I8(1), U8(0),
697 B(LdaCurrentContextSlot), U8(5), 721 B(LdaCurrentContextSlot), U8(5),
698 B(Star), R(3), 722 B(Star), R(4),
699 B(LdaTrue), 723 B(LdaTrue),
700 B(Star), R(4), 724 B(Star), R(5),
701 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), 725 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(4), U8(2),
702 /* 26 S> */ B(Return), 726 /* 26 S> */ B(Return),
703 ] 727 ]
704 constant pool: [ 728 constant pool: [
705 Smi [63], 729 Smi [67],
706 FIXED_ARRAY_TYPE, 730 FIXED_ARRAY_TYPE,
707 SHARED_FUNCTION_INFO_TYPE, 731 SHARED_FUNCTION_INFO_TYPE,
708 ] 732 ]
709 handlers: [ 733 handlers: [
710 ] 734 ]
711 735
712 --- 736 ---
713 snippet: " 737 snippet: "
714 export {foo as goo} from \"bar\" 738 export {foo as goo} from \"bar\"
715 " 739 "
716 frame size: 8 740 frame size: 9
717 parameter count: 2 741 parameter count: 2
718 bytecode array length: 130 742 bytecode array length: 141
719 bytecodes: [ 743 bytecodes: [
744 B(Mov), R(new_target), R(0),
720 B(Ldar), R(new_target), 745 B(Ldar), R(new_target),
721 B(JumpIfUndefined), U8(25), 746 B(JumpIfUndefined), U8(25),
722 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1), 747 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8 (1),
723 B(PushContext), R(1), 748 B(PushContext), R(2),
724 B(ResumeGenerator), R(new_target), 749 B(RestoreGeneratorState), R(0),
725 B(Star), R(0), 750 B(Star), R(1),
726 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), 751 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
727 B(LdaSmi), I8(79), 752 B(LdaSmi), I8(79),
728 B(Star), R(2), 753 B(Star), R(3),
729 B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), 754 B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
730 B(LdaSmi), I8(-2), 755 B(LdaSmi), I8(-2),
731 B(Star), R(0), 756 B(Star), R(1),
732 B(LdaConstant), U8(1), 757 B(LdaConstant), U8(1),
733 B(Star), R(4), 758 B(Star), R(5),
734 B(Mov), R(arg0), R(2), 759 B(Mov), R(arg0), R(3),
735 B(Mov), R(closure), R(3), 760 B(Mov), R(closure), R(4),
736 B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3), 761 B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
737 B(PushContext), R(2), 762 B(PushContext), R(3),
738 B(Mov), R(this), R(4), 763 B(Mov), R(this), R(5),
739 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3) , U8(2), 764 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4) , U8(2),
740 B(StaCurrentContextSlot), U8(4), 765 B(StaCurrentContextSlot), U8(4),
741 /* 0 E> */ B(StackCheck), 766 /* 0 E> */ B(StackCheck),
742 B(LdaImmutableCurrentContextSlot), U8(4), 767 B(Star), R(0),
743 B(Star), R(3),
744 B(LdaImmutableCurrentContextSlot), U8(4), 768 B(LdaImmutableCurrentContextSlot), U8(4),
745 B(Star), R(4), 769 B(Star), R(4),
746 B(LdaZero), 770 B(LdaImmutableCurrentContextSlot), U8(4),
747 /* 0 E> */ B(SuspendGenerator), R(3), U8(0),
748 B(Ldar), R(4),
749 /* 30 S> */ B(Return),
750 B(LdaSmi), I8(-2),
751 B(Star), R(0),
752 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
753 B(Star), R(4),
754 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
755 B(Star), R(5), 771 B(Star), R(5),
756 B(LdaZero), 772 B(LdaZero),
757 B(TestEqualStrictNoFeedback), R(5), 773 /* 0 E> */ B(SuspendGenerator), R(4), R(0), U8(5), U8(0),
774 B(Ldar), R(5),
775 /* 30 S> */ B(Return),
776 B(RestoreGeneratorRegisters), R(0), R(0), U8(5),
777 B(LdaSmi), I8(-2),
778 B(Star), R(1),
779 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
780 B(Star), R(5),
781 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
782 B(Star), R(6),
783 B(LdaZero),
784 B(TestEqualStrictNoFeedback), R(6),
758 B(JumpIfTrue), U8(22), 785 B(JumpIfTrue), U8(22),
759 B(LdaSmi), I8(2), 786 B(LdaSmi), I8(2),
760 B(TestEqualStrictNoFeedback), R(5), 787 B(TestEqualStrictNoFeedback), R(6),
761 B(JumpIfTrue), U8(13), 788 B(JumpIfTrue), U8(13),
762 B(LdaTrue), 789 B(LdaTrue),
763 B(Star), R(7), 790 B(Star), R(8),
764 B(Mov), R(4), R(6), 791 B(Mov), R(5), R(7),
765 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), 792 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2),
766 /* 30 S> */ B(Return), 793 /* 30 S> */ B(Return),
767 B(Ldar), R(4), 794 B(Ldar), R(5),
768 /* 0 E> */ B(Throw), 795 /* 0 E> */ B(Throw),
769 B(Ldar), R(4), 796 B(Ldar), R(5),
770 B(StaCurrentContextSlot), U8(5), 797 B(StaCurrentContextSlot), U8(5),
771 B(LdaCurrentContextSlot), U8(5), 798 B(LdaCurrentContextSlot), U8(5),
772 B(Star), R(3), 799 B(Star), R(4),
773 B(LdaTrue), 800 B(LdaTrue),
774 B(Star), R(4), 801 B(Star), R(5),
775 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), 802 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(4), U8(2),
776 /* 30 S> */ B(Return), 803 /* 30 S> */ B(Return),
777 ] 804 ]
778 constant pool: [ 805 constant pool: [
779 Smi [59], 806 Smi [63],
780 FIXED_ARRAY_TYPE, 807 FIXED_ARRAY_TYPE,
781 ] 808 ]
782 handlers: [ 809 handlers: [
783 ] 810 ]
784 811
785 --- 812 ---
786 snippet: " 813 snippet: "
787 export * from \"bar\" 814 export * from \"bar\"
788 " 815 "
789 frame size: 8 816 frame size: 9
790 parameter count: 2 817 parameter count: 2
791 bytecode array length: 130 818 bytecode array length: 141
792 bytecodes: [ 819 bytecodes: [
820 B(Mov), R(new_target), R(0),
793 B(Ldar), R(new_target), 821 B(Ldar), R(new_target),
794 B(JumpIfUndefined), U8(25), 822 B(JumpIfUndefined), U8(25),
795 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1), 823 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8 (1),
796 B(PushContext), R(1), 824 B(PushContext), R(2),
797 B(ResumeGenerator), R(new_target), 825 B(RestoreGeneratorState), R(0),
798 B(Star), R(0), 826 B(Star), R(1),
799 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), 827 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
800 B(LdaSmi), I8(79), 828 B(LdaSmi), I8(79),
801 B(Star), R(2), 829 B(Star), R(3),
802 B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), 830 B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
803 B(LdaSmi), I8(-2), 831 B(LdaSmi), I8(-2),
804 B(Star), R(0), 832 B(Star), R(1),
805 B(LdaConstant), U8(1), 833 B(LdaConstant), U8(1),
806 B(Star), R(4), 834 B(Star), R(5),
807 B(Mov), R(arg0), R(2), 835 B(Mov), R(arg0), R(3),
808 B(Mov), R(closure), R(3), 836 B(Mov), R(closure), R(4),
809 B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3), 837 B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
810 B(PushContext), R(2), 838 B(PushContext), R(3),
811 B(Mov), R(this), R(4), 839 B(Mov), R(this), R(5),
812 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3) , U8(2), 840 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4) , U8(2),
813 B(StaCurrentContextSlot), U8(4), 841 B(StaCurrentContextSlot), U8(4),
814 /* 0 E> */ B(StackCheck), 842 /* 0 E> */ B(StackCheck),
815 B(LdaImmutableCurrentContextSlot), U8(4), 843 B(Star), R(0),
816 B(Star), R(3),
817 B(LdaImmutableCurrentContextSlot), U8(4), 844 B(LdaImmutableCurrentContextSlot), U8(4),
818 B(Star), R(4), 845 B(Star), R(4),
819 B(LdaZero), 846 B(LdaImmutableCurrentContextSlot), U8(4),
820 /* 0 E> */ B(SuspendGenerator), R(3), U8(0),
821 B(Ldar), R(4),
822 /* 19 S> */ B(Return),
823 B(LdaSmi), I8(-2),
824 B(Star), R(0),
825 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
826 B(Star), R(4),
827 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
828 B(Star), R(5), 847 B(Star), R(5),
829 B(LdaZero), 848 B(LdaZero),
830 B(TestEqualStrictNoFeedback), R(5), 849 /* 0 E> */ B(SuspendGenerator), R(4), R(0), U8(5), U8(0),
850 B(Ldar), R(5),
851 /* 19 S> */ B(Return),
852 B(RestoreGeneratorRegisters), R(0), R(0), U8(5),
853 B(LdaSmi), I8(-2),
854 B(Star), R(1),
855 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
856 B(Star), R(5),
857 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
858 B(Star), R(6),
859 B(LdaZero),
860 B(TestEqualStrictNoFeedback), R(6),
831 B(JumpIfTrue), U8(22), 861 B(JumpIfTrue), U8(22),
832 B(LdaSmi), I8(2), 862 B(LdaSmi), I8(2),
833 B(TestEqualStrictNoFeedback), R(5), 863 B(TestEqualStrictNoFeedback), R(6),
834 B(JumpIfTrue), U8(13), 864 B(JumpIfTrue), U8(13),
835 B(LdaTrue), 865 B(LdaTrue),
836 B(Star), R(7), 866 B(Star), R(8),
837 B(Mov), R(4), R(6), 867 B(Mov), R(5), R(7),
838 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), 868 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2),
839 /* 19 S> */ B(Return), 869 /* 19 S> */ B(Return),
840 B(Ldar), R(4), 870 B(Ldar), R(5),
841 /* 0 E> */ B(Throw), 871 /* 0 E> */ B(Throw),
842 B(Ldar), R(4), 872 B(Ldar), R(5),
843 B(StaCurrentContextSlot), U8(5), 873 B(StaCurrentContextSlot), U8(5),
844 B(LdaCurrentContextSlot), U8(5), 874 B(LdaCurrentContextSlot), U8(5),
845 B(Star), R(3), 875 B(Star), R(4),
846 B(LdaTrue), 876 B(LdaTrue),
847 B(Star), R(4), 877 B(Star), R(5),
848 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), 878 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(4), U8(2),
849 /* 19 S> */ B(Return), 879 /* 19 S> */ B(Return),
850 ] 880 ]
851 constant pool: [ 881 constant pool: [
852 Smi [59], 882 Smi [63],
853 FIXED_ARRAY_TYPE, 883 FIXED_ARRAY_TYPE,
854 ] 884 ]
855 handlers: [ 885 handlers: [
856 ] 886 ]
857 887
858 --- 888 ---
859 snippet: " 889 snippet: "
860 import * as foo from \"bar\" 890 import * as foo from \"bar\"
861 foo.f(foo, foo.x); 891 foo.f(foo, foo.x);
862 " 892 "
863 frame size: 8 893 frame size: 9
864 parameter count: 2 894 parameter count: 2
865 bytecode array length: 168 895 bytecode array length: 179
866 bytecodes: [ 896 bytecodes: [
897 B(Mov), R(new_target), R(0),
867 B(Ldar), R(new_target), 898 B(Ldar), R(new_target),
868 B(JumpIfUndefined), U8(25), 899 B(JumpIfUndefined), U8(25),
869 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_ta rget), U8(1), 900 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8 (1),
870 B(PushContext), R(1), 901 B(PushContext), R(2),
871 B(ResumeGenerator), R(new_target), 902 B(RestoreGeneratorState), R(0),
872 B(Star), R(0), 903 B(Star), R(1),
873 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), 904 B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0),
874 B(LdaSmi), I8(79), 905 B(LdaSmi), I8(79),
875 B(Star), R(2), 906 B(Star), R(3),
876 B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), 907 B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
877 B(LdaSmi), I8(-2), 908 B(LdaSmi), I8(-2),
909 B(Star), R(1),
910 B(LdaConstant), U8(1),
911 B(Star), R(5),
912 B(Mov), R(arg0), R(3),
913 B(Mov), R(closure), R(4),
914 B(CallRuntime), U16(Runtime::kPushModuleContext), R(3), U8(3),
915 B(PushContext), R(3),
916 B(Mov), R(this), R(5),
917 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4) , U8(2),
918 B(StaCurrentContextSlot), U8(4),
878 B(Star), R(0), 919 B(Star), R(0),
879 B(LdaConstant), U8(1), 920 B(LdaZero),
880 B(Star), R(4), 921 B(Star), R(4),
881 B(Mov), R(arg0), R(2), 922 B(CallRuntime), U16(Runtime::kGetModuleNamespace), R(4), U8(1),
882 B(Mov), R(closure), R(3),
883 B(CallRuntime), U16(Runtime::kPushModuleContext), R(2), U8(3),
884 B(PushContext), R(2),
885 B(Mov), R(this), R(4),
886 B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3) , U8(2),
887 B(StaCurrentContextSlot), U8(4),
888 B(LdaZero),
889 B(Star), R(3),
890 B(CallRuntime), U16(Runtime::kGetModuleNamespace), R(3), U8(1),
891 B(StaCurrentContextSlot), U8(5), 923 B(StaCurrentContextSlot), U8(5),
892 /* 0 E> */ B(StackCheck), 924 /* 0 E> */ B(StackCheck),
893 B(LdaImmutableCurrentContextSlot), U8(4), 925 B(LdaImmutableCurrentContextSlot), U8(4),
894 B(Star), R(3), 926 B(Star), R(4),
895 B(LdaImmutableCurrentContextSlot), U8(4), 927 B(LdaImmutableCurrentContextSlot), U8(4),
896 B(Star), R(4),
897 B(LdaZero),
898 /* 0 E> */ B(SuspendGenerator), R(3), U8(0),
899 B(Ldar), R(4),
900 /* 45 S> */ B(Return),
901 B(LdaSmi), I8(-2),
902 B(Star), R(0),
903 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1),
904 B(Star), R(4),
905 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1),
906 B(Star), R(5), 928 B(Star), R(5),
907 B(LdaZero), 929 B(LdaZero),
908 B(TestEqualStrictNoFeedback), R(5), 930 /* 0 E> */ B(SuspendGenerator), R(4), R(0), U8(5), U8(0),
931 B(Ldar), R(5),
932 /* 45 S> */ B(Return),
933 B(RestoreGeneratorRegisters), R(0), R(0), U8(5),
934 B(LdaSmi), I8(-2),
935 B(Star), R(1),
936 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(4), U8(1),
937 B(Star), R(5),
938 B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(4), U8(1),
939 B(Star), R(6),
940 B(LdaZero),
941 B(TestEqualStrictNoFeedback), R(6),
909 B(JumpIfTrue), U8(22), 942 B(JumpIfTrue), U8(22),
910 B(LdaSmi), I8(2), 943 B(LdaSmi), I8(2),
911 B(TestEqualStrictNoFeedback), R(5), 944 B(TestEqualStrictNoFeedback), R(6),
912 B(JumpIfTrue), U8(13), 945 B(JumpIfTrue), U8(13),
913 B(LdaTrue), 946 B(LdaTrue),
914 B(Star), R(7), 947 B(Star), R(8),
915 B(Mov), R(4), R(6), 948 B(Mov), R(5), R(7),
916 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), 949 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2),
917 /* 45 S> */ B(Return), 950 /* 45 S> */ B(Return),
918 B(Ldar), R(4), 951 B(Ldar), R(5),
919 /* 0 E> */ B(Throw), 952 /* 0 E> */ B(Throw),
920 /* 27 S> */ B(LdaImmutableCurrentContextSlot), U8(5), 953 /* 27 S> */ B(LdaImmutableCurrentContextSlot), U8(5),
954 B(Star), R(5),
955 /* 30 E> */ B(LdaNamedProperty), R(5), U8(2), U8(5),
921 B(Star), R(4), 956 B(Star), R(4),
922 /* 30 E> */ B(LdaNamedProperty), R(4), U8(2), U8(5),
923 B(Star), R(3),
924 B(LdaImmutableCurrentContextSlot), U8(5),
925 B(Star), R(5),
926 B(LdaImmutableCurrentContextSlot), U8(5), 957 B(LdaImmutableCurrentContextSlot), U8(5),
927 B(Star), R(6), 958 B(Star), R(6),
928 /* 41 E> */ B(LdaNamedProperty), R(6), U8(3), U8(7), 959 B(LdaImmutableCurrentContextSlot), U8(5),
929 B(Star), R(6), 960 B(Star), R(7),
930 /* 31 E> */ B(CallProperty2), R(3), R(4), R(5), R(6), U8(3), 961 /* 41 E> */ B(LdaNamedProperty), R(7), U8(3), U8(7),
962 B(Star), R(7),
963 /* 31 E> */ B(CallProperty2), R(4), R(5), R(6), R(7), U8(3),
931 B(StaCurrentContextSlot), U8(6), 964 B(StaCurrentContextSlot), U8(6),
932 B(LdaCurrentContextSlot), U8(6), 965 B(LdaCurrentContextSlot), U8(6),
933 B(Star), R(3), 966 B(Star), R(4),
934 B(LdaTrue), 967 B(LdaTrue),
935 B(Star), R(4), 968 B(Star), R(5),
936 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), 969 B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(4), U8(2),
937 /* 45 S> */ B(Return), 970 /* 45 S> */ B(Return),
938 ] 971 ]
939 constant pool: [ 972 constant pool: [
940 Smi [69], 973 Smi [73],
941 FIXED_ARRAY_TYPE, 974 FIXED_ARRAY_TYPE,
942 ONE_BYTE_INTERNALIZED_STRING_TYPE ["f"], 975 ONE_BYTE_INTERNALIZED_STRING_TYPE ["f"],
943 ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], 976 ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
944 ] 977 ]
945 handlers: [ 978 handlers: [
946 ] 979 ]
947 980
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698