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

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

Issue 2253033002: [interpreter] Don't assume generator functions do an initial yield. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 4 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 pool type: mixed 6 pool type: mixed
7 execute: yes 7 execute: yes
8 wrap: no 8 wrap: no
9 test function name: f 9 test function name: f
10 10
11 --- 11 ---
12 snippet: " 12 snippet: "
13 function* f() { } 13 function* f() { }
14 f(); 14 f();
15 " 15 "
16 frame size: 11 16 frame size: 11
17 parameter count: 1 17 parameter count: 1
18 bytecode array length: 197 18 bytecode array length: 201
19 bytecodes: [ 19 bytecodes: [
20 B(Ldar), R(new_target), 20 B(Ldar), R(new_target),
21 B(JumpIfUndefined), U8(20), 21 B(JumpIfUndefined), U8(20),
22 B(ResumeGenerator), R(new_target), 22 B(ResumeGenerator), R(new_target),
23 B(Star), R(1), 23 B(Star), R(1),
24 B(LdaZero), 24 B(LdaZero),
25 B(TestEqualStrict), R(1), 25 B(TestEqualStrict), R(1),
26 B(JumpIfTrue), U8(53), 26 B(JumpIfTrue), U8(57),
27 B(LdaSmi), U8(76), 27 B(LdaSmi), U8(76),
28 B(Star), R(2), 28 B(Star), R(2),
29 B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), 29 B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1),
30 B(LdaSmi), U8(-2),
31 B(Star), R(1),
30 B(CreateFunctionContext), U8(2), 32 B(CreateFunctionContext), U8(2),
31 B(PushContext), R(0), 33 B(PushContext), R(0),
32 B(Ldar), R(this), 34 B(Ldar), R(this),
33 B(StaContextSlot), R(context), U8(4), 35 B(StaContextSlot), R(context), U8(4),
34 /* 11 E> */ B(StackCheck), 36 /* 11 E> */ B(StackCheck),
35 B(Mov), R(context), R(4), 37 B(Mov), R(context), R(4),
36 /* 11 E> */ B(LdrContextSlot), R(context), U8(4), R(6), 38 /* 11 E> */ B(LdrContextSlot), R(context), U8(4), R(6),
37 B(Ldar), R(6), 39 B(Ldar), R(6),
38 B(Mov), R(closure), R(5), 40 B(Mov), R(closure), R(5),
39 B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8 (2), 41 B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8 (2),
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 B(Ldar), R(3), 103 B(Ldar), R(3),
102 /* 16 S> */ B(Return), 104 /* 16 S> */ B(Return),
103 B(Ldar), R(3), 105 B(Ldar), R(3),
104 B(ReThrow), 106 B(ReThrow),
105 B(LdaUndefined), 107 B(LdaUndefined),
106 /* 16 S> */ B(Return), 108 /* 16 S> */ B(Return),
107 ] 109 ]
108 constant pool: [ 110 constant pool: [
109 ] 111 ]
110 handlers: [ 112 handlers: [
111 [35, 134, 140], 113 [39, 138, 144],
112 ] 114 ]
113 115
114 --- 116 ---
115 snippet: " 117 snippet: "
116 function* f() { yield 42 } 118 function* f() { yield 42 }
117 f(); 119 f();
118 " 120 "
119 frame size: 11 121 frame size: 11
120 parameter count: 1 122 parameter count: 1
121 bytecode array length: 290 123 bytecode array length: 294
122 bytecodes: [ 124 bytecodes: [
123 B(Ldar), R(new_target), 125 B(Ldar), R(new_target),
124 B(JumpIfUndefined), U8(26), 126 B(JumpIfUndefined), U8(26),
125 B(ResumeGenerator), R(new_target), 127 B(ResumeGenerator), R(new_target),
126 B(Star), R(1), 128 B(Star), R(1),
127 B(LdaZero), 129 B(LdaZero),
128 B(TestEqualStrict), R(1), 130 B(TestEqualStrict), R(1),
129 B(JumpIfTrue), U8(59), 131 B(JumpIfTrue), U8(63),
130 B(LdaSmi), U8(1), 132 B(LdaSmi), U8(1),
131 B(TestEqualStrict), R(1), 133 B(TestEqualStrict), R(1),
132 B(JumpIfTrueConstant), U8(0), 134 B(JumpIfTrueConstant), U8(0),
133 B(LdaSmi), U8(76), 135 B(LdaSmi), U8(76),
134 B(Star), R(2), 136 B(Star), R(2),
135 B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), 137 B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1),
138 B(LdaSmi), U8(-2),
139 B(Star), R(1),
136 B(CreateFunctionContext), U8(2), 140 B(CreateFunctionContext), U8(2),
137 B(PushContext), R(0), 141 B(PushContext), R(0),
138 B(Ldar), R(this), 142 B(Ldar), R(this),
139 B(StaContextSlot), R(context), U8(4), 143 B(StaContextSlot), R(context), U8(4),
140 /* 11 E> */ B(StackCheck), 144 /* 11 E> */ B(StackCheck),
141 B(Mov), R(context), R(4), 145 B(Mov), R(context), R(4),
142 /* 11 E> */ B(LdrContextSlot), R(context), U8(4), R(6), 146 /* 11 E> */ B(LdrContextSlot), R(context), U8(4), R(6),
143 B(Ldar), R(6), 147 B(Ldar), R(6),
144 B(Mov), R(closure), R(5), 148 B(Mov), R(closure), R(5),
145 B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8 (2), 149 B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(5), U8 (2),
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 /* 25 S> */ B(Return), 251 /* 25 S> */ B(Return),
248 B(Ldar), R(3), 252 B(Ldar), R(3),
249 B(ReThrow), 253 B(ReThrow),
250 B(LdaUndefined), 254 B(LdaUndefined),
251 /* 25 S> */ B(Return), 255 /* 25 S> */ B(Return),
252 ] 256 ]
253 constant pool: [ 257 constant pool: [
254 kInstanceTypeDontCare, 258 kInstanceTypeDontCare,
255 ] 259 ]
256 handlers: [ 260 handlers: [
257 [41, 218, 224], 261 [45, 222, 228],
258 ] 262 ]
259 263
260 --- 264 ---
261 snippet: " 265 snippet: "
262 function* f() { for (let x of [42]) yield x } 266 function* f() { for (let x of [42]) yield x }
263 f(); 267 f();
264 " 268 "
265 frame size: 18 269 frame size: 18
266 parameter count: 1 270 parameter count: 1
267 bytecode array length: 752 271 bytecode array length: 756
268 bytecodes: [ 272 bytecodes: [
269 B(Ldar), R(new_target), 273 B(Ldar), R(new_target),
270 B(JumpIfUndefined), U8(26), 274 B(JumpIfUndefined), U8(26),
271 B(ResumeGenerator), R(new_target), 275 B(ResumeGenerator), R(new_target),
272 B(Star), R(4), 276 B(Star), R(4),
273 B(LdaZero), 277 B(LdaZero),
274 B(TestEqualStrict), R(4), 278 B(TestEqualStrict), R(4),
275 B(JumpIfTrue), U8(59), 279 B(JumpIfTrue), U8(63),
276 B(LdaSmi), U8(1), 280 B(LdaSmi), U8(1),
277 B(TestEqualStrict), R(4), 281 B(TestEqualStrict), R(4),
278 B(JumpIfTrueConstant), U8(3), 282 B(JumpIfTrueConstant), U8(3),
279 B(LdaSmi), U8(76), 283 B(LdaSmi), U8(76),
280 B(Star), R(5), 284 B(Star), R(5),
281 B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), 285 B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1),
286 B(LdaSmi), U8(-2),
287 B(Star), R(4),
282 B(CreateFunctionContext), U8(9), 288 B(CreateFunctionContext), U8(9),
283 B(PushContext), R(0), 289 B(PushContext), R(0),
284 B(Ldar), R(this), 290 B(Ldar), R(this),
285 B(StaContextSlot), R(context), U8(4), 291 B(StaContextSlot), R(context), U8(4),
286 /* 11 E> */ B(StackCheck), 292 /* 11 E> */ B(StackCheck),
287 B(Mov), R(context), R(7), 293 B(Mov), R(context), R(7),
288 /* 11 E> */ B(LdrContextSlot), R(context), U8(4), R(9), 294 /* 11 E> */ B(LdrContextSlot), R(context), U8(4), R(9),
289 B(Ldar), R(9), 295 B(Ldar), R(9),
290 B(Mov), R(closure), R(8), 296 B(Mov), R(closure), R(8),
291 B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(8), U8 (2), 297 B(CallRuntime), U16(Runtime::kCreateJSGeneratorObject), R(8), U8 (2),
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 kInstanceTypeDontCare, 593 kInstanceTypeDontCare,
588 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 594 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
589 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 595 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
590 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 596 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
591 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 597 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
592 kInstanceTypeDontCare, 598 kInstanceTypeDontCare,
593 kInstanceTypeDontCare, 599 kInstanceTypeDontCare,
594 kInstanceTypeDontCare, 600 kInstanceTypeDontCare,
595 ] 601 ]
596 handlers: [ 602 handlers: [
597 [41, 671, 677], 603 [45, 675, 681],
598 [139, 426, 432], 604 [143, 430, 436],
599 [142, 380, 382], 605 [146, 384, 386],
600 [528, 540, 542], 606 [532, 544, 546],
601 ] 607 ]
602 608
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698