blob: de3bbf03342e609090f7765fc8a3ab73ea69c469 [file] [log] [blame]
Ben Murdochda12d292016-06-02 14:46:10 +01001#
2# Autogenerated by generate-bytecode-expectations.
3#
4
5---
6pool type: string
7execute: yes
8wrap: yes
9
10---
11snippet: "
12 var a = 1;
13 try { a = 2; } finally { a = 3; }
14"
15frame size: 4
16parameter count: 1
17bytecode array length: 51
18bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +010019 /* 30 E> */ B(StackCheck),
20 /* 42 S> */ B(LdaSmi), U8(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +010021 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +010022 B(Mov), R(context), R(3),
23 /* 51 S> */ B(LdaSmi), U8(2),
Ben Murdoch61f157c2016-09-16 13:49:30 +010024 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +010025 B(LdaSmi), U8(-1),
26 B(Star), R(1),
27 B(Jump), U8(7),
28 B(Star), R(2),
29 B(LdaZero),
30 B(Star), R(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +010031 /* 53 E> */ B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
Ben Murdochc5610432016-08-08 18:44:38 +010032 B(Star), R(3),
33 /* 70 S> */ B(LdaSmi), U8(3),
Ben Murdoch61f157c2016-09-16 13:49:30 +010034 B(Star), R(0),
35 /* 72 E> */ B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(3), U8(1),
Ben Murdochc5610432016-08-08 18:44:38 +010036 B(LdaZero),
37 B(TestEqualStrict), R(1),
38 B(JumpIfTrue), U8(4),
39 B(Jump), U8(5),
40 B(Ldar), R(2),
41 B(ReThrow),
42 B(LdaUndefined),
43 /* 79 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +010044]
45constant pool: [
46]
47handlers: [
48 [8, 12, 18],
49]
50
51---
52snippet: "
53 var a = 1;
54 try { a = 2; } catch(e) { a = 20 } finally { a = 3; }
55"
56frame size: 9
57parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +010058bytecode array length: 87
Ben Murdochda12d292016-06-02 14:46:10 +010059bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +010060 /* 30 E> */ B(StackCheck),
61 /* 42 S> */ B(LdaSmi), U8(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +010062 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +010063 B(Mov), R(context), R(4),
64 B(Mov), R(context), R(5),
65 /* 51 S> */ B(LdaSmi), U8(2),
Ben Murdoch61f157c2016-09-16 13:49:30 +010066 B(Star), R(0),
67 B(Jump), U8(33),
Ben Murdochc5610432016-08-08 18:44:38 +010068 B(Star), R(7),
69 B(LdaConstant), U8(0),
70 B(Star), R(6),
Ben Murdoch61f157c2016-09-16 13:49:30 +010071 B(Mov), R(closure), R(8),
72 /* 53 E> */ B(CallRuntime), U16(Runtime::kPushCatchContext), R(6), U8(3),
Ben Murdochc5610432016-08-08 18:44:38 +010073 B(Star), R(5),
74 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
75 B(Ldar), R(5),
76 B(PushContext), R(1),
77 /* 71 S> */ B(LdaSmi), U8(20),
Ben Murdoch61f157c2016-09-16 13:49:30 +010078 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +010079 B(PopContext), R(1),
80 B(LdaSmi), U8(-1),
81 B(Star), R(2),
82 B(Jump), U8(7),
83 B(Star), R(3),
84 B(LdaZero),
85 B(Star), R(2),
Ben Murdoch61f157c2016-09-16 13:49:30 +010086 /* 73 E> */ B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
Ben Murdochc5610432016-08-08 18:44:38 +010087 B(Star), R(4),
88 /* 90 S> */ B(LdaSmi), U8(3),
Ben Murdoch61f157c2016-09-16 13:49:30 +010089 B(Star), R(0),
90 /* 92 E> */ B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(4), U8(1),
Ben Murdochc5610432016-08-08 18:44:38 +010091 B(LdaZero),
92 B(TestEqualStrict), R(2),
93 B(JumpIfTrue), U8(4),
94 B(Jump), U8(5),
95 B(Ldar), R(3),
96 B(ReThrow),
97 B(LdaUndefined),
98 /* 99 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +010099]
100constant pool: [
101 "e",
102]
103handlers: [
Ben Murdoch61f157c2016-09-16 13:49:30 +0100104 [8, 48, 54],
Ben Murdochda12d292016-06-02 14:46:10 +0100105 [11, 15, 17],
106]
107
108---
109snippet: "
110 var a; try {
111 try { a = 1 } catch(e) { a = 2 }
112 } catch(e) { a = 20 } finally { a = 3; }
113"
114frame size: 10
115parameter count: 1
Ben Murdoch61f157c2016-09-16 13:49:30 +0100116bytecode array length: 119
Ben Murdochda12d292016-06-02 14:46:10 +0100117bytecodes: [
Ben Murdochc5610432016-08-08 18:44:38 +0100118 /* 30 E> */ B(StackCheck),
119 B(Mov), R(context), R(4),
120 B(Mov), R(context), R(5),
121 B(Mov), R(context), R(6),
122 /* 55 S> */ B(LdaSmi), U8(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100123 B(Star), R(0),
124 B(Jump), U8(33),
Ben Murdochc5610432016-08-08 18:44:38 +0100125 B(Star), R(8),
126 B(LdaConstant), U8(0),
127 B(Star), R(7),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100128 B(Mov), R(closure), R(9),
129 /* 57 E> */ B(CallRuntime), U16(Runtime::kPushCatchContext), R(7), U8(3),
Ben Murdochc5610432016-08-08 18:44:38 +0100130 B(Star), R(6),
131 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
132 B(Ldar), R(6),
133 B(PushContext), R(1),
134 /* 74 S> */ B(LdaSmi), U8(2),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100135 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100136 B(PopContext), R(1),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100137 B(Jump), U8(33),
Ben Murdochc5610432016-08-08 18:44:38 +0100138 B(Star), R(7),
139 B(LdaConstant), U8(0),
140 B(Star), R(6),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100141 B(Mov), R(closure), R(8),
142 /* 76 E> */ B(CallRuntime), U16(Runtime::kPushCatchContext), R(6), U8(3),
Ben Murdochc5610432016-08-08 18:44:38 +0100143 B(Star), R(5),
144 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
145 B(Ldar), R(5),
146 B(PushContext), R(1),
147 /* 95 S> */ B(LdaSmi), U8(20),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100148 B(Star), R(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100149 B(PopContext), R(1),
150 B(LdaSmi), U8(-1),
151 B(Star), R(2),
152 B(Jump), U8(7),
153 B(Star), R(3),
154 B(LdaZero),
155 B(Star), R(2),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100156 /* 97 E> */ B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
Ben Murdochc5610432016-08-08 18:44:38 +0100157 B(Star), R(4),
158 /* 114 S> */ B(LdaSmi), U8(3),
Ben Murdoch61f157c2016-09-16 13:49:30 +0100159 B(Star), R(0),
160 /* 116 E> */ B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(4), U8(1),
Ben Murdochc5610432016-08-08 18:44:38 +0100161 B(LdaZero),
162 B(TestEqualStrict), R(2),
163 B(JumpIfTrue), U8(4),
164 B(Jump), U8(5),
165 B(Ldar), R(3),
166 B(ReThrow),
167 B(LdaUndefined),
168 /* 123 S> */ B(Return),
Ben Murdochda12d292016-06-02 14:46:10 +0100169]
170constant pool: [
171 "e",
172]
173handlers: [
Ben Murdoch61f157c2016-09-16 13:49:30 +0100174 [4, 80, 86],
175 [7, 47, 49],
Ben Murdochda12d292016-06-02 14:46:10 +0100176 [10, 14, 16],
177]
178