1#
2# Autogenerated by generate-bytecode-expectations.
3#
4
5---
6wrap: yes
7
8---
9snippet: "
10  {
11    class A {
12      a;
13      ['b'];
14    }
15
16    class B {
17      a = 1;
18      ['b'] = this.a;
19    }
20    new A;
21    new B;
22  }
23"
24frame size: 8
25parameter count: 1
26bytecode array length: 106
27bytecodes: [
28  /*   30 E> */ B(CreateBlockContext), U8(0),
29                B(PushContext), R(2),
30                B(LdaTheHole),
31                B(StaCurrentContextSlot), U8(2),
32                B(LdaTheHole),
33                B(Star6),
34                B(CreateClosure), U8(2), U8(0), U8(2),
35                B(Star3),
36                B(LdaConstant), U8(1),
37                B(Star4),
38  /*   60 S> */ B(LdaConstant), U8(3),
39                B(StaCurrentContextSlot), U8(2),
40                B(Star7),
41                B(Mov), R(3), R(5),
42                B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4),
43                B(Star4),
44                B(CreateClosure), U8(4), U8(1), U8(2),
45                B(Star5),
46                B(StaNamedProperty), R(3), U8(5), U8(0),
47                B(PopContext), R(2),
48                B(Mov), R(3), R(0),
49  /*   38 E> */ B(CreateBlockContext), U8(6),
50                B(PushContext), R(2),
51                B(LdaTheHole),
52                B(StaCurrentContextSlot), U8(2),
53                B(LdaTheHole),
54                B(Star6),
55                B(CreateClosure), U8(8), U8(2), U8(2),
56                B(Star3),
57                B(LdaConstant), U8(7),
58                B(Star4),
59  /*   99 S> */ B(LdaConstant), U8(3),
60                B(StaCurrentContextSlot), U8(2),
61                B(Star7),
62                B(Mov), R(3), R(5),
63                B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4),
64                B(Star4),
65                B(CreateClosure), U8(9), U8(3), U8(2),
66                B(Star5),
67                B(StaNamedProperty), R(3), U8(5), U8(2),
68                B(PopContext), R(2),
69                B(Mov), R(3), R(1),
70  /*  120 S> */ B(Ldar), R(0),
71  /*  120 E> */ B(Construct), R(0), R(0), U8(0), U8(4),
72  /*  129 S> */ B(Ldar), R(1),
73  /*  129 E> */ B(Construct), R(1), R(0), U8(0), U8(6),
74                B(LdaUndefined),
75  /*  138 S> */ B(Return),
76]
77constant pool: [
78  SCOPE_INFO_TYPE,
79  FIXED_ARRAY_TYPE,
80  SHARED_FUNCTION_INFO_TYPE,
81  ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"],
82  SHARED_FUNCTION_INFO_TYPE,
83  SYMBOL_TYPE,
84  SCOPE_INFO_TYPE,
85  FIXED_ARRAY_TYPE,
86  SHARED_FUNCTION_INFO_TYPE,
87  SHARED_FUNCTION_INFO_TYPE,
88]
89handlers: [
90]
91
92---
93snippet: "
94  {
95    class A extends class {} {
96      a;
97      ['b'];
98    }
99
100    class B extends class {} {
101      a = 1;
102      ['b'] = this.a;
103      foo() { return 1; }
104      constructor() {
105        super();
106      }
107    }
108
109    class C extends B {
110      a = 1;
111      ['b'] = this.a;
112      constructor() {
113        (() => super())();
114      }
115    }
116
117    new A;
118    new B;
119    new C;
120  }
121"
122frame size: 12
123parameter count: 1
124bytecode array length: 204
125bytecodes: [
126  /*   30 E> */ B(CreateBlockContext), U8(0),
127                B(PushContext), R(3),
128                B(LdaTheHole),
129                B(StaCurrentContextSlot), U8(2),
130                B(LdaTheHole),
131                B(Star11),
132                B(CreateClosure), U8(3), U8(0), U8(2),
133                B(Star8),
134                B(LdaConstant), U8(2),
135                B(Star9),
136                B(Mov), R(8), R(10),
137                B(CallRuntime), U16(Runtime::kDefineClass), R(9), U8(3),
138                B(Star9),
139                B(CreateClosure), U8(4), U8(1), U8(2),
140                B(Star4),
141                B(LdaConstant), U8(1),
142                B(Star5),
143  /*   77 S> */ B(LdaConstant), U8(5),
144                B(StaCurrentContextSlot), U8(2),
145                B(Star8),
146                B(Mov), R(4), R(6),
147                B(Mov), R(10), R(7),
148                B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(4),
149                B(Star5),
150                B(CreateClosure), U8(6), U8(2), U8(2),
151                B(Star6),
152                B(StaNamedProperty), R(4), U8(7), U8(0),
153                B(PopContext), R(3),
154                B(Mov), R(4), R(0),
155  /*   38 E> */ B(CreateBlockContext), U8(8),
156                B(PushContext), R(3),
157                B(LdaTheHole),
158                B(StaCurrentContextSlot), U8(2),
159                B(LdaTheHole),
160                B(Star11),
161                B(CreateClosure), U8(11), U8(3), U8(2),
162                B(Star8),
163                B(LdaConstant), U8(10),
164                B(Star9),
165                B(Mov), R(8), R(10),
166                B(CallRuntime), U16(Runtime::kDefineClass), R(9), U8(3),
167                B(Star9),
168                B(CreateClosure), U8(12), U8(4), U8(2),
169                B(Star4),
170                B(LdaConstant), U8(9),
171                B(Star5),
172  /*  133 S> */ B(LdaConstant), U8(5),
173                B(StaCurrentContextSlot), U8(2),
174                B(Star8),
175                B(CreateClosure), U8(13), U8(5), U8(2),
176                B(Star9),
177                B(Mov), R(4), R(6),
178                B(Mov), R(10), R(7),
179                B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(5),
180                B(Star5),
181                B(CreateClosure), U8(14), U8(6), U8(2),
182                B(Star6),
183                B(StaNamedProperty), R(4), U8(7), U8(2),
184                B(PopContext), R(3),
185                B(Mov), R(4), R(1),
186  /*   90 E> */ B(CreateBlockContext), U8(15),
187                B(PushContext), R(3),
188                B(LdaTheHole),
189                B(StaCurrentContextSlot), U8(2),
190  /*  236 E> */ B(CreateClosure), U8(17), U8(7), U8(2),
191                B(Star4),
192                B(LdaConstant), U8(16),
193                B(Star5),
194  /*  256 S> */ B(LdaConstant), U8(5),
195                B(StaCurrentContextSlot), U8(2),
196                B(Star8),
197                B(Mov), R(4), R(6),
198                B(Mov), R(1), R(7),
199                B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(4),
200                B(Star5),
201                B(CreateClosure), U8(18), U8(8), U8(2),
202                B(Star6),
203                B(StaNamedProperty), R(4), U8(7), U8(4),
204                B(PopContext), R(3),
205                B(Mov), R(4), R(2),
206  /*  329 S> */ B(Ldar), R(0),
207  /*  329 E> */ B(Construct), R(0), R(0), U8(0), U8(6),
208  /*  338 S> */ B(Ldar), R(1),
209  /*  338 E> */ B(Construct), R(1), R(0), U8(0), U8(8),
210  /*  347 S> */ B(Ldar), R(2),
211  /*  347 E> */ B(Construct), R(2), R(0), U8(0), U8(10),
212                B(LdaUndefined),
213  /*  356 S> */ B(Return),
214]
215constant pool: [
216  SCOPE_INFO_TYPE,
217  FIXED_ARRAY_TYPE,
218  FIXED_ARRAY_TYPE,
219  SHARED_FUNCTION_INFO_TYPE,
220  SHARED_FUNCTION_INFO_TYPE,
221  ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"],
222  SHARED_FUNCTION_INFO_TYPE,
223  SYMBOL_TYPE,
224  SCOPE_INFO_TYPE,
225  FIXED_ARRAY_TYPE,
226  FIXED_ARRAY_TYPE,
227  SHARED_FUNCTION_INFO_TYPE,
228  SHARED_FUNCTION_INFO_TYPE,
229  SHARED_FUNCTION_INFO_TYPE,
230  SHARED_FUNCTION_INFO_TYPE,
231  SCOPE_INFO_TYPE,
232  FIXED_ARRAY_TYPE,
233  SHARED_FUNCTION_INFO_TYPE,
234  SHARED_FUNCTION_INFO_TYPE,
235]
236handlers: [
237]
238
239