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

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

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

Powered by Google App Engine
This is Rietveld 408576698