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 |