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

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

Issue 2201193004: Use Variable::binding_needs_init() to determine hole initialization (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Remove one more comment 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: test 9 test function name: test
10 10
11 --- 11 ---
12 snippet: " 12 snippet: "
13 var test; 13 var test;
14 (function() { 14 (function() {
15 class A { 15 class A {
16 method() { return 2; } 16 method() { return 2; }
17 } 17 }
18 class B extends A { 18 class B extends A {
19 method() { return super.method() + 1; } 19 method() { return super.method() + 1; }
20 } 20 }
21 test = new B().method; 21 test = new B().method;
22 test(); 22 test();
23 })(); 23 })();
24 " 24 "
25 frame size: 7 25 frame size: 6
26 parameter count: 1 26 parameter count: 1
27 bytecode array length: 53 27 bytecode array length: 35
28 bytecodes: [ 28 bytecodes: [
29 B(Mov), R(closure), R(0), 29 B(Mov), R(closure), R(0),
30 /* 99 E> */ B(StackCheck), 30 /* 99 E> */ B(StackCheck),
31 /* 104 S> */ B(Mov), R(this), R(3), 31 /* 104 S> */ B(LdaConstant), U8(0),
32 B(Ldar), R(closure), 32 /* 111 E> */ B(LdrKeyedProperty), R(closure), U8(3), R(4),
33 B(JumpIfNotHole), U8(11),
34 B(LdaConstant), U8(0),
35 B(Star), R(6),
36 /* 111 E> */ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(6), U8(1),
37 B(Star), R(6),
38 B(LdaConstant), U8(1), 33 B(LdaConstant), U8(1),
39 /* 111 E> */ B(LdrKeyedProperty), R(6), U8(3), R(4),
40 B(LdaConstant), U8(2),
41 B(Star), R(5), 34 B(Star), R(5),
35 B(Mov), R(this), R(3),
42 B(CallRuntime), U16(Runtime::kLoadFromSuper), R(3), U8(3), 36 B(CallRuntime), U16(Runtime::kLoadFromSuper), R(3), U8(3),
43 B(Mov), R(3), R(2),
44 B(Star), R(1), 37 B(Star), R(1),
45 /* 117 E> */ B(Call), R(1), R(2), U8(1), U8(1), 38 /* 117 E> */ B(Call), R(1), R(this), U8(1), U8(1),
46 B(Star), R(3), 39 B(Star), R(3),
47 B(AddSmi), U8(1), R(3), 40 B(AddSmi), U8(1), R(3),
48 /* 131 S> */ B(Return), 41 /* 131 S> */ B(Return),
49 ] 42 ]
50 constant pool: [ 43 constant pool: [
51 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
52 InstanceType::SYMBOL_TYPE, 44 InstanceType::SYMBOL_TYPE,
53 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 45 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
54 ] 46 ]
55 handlers: [ 47 handlers: [
56 ] 48 ]
57 49
58 --- 50 ---
59 snippet: " 51 snippet: "
60 var test; 52 var test;
61 (function() { 53 (function() {
62 class A { 54 class A {
63 get x() { return 1; } 55 get x() { return 1; }
64 set x(val) { return; } 56 set x(val) { return; }
65 } 57 }
66 class B extends A { 58 class B extends A {
67 method() { super.x = 2; return super.x; } 59 method() { super.x = 2; return super.x; }
68 } 60 }
69 test = new B().method; 61 test = new B().method;
70 test(); 62 test();
71 })(); 63 })();
72 " 64 "
73 frame size: 6 65 frame size: 5
74 parameter count: 1 66 parameter count: 1
75 bytecode array length: 75 67 bytecode array length: 45
76 bytecodes: [ 68 bytecodes: [
77 B(Mov), R(closure), R(0), 69 B(Mov), R(closure), R(0),
78 /* 125 E> */ B(StackCheck), 70 /* 125 E> */ B(StackCheck),
79 /* 130 S> */ B(Mov), R(this), R(1), 71 /* 130 S> */ B(LdaConstant), U8(0),
80 B(Ldar), R(closure), 72 /* 130 E> */ B(LdrKeyedProperty), R(closure), U8(1), R(2),
81 B(JumpIfNotHole), U8(11),
82 B(LdaConstant), U8(0),
83 B(Star), R(5),
84 /* 130 E> */ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(5), U8(1),
85 B(Star), R(5),
86 B(LdaConstant), U8(1), 73 B(LdaConstant), U8(1),
87 /* 130 E> */ B(LdrKeyedProperty), R(5), U8(1), R(2),
88 B(LdaConstant), U8(2),
89 B(Star), R(3), 74 B(Star), R(3),
90 B(LdaSmi), U8(2), 75 B(LdaSmi), U8(2),
91 B(Star), R(4), 76 B(Star), R(4),
77 B(Mov), R(this), R(1),
92 /* 138 E> */ B(CallRuntime), U16(Runtime::kStoreToSuper_Strict), R(1), U8(4), 78 /* 138 E> */ B(CallRuntime), U16(Runtime::kStoreToSuper_Strict), R(1), U8(4),
93 /* 143 S> */ B(Mov), R(this), R(1), 79 /* 143 S> */ B(LdaConstant), U8(0),
94 B(Ldar), R(0), 80 /* 150 E> */ B(LdrKeyedProperty), R(closure), U8(3), R(2),
95 B(JumpIfNotHole), U8(11),
96 B(LdaConstant), U8(0),
97 B(Star), R(4),
98 /* 150 E> */ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
99 B(Star), R(4),
100 B(LdaConstant), U8(1), 81 B(LdaConstant), U8(1),
101 /* 150 E> */ B(LdrKeyedProperty), R(4), U8(3), R(2),
102 B(LdaConstant), U8(2),
103 B(Star), R(3), 82 B(Star), R(3),
83 B(Mov), R(this), R(1),
104 B(CallRuntime), U16(Runtime::kLoadFromSuper), R(1), U8(3), 84 B(CallRuntime), U16(Runtime::kLoadFromSuper), R(1), U8(3),
105 /* 159 S> */ B(Return), 85 /* 159 S> */ B(Return),
106 ] 86 ]
107 constant pool: [ 87 constant pool: [
108 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
109 InstanceType::SYMBOL_TYPE, 88 InstanceType::SYMBOL_TYPE,
110 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 89 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
111 ] 90 ]
112 handlers: [ 91 handlers: [
113 ] 92 ]
114 93
115 --- 94 ---
116 snippet: " 95 snippet: "
117 var test; 96 var test;
118 (function() { 97 (function() {
119 class A { 98 class A {
120 constructor(x) { this.x_ = x; } 99 constructor(x) { this.x_ = x; }
121 } 100 }
122 class B extends A { 101 class B extends A {
123 constructor() { super(1); this.y_ = 2; } 102 constructor() { super(1); this.y_ = 2; }
124 } 103 }
125 test = new B().constructor; 104 test = new B().constructor;
126 })(); 105 })();
127 " 106 "
128 frame size: 5 107 frame size: 4
129 parameter count: 1 108 parameter count: 1
130 bytecode array length: 105 109 bytecode array length: 79
131 bytecodes: [ 110 bytecodes: [
132 B(Mov), R(closure), R(1), 111 B(Mov), R(closure), R(1),
133 B(Mov), R(new_target), R(0), 112 B(Mov), R(new_target), R(0),
134 /* 113 E> */ B(StackCheck), 113 /* 113 E> */ B(StackCheck),
135 /* 118 S> */ B(Ldar), R(closure), 114 /* 118 S> */ B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(closure), U8(1),
136 B(JumpIfNotHole), U8(11),
137 B(LdaConstant), U8(0),
138 B(Star), R(3),
139 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1),
140 B(Star), R(2),
141 B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(2), U8(1) ,
142 B(Star), R(2), 115 B(Star), R(2),
143 B(LdaSmi), U8(1), 116 B(LdaSmi), U8(1),
144 B(Star), R(3), 117 B(Star), R(3),
145 B(Ldar), R(0), 118 B(Ldar), R(new_target),
146 B(JumpIfNotHole), U8(11),
147 B(LdaConstant), U8(1),
148 B(Star), R(4),
149 /* 118 E> */ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1),
150 /* 118 E> */ B(New), R(2), R(3), U8(1), 119 /* 118 E> */ B(New), R(2), R(3), U8(1),
151 B(Star), R(2), 120 B(Star), R(2),
152 B(Ldar), R(this), 121 B(Ldar), R(this),
153 B(JumpIfNotHole), U8(4), 122 B(JumpIfNotHole), U8(4),
154 B(Jump), U8(11), 123 B(Jump), U8(11),
155 B(LdaConstant), U8(2), 124 B(LdaConstant), U8(0),
156 B(Star), R(3), 125 B(Star), R(3),
157 /* 118 E> */ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), 126 /* 118 E> */ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1),
158 B(Mov), R(2), R(this), 127 B(Mov), R(2), R(this),
159 /* 128 S> */ B(Ldar), R(this), 128 /* 128 S> */ B(Ldar), R(this),
160 B(JumpIfNotHole), U8(11), 129 B(JumpIfNotHole), U8(11),
161 B(LdaConstant), U8(2), 130 B(LdaConstant), U8(0),
162 B(Star), R(2), 131 B(Star), R(2),
163 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1), 132 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
164 B(Star), R(2), 133 B(Star), R(2),
165 B(LdaSmi), U8(2), 134 B(LdaSmi), U8(2),
166 /* 136 E> */ B(StaNamedPropertyStrict), R(2), U8(3), U8(4), 135 /* 136 E> */ B(StaNamedPropertyStrict), R(2), U8(1), U8(4),
167 B(Ldar), R(this), 136 B(Ldar), R(this),
168 B(JumpIfNotHole), U8(11), 137 B(JumpIfNotHole), U8(11),
169 B(LdaConstant), U8(2), 138 B(LdaConstant), U8(0),
170 B(Star), R(2), 139 B(Star), R(2),
171 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1), 140 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
172 /* 141 S> */ B(Return), 141 /* 141 S> */ B(Return),
173 ] 142 ]
174 constant pool: [ 143 constant pool: [
175 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 144 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
176 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 145 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
177 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
178 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
179 ] 146 ]
180 handlers: [ 147 handlers: [
181 ] 148 ]
182 149
183 --- 150 ---
184 snippet: " 151 snippet: "
185 var test; 152 var test;
186 (function() { 153 (function() {
187 class A { 154 class A {
188 constructor() { this.x_ = 1; } 155 constructor() { this.x_ = 1; }
189 } 156 }
190 class B extends A { 157 class B extends A {
191 constructor() { super(); this.y_ = 2; } 158 constructor() { super(); this.y_ = 2; }
192 } 159 }
193 test = new B().constructor; 160 test = new B().constructor;
194 })(); 161 })();
195 " 162 "
196 frame size: 4 163 frame size: 4
197 parameter count: 1 164 parameter count: 1
198 bytecode array length: 101 165 bytecode array length: 75
199 bytecodes: [ 166 bytecodes: [
200 B(Mov), R(closure), R(1), 167 B(Mov), R(closure), R(1),
201 B(Mov), R(new_target), R(0), 168 B(Mov), R(new_target), R(0),
202 /* 112 E> */ B(StackCheck), 169 /* 112 E> */ B(StackCheck),
203 /* 117 S> */ B(Ldar), R(closure), 170 /* 117 S> */ B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(closure), U8(1),
204 B(JumpIfNotHole), U8(11),
205 B(LdaConstant), U8(0),
206 B(Star), R(3),
207 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1),
208 B(Star), R(2), 171 B(Star), R(2),
209 B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(2), U8(1) , 172 B(Ldar), R(new_target),
210 B(Star), R(2),
211 B(Ldar), R(0),
212 B(JumpIfNotHole), U8(11),
213 B(LdaConstant), U8(1),
214 B(Star), R(3),
215 /* 117 E> */ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1),
216 /* 117 E> */ B(New), R(2), R(0), U8(0), 173 /* 117 E> */ B(New), R(2), R(0), U8(0),
217 B(Star), R(2), 174 B(Star), R(2),
218 B(Ldar), R(this), 175 B(Ldar), R(this),
219 B(JumpIfNotHole), U8(4), 176 B(JumpIfNotHole), U8(4),
220 B(Jump), U8(11), 177 B(Jump), U8(11),
221 B(LdaConstant), U8(2), 178 B(LdaConstant), U8(0),
222 B(Star), R(3), 179 B(Star), R(3),
223 /* 117 E> */ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), 180 /* 117 E> */ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1),
224 B(Mov), R(2), R(this), 181 B(Mov), R(2), R(this),
225 /* 126 S> */ B(Ldar), R(this), 182 /* 126 S> */ B(Ldar), R(this),
226 B(JumpIfNotHole), U8(11), 183 B(JumpIfNotHole), U8(11),
227 B(LdaConstant), U8(2), 184 B(LdaConstant), U8(0),
228 B(Star), R(2), 185 B(Star), R(2),
229 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1), 186 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
230 B(Star), R(2), 187 B(Star), R(2),
231 B(LdaSmi), U8(2), 188 B(LdaSmi), U8(2),
232 /* 134 E> */ B(StaNamedPropertyStrict), R(2), U8(3), U8(4), 189 /* 134 E> */ B(StaNamedPropertyStrict), R(2), U8(1), U8(4),
233 B(Ldar), R(this), 190 B(Ldar), R(this),
234 B(JumpIfNotHole), U8(11), 191 B(JumpIfNotHole), U8(11),
235 B(LdaConstant), U8(2), 192 B(LdaConstant), U8(0),
236 B(Star), R(2), 193 B(Star), R(2),
237 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1), 194 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1),
238 /* 139 S> */ B(Return), 195 /* 139 S> */ B(Return),
239 ] 196 ]
240 constant pool: [ 197 constant pool: [
241 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 198 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
242 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, 199 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
243 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
244 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
245 ] 200 ]
246 handlers: [ 201 handlers: [
247 ] 202 ]
248 203
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698