ClassAndSuperClass.golden 4.29 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#
# Autogenerated by generate-bytecode-expectations.
#

---
wrap: no
test function name: test

---
snippet: "
  var test;
  (function() {
    class A {
      method() { return 2; }
    }
    class B extends A {
      method() { return super.method() + 1; }
    }
    test = new B().method;
    test();
  })();
"
23
frame size: 6
24
parameter count: 1
25
bytecode array length: 34
26
bytecodes: [
27
                B(Mov), R(closure), R(0),
28
  /*   99 E> */ B(StackCheck),
29
  /*  104 S> */ B(LdaConstant), U8(0),
30
  /*  111 E> */ B(LdaKeyedProperty), R(closure), U8(1),
31
                B(Star), R(4),
32
                B(LdaConstant), U8(1),
33
                B(Star), R(5),
34
                B(Mov), R(this), R(3),
35
  /*  117 E> */ B(CallRuntime), U16(Runtime::kLoadFromSuper), R(3), U8(3),
36
                B(Star), R(1),
37 38
  /*  117 E> */ B(CallAnyReceiver), R(1), R(this), U8(1), U8(3),
  /*  126 E> */ B(AddSmi), I8(1), U8(0),
39
  /*  130 S> */ B(Return),
40 41
]
constant pool: [
42 43
  SYMBOL_TYPE,
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["method"],
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
]
handlers: [
]

---
snippet: "
  var test;
  (function() {
    class A {
      get x() { return 1; }
      set x(val) { return; }
    }
    class B extends A {
      method() { super.x = 2; return super.x; }
    }
    test = new B().method;
    test();
  })();
"
63
frame size: 5
64
parameter count: 1
65
bytecode array length: 47
66
bytecodes: [
67
                B(Mov), R(closure), R(0),
68
  /*  125 E> */ B(StackCheck),
69
  /*  130 S> */ B(LdaConstant), U8(0),
70
  /*  130 E> */ B(LdaKeyedProperty), R(closure), U8(0),
71
                B(Star), R(2),
72
                B(LdaConstant), U8(1),
73
                B(Star), R(3),
74
                B(LdaSmi), I8(2),
75
                B(Star), R(4),
76
                B(Mov), R(this), R(1),
77
  /*  138 E> */ B(CallRuntime), U16(Runtime::kStoreToSuper_Strict), R(1), U8(4),
78
  /*  143 S> */ B(LdaConstant), U8(0),
79
  /*  150 E> */ B(LdaKeyedProperty), R(closure), U8(2),
80
                B(Star), R(2),
81
                B(LdaConstant), U8(1),
82
                B(Star), R(3),
83
                B(Mov), R(this), R(1),
84
  /*  156 E> */ B(CallRuntime), U16(Runtime::kLoadFromSuper), R(1), U8(3),
85
  /*  158 S> */ B(Return),
86 87
]
constant pool: [
88 89
  SYMBOL_TYPE,
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
]
handlers: [
]

---
snippet: "
  var test;
  (function() {
    class A {
      constructor(x) { this.x_ = x; }
    }
    class B extends A {
      constructor() { super(1); this.y_ = 2; }
    }
    test = new B().constructor;
  })();
"
107
frame size: 6
108
parameter count: 1
109
bytecode array length: 40
110
bytecodes: [
111
                B(Mov), R(closure), R(1),
112
  /*  113 E> */ B(StackCheck),
113
  /*  118 S> */ B(Ldar), R(1),
114
                B(GetSuperConstructor), R(3),
115
                B(LdaSmi), I8(1),
116
                B(Star), R(4),
117
                B(Ldar), R(0),
118
  /*  118 E> */ B(Construct), R(3), R(4), U8(1), U8(0),
119
                B(Star), R(5),
120
                B(Ldar), R(this),
121 122
                B(ThrowSuperAlreadyCalledIfNotHole),
                B(Mov), R(5), R(this),
123
  /*  128 S> */ B(Ldar), R(this),
124
                B(ThrowSuperNotCalledIfHole),
125
                B(LdaSmi), I8(2),
126
  /*  136 E> */ B(StaNamedProperty), R(this), U8(0), U8(2),
127
                B(Ldar), R(this),
128
                B(ThrowSuperNotCalledIfHole),
129
  /*  141 S> */ B(Return),
130 131
]
constant pool: [
132
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["y_"],
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
]
handlers: [
]

---
snippet: "
  var test;
  (function() {
    class A {
      constructor() { this.x_ = 1; }
    }
    class B extends A {
      constructor() { super(); this.y_ = 2; }
    }
    test = new B().constructor;
  })();
"
150
frame size: 5
151
parameter count: 1
152
bytecode array length: 36
153
bytecodes: [
154
                B(Mov), R(closure), R(1),
155
  /*  112 E> */ B(StackCheck),
156
  /*  117 S> */ B(Ldar), R(1),
157
                B(GetSuperConstructor), R(3),
158
                B(Ldar), R(0),
159
  /*  117 E> */ B(Construct), R(3), R(0), U8(0), U8(0),
160
                B(Star), R(4),
161
                B(Ldar), R(this),
162 163
                B(ThrowSuperAlreadyCalledIfNotHole),
                B(Mov), R(4), R(this),
164
  /*  126 S> */ B(Ldar), R(this),
165
                B(ThrowSuperNotCalledIfHole),
166
                B(LdaSmi), I8(2),
167
  /*  134 E> */ B(StaNamedProperty), R(this), U8(0), U8(2),
168
                B(Ldar), R(this),
169
                B(ThrowSuperNotCalledIfHole),
170
  /*  139 S> */ B(Return),
171 172
]
constant pool: [
173
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["y_"],
174 175 176 177
]
handlers: [
]