ClassDeclarations.golden 6.14 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#
# Autogenerated by generate-bytecode-expectations.
#

---
wrap: yes

---
snippet: "
  class Person {
    constructor(name) { this.name = name; }
    speak() { console.log(this.name + ' is speaking.'); }
  }
"
15
frame size: 7
16
parameter count: 1
17
bytecode array length: 34
18
bytecodes: [
19
  /*   30 E> */ B(CreateBlockContext), U8(0),
20
                B(PushContext), R(1),
21
                B(LdaTheHole),
22
                B(Star5),
23
                B(CreateClosure), U8(2), U8(0), U8(2),
24
                B(Star2),
25
                B(LdaConstant), U8(1),
26
                B(Star3),
27
                B(CreateClosure), U8(3), U8(1), U8(2),
28
                B(Star6),
29 30 31 32
                B(Mov), R(2), R(4),
                B(CallRuntime), U16(Runtime::kDefineClass), R(3), U8(4),
                B(PopContext), R(1),
                B(Mov), R(4), R(0),
33 34
                B(LdaUndefined),
  /*  149 S> */ B(Return),
35 36
]
constant pool: [
37
  SCOPE_INFO_TYPE,
38
  FIXED_ARRAY_TYPE,
39 40
  SHARED_FUNCTION_INFO_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
41 42 43 44 45 46 47 48 49 50 51
]
handlers: [
]

---
snippet: "
  class person {
    constructor(name) { this.name = name; }
    speak() { console.log(this.name + ' is speaking.'); }
  }
"
52
frame size: 7
53
parameter count: 1
54
bytecode array length: 34
55
bytecodes: [
56
  /*   30 E> */ B(CreateBlockContext), U8(0),
57
                B(PushContext), R(1),
58
                B(LdaTheHole),
59
                B(Star5),
60
                B(CreateClosure), U8(2), U8(0), U8(2),
61
                B(Star2),
62
                B(LdaConstant), U8(1),
63
                B(Star3),
64
                B(CreateClosure), U8(3), U8(1), U8(2),
65
                B(Star6),
66 67 68 69
                B(Mov), R(2), R(4),
                B(CallRuntime), U16(Runtime::kDefineClass), R(3), U8(4),
                B(PopContext), R(1),
                B(Mov), R(4), R(0),
70 71
                B(LdaUndefined),
  /*  149 S> */ B(Return),
72 73
]
constant pool: [
74
  SCOPE_INFO_TYPE,
75
  FIXED_ARRAY_TYPE,
76 77
  SHARED_FUNCTION_INFO_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
78 79 80 81 82 83 84 85 86 87 88 89 90
]
handlers: [
]

---
snippet: "
  var n0 = 'a';
  var n1 = 'b';
  class N {
    [n0]() { return n0; }
    static [n1]() { return n1; }
  }
"
91
frame size: 11
92
parameter count: 1
93
bytecode array length: 76
94
bytecodes: [
95
  /*   30 E> */ B(CreateFunctionContext), U8(0), U8(2),
96
                B(PushContext), R(1),
97
  /*   43 S> */ B(LdaConstant), U8(1),
98
  /*   43 E> */ B(StaCurrentContextSlot), U8(2),
99
  /*   57 S> */ B(LdaConstant), U8(2),
100
  /*   57 E> */ B(StaCurrentContextSlot), U8(3),
101
                B(CreateBlockContext), U8(3),
102
                B(PushContext), R(2),
103
                B(LdaTheHole),
104
                B(Star6),
105
                B(CreateClosure), U8(5), U8(0), U8(2),
106
                B(Star3),
107
                B(LdaConstant), U8(4),
108
                B(Star4),
109
  /*   75 S> */ B(LdaImmutableContextSlot), R(2), U8(2), U8(0),
110
                B(ToName), R(7),
111
                B(CreateClosure), U8(6), U8(1), U8(2),
112
                B(Star8),
113
  /*  106 S> */ B(LdaImmutableContextSlot), R(2), U8(3), U8(0),
114
                B(ToName), R(9),
115
                B(LdaConstant), U8(7),
116 117
                B(TestEqualStrict), R(9), U8(0),
                B(Mov), R(3), R(5),
118
                B(JumpIfFalse), U8(7),
119
                B(CallRuntime), U16(Runtime::kThrowStaticPrototypeError), R(0), U8(0),
120
                B(CreateClosure), U8(8), U8(2), U8(2),
121
                B(Star10),
122 123 124
                B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(7),
                B(PopContext), R(2),
                B(Mov), R(3), R(0),
125 126
                B(LdaUndefined),
  /*  129 S> */ B(Return),
127 128
]
constant pool: [
129
  SCOPE_INFO_TYPE,
130 131
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"],
132
  SCOPE_INFO_TYPE,
133
  FIXED_ARRAY_TYPE,
134 135
  SHARED_FUNCTION_INFO_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
136
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["prototype"],
137
  SHARED_FUNCTION_INFO_TYPE,
138 139 140 141 142 143 144 145 146 147
]
handlers: [
]

