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

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

Issue 2684993002: [interpreter] Create custom call opcodes for specific argument counts (Closed)
Patch Set: Fix golden files again Created 3 years, 9 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 test function name: f 7 test function name: f
8 8
9 --- 9 ---
10 snippet: " 10 snippet: "
11 function f(a) { return a.func(); } 11 function f(a) { return a.func(); }
12 f(new (function Obj() { this.func = function() { return; }})()) 12 f(new (function Obj() { this.func = function() { return; }})())
13 " 13 "
14 frame size: 1 14 frame size: 1
15 parameter count: 2 15 parameter count: 2
16 bytecode array length: 14 16 bytecode array length: 13
17 bytecodes: [ 17 bytecodes: [
18 /* 10 E> */ B(StackCheck), 18 /* 10 E> */ B(StackCheck),
19 /* 16 S> */ B(Nop), 19 /* 16 S> */ B(Nop),
20 /* 24 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(4), 20 /* 24 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(4),
21 B(Star), R(0), 21 B(Star), R(0),
22 /* 25 E> */ B(CallProperty), R(0), R(arg0), U8(1), U8(2), 22 /* 25 E> */ B(CallProperty0), R(0), R(arg0), U8(2),
23 /* 33 S> */ B(Return), 23 /* 33 S> */ B(Return),
24 ] 24 ]
25 constant pool: [ 25 constant pool: [
26 ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"], 26 ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"],
27 ] 27 ]
28 handlers: [ 28 handlers: [
29 ] 29 ]
30 30
31 --- 31 ---
32 snippet: " 32 snippet: "
33 function f(a, b, c) { return a.func(b, c); } 33 function f(a, b, c) { return a.func(b, c); }
34 f(new (function Obj() { this.func = function() { return; }})(), 1, 2) 34 f(new (function Obj() { this.func = function() { return; }})(), 1, 2)
35 " 35 "
36 frame size: 4 36 frame size: 1
37 parameter count: 4 37 parameter count: 4
38 bytecode array length: 23 38 bytecode array length: 15
39 bytecodes: [ 39 bytecodes: [
40 /* 10 E> */ B(StackCheck), 40 /* 10 E> */ B(StackCheck),
41 /* 22 S> */ B(Nop), 41 /* 22 S> */ B(Nop),
42 /* 30 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(4), 42 /* 30 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(4),
43 B(Star), R(0), 43 B(Star), R(0),
44 B(Mov), R(arg0), R(1), 44 /* 31 E> */ B(CallProperty2), R(0), R(arg0), R(arg1), R(arg2), U8(2),
45 B(Mov), R(arg1), R(2),
46 B(Mov), R(arg2), R(3),
47 /* 31 E> */ B(CallProperty), R(0), R(1), U8(3), U8(2),
48 /* 43 S> */ B(Return), 45 /* 43 S> */ B(Return),
49 ] 46 ]
50 constant pool: [ 47 constant pool: [
51 ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"], 48 ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"],
52 ] 49 ]
53 handlers: [ 50 handlers: [
54 ] 51 ]
55 52
56 --- 53 ---
57 snippet: " 54 snippet: "
58 function f(a, b) { return a.func(b + b, b); } 55 function f(a, b) { return a.func(b + b, b); }
59 f(new (function Obj() { this.func = function() { return; }})(), 1) 56 f(new (function Obj() { this.func = function() { return; }})(), 1)
60 " 57 "
61 frame size: 4 58 frame size: 3
62 parameter count: 3 59 parameter count: 3
63 bytecode array length: 27 60 bytecode array length: 22
64 bytecodes: [ 61 bytecodes: [
65 /* 10 E> */ B(StackCheck), 62 /* 10 E> */ B(StackCheck),
66 /* 19 S> */ B(Nop), 63 /* 19 S> */ B(Nop),
67 /* 27 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(4), 64 /* 27 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(4),
68 B(Star), R(0), 65 B(Star), R(0),
69 B(Ldar), R(arg1), 66 B(Ldar), R(arg1),
70 /* 35 E> */ B(Add), R(arg1), U8(6), 67 /* 35 E> */ B(Add), R(arg1), U8(6),
71 B(Star), R(2), 68 B(Star), R(2),
72 B(Mov), R(arg0), R(1), 69 /* 28 E> */ B(CallProperty2), R(0), R(arg0), R(2), R(arg1), U8(2),
73 B(Mov), R(arg1), R(3),
74 /* 28 E> */ B(CallProperty), R(0), R(1), U8(3), U8(2),
75 /* 44 S> */ B(Return), 70 /* 44 S> */ B(Return),
76 ] 71 ]
77 constant pool: [ 72 constant pool: [
78 ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"], 73 ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"],
79 ] 74 ]
80 handlers: [ 75 handlers: [
81 ] 76 ]
82 77
83 --- 78 ---
84 snippet: " 79 snippet: "
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 a.func; 204 a.func;
210 a.func; 205 a.func;
211 a.func; 206 a.func;
212 a.func; 207 a.func;
213 a.func; 208 a.func;
214 return a.func(); } 209 return a.func(); }
215 f(new (function Obj() { this.func = function() { return; }})()) 210 f(new (function Obj() { this.func = function() { return; }})())
216 " 211 "
217 frame size: 1 212 frame size: 1
218 parameter count: 2 213 parameter count: 2
219 bytecode array length: 667 214 bytecode array length: 665
220 bytecodes: [ 215 bytecodes: [
221 /* 10 E> */ B(StackCheck), 216 /* 10 E> */ B(StackCheck),
222 /* 17 S> */ B(Nop), 217 /* 17 S> */ B(Nop),
223 /* 18 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(2), 218 /* 18 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(2),
224 /* 26 S> */ B(Nop), 219 /* 26 S> */ B(Nop),
225 /* 27 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(4), 220 /* 27 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(4),
226 /* 35 S> */ B(Nop), 221 /* 35 S> */ B(Nop),
227 /* 36 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(6), 222 /* 36 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(6),
228 /* 44 S> */ B(Nop), 223 /* 44 S> */ B(Nop),
229 /* 45 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(8), 224 /* 45 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(8),
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 /* 1134 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(250), 466 /* 1134 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(250),
472 /* 1142 S> */ B(Nop), 467 /* 1142 S> */ B(Nop),
473 /* 1143 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(252), 468 /* 1143 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(252),
474 /* 1151 S> */ B(Nop), 469 /* 1151 S> */ B(Nop),
475 /* 1152 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(254), 470 /* 1152 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(254),
476 /* 1160 S> */ B(Nop), 471 /* 1160 S> */ B(Nop),
477 /* 1161 E> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(256), 472 /* 1161 E> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(256),
478 /* 1169 S> */ B(Nop), 473 /* 1169 S> */ B(Nop),
479 /* 1177 E> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(260), 474 /* 1177 E> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(260),
480 B(Star), R(0), 475 B(Star), R(0),
481 /* 1178 E> */ B(Wide), B(CallProperty), R16(0), R16(arg0), U16(1), U16(258), 476 /* 1178 E> */ B(Wide), B(CallProperty0), R16(0), R16(arg0), U16(258),
482 /* 1186 S> */ B(Return), 477 /* 1186 S> */ B(Return),
483 ] 478 ]
484 constant pool: [ 479 constant pool: [
485 ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"], 480 ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"],
486 ] 481 ]
487 handlers: [ 482 handlers: [
488 ] 483 ]
489 484
490 --- 485 ---
491 snippet: " 486 snippet: "
492 function f(a) { return a.func(1).func(2).func(3); } 487 function f(a) { return a.func(1).func(2).func(3); }
493 f(new (function Obj() { this.func = function(a) { return this; }})()) 488 f(new (function Obj() { this.func = function(a) { return this; }})())
494 " 489 "
495 frame size: 5 490 frame size: 5
496 parameter count: 2 491 parameter count: 2
497 bytecode array length: 55 492 bytecode array length: 52
498 bytecodes: [ 493 bytecodes: [
499 /* 10 E> */ B(StackCheck), 494 /* 10 E> */ B(StackCheck),
500 /* 16 S> */ B(Nop), 495 /* 16 S> */ B(Nop),
501 /* 24 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(8), 496 /* 24 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(8),
502 B(Star), R(2), 497 B(Star), R(2),
503 B(LdaSmi), I8(1), 498 B(LdaSmi), I8(1),
504 B(Star), R(4), 499 B(Star), R(4),
505 B(Mov), R(arg0), R(3), 500 /* 25 E> */ B(CallProperty1), R(2), R(arg0), R(4), U8(6),
506 /* 25 E> */ B(CallProperty), R(2), R(3), U8(2), U8(6),
507 B(Star), R(2), 501 B(Star), R(2),
508 /* 32 E> */ B(LdaNamedProperty), R(2), U8(0), U8(10), 502 /* 32 E> */ B(LdaNamedProperty), R(2), U8(0), U8(10),
509 B(Star), R(1), 503 B(Star), R(1),
510 B(LdaSmi), I8(2), 504 B(LdaSmi), I8(2),
511 B(Star), R(3), 505 B(Star), R(3),
512 /* 33 E> */ B(CallProperty), R(1), R(2), U8(2), U8(4), 506 /* 33 E> */ B(CallProperty1), R(1), R(2), R(3), U8(4),
513 B(Star), R(1), 507 B(Star), R(1),
514 /* 40 E> */ B(LdaNamedProperty), R(1), U8(0), U8(12), 508 /* 40 E> */ B(LdaNamedProperty), R(1), U8(0), U8(12),
515 B(Star), R(0), 509 B(Star), R(0),
516 B(LdaSmi), I8(3), 510 B(LdaSmi), I8(3),
517 B(Star), R(2), 511 B(Star), R(2),
518 /* 41 E> */ B(CallProperty), R(0), R(1), U8(2), U8(2), 512 /* 41 E> */ B(CallProperty1), R(0), R(1), R(2), U8(2),
519 /* 50 S> */ B(Return), 513 /* 50 S> */ B(Return),
520 ] 514 ]
521 constant pool: [ 515 constant pool: [
522 ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"], 516 ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"],
523 ] 517 ]
524 handlers: [ 518 handlers: [
525 ] 519 ]
526 520
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698