| OLD | NEW |
| 1 # | 1 # |
| 2 # Autogenerated by generate-bytecode-expectations. | 2 # Autogenerated by generate-bytecode-expectations. |
| 3 # | 3 # |
| 4 | 4 |
| 5 --- | 5 --- |
| 6 pool type: mixed | 6 pool type: mixed |
| 7 execute: yes | 7 execute: yes |
| 8 wrap: no | 8 wrap: no |
| 9 test function name: test | 9 test function name: test |
| 10 | 10 |
| 11 --- | 11 --- |
| 12 snippet: " | 12 snippet: " |
| 13 var test; | 13 var test; |
| 14 (function() { | 14 (function() { |
| 15 class A { | 15 class A { |
| 16 method() { return 2; } | 16 method() { return 2; } |
| 17 } | 17 } |
| 18 class B extends A { | 18 class B extends A { |
| 19 method() { return super.method() + 1; } | 19 method() { return super.method() + 1; } |
| 20 } | 20 } |
| 21 test = new B().method; | 21 test = new B().method; |
| 22 test(); | 22 test(); |
| 23 })(); | 23 })(); |
| 24 " | 24 " |
| 25 frame size: 7 | 25 frame size: 7 |
| 26 parameter count: 1 | 26 parameter count: 1 |
| 27 bytecode array length: 56 | 27 bytecode array length: 56 |
| 28 bytecodes: [ | 28 bytecodes: [ |
| 29 B(Ldar), R(closure), | 29 B(Mov), R(closure), R(0), |
| 30 B(Star), R(0), | |
| 31 /* 99 E> */ B(StackCheck), | 30 /* 99 E> */ B(StackCheck), |
| 32 /* 104 S> */ B(Ldar), R(this), | 31 /* 104 S> */ B(Nop), |
| 33 B(Star), R(3), | 32 /* 111 E> */ B(Ldar), R(closure), |
| 34 /* 111 E> */ B(Ldar), R(0), | 33 B(Mov), R(this), R(3), |
| 35 B(JumpIfNotHole), U8(11), | 34 B(JumpIfNotHole), U8(11), |
| 36 B(LdaConstant), U8(0), | 35 B(LdaConstant), U8(0), |
| 37 B(Star), R(6), | 36 B(Star), R(6), |
| 38 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(6), U8(1), | 37 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(6), U8(1), |
| 39 B(Star), R(6), | 38 B(Star), R(6), |
| 40 /* 111 E> */ B(LdaConstant), U8(1), | 39 /* 111 E> */ B(LdaConstant), U8(1), |
| 41 B(LdrKeyedProperty), R(6), U8(3), R(4), | 40 B(LdaKeyedProperty), R(6), U8(3), |
| 41 B(Star), R(4), |
| 42 B(LdaConstant), U8(2), | 42 B(LdaConstant), U8(2), |
| 43 B(Star), R(5), | 43 B(Star), R(5), |
| 44 B(CallRuntime), U16(Runtime::kLoadFromSuper), R(3), U8(3), | 44 B(CallRuntime), U16(Runtime::kLoadFromSuper), R(3), U8(3), |
| 45 B(Mov), R(3), R(2), | 45 B(Mov), R(3), R(2), |
| 46 B(Star), R(1), | 46 B(Star), R(1), |
| 47 /* 117 E> */ B(Call), R(1), R(2), U8(1), U8(1), | 47 /* 117 E> */ B(Call), R(1), R(2), U8(1), U8(1), |
| 48 B(Star), R(3), | 48 B(Star), R(3), |
| 49 B(LdaSmi), U8(1), | 49 B(LdaSmi), U8(1), |
| 50 B(Add), R(3), | 50 B(Add), R(3), |
| 51 /* 131 S> */ B(Return), | 51 /* 131 S> */ B(Return), |
| (...skipping 16 matching lines...) Expand all Loading... |
| 68 } | 68 } |
| 69 class B extends A { | 69 class B extends A { |
| 70 method() { super.x = 2; return super.x; } | 70 method() { super.x = 2; return super.x; } |
| 71 } | 71 } |
| 72 test = new B().method; | 72 test = new B().method; |
| 73 test(); | 73 test(); |
| 74 })(); | 74 })(); |
| 75 " | 75 " |
| 76 frame size: 6 | 76 frame size: 6 |
| 77 parameter count: 1 | 77 parameter count: 1 |
| 78 bytecode array length: 78 | 78 bytecode array length: 79 |
| 79 bytecodes: [ | 79 bytecodes: [ |
| 80 B(Ldar), R(closure), | 80 B(Mov), R(closure), R(0), |
| 81 B(Star), R(0), | |
| 82 /* 125 E> */ B(StackCheck), | 81 /* 125 E> */ B(StackCheck), |
| 83 /* 130 S> */ B(Ldar), R(this), | 82 /* 130 S> */ B(Nop), |
| 84 B(Star), R(1), | 83 /* 130 E> */ B(Ldar), R(closure), |
| 85 /* 130 E> */ B(Ldar), R(0), | 84 B(Mov), R(this), R(1), |
| 86 B(JumpIfNotHole), U8(11), | 85 B(JumpIfNotHole), U8(11), |
| 87 B(LdaConstant), U8(0), | 86 B(LdaConstant), U8(0), |
| 88 B(Star), R(5), | 87 B(Star), R(5), |
| 89 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(5), U8(1), | 88 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(5), U8(1), |
| 90 B(Star), R(5), | 89 B(Star), R(5), |
| 91 /* 130 E> */ B(LdaConstant), U8(1), | 90 /* 130 E> */ B(LdaConstant), U8(1), |
| 92 B(LdrKeyedProperty), R(5), U8(1), R(2), | 91 B(LdaKeyedProperty), R(5), U8(1), |
| 92 B(Star), R(2), |
| 93 B(LdaConstant), U8(2), | 93 B(LdaConstant), U8(2), |
| 94 B(Star), R(3), | 94 B(Star), R(3), |
| 95 B(LdaSmi), U8(2), | 95 B(LdaSmi), U8(2), |
| 96 /* 138 E> */ B(Star), R(4), | 96 /* 138 E> */ B(Star), R(4), |
| 97 B(CallRuntime), U16(Runtime::kStoreToSuper_Strict), R(1), U8(4), | 97 B(CallRuntime), U16(Runtime::kStoreToSuper_Strict), R(1), U8(4), |
| 98 /* 143 S> */ B(Ldar), R(this), | 98 /* 143 S> */ B(Nop), |
| 99 B(Star), R(1), | |
| 100 /* 150 E> */ B(Ldar), R(0), | 99 /* 150 E> */ B(Ldar), R(0), |
| 100 B(Mov), R(this), R(1), |
| 101 B(JumpIfNotHole), U8(11), | 101 B(JumpIfNotHole), U8(11), |
| 102 B(LdaConstant), U8(0), | 102 B(LdaConstant), U8(0), |
| 103 B(Star), R(4), | 103 B(Star), R(4), |
| 104 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1), | 104 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1), |
| 105 B(Star), R(4), | 105 B(Star), R(4), |
| 106 /* 150 E> */ B(LdaConstant), U8(1), | 106 /* 150 E> */ B(LdaConstant), U8(1), |
| 107 B(LdrKeyedProperty), R(4), U8(3), R(2), | 107 B(LdaKeyedProperty), R(4), U8(3), |
| 108 B(Star), R(2), |
| 108 B(LdaConstant), U8(2), | 109 B(LdaConstant), U8(2), |
| 109 B(Star), R(3), | 110 B(Star), R(3), |
| 110 B(CallRuntime), U16(Runtime::kLoadFromSuper), R(1), U8(3), | 111 B(CallRuntime), U16(Runtime::kLoadFromSuper), R(1), U8(3), |
| 111 /* 159 S> */ B(Return), | 112 /* 159 S> */ B(Return), |
| 112 ] | 113 ] |
| 113 constant pool: [ | 114 constant pool: [ |
| 114 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 115 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 115 InstanceType::SYMBOL_TYPE, | 116 InstanceType::SYMBOL_TYPE, |
| 116 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 117 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 117 ] | 118 ] |
| 118 handlers: [ | 119 handlers: [ |
| 119 ] | 120 ] |
| 120 | 121 |
| 121 --- | 122 --- |
| 122 snippet: " | 123 snippet: " |
| 123 var test; | 124 var test; |
| 124 (function() { | 125 (function() { |
| 125 class A { | 126 class A { |
| 126 constructor(x) { this.x_ = x; } | 127 constructor(x) { this.x_ = x; } |
| 127 } | 128 } |
| 128 class B extends A { | 129 class B extends A { |
| 129 constructor() { super(1); this.y_ = 2; } | 130 constructor() { super(1); this.y_ = 2; } |
| 130 } | 131 } |
| 131 test = new B().constructor; | 132 test = new B().constructor; |
| 132 })(); | 133 })(); |
| 133 " | 134 " |
| 134 frame size: 5 | 135 frame size: 5 |
| 135 parameter count: 1 | 136 parameter count: 1 |
| 136 bytecode array length: 106 | 137 bytecode array length: 105 |
| 137 bytecodes: [ | 138 bytecodes: [ |
| 138 B(Ldar), R(closure), | 139 B(Mov), R(closure), R(1), |
| 139 B(Star), R(1), | 140 B(Mov), R(new_target), R(0), |
| 140 B(Ldar), R(new_target), | |
| 141 B(Star), R(0), | |
| 142 /* 113 E> */ B(StackCheck), | 141 /* 113 E> */ B(StackCheck), |
| 143 /* 118 S> */ B(Ldar), R(1), | 142 /* 118 S> */ B(Ldar), R(closure), |
| 144 B(JumpIfNotHole), U8(11), | 143 B(JumpIfNotHole), U8(11), |
| 145 B(LdaConstant), U8(0), | 144 B(LdaConstant), U8(0), |
| 146 B(Star), R(3), | 145 B(Star), R(3), |
| 147 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), | 146 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), |
| 148 B(Star), R(2), | 147 B(Star), R(2), |
| 149 B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(2), U8(1)
, | 148 B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(2), U8(1)
, |
| 150 B(Star), R(2), | 149 B(Star), R(2), |
| 151 B(LdaSmi), U8(1), | 150 B(LdaSmi), U8(1), |
| 152 B(Star), R(3), | 151 /* 118 E> */ B(Star), R(3), |
| 153 /* 118 E> */ B(Ldar), R(0), | 152 B(Ldar), R(0), |
| 154 B(JumpIfNotHole), U8(11), | 153 B(JumpIfNotHole), U8(11), |
| 155 B(LdaConstant), U8(1), | 154 B(LdaConstant), U8(1), |
| 156 B(Star), R(4), | 155 B(Star), R(4), |
| 157 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1), | 156 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1), |
| 158 /* 118 E> */ B(New), R(2), R(3), U8(1), | 157 /* 118 E> */ B(New), R(2), R(3), U8(1), |
| 159 /* 118 E> */ B(Star), R(2), | 158 /* 118 E> */ B(Star), R(2), |
| 160 B(Ldar), R(this), | 159 B(Ldar), R(this), |
| 161 B(JumpIfNotHole), U8(4), | 160 B(JumpIfNotHole), U8(4), |
| 162 B(Jump), U8(11), | 161 B(Jump), U8(11), |
| 163 B(LdaConstant), U8(2), | 162 B(LdaConstant), U8(2), |
| 164 B(Star), R(3), | 163 B(Star), R(3), |
| 165 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), | 164 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), |
| 166 B(Ldar), R(2), | 165 B(Mov), R(2), R(this), |
| 167 B(Star), R(this), | 166 /* 128 S> */ B(Ldar), R(this), |
| 168 /* 128 S> */ B(JumpIfNotHole), U8(11), | 167 B(JumpIfNotHole), U8(11), |
| 169 B(LdaConstant), U8(2), | 168 B(LdaConstant), U8(2), |
| 170 B(Star), R(2), | 169 B(Star), R(2), |
| 171 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1), | 170 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1), |
| 172 B(Star), R(2), | 171 B(Star), R(2), |
| 173 B(LdaSmi), U8(2), | 172 B(LdaSmi), U8(2), |
| 174 /* 136 E> */ B(StaNamedPropertyStrict), R(2), U8(3), U8(4), | 173 /* 136 E> */ B(StaNamedPropertyStrict), R(2), U8(3), U8(4), |
| 175 B(Ldar), R(this), | 174 B(Ldar), R(this), |
| 176 B(JumpIfNotHole), U8(11), | 175 B(JumpIfNotHole), U8(11), |
| 177 B(LdaConstant), U8(2), | 176 B(LdaConstant), U8(2), |
| 178 B(Star), R(2), | 177 B(Star), R(2), |
| (...skipping 17 matching lines...) Expand all Loading... |
| 196 constructor() { this.x_ = 1; } | 195 constructor() { this.x_ = 1; } |
| 197 } | 196 } |
| 198 class B extends A { | 197 class B extends A { |
| 199 constructor() { super(); this.y_ = 2; } | 198 constructor() { super(); this.y_ = 2; } |
| 200 } | 199 } |
| 201 test = new B().constructor; | 200 test = new B().constructor; |
| 202 })(); | 201 })(); |
| 203 " | 202 " |
| 204 frame size: 4 | 203 frame size: 4 |
| 205 parameter count: 1 | 204 parameter count: 1 |
| 206 bytecode array length: 102 | 205 bytecode array length: 101 |
| 207 bytecodes: [ | 206 bytecodes: [ |
| 208 B(Ldar), R(closure), | 207 B(Mov), R(closure), R(1), |
| 209 B(Star), R(1), | 208 B(Mov), R(new_target), R(0), |
| 210 B(Ldar), R(new_target), | |
| 211 B(Star), R(0), | |
| 212 /* 112 E> */ B(StackCheck), | 209 /* 112 E> */ B(StackCheck), |
| 213 /* 117 S> */ B(Ldar), R(1), | 210 /* 117 S> */ B(Ldar), R(closure), |
| 214 B(JumpIfNotHole), U8(11), | 211 B(JumpIfNotHole), U8(11), |
| 215 B(LdaConstant), U8(0), | 212 B(LdaConstant), U8(0), |
| 216 B(Star), R(3), | 213 B(Star), R(3), |
| 217 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), | 214 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), |
| 218 B(Star), R(2), | 215 B(Star), R(2), |
| 219 B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(2), U8(1)
, | 216 B(CallRuntime), U16(Runtime::k_GetSuperConstructor), R(2), U8(1)
, |
| 220 B(Star), R(2), | 217 /* 117 E> */ B(Star), R(2), |
| 221 /* 117 E> */ B(Ldar), R(0), | 218 B(Ldar), R(0), |
| 222 B(JumpIfNotHole), U8(11), | 219 B(JumpIfNotHole), U8(11), |
| 223 B(LdaConstant), U8(1), | 220 B(LdaConstant), U8(1), |
| 224 B(Star), R(3), | 221 B(Star), R(3), |
| 225 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), | 222 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), |
| 226 /* 117 E> */ B(New), R(2), R(0), U8(0), | 223 /* 117 E> */ B(New), R(2), R(0), U8(0), |
| 227 /* 117 E> */ B(Star), R(2), | 224 /* 117 E> */ B(Star), R(2), |
| 228 B(Ldar), R(this), | 225 B(Ldar), R(this), |
| 229 B(JumpIfNotHole), U8(4), | 226 B(JumpIfNotHole), U8(4), |
| 230 B(Jump), U8(11), | 227 B(Jump), U8(11), |
| 231 B(LdaConstant), U8(2), | 228 B(LdaConstant), U8(2), |
| 232 B(Star), R(3), | 229 B(Star), R(3), |
| 233 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), | 230 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), |
| 234 B(Ldar), R(2), | 231 B(Mov), R(2), R(this), |
| 235 B(Star), R(this), | 232 /* 126 S> */ B(Ldar), R(this), |
| 236 /* 126 S> */ B(JumpIfNotHole), U8(11), | 233 B(JumpIfNotHole), U8(11), |
| 237 B(LdaConstant), U8(2), | 234 B(LdaConstant), U8(2), |
| 238 B(Star), R(2), | 235 B(Star), R(2), |
| 239 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1), | 236 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1), |
| 240 B(Star), R(2), | 237 B(Star), R(2), |
| 241 B(LdaSmi), U8(2), | 238 B(LdaSmi), U8(2), |
| 242 /* 134 E> */ B(StaNamedPropertyStrict), R(2), U8(3), U8(4), | 239 /* 134 E> */ B(StaNamedPropertyStrict), R(2), U8(3), U8(4), |
| 243 B(Ldar), R(this), | 240 B(Ldar), R(this), |
| 244 B(JumpIfNotHole), U8(11), | 241 B(JumpIfNotHole), U8(11), |
| 245 B(LdaConstant), U8(2), | 242 B(LdaConstant), U8(2), |
| 246 B(Star), R(2), | 243 B(Star), R(2), |
| 247 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1), | 244 B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1), |
| 248 /* 139 S> */ B(Return), | 245 /* 139 S> */ B(Return), |
| 249 ] | 246 ] |
| 250 constant pool: [ | 247 constant pool: [ |
| 251 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 248 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 252 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 249 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 253 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 250 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 254 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, | 251 InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
| 255 ] | 252 ] |
| 256 handlers: [ | 253 handlers: [ |
| 257 ] | 254 ] |
| 258 | 255 |
| OLD | NEW |