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

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

Powered by Google App Engine
This is Rietveld 408576698