| OLD | NEW |
| 1 # | 1 # |
| 2 # Autogenerated by generate-bytecode-expectations. | 2 # Autogenerated by generate-bytecode-expectations. |
| 3 # | 3 # |
| 4 | 4 |
| 5 --- | 5 --- |
| 6 wrap: no | 6 wrap: no |
| 7 test function name: test | 7 test function name: test |
| 8 | 8 |
| 9 --- | 9 --- |
| 10 snippet: " | 10 snippet: " |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 (function() { | 44 (function() { |
| 45 class A { | 45 class A { |
| 46 constructor(...args) { this.baseArgs = args; } | 46 constructor(...args) { this.baseArgs = args; } |
| 47 } | 47 } |
| 48 class B extends A { | 48 class B extends A { |
| 49 constructor(...args) { super(1, ...args); } | 49 constructor(...args) { super(1, ...args); } |
| 50 } | 50 } |
| 51 test = new B(1, 2, 3).constructor; | 51 test = new B(1, 2, 3).constructor; |
| 52 })(); | 52 })(); |
| 53 " | 53 " |
| 54 frame size: 6 | 54 frame size: 7 |
| 55 parameter count: 1 | 55 parameter count: 1 |
| 56 bytecode array length: 59 | 56 bytecode array length: 63 |
| 57 bytecodes: [ | 57 bytecodes: [ |
| 58 B(CreateRestParameter), | 58 B(CreateRestParameter), |
| 59 B(Star), R(2), | 59 B(Star), R(2), |
| 60 B(Mov), R(closure), R(1), | 60 B(Mov), R(closure), R(1), |
| 61 B(Mov), R(new_target), R(0), | 61 B(Mov), R(new_target), R(0), |
| 62 B(Ldar), R(new_target), | 62 B(Ldar), R(new_target), |
| 63 /* 128 E> */ B(StackCheck), | 63 /* 128 E> */ B(StackCheck), |
| 64 /* 140 S> */ B(Ldar), R(1), | 64 /* 140 S> */ B(LdaConstant), U8(0), |
| 65 B(GetSuperConstructor), R(3), | 65 B(Star), R(3), |
| 66 B(Ldar), R(1), |
| 67 /* 140 E> */ B(GetSuperConstructor), R(4), |
| 66 B(LdaSmi), I8(1), | 68 B(LdaSmi), I8(1), |
| 69 B(Star), R(5), |
| 70 B(Ldar), R(0), |
| 71 B(Mov), R(2), R(6), |
| 72 /* 140 E> */ B(ConstructWithSpread), R(4), R(5), U8(2), |
| 67 B(Star), R(4), | 73 B(Star), R(4), |
| 68 B(Ldar), R(0), | |
| 69 B(Mov), R(2), R(5), | |
| 70 /* 140 E> */ B(ConstructWithSpread), R(3), R(4), U8(2), | |
| 71 B(Star), R(3), | |
| 72 B(Ldar), R(this), | 74 B(Ldar), R(this), |
| 73 B(JumpIfNotHole), U8(4), | 75 B(JumpIfNotHole), U8(4), |
| 74 B(Jump), U8(7), | 76 B(Jump), U8(7), |
| 75 /* 140 E> */ B(CallRuntime), U16(Runtime::kThrowSuperAlreadyCalledError), R(0
), U8(0), | 77 /* 140 E> */ B(CallRuntime), U16(Runtime::kThrowSuperAlreadyCalledError), R(0
), U8(0), |
| 76 B(Mov), R(3), R(this), | 78 B(Mov), R(4), R(this), |
| 77 B(Ldar), R(this), | 79 B(Ldar), R(this), |
| 78 B(JumpIfNotHole), U8(11), | 80 B(JumpIfNotHole), U8(11), |
| 79 B(LdaConstant), U8(0), | 81 B(LdaConstant), U8(0), |
| 80 B(Star), R(3), | 82 B(Star), R(3), |
| 81 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), | 83 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), |
| 82 /* 159 S> */ B(Return), | 84 /* 159 S> */ B(Return), |
| 83 ] | 85 ] |
| 84 constant pool: [ | 86 constant pool: [ |
| 85 ONE_BYTE_INTERNALIZED_STRING_TYPE ["this"], | 87 ONE_BYTE_INTERNALIZED_STRING_TYPE ["this"], |
| 86 ] | 88 ] |
| 87 handlers: [ | 89 handlers: [ |
| 88 ] | 90 ] |
| 89 | 91 |
| 90 --- | 92 --- |
| 91 snippet: " | 93 snippet: " |
| 92 var test; | 94 var test; |
| 93 (function() { | 95 (function() { |
| 94 class A { | 96 class A { |
| 95 constructor(...args) { this.baseArgs = args; } | 97 constructor(...args) { this.baseArgs = args; } |
| 96 } | 98 } |
| 97 class B extends A { | 99 class B extends A { |
| 98 constructor(...args) { super(1, ...args, 1); } | 100 constructor(...args) { super(1, ...args, 1); } |
| 99 } | 101 } |
| 100 test = new B(1, 2, 3).constructor; | 102 test = new B(1, 2, 3).constructor; |
| 101 })(); | 103 })(); |
| 102 " | 104 " |
| 103 frame size: 9 | 105 frame size: 10 |
| 104 parameter count: 1 | 106 parameter count: 1 |
| 105 bytecode array length: 92 | 107 bytecode array length: 96 |
| 106 bytecodes: [ | 108 bytecodes: [ |
| 107 B(CreateRestParameter), | 109 B(CreateRestParameter), |
| 108 B(Star), R(2), | 110 B(Star), R(2), |
| 109 B(Mov), R(closure), R(1), | 111 B(Mov), R(closure), R(1), |
| 110 B(Mov), R(new_target), R(0), | 112 B(Mov), R(new_target), R(0), |
| 111 B(Ldar), R(new_target), | 113 B(Ldar), R(new_target), |
| 112 /* 128 E> */ B(StackCheck), | 114 /* 128 E> */ B(StackCheck), |
| 113 /* 140 S> */ B(LdaUndefined), | 115 /* 140 S> */ B(LdaConstant), U8(0), |
| 114 B(Star), R(3), | 116 B(Star), R(3), |
| 117 B(LdaUndefined), |
| 118 B(Star), R(4), |
| 115 /* 140 E> */ B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(1), U8(1)
, | 119 /* 140 E> */ B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(1), U8(1)
, |
| 120 B(Star), R(5), |
| 121 B(LdaUndefined), |
| 122 B(Star), R(6), |
| 123 B(CreateArrayLiteral), U8(1), U8(2), U8(9), |
| 124 B(Star), R(7), |
| 125 B(LdaUndefined), |
| 126 B(Star), R(8), |
| 127 B(Mov), R(2), R(9), |
| 128 /* 152 E> */ B(CallJSRuntime), U8(%spread_iterable), R(8), U8(2), |
| 129 B(Star), R(8), |
| 130 B(CreateArrayLiteral), U8(2), U8(3), U8(9), |
| 131 B(Star), R(9), |
| 132 B(CallJSRuntime), U8(%spread_arguments), R(6), U8(4), |
| 133 B(Star), R(6), |
| 134 B(Mov), R(0), R(7), |
| 135 /* 140 E> */ B(CallJSRuntime), U8(%reflect_construct), R(4), U8(4), |
| 116 B(Star), R(4), | 136 B(Star), R(4), |
| 117 B(LdaUndefined), | |
| 118 B(Star), R(5), | |
| 119 B(CreateArrayLiteral), U8(0), U8(2), U8(9), | |
| 120 B(Star), R(6), | |
| 121 B(LdaUndefined), | |
| 122 B(Star), R(7), | |
| 123 B(Mov), R(2), R(8), | |
| 124 /* 152 E> */ B(CallJSRuntime), U8(%spread_iterable), R(7), U8(2), | |
| 125 B(Star), R(7), | |
| 126 B(CreateArrayLiteral), U8(1), U8(3), U8(9), | |
| 127 B(Star), R(8), | |
| 128 B(CallJSRuntime), U8(%spread_arguments), R(5), U8(4), | |
| 129 B(Star), R(5), | |
| 130 B(Mov), R(0), R(6), | |
| 131 /* 140 E> */ B(CallJSRuntime), U8(%reflect_construct), R(3), U8(4), | |
| 132 B(Star), R(3), | |
| 133 B(Ldar), R(this), | 137 B(Ldar), R(this), |
| 134 B(JumpIfNotHole), U8(4), | 138 B(JumpIfNotHole), U8(4), |
| 135 B(Jump), U8(7), | 139 B(Jump), U8(7), |
| 136 /* 140 E> */ B(CallRuntime), U16(Runtime::kThrowSuperAlreadyCalledError), R(0
), U8(0), | 140 /* 140 E> */ B(CallRuntime), U16(Runtime::kThrowSuperAlreadyCalledError), R(0
), U8(0), |
| 137 B(Mov), R(3), R(this), | 141 B(Mov), R(4), R(this), |
| 138 B(Ldar), R(this), | 142 B(Ldar), R(this), |
| 139 B(JumpIfNotHole), U8(11), | 143 B(JumpIfNotHole), U8(11), |
| 140 B(LdaConstant), U8(2), | 144 B(LdaConstant), U8(0), |
| 141 B(Star), R(3), | 145 B(Star), R(3), |
| 142 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), | 146 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), |
| 143 /* 162 S> */ B(Return), | 147 /* 162 S> */ B(Return), |
| 144 ] | 148 ] |
| 145 constant pool: [ | 149 constant pool: [ |
| 150 ONE_BYTE_INTERNALIZED_STRING_TYPE ["this"], |
| 146 CONSTANT_ELEMENTS_PAIR_TYPE, | 151 CONSTANT_ELEMENTS_PAIR_TYPE, |
| 147 CONSTANT_ELEMENTS_PAIR_TYPE, | 152 CONSTANT_ELEMENTS_PAIR_TYPE, |
| 148 ONE_BYTE_INTERNALIZED_STRING_TYPE ["this"], | |
| 149 ] | 153 ] |
| 150 handlers: [ | 154 handlers: [ |
| 151 ] | 155 ] |
| 152 | 156 |
| OLD | NEW |