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

---
wrap: no
test function name: test

---
snippet: "
  var test;
  (function() {
    class A {
      constructor(...args) { this.baseArgs = args; }
    }
    class B extends A {}
    test = new B(1, 2, 3).constructor;
  })();
"
20
frame size: 5
21
parameter count: 1
22
bytecode array length: 19
23 24 25 26 27
bytecodes: [
                B(CreateRestParameter),
                B(Star), R(2),
                B(Mov), R(closure), R(1),
  /*   93 E> */ B(StackCheck),
28
  /*   93 S> */ B(Ldar), R(1),
29
                B(GetSuperConstructor), R(4),
30
                B(Ldar), R(0),
31
  /*   93 E> */ B(ConstructWithSpread), R(4), R(2), U8(1), U8(0),
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
  /*   93 S> */ B(Return),
]
constant pool: [
]
handlers: [
]

---
snippet: "
  var test;
  (function() {
    class A {
      constructor(...args) { this.baseArgs = args; }
    }
    class B extends A {
      constructor(...args) { super(1, ...args); }
    }
    test = new B(1, 2, 3).constructor;
  })();
"
52
frame size: 9
53
parameter count: 1
54
bytecode array length: 40
55 56 57 58 59
bytecodes: [
                B(CreateRestParameter),
                B(Star), R(2),
                B(Mov), R(closure), R(1),
  /*  128 E> */ B(StackCheck),
60
                B(Mov), R(2), R(3),
61
  /*  140 S> */ B(Ldar), R(closure),
62
                B(GetSuperConstructor), R(5),
63
                B(LdaSmi), I8(1),
64
                B(Star), R(6),
65
                B(Ldar), R(0),
66 67
                B(Mov), R(2), R(7),
  /*  140 E> */ B(ConstructWithSpread), R(5), R(6), U8(2), U8(0),
68
                B(Star), R(8),
69
                B(Ldar), R(this),
70 71
                B(ThrowSuperAlreadyCalledIfNotHole),
                B(Mov), R(8), R(this),
72
                B(Ldar), R(this),
73
                B(ThrowSuperNotCalledIfHole),
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
  /*  159 S> */ B(Return),
]
constant pool: [
]
handlers: [
]

---
snippet: "
  var test;
  (function() {
    class A {
      constructor(...args) { this.baseArgs = args; }
    }
    class B extends A {
      constructor(...args) { super(1, ...args, 1); }
    }
    test = new B(1, 2, 3).constructor;
  })();
"
94
frame size: 13
95
parameter count: 1
96
bytecode array length: 130
97 98 99 100 101
bytecodes: [
                B(CreateRestParameter),
                B(Star), R(2),
                B(Mov), R(closure), R(1),
  /*  128 E> */ B(StackCheck),
102
                B(Mov), R(2), R(3),
103 104 105
  /*  140 S> */ B(Ldar), R(closure),
                B(GetSuperConstructor), R(5),
                B(CreateEmptyArrayLiteral), U8(0),
106
                B(Star), R(7),
107 108
                B(LdaZero),
                B(Star), R(6),
109
                B(LdaSmi), I8(1),
110 111 112 113 114
                B(StaInArrayLiteral), R(7), R(6), U8(1),
                B(Ldar), R(6),
                B(Inc), U8(3),
  /*  152 S> */ B(Star), R(6),
                B(LdaNamedProperty), R(2), U8(0), U8(4),
115
                B(Star), R(12),
116
                B(CallProperty0), R(12), R(2), U8(6),
117 118
                B(Mov), R(2), R(11),
                B(Mov), R(1), R(4),
119 120
                B(JumpIfJSReceiver), U8(7),
                B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
121
                B(Star), R(10),
122
                B(LdaNamedProperty), R(10), U8(1), U8(8),
123
                B(Star), R(9),
124
                B(CallProperty0), R(9), R(10), U8(10),
125 126
                B(Star), R(8),
                B(JumpIfJSReceiver), U8(7),
127
                B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(8), U8(1),
128
                B(LdaNamedProperty), R(8), U8(2), U8(12),
129
                B(JumpIfToBooleanTrue), U8(21),
130
                B(LdaNamedProperty), R(8), U8(3), U8(14),
131
                B(Star), R(8),
132 133 134 135
                B(StaInArrayLiteral), R(7), R(6), U8(1),
                B(Ldar), R(6),
                B(Inc), U8(3),
                B(Star), R(6),
136
                B(JumpLoop), U8(35), I8(0),
137
                B(LdaSmi), I8(1),
138 139 140 141 142
                B(StaInArrayLiteral), R(7), R(6), U8(1),
                B(Mov), R(5), R(6),
                B(Mov), R(0), R(8),
  /*  140 E> */ B(CallJSRuntime), U8(%reflect_construct), R(6), U8(3),
                B(Star), R(9),
143
                B(Ldar), R(this),
144
                B(ThrowSuperAlreadyCalledIfNotHole),
145
                B(Mov), R(9), R(this),
146
                B(Ldar), R(this),
147
                B(ThrowSuperNotCalledIfHole),
148 149 150
  /*  162 S> */ B(Return),
]
constant pool: [
151 152 153 154
  SYMBOL_TYPE,
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
155 156 157 158
]
handlers: [
]