| 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: f | 9 test function name: f |
| 10 | 10 |
| 11 --- | 11 --- |
| 12 snippet: " | 12 snippet: " |
| 13 function Outer() { | 13 function Outer() { |
| 14 var outerVar = 1; | 14 var outerVar = 1; |
| 15 function Inner(innerArg) { | 15 function Inner(innerArg) { |
| 16 this.innerFunc = function() { return outerVar * innerArg; } | 16 this.innerFunc = function() { return outerVar * innerArg; } |
| 17 } | 17 } |
| 18 this.getInnerFunc = function() { return new Inner(1).innerFunc; } | 18 this.getInnerFunc = function() { return new Inner(1).innerFunc; } |
| 19 } | 19 } |
| 20 var f = new Outer().getInnerFunc(); | 20 var f = new Outer().getInnerFunc(); |
| 21 f(); | 21 f(); |
| 22 " | 22 " |
| 23 frame size: 2 | 23 frame size: 2 |
| 24 parameter count: 1 | 24 parameter count: 1 |
| 25 bytecode array length: 19 | 25 bytecode array length: 15 |
| 26 bytecodes: [ | 26 bytecodes: [ |
| 27 /* 97 E> */ B(StackCheck), | 27 /* 97 E> */ B(StackCheck), |
| 28 /* 102 S> */ B(Ldar), R(context), | 28 /* 102 S> */ B(LdrContextSlot), R(context), U8(1), R(0), |
| 29 B(Star), R(0), | |
| 30 B(LdrContextSlot), R(0), U8(1), R(0), | |
| 31 B(LdrContextSlot), R(0), U8(4), R(1), | 29 B(LdrContextSlot), R(0), U8(4), R(1), |
| 32 /* 120 E> */ B(LdaContextSlot), R(context), U8(4), | 30 /* 120 E> */ B(LdaContextSlot), R(context), U8(4), |
| 33 B(Mul), R(1), | 31 B(Mul), R(1), |
| 34 /* 130 S> */ B(Return), | 32 /* 130 S> */ B(Return), |
| 35 ] | 33 ] |
| 36 constant pool: [ | 34 constant pool: [ |
| 37 ] | 35 ] |
| 38 handlers: [ | 36 handlers: [ |
| 39 ] | 37 ] |
| 40 | 38 |
| 41 --- | 39 --- |
| 42 snippet: " | 40 snippet: " |
| 43 function Outer() { | 41 function Outer() { |
| 44 var outerVar = 1; | 42 var outerVar = 1; |
| 45 function Inner(innerArg) { | 43 function Inner(innerArg) { |
| 46 this.innerFunc = function() { outerVar = innerArg; } | 44 this.innerFunc = function() { outerVar = innerArg; } |
| 47 } | 45 } |
| 48 this.getInnerFunc = function() { return new Inner(1).innerFunc; } | 46 this.getInnerFunc = function() { return new Inner(1).innerFunc; } |
| 49 } | 47 } |
| 50 var f = new Outer().getInnerFunc(); | 48 var f = new Outer().getInnerFunc(); |
| 51 f(); | 49 f(); |
| 52 " | 50 " |
| 53 frame size: 2 | 51 frame size: 2 |
| 54 parameter count: 1 | 52 parameter count: 1 |
| 55 bytecode array length: 20 | 53 bytecode array length: 17 |
| 56 bytecodes: [ | 54 bytecodes: [ |
| 57 /* 97 E> */ B(StackCheck), | 55 /* 97 E> */ B(StackCheck), |
| 58 /* 102 S> */ B(LdrContextSlot), R(context), U8(4), R(0), | 56 /* 102 S> */ B(LdaContextSlot), R(context), U8(4), |
| 59 B(Ldar), R(context), | 57 /* 111 E> */ B(Star), R(0), |
| 60 B(Star), R(1), | 58 B(LdrContextSlot), R(context), U8(1), R(1), |
| 61 B(LdrContextSlot), R(1), U8(1), R(1), | |
| 62 B(Ldar), R(0), | 59 B(Ldar), R(0), |
| 63 B(StaContextSlot), R(1), U8(4), | 60 B(StaContextSlot), R(1), U8(4), |
| 64 B(LdaUndefined), | 61 B(LdaUndefined), |
| 65 /* 123 S> */ B(Return), | 62 /* 123 S> */ B(Return), |
| 66 ] | 63 ] |
| 67 constant pool: [ | 64 constant pool: [ |
| 68 ] | 65 ] |
| 69 handlers: [ | 66 handlers: [ |
| 70 ] | 67 ] |
| 71 | 68 |
| OLD | NEW |