OLD | NEW |
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: test | 7 test function name: test |
8 | 8 |
9 --- | 9 --- |
10 snippet: " | 10 snippet: " |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 (function() { | 44 (function() { |
45 class A { | 45 class A { |
46 constructor(...args) { this.baseArgs = args; } | 46 constructor(...args) { this.baseArgs = args; } |
47 } | 47 } |
48 class B extends A { | 48 class B extends A { |
49 constructor(...args) { super(1, ...args); } | 49 constructor(...args) { super(1, ...args); } |
50 } | 50 } |
51 test = new B(1, 2, 3).constructor; | 51 test = new B(1, 2, 3).constructor; |
52 })(); | 52 })(); |
53 " | 53 " |
54 frame size: 6 | 54 frame size: 7 |
55 parameter count: 1 | 55 parameter count: 1 |
56 bytecode array length: 59 | 56 bytecode array length: 63 |
57 bytecodes: [ | 57 bytecodes: [ |
58 B(CreateRestParameter), | 58 B(CreateRestParameter), |
59 B(Star), R(2), | 59 B(Star), R(2), |
60 B(Mov), R(closure), R(1), | 60 B(Mov), R(closure), R(1), |
61 B(Mov), R(new_target), R(0), | 61 B(Mov), R(new_target), R(0), |
62 B(Ldar), R(new_target), | 62 B(Ldar), R(new_target), |
63 /* 128 E> */ B(StackCheck), | 63 /* 128 E> */ B(StackCheck), |
64 /* 140 S> */ B(Ldar), R(1), | 64 /* 140 S> */ B(LdaConstant), U8(0), |
65 B(GetSuperConstructor), R(3), | 65 B(Star), R(3), |
| 66 B(Ldar), R(1), |
| 67 /* 140 E> */ B(GetSuperConstructor), R(4), |
66 B(LdaSmi), I8(1), | 68 B(LdaSmi), I8(1), |
| 69 B(Star), R(5), |
| 70 B(Ldar), R(0), |
| 71 B(Mov), R(2), R(6), |
| 72 /* 140 E> */ B(ConstructWithSpread), R(4), R(5), U8(2), |
67 B(Star), R(4), | 73 B(Star), R(4), |
68 B(Ldar), R(0), | |
69 B(Mov), R(2), R(5), | |
70 /* 140 E> */ B(ConstructWithSpread), R(3), R(4), U8(2), | |
71 B(Star), R(3), | |
72 B(Ldar), R(this), | 74 B(Ldar), R(this), |
73 B(JumpIfNotHole), U8(4), | 75 B(JumpIfNotHole), U8(4), |
74 B(Jump), U8(7), | 76 B(Jump), U8(7), |
75 /* 140 E> */ B(CallRuntime), U16(Runtime::kThrowSuperAlreadyCalledError), R(0
), U8(0), | 77 /* 140 E> */ B(CallRuntime), U16(Runtime::kThrowSuperAlreadyCalledError), R(0
), U8(0), |
76 B(Mov), R(3), R(this), | 78 B(Mov), R(4), R(this), |
77 B(Ldar), R(this), | 79 B(Ldar), R(this), |
78 B(JumpIfNotHole), U8(11), | 80 B(JumpIfNotHole), U8(11), |
79 B(LdaConstant), U8(0), | 81 B(LdaConstant), U8(0), |
80 B(Star), R(3), | 82 B(Star), R(3), |
81 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), | 83 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), |
82 /* 159 S> */ B(Return), | 84 /* 159 S> */ B(Return), |
83 ] | 85 ] |
84 constant pool: [ | 86 constant pool: [ |
85 ONE_BYTE_INTERNALIZED_STRING_TYPE ["this"], | 87 ONE_BYTE_INTERNALIZED_STRING_TYPE ["this"], |
86 ] | 88 ] |
87 handlers: [ | 89 handlers: [ |
88 ] | 90 ] |
89 | 91 |
90 --- | 92 --- |
91 snippet: " | 93 snippet: " |
92 var test; | 94 var test; |
93 (function() { | 95 (function() { |
94 class A { | 96 class A { |
95 constructor(...args) { this.baseArgs = args; } | 97 constructor(...args) { this.baseArgs = args; } |
96 } | 98 } |
97 class B extends A { | 99 class B extends A { |
98 constructor(...args) { super(1, ...args, 1); } | 100 constructor(...args) { super(1, ...args, 1); } |
99 } | 101 } |
100 test = new B(1, 2, 3).constructor; | 102 test = new B(1, 2, 3).constructor; |
101 })(); | 103 })(); |
102 " | 104 " |
103 frame size: 9 | 105 frame size: 10 |
104 parameter count: 1 | 106 parameter count: 1 |
105 bytecode array length: 92 | 107 bytecode array length: 96 |
106 bytecodes: [ | 108 bytecodes: [ |
107 B(CreateRestParameter), | 109 B(CreateRestParameter), |
108 B(Star), R(2), | 110 B(Star), R(2), |
109 B(Mov), R(closure), R(1), | 111 B(Mov), R(closure), R(1), |
110 B(Mov), R(new_target), R(0), | 112 B(Mov), R(new_target), R(0), |
111 B(Ldar), R(new_target), | 113 B(Ldar), R(new_target), |
112 /* 128 E> */ B(StackCheck), | 114 /* 128 E> */ B(StackCheck), |
113 /* 140 S> */ B(LdaUndefined), | 115 /* 140 S> */ B(LdaConstant), U8(0), |
114 B(Star), R(3), | 116 B(Star), R(3), |
| 117 B(LdaUndefined), |
| 118 B(Star), R(4), |
115 /* 140 E> */ B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(1), U8(1)
, | 119 /* 140 E> */ B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(1), U8(1)
, |
| 120 B(Star), R(5), |
| 121 B(LdaUndefined), |
| 122 B(Star), R(6), |
| 123 B(CreateArrayLiteral), U8(1), U8(2), U8(9), |
| 124 B(Star), R(7), |
| 125 B(LdaUndefined), |
| 126 B(Star), R(8), |
| 127 B(Mov), R(2), R(9), |
| 128 /* 152 E> */ B(CallJSRuntime), U8(%spread_iterable), R(8), U8(2), |
| 129 B(Star), R(8), |
| 130 B(CreateArrayLiteral), U8(2), U8(3), U8(9), |
| 131 B(Star), R(9), |
| 132 B(CallJSRuntime), U8(%spread_arguments), R(6), U8(4), |
| 133 B(Star), R(6), |
| 134 B(Mov), R(0), R(7), |
| 135 /* 140 E> */ B(CallJSRuntime), U8(%reflect_construct), R(4), U8(4), |
116 B(Star), R(4), | 136 B(Star), R(4), |
117 B(LdaUndefined), | |
118 B(Star), R(5), | |
119 B(CreateArrayLiteral), U8(0), U8(2), U8(9), | |
120 B(Star), R(6), | |
121 B(LdaUndefined), | |
122 B(Star), R(7), | |
123 B(Mov), R(2), R(8), | |
124 /* 152 E> */ B(CallJSRuntime), U8(%spread_iterable), R(7), U8(2), | |
125 B(Star), R(7), | |
126 B(CreateArrayLiteral), U8(1), U8(3), U8(9), | |
127 B(Star), R(8), | |
128 B(CallJSRuntime), U8(%spread_arguments), R(5), U8(4), | |
129 B(Star), R(5), | |
130 B(Mov), R(0), R(6), | |
131 /* 140 E> */ B(CallJSRuntime), U8(%reflect_construct), R(3), U8(4), | |
132 B(Star), R(3), | |
133 B(Ldar), R(this), | 137 B(Ldar), R(this), |
134 B(JumpIfNotHole), U8(4), | 138 B(JumpIfNotHole), U8(4), |
135 B(Jump), U8(7), | 139 B(Jump), U8(7), |
136 /* 140 E> */ B(CallRuntime), U16(Runtime::kThrowSuperAlreadyCalledError), R(0
), U8(0), | 140 /* 140 E> */ B(CallRuntime), U16(Runtime::kThrowSuperAlreadyCalledError), R(0
), U8(0), |
137 B(Mov), R(3), R(this), | 141 B(Mov), R(4), R(this), |
138 B(Ldar), R(this), | 142 B(Ldar), R(this), |
139 B(JumpIfNotHole), U8(11), | 143 B(JumpIfNotHole), U8(11), |
140 B(LdaConstant), U8(2), | 144 B(LdaConstant), U8(0), |
141 B(Star), R(3), | 145 B(Star), R(3), |
142 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), | 146 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), |
143 /* 162 S> */ B(Return), | 147 /* 162 S> */ B(Return), |
144 ] | 148 ] |
145 constant pool: [ | 149 constant pool: [ |
| 150 ONE_BYTE_INTERNALIZED_STRING_TYPE ["this"], |
146 CONSTANT_ELEMENTS_PAIR_TYPE, | 151 CONSTANT_ELEMENTS_PAIR_TYPE, |
147 CONSTANT_ELEMENTS_PAIR_TYPE, | 152 CONSTANT_ELEMENTS_PAIR_TYPE, |
148 ONE_BYTE_INTERNALIZED_STRING_TYPE ["this"], | |
149 ] | 153 ] |
150 handlers: [ | 154 handlers: [ |
151 ] | 155 ] |
152 | 156 |
OLD | NEW |