---
snippet: "
  var count = 0;
  class C { constructor() { count++; }}
  return new C();
"
148
frame size: 7
149
parameter count: 1
150
bytecode array length: 43
151
bytecodes: [
152
  /*   30 E> */ B(CreateFunctionContext), U8(0), U8(1),
153
                B(PushContext), R(1),
154
  /*   46 S> */ B(LdaZero),
155
  /*   46 E> */ B(StaCurrentContextSlot), U8(2),
156
                B(CreateBlockContext), U8(1),
157
                B(PushContext), R(2),
158
                B(LdaTheHole),
159
                B(Star6),
160
                B(CreateClosure), U8(3), U8(0), U8(2),
161
                B(Star3),
162
                B(LdaConstant), U8(2),
163
                B(Star4),
164 165 166 167
                B(Mov), R(3), R(5),
                B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3),
                B(PopContext), R(2),
                B(Mov), R(5), R(0),
168
  /*   87 S> */ B(Ldar), R(0),
169
  /*   94 E> */ B(Construct), R(0), R(0), U8(0), U8(0),
170
  /*  102 S> */ B(Return),
171 172
]
constant pool: [
173
  SCOPE_INFO_TYPE,
174
  SCOPE_INFO_TYPE,
175
  FIXED_ARRAY_TYPE,
176
  SHARED_FUNCTION_INFO_TYPE,
177 178 179 180
]
handlers: [
]

181 182 183 184 185
---
snippet: "
  (class {})
  class E { static name () {}}
"
186
frame size: 7
187
parameter count: 1
188
bytecode array length: 58
189
bytecodes: [
190
  /*   34 S> */ B(CreateBlockContext), U8(0),
191
                B(PushContext), R(1),
192
                B(LdaTheHole),
193
                B(Star5),
194
                B(CreateClosure), U8(2), U8(0), U8(2),
195
                B(Star2),
196
                B(LdaConstant), U8(1),
197
                B(Star3),
198 199 200
                B(Mov), R(2), R(4),
                B(CallRuntime), U16(Runtime::kDefineClass), R(3), U8(3),
                B(PopContext), R(1),
201
                B(CreateBlockContext), U8(3),
202
                B(PushContext), R(1),
203
                B(LdaTheHole),
204
                B(Star5),
205
                B(CreateClosure), U8(5), U8(1), U8(2),
206
                B(Star2),
207
                B(LdaConstant), U8(4),
208
                B(Star3),
209
                B(CreateClosure), U8(6), U8(2), U8(2),
210
                B(Star6),
211 212 213 214
                B(Mov), R(2), R(4),
                B(CallRuntime), U16(Runtime::kDefineClass), R(3), U8(4),
                B(PopContext), R(1),
                B(Mov), R(4), R(0),
215 216 217 218
                B(LdaUndefined),
  /*   74 S> */ B(Return),
]
constant pool: [
219
  SCOPE_INFO_TYPE,
220
  FIXED_ARRAY_TYPE,
221
  SHARED_FUNCTION_INFO_TYPE,
222
  SCOPE_INFO_TYPE,
223
  FIXED_ARRAY_TYPE,
224 225 226 227 228 229
  SHARED_FUNCTION_INFO_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]