Created
May 28, 2015 19:13
-
-
Save headius/c2bff81379844624a7c2 to your computer and use it in GitHub Desktop.
IR + passes for Sequel's _transaction method
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2015-05-28T14:11:20.726-05:00: IRScope: nested_ensures.rb:0 _transaction | |
0 %self = recv_self() | |
1 %v_0 = load_implicit_closure() | |
2 %current_scope = copy(scope<0>) | |
3 %current_module = copy(module<0>) | |
4 check_arity(;req: 1, opt: 1, *r: false, kw: false) | |
5 conn(0:0) = recv_pre_reqd_arg() | |
6 opts(0:1) = recv_opt_arg(;index:0, req: 1, pre: 1) | |
7 bne(LBL_0:11, opts(0:1), %undefined) | |
8 %v_3 = search_const(%current_scope ;name: OPTS, no_priv: false) | |
9 opts(0:1) = copy(%v_3) | |
10 label(LBL_0:11) | |
11 line_num(;n: 1) | |
12 %v_4 = call_1o(opts(0:1), :'rollback' ;n:[], t:NO, cl:false) | |
13 rollback(0:2) = copy(%v_4) | |
14 line_num(;n: 2) | |
15 %v_5 = get_global_var($!) | |
16 label(LBL_1:19) | |
17 exc_region_start(LBL_4:405) | |
18 label(LBL_1:19) | |
19 exc_region_start(LBL_29:239) | |
20 line_num(;n: 4) | |
21 %v_31 = call(%self, conn(0:0), opts(0:1) ;n:add_transaction, t:FU, cl:false) | |
22 line_num(;n: 5) | |
23 %v_32 = call(%self, conn(0:0), opts(0:1) ;n:begin_transaction, t:FU, cl:false) | |
24 line_num(;n: 6) | |
25 %v_33 = call_1o(rollback(0:2), :'always' ;n:==, t:NO, cl:false) | |
26 b_false(LBL_30:118, %v_33) | |
27 line_num(;n: 7) | |
28 %v_34 = get_global_var($!) | |
29 label(LBL_32:32) | |
30 exc_region_start(LBL_35:95) | |
31 label(LBL_32:32) | |
32 exc_region_start(LBL_40:60) | |
33 line_num(;n: 9) | |
34 %v_40 = yield(%v_0, conn(0:0) ;unwrap: false) | |
35 ret(0:3) = copy(%v_40) | |
36 exc_region_end() | |
37 %v_39 = copy(%v_40) | |
38 label(LBL_41:39) | |
39 exc_region_start(LBL_29:239) | |
40 put_global_var($!, %v_34) | |
41 line_num(;n: 15) | |
42 b_false(LBL_42:46, e1(0:4)) | |
43 %v_35 = copy(nil) | |
44 jump(LBL_45:57) | |
45 label(LBL_42:46) | |
46 %v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
47 bne(LBL_43:50, %v_36, %undefined) | |
48 %v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
49 label(LBL_43:50) | |
50 %v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
51 bne(LBL_44:54, %v_37, %undefined) | |
52 %v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
53 label(LBL_44:54) | |
54 %v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
55 %v_35 = copy(%v_38) | |
56 label(LBL_45:57) | |
57 exc_region_end() | |
58 jump(LBL_34:116) | |
59 label(LBL_40:60) | |
60 %v_41 = recv_ruby_exc() | |
61 %v_42 = search_const(%current_scope ;name: Exception, no_priv: false) | |
62 %v_43 = rescue_eqq(Array:[%v_42], %v_41) | |
63 b_true(LBL_47:67, %v_43) | |
64 label(LBL_46:65) | |
65 throw(%v_41) | |
66 label(LBL_47:67) | |
67 %v_44 = get_global_var($!) | |
68 e1(0:4) = copy(%v_44) | |
69 line_num(;n: 12) | |
70 %v_45 = call_1o(%self, e1(0:4) ;n:raise, t:FU, cl:false) | |
71 %v_39 = copy(%v_45) | |
72 label(LBL_48:73) | |
73 exc_region_start(LBL_29:239) | |
74 put_global_var($!, %v_34) | |
75 line_num(;n: 15) | |
76 b_false(LBL_49:80, e1(0:4)) | |
77 %v_35 = copy(nil) | |
78 jump(LBL_52:91) | |
79 label(LBL_49:80) | |
80 %v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
81 bne(LBL_50:84, %v_36, %undefined) | |
82 %v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
83 label(LBL_50:84) | |
84 %v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
85 bne(LBL_51:88, %v_37, %undefined) | |
86 %v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
87 label(LBL_51:88) | |
88 %v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
89 %v_35 = copy(%v_38) | |
90 label(LBL_52:91) | |
91 exc_region_end() | |
92 jump(LBL_34:116) | |
93 exc_region_end() | |
94 label(LBL_35:95) | |
95 %v_46 = recv_jruby_exc() | |
96 label(LBL_33:97) | |
97 put_global_var($!, %v_34) | |
98 line_num(;n: 15) | |
99 b_false(LBL_36:103, e1(0:4)) | |
100 %v_35 = copy(nil) | |
101 jump(LBL_37:114) | |
102 label(LBL_36:103) | |
103 %v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
104 bne(LBL_38:107, %v_36, %undefined) | |
105 %v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
106 label(LBL_38:107) | |
107 %v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
108 bne(LBL_39:111, %v_37, %undefined) | |
109 %v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
110 label(LBL_39:111) | |
111 %v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
112 %v_35 = copy(%v_38) | |
113 label(LBL_37:114) | |
114 throw(%v_46) | |
115 label(LBL_34:116) | |
116 jump(LBL_31:122) | |
117 label(LBL_30:118) | |
118 line_num(;n: 19) | |
119 %v_47 = yield(%v_0, conn(0:0) ;unwrap: false) | |
120 %v_39 = copy(%v_47) | |
121 label(LBL_31:122) | |
122 exc_region_end() | |
123 %v_30 = copy(%v_39) | |
124 label(LBL_53:125) | |
125 exc_region_start(UNRESCUED_REGION_0:-1) | |
126 put_global_var($!, %v_5) | |
127 line_num(;n: 34) | |
128 %v_6 = get_global_var($!) | |
129 label(LBL_55:132) | |
130 exc_region_start(LBL_77:229) | |
131 label(LBL_55:132) | |
132 exc_region_start(LBL_57:146) | |
133 line_num(;n: 36) | |
134 %v_9 = call(%self, e(0:5), conn(0:0), opts(0:1) ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
135 committed(0:6) = copy(%v_9) | |
136 exc_region_end() | |
137 %v_8 = copy(%v_9) | |
138 label(LBL_56:139) | |
139 exc_region_start(UNRESCUED_REGION_0:-1) | |
140 put_global_var($!, %v_6) | |
141 line_num(;n: 52) | |
142 %v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
143 exc_region_end() | |
144 jump(LBL_79:236) | |
145 label(LBL_57:146) | |
146 %v_10 = recv_ruby_exc() | |
147 %v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
148 %v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
149 b_true(LBL_59:153, %v_12) | |
150 label(LBL_58:151) | |
151 throw(%v_10) | |
152 label(LBL_59:153) | |
153 %v_13 = get_global_var($!) | |
154 e2(0:7) = copy(%v_13) | |
155 line_num(;n: 39) | |
156 %v_14 = get_global_var($!) | |
157 label(LBL_61:160) | |
158 exc_region_start(LBL_73:214) | |
159 label(LBL_61:160) | |
160 exc_region_start(LBL_63:173) | |
161 line_num(;n: 40) | |
162 %v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
163 %v_17 = copy({:'classes'=>%v_16, :'conn'=>conn(0:0)}) | |
164 %v_18 = call(%self, e2(0:7), %v_17 ;n:raise_error, t:FU, cl:false) | |
165 exc_region_end() | |
166 %v_15 = copy(%v_18) | |
167 label(LBL_62:168) | |
168 exc_region_start(LBL_77:229) | |
169 put_global_var($!, %v_14) | |
170 exc_region_end() | |
171 jump(LBL_75:219) | |
172 label(LBL_63:173) | |
173 %v_19 = recv_ruby_exc() | |
174 %v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
175 %v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
176 bne(LBL_64:179, %v_21, %undefined) | |
177 %v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
178 label(LBL_64:179) | |
179 %v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
180 b_true(LBL_66:184, %v_22) | |
181 label(LBL_65:182) | |
182 throw(%v_19) | |
183 label(LBL_66:184) | |
184 %v_23 = get_global_var($!) | |
185 e4(0:8) = copy(%v_23) | |
186 line_num(;n: 43) | |
187 %v_24 = get_global_var($!) | |
188 label(LBL_67:189) | |
189 exc_region_start(LBL_69:200) | |
190 line_num(;n: 44) | |
191 %v_26 = call(%self, conn(0:0), opts(0:1) ;n:rollback_transaction, t:FU, cl:false) | |
192 exc_region_end() | |
193 label(LBL_68:194) | |
194 exc_region_start(LBL_73:214) | |
195 line_num(;n: 47) | |
196 %v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
197 exc_region_end() | |
198 jump(LBL_71:206) | |
199 label(LBL_69:200) | |
200 %v_27 = recv_jruby_exc() | |
201 label(LBL_70:202) | |
202 line_num(;n: 47) | |
203 %v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
204 throw(%v_27) | |
205 label(LBL_71:206) | |
206 %v_15 = copy(%v_26) | |
207 label(LBL_72:208) | |
208 exc_region_start(LBL_77:229) | |
209 put_global_var($!, %v_14) | |
210 exc_region_end() | |
211 jump(LBL_75:219) | |
212 exc_region_end() | |
213 label(LBL_73:214) | |
214 %v_28 = recv_jruby_exc() | |
215 label(LBL_74:216) | |
216 put_global_var($!, %v_14) | |
217 throw(%v_28) | |
218 label(LBL_75:219) | |
219 %v_8 = copy(%v_15) | |
220 label(LBL_76:221) | |
221 exc_region_start(UNRESCUED_REGION_0:-1) | |
222 put_global_var($!, %v_6) | |
223 line_num(;n: 52) | |
224 %v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
225 exc_region_end() | |
226 jump(LBL_79:236) | |
227 exc_region_end() | |
228 label(LBL_77:229) | |
229 %v_29 = recv_jruby_exc() | |
230 label(LBL_78:231) | |
231 put_global_var($!, %v_6) | |
232 line_num(;n: 52) | |
233 %v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
234 throw(%v_29) | |
235 label(LBL_79:236) | |
236 exc_region_end() | |
237 jump(LBL_3:519) | |
238 label(LBL_29:239) | |
239 %v_48 = recv_ruby_exc() | |
240 %v_49 = search_const(%current_scope ;name: Exception, no_priv: false) | |
241 %v_50 = rescue_eqq(Array:[%v_49], %v_48) | |
242 b_true(LBL_81:246, %v_50) | |
243 label(LBL_80:244) | |
244 throw(%v_48) | |
245 label(LBL_81:246) | |
246 %v_51 = get_global_var($!) | |
247 e(0:5) = copy(%v_51) | |
248 line_num(;n: 23) | |
249 %v_52 = get_global_var($!) | |
250 label(LBL_82:253) | |
251 exc_region_start(LBL_85:279) | |
252 label(LBL_82:253) | |
253 exc_region_start(LBL_86:264) | |
254 line_num(;n: 25) | |
255 %v_54 = call(%self, conn(0:0), opts(0:1) ;n:rollback_transaction, t:FU, cl:false) | |
256 exc_region_end() | |
257 %v_53 = copy(%v_54) | |
258 label(LBL_87:259) | |
259 exc_region_start(LBL_4:405) | |
260 put_global_var($!, %v_52) | |
261 exc_region_end() | |
262 jump(LBL_84:284) | |
263 label(LBL_86:264) | |
264 %v_55 = recv_ruby_exc() | |
265 %v_56 = search_const(%current_scope ;name: Exception, no_priv: false) | |
266 %v_57 = rescue_eqq(Array:[%v_56], %v_55) | |
267 b_true(LBL_89:271, %v_57) | |
268 label(LBL_88:269) | |
269 throw(%v_55) | |
270 label(LBL_89:271) | |
271 %v_53 = copy(nil) | |
272 label(LBL_90:273) | |
273 exc_region_start(LBL_4:405) | |
274 put_global_var($!, %v_52) | |
275 exc_region_end() | |
276 jump(LBL_84:284) | |
277 exc_region_end() | |
278 label(LBL_85:279) | |
279 %v_58 = recv_jruby_exc() | |
280 label(LBL_83:281) | |
281 put_global_var($!, %v_52) | |
282 throw(%v_58) | |
283 label(LBL_84:284) | |
284 line_num(;n: 30) | |
285 %v_59 = copy({:'conn'=>conn(0:0), :'rollback'=>rollback(0:2)}) | |
286 %v_60 = call(%self, e(0:5), %v_59 ;n:transaction_error, t:FU, cl:false) | |
287 line_num(;n: 31) | |
288 %v_30 = copy(ret(0:3)) | |
289 label(LBL_91:290) | |
290 exc_region_start(UNRESCUED_REGION_0:-1) | |
291 put_global_var($!, %v_5) | |
292 line_num(;n: 34) | |
293 %v_6 = get_global_var($!) | |
294 label(LBL_93:297) | |
295 exc_region_start(LBL_115:394) | |
296 label(LBL_93:297) | |
297 exc_region_start(LBL_95:311) | |
298 line_num(;n: 36) | |
299 %v_9 = call(%self, e(0:5), conn(0:0), opts(0:1) ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
300 committed(0:6) = copy(%v_9) | |
301 exc_region_end() | |
302 %v_8 = copy(%v_9) | |
303 label(LBL_94:304) | |
304 exc_region_start(UNRESCUED_REGION_0:-1) | |
305 put_global_var($!, %v_6) | |
306 line_num(;n: 52) | |
307 %v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
308 exc_region_end() | |
309 jump(LBL_117:401) | |
310 label(LBL_95:311) | |
311 %v_10 = recv_ruby_exc() | |
312 %v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
313 %v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
314 b_true(LBL_97:318, %v_12) | |
315 label(LBL_96:316) | |
316 throw(%v_10) | |
317 label(LBL_97:318) | |
318 %v_13 = get_global_var($!) | |
319 e2(0:7) = copy(%v_13) | |
320 line_num(;n: 39) | |
321 %v_14 = get_global_var($!) | |
322 label(LBL_99:325) | |
323 exc_region_start(LBL_111:379) | |
324 label(LBL_99:325) | |
325 exc_region_start(LBL_101:338) | |
326 line_num(;n: 40) | |
327 %v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
328 %v_17 = copy({:'classes'=>%v_16, :'conn'=>conn(0:0)}) | |
329 %v_18 = call(%self, e2(0:7), %v_17 ;n:raise_error, t:FU, cl:false) | |
330 exc_region_end() | |
331 %v_15 = copy(%v_18) | |
332 label(LBL_100:333) | |
333 exc_region_start(LBL_115:394) | |
334 put_global_var($!, %v_14) | |
335 exc_region_end() | |
336 jump(LBL_113:384) | |
337 label(LBL_101:338) | |
338 %v_19 = recv_ruby_exc() | |
339 %v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
340 %v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
341 bne(LBL_102:344, %v_21, %undefined) | |
342 %v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
343 label(LBL_102:344) | |
344 %v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
345 b_true(LBL_104:349, %v_22) | |
346 label(LBL_103:347) | |
347 throw(%v_19) | |
348 label(LBL_104:349) | |
349 %v_23 = get_global_var($!) | |
350 e4(0:8) = copy(%v_23) | |
351 line_num(;n: 43) | |
352 %v_24 = get_global_var($!) | |
353 label(LBL_105:354) | |
354 exc_region_start(LBL_107:365) | |
355 line_num(;n: 44) | |
356 %v_26 = call(%self, conn(0:0), opts(0:1) ;n:rollback_transaction, t:FU, cl:false) | |
357 exc_region_end() | |
358 label(LBL_106:359) | |
359 exc_region_start(LBL_111:379) | |
360 line_num(;n: 47) | |
361 %v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
362 exc_region_end() | |
363 jump(LBL_109:371) | |
364 label(LBL_107:365) | |
365 %v_27 = recv_jruby_exc() | |
366 label(LBL_108:367) | |
367 line_num(;n: 47) | |
368 %v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
369 throw(%v_27) | |
370 label(LBL_109:371) | |
371 %v_15 = copy(%v_26) | |
372 label(LBL_110:373) | |
373 exc_region_start(LBL_115:394) | |
374 put_global_var($!, %v_14) | |
375 exc_region_end() | |
376 jump(LBL_113:384) | |
377 exc_region_end() | |
378 label(LBL_111:379) | |
379 %v_28 = recv_jruby_exc() | |
380 label(LBL_112:381) | |
381 put_global_var($!, %v_14) | |
382 throw(%v_28) | |
383 label(LBL_113:384) | |
384 %v_8 = copy(%v_15) | |
385 label(LBL_114:386) | |
386 exc_region_start(UNRESCUED_REGION_0:-1) | |
387 put_global_var($!, %v_6) | |
388 line_num(;n: 52) | |
389 %v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
390 exc_region_end() | |
391 jump(LBL_117:401) | |
392 exc_region_end() | |
393 label(LBL_115:394) | |
394 %v_29 = recv_jruby_exc() | |
395 label(LBL_116:396) | |
396 put_global_var($!, %v_6) | |
397 line_num(;n: 52) | |
398 %v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
399 throw(%v_29) | |
400 label(LBL_117:401) | |
401 exc_region_end() | |
402 jump(LBL_3:519) | |
403 exc_region_end() | |
404 label(LBL_4:405) | |
405 %v_61 = recv_jruby_exc() | |
406 label(LBL_2:407) | |
407 put_global_var($!, %v_5) | |
408 line_num(;n: 34) | |
409 %v_6 = get_global_var($!) | |
410 label(LBL_5:413) | |
411 exc_region_start(LBL_8:510) | |
412 label(LBL_5:413) | |
413 exc_region_start(LBL_9:427) | |
414 line_num(;n: 36) | |
415 %v_9 = call(%self, e(0:5), conn(0:0), opts(0:1) ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
416 committed(0:6) = copy(%v_9) | |
417 exc_region_end() | |
418 %v_8 = copy(%v_9) | |
419 label(LBL_10:420) | |
420 exc_region_start(UNRESCUED_REGION_0:-1) | |
421 put_global_var($!, %v_6) | |
422 line_num(;n: 52) | |
423 %v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
424 exc_region_end() | |
425 jump(LBL_7:517) | |
426 label(LBL_9:427) | |
427 %v_10 = recv_ruby_exc() | |
428 %v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
429 %v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
430 b_true(LBL_12:434, %v_12) | |
431 label(LBL_11:432) | |
432 throw(%v_10) | |
433 label(LBL_12:434) | |
434 %v_13 = get_global_var($!) | |
435 e2(0:7) = copy(%v_13) | |
436 line_num(;n: 39) | |
437 %v_14 = get_global_var($!) | |
438 label(LBL_13:441) | |
439 exc_region_start(LBL_16:495) | |
440 label(LBL_13:441) | |
441 exc_region_start(LBL_17:454) | |
442 line_num(;n: 40) | |
443 %v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
444 %v_17 = copy({:'classes'=>%v_16, :'conn'=>conn(0:0)}) | |
445 %v_18 = call(%self, e2(0:7), %v_17 ;n:raise_error, t:FU, cl:false) | |
446 exc_region_end() | |
447 %v_15 = copy(%v_18) | |
448 label(LBL_18:449) | |
449 exc_region_start(LBL_8:510) | |
450 put_global_var($!, %v_14) | |
451 exc_region_end() | |
452 jump(LBL_15:500) | |
453 label(LBL_17:454) | |
454 %v_19 = recv_ruby_exc() | |
455 %v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
456 %v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
457 bne(LBL_21:460, %v_21, %undefined) | |
458 %v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
459 label(LBL_21:460) | |
460 %v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
461 b_true(LBL_20:465, %v_22) | |
462 label(LBL_19:463) | |
463 throw(%v_19) | |
464 label(LBL_20:465) | |
465 %v_23 = get_global_var($!) | |
466 e4(0:8) = copy(%v_23) | |
467 line_num(;n: 43) | |
468 %v_24 = get_global_var($!) | |
469 label(LBL_22:470) | |
470 exc_region_start(LBL_25:481) | |
471 line_num(;n: 44) | |
472 %v_26 = call(%self, conn(0:0), opts(0:1) ;n:rollback_transaction, t:FU, cl:false) | |
473 exc_region_end() | |
474 label(LBL_26:475) | |
475 exc_region_start(LBL_16:495) | |
476 line_num(;n: 47) | |
477 %v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
478 exc_region_end() | |
479 jump(LBL_24:487) | |
480 label(LBL_25:481) | |
481 %v_27 = recv_jruby_exc() | |
482 label(LBL_23:483) | |
483 line_num(;n: 47) | |
484 %v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
485 throw(%v_27) | |
486 label(LBL_24:487) | |
487 %v_15 = copy(%v_26) | |
488 label(LBL_27:489) | |
489 exc_region_start(LBL_8:510) | |
490 put_global_var($!, %v_14) | |
491 exc_region_end() | |
492 jump(LBL_15:500) | |
493 exc_region_end() | |
494 label(LBL_16:495) | |
495 %v_28 = recv_jruby_exc() | |
496 label(LBL_14:497) | |
497 put_global_var($!, %v_14) | |
498 throw(%v_28) | |
499 label(LBL_15:500) | |
500 %v_8 = copy(%v_15) | |
501 label(LBL_28:502) | |
502 exc_region_start(UNRESCUED_REGION_0:-1) | |
503 put_global_var($!, %v_6) | |
504 line_num(;n: 52) | |
505 %v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
506 exc_region_end() | |
507 jump(LBL_7:517) | |
508 exc_region_end() | |
509 label(LBL_8:510) | |
510 %v_29 = recv_jruby_exc() | |
511 label(LBL_6:512) | |
512 put_global_var($!, %v_6) | |
513 line_num(;n: 52) | |
514 %v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
515 throw(%v_29) | |
516 label(LBL_7:517) | |
517 throw(%v_61) | |
518 label(LBL_3:519) | |
519 return(%v_30) | |
2015-05-28T14:11:20.736-05:00: BasicCompilerPassListener: Starting Delegated Variable Removal on scope INSTANCE_METHOD _transaction[nested_ensures.rb:0] | |
2015-05-28T14:11:20.739-05:00: BasicCompilerPassListener: | |
Graph: | |
BB [1:LBL_118:-1]:>[1,139] | |
BB [2:LBL_119:-1]:>[2,3], <[0] | |
BB [3:LBL_120:-1]:>[3], <[1] | |
BB [4:LBL_0:11]:>[5], <[1,2] | |
BB [6:LBL_1:19]:>[6,38,68], <[3] | |
BB [7:LBL_121:-1]:>[8], <[5] | |
BB [9:LBL_32:32]:>[9,17], <[6] | |
BB [10:LBL_41:39]:>[10,11,68], <[8] | |
BB [11:LBL_122:-1]:>[16], <[9] | |
BB [12:LBL_42:46]:>[12,13,68], <[9] | |
BB [13:LBL_123:-1]:>[13,68], <[11] | |
BB [14:LBL_43:50]:>[14,15,68], <[11,12] | |
BB [15:LBL_124:-1]:>[15,68], <[13] | |
BB [16:LBL_44:54]:>[16,68], <[13,14] | |
BB [17:LBL_45:57]:>[37], <[10,15] | |
BB [18:LBL_40:60]:>[18,19,28], <[8] | |
BB [19:LBL_46:65]:>[28,139], <[17] | |
BB [20:LBL_47:67]:>[20,28], <[17] | |
BB [21:LBL_48:73]:>[21,22,68], <[19] | |
BB [22:LBL_125:-1]:>[27], <[20] | |
BB [23:LBL_49:80]:>[23,24,68], <[20] | |
BB [24:LBL_126:-1]:>[24,68], <[22] | |
BB [25:LBL_50:84]:>[25,26,68], <[22,23] | |
BB [26:LBL_127:-1]:>[26,68], <[24] | |
BB [27:LBL_51:88]:>[27,68], <[24,25] | |
BB [28:LBL_52:91]:>[37], <[21,26] | |
BB [29:LBL_35:95]:>[29], <[17,18,19] | |
BB [30:LBL_33:97]:>[30,31,68], <[28] | |
BB [31:LBL_128:-1]:>[36], <[29] | |
BB [32:LBL_36:103]:>[32,33,68], <[29] | |
BB [33:LBL_129:-1]:>[33,68], <[31] | |
BB [34:LBL_38:107]:>[34,35,68], <[31,32] | |
BB [35:LBL_130:-1]:>[35,68], <[33] | |
BB [36:LBL_39:111]:>[36,68], <[33,34] | |
BB [37:LBL_37:114]:>[68,139], <[30,35] | |
BB [38:LBL_34:116]:>[39], <[16,27] | |
BB [39:LBL_30:118]:>[39,68], <[5] | |
BB [40:LBL_31:122]:>[41], <[37,38] | |
BB [42:LBL_55:132]:>[43,44], <[39] | |
BB [44:LBL_56:139]:>[67], <[41] | |
BB [45:LBL_57:146]:>[45,46,65], <[41] | |
BB [46:LBL_58:151]:>[65,139], <[44] | |
BB [47:LBL_59:153]:>[48], <[44] | |
BB [49:LBL_61:160]:>[49,50], <[46] | |
BB [50:LBL_62:168]:>[63,65], <[48] | |
BB [51:LBL_63:173]:>[51,52,61], <[48] | |
BB [52:LBL_131:-1]:>[52,61], <[50] | |
BB [53:LBL_64:179]:>[53,54,61], <[50,51] | |
BB [54:LBL_65:182]:>[61,139], <[52] | |
BB [55:LBL_66:184]:>[55], <[52] | |
BB [56:LBL_67:189]:>[56,57], <[54] | |
BB [57:LBL_68:194]:>[59,61], <[55] | |
BB [58:LBL_69:200]:>[58], <[55] | |
BB [59:LBL_70:202]:>[61,139], <[57] | |
BB [60:LBL_71:206]:>[60], <[56] | |
BB [61:LBL_72:208]:>[63,65], <[59] | |
BB [62:LBL_73:214]:>[62], <[50,51,52,53,56,58] | |
BB [63:LBL_74:216]:>[65,139], <[61] | |
BB [64:LBL_75:219]:>[67], <[49,60] | |
BB [66:LBL_77:229]:>[139], <[44,45,49,60,62] | |
BB [68:LBL_79:236]:>[138], <[43,63] | |
BB [69:LBL_29:239]:>[69,70,109], <[5,9,11,12,13,14,15,20,22,23,24,25,26,29,31,32,33,34,35,36,38] | |
BB [70:LBL_80:244]:>[109,139], <[68] | |
BB [71:LBL_81:246]:>[72], <[68] | |
BB [73:LBL_82:253]:>[73,74], <[70] | |
BB [74:LBL_87:259]:>[80,109], <[72] | |
BB [75:LBL_86:264]:>[75,76,78], <[72] | |
BB [76:LBL_88:269]:>[78,139], <[74] | |
BB [77:LBL_89:271]:>[77], <[74] | |
BB [78:LBL_90:273]:>[80,109], <[76] | |
BB [79:LBL_85:279]:>[79], <[74,75] | |
BB [80:LBL_83:281]:>[109,139], <[78] | |
BB [81:LBL_84:284]:>[81,109], <[73,77] | |
BB [82:LBL_91:290]:>[83], <[80] | |
BB [84:LBL_93:297]:>[84,85], <[81] | |
BB [85:LBL_94:304]:>[108], <[83] | |
BB [86:LBL_95:311]:>[86,87,106], <[83] | |
BB [87:LBL_96:316]:>[106,139], <[85] | |
BB [88:LBL_97:318]:>[89], <[85] | |
BB [90:LBL_99:325]:>[90,91], <[87] | |
BB [91:LBL_100:333]:>[104,106], <[89] | |
BB [92:LBL_101:338]:>[92,93,102], <[89] | |
BB [93:LBL_132:-1]:>[93,102], <[91] | |
BB [94:LBL_102:344]:>[94,95,102], <[91,92] | |
BB [95:LBL_103:347]:>[102,139], <[93] | |
BB [96:LBL_104:349]:>[96], <[93] | |
BB [97:LBL_105:354]:>[97,98], <[95] | |
BB [98:LBL_106:359]:>[100,102], <[96] | |
BB [99:LBL_107:365]:>[99], <[96] | |
BB [100:LBL_108:367]:>[102,139], <[98] | |
BB [101:LBL_109:371]:>[101], <[97] | |
BB [102:LBL_110:373]:>[104,106], <[100] | |
BB [103:LBL_111:379]:>[103], <[91,92,93,94,97,99] | |
BB [104:LBL_112:381]:>[106,139], <[102] | |
BB [105:LBL_113:384]:>[108], <[90,101] | |
BB [107:LBL_115:394]:>[139], <[85,86,90,101,103] | |
BB [109:LBL_117:401]:>[138], <[84,104] | |
BB [110:LBL_4:405]:>[111], <[68,69,73,77,79,80] | |
BB [112:LBL_5:413]:>[113,114], <[109] | |
BB [114:LBL_10:420]:>[137], <[111] | |
BB [115:LBL_9:427]:>[115,116,135], <[111] | |
BB [116:LBL_11:432]:>[135,139], <[114] | |
BB [117:LBL_12:434]:>[118], <[114] | |
BB [119:LBL_13:441]:>[119,120], <[116] | |
BB [120:LBL_18:449]:>[133,135], <[118] | |
BB [121:LBL_17:454]:>[121,122,131], <[118] | |
BB [122:LBL_133:-1]:>[122,131], <[120] | |
BB [123:LBL_21:460]:>[123,124,131], <[120,121] | |
BB [124:LBL_19:463]:>[131,139], <[122] | |
BB [125:LBL_20:465]:>[125], <[122] | |
BB [126:LBL_22:470]:>[126,127], <[124] | |
BB [127:LBL_26:475]:>[129,131], <[125] | |
BB [128:LBL_25:481]:>[128], <[125] | |
BB [129:LBL_23:483]:>[131,139], <[127] | |
BB [130:LBL_24:487]:>[130], <[126] | |
BB [131:LBL_27:489]:>[133,135], <[129] | |
BB [132:LBL_16:495]:>[132], <[120,121,122,123,126,128] | |
BB [133:LBL_14:497]:>[135,139], <[131] | |
BB [134:LBL_15:500]:>[137], <[119,130] | |
BB [136:LBL_8:510]:>[139], <[114,115,119,130,132] | |
BB [138:LBL_7:517]:>[139], <[113,133] | |
BB [139:LBL_3:519]:>[139], <[67,108] | |
BB [140:LBL_134:-1]:<[0,18,36,45,53,58,62,65,69,75,79,86,94,99,103,106,115,123,128,132,135,137,138] | |
2015-05-28T14:11:20.741-05:00: BasicCompilerPassListener: | |
Instructions[nested_ensures.rb#0#_transaction,IRMethod,OptimizeDelegationPass]: | |
BB [1:LBL_118:-1] | |
BB [2:LBL_119:-1] | |
%self = recv_self() | |
%v_0 = load_implicit_closure() | |
%current_scope = copy(scope<0>) | |
%current_module = copy(module<0>) | |
check_arity(;req: 1, opt: 1, *r: false, kw: false) | |
conn(0:0) = recv_pre_reqd_arg() | |
opts(0:1) = recv_opt_arg(;index:0, req: 1, pre: 1) | |
bne(LBL_0:11, opts(0:1), %undefined) | |
BB [3:LBL_120:-1] | |
%v_3 = search_const(%current_scope ;name: OPTS, no_priv: false) | |
opts(0:1) = copy(%v_3) | |
BB [4:LBL_0:11] | |
line_num(;n: 1) | |
%v_4 = call_1o(opts(0:1), :'rollback' ;n:[], t:NO, cl:false) | |
rollback(0:2) = copy(%v_4) | |
line_num(;n: 2) | |
%v_5 = get_global_var($!) | |
BB [6:LBL_1:19] | |
line_num(;n: 4) | |
%v_31 = call(%self, conn(0:0), opts(0:1) ;n:add_transaction, t:FU, cl:false) | |
line_num(;n: 5) | |
%v_32 = call(%self, conn(0:0), opts(0:1) ;n:begin_transaction, t:FU, cl:false) | |
line_num(;n: 6) | |
%v_33 = call_1o(rollback(0:2), :'always' ;n:==, t:NO, cl:false) | |
b_false(LBL_30:118, %v_33) | |
BB [7:LBL_121:-1] | |
line_num(;n: 7) | |
%v_34 = get_global_var($!) | |
BB [9:LBL_32:32] | |
line_num(;n: 9) | |
%v_40 = yield(%v_0, conn(0:0) ;unwrap: false) | |
ret(0:3) = copy(%v_40) | |
%v_39 = copy(%v_40) | |
BB [10:LBL_41:39] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_42:46, e1(0:4)) | |
BB [11:LBL_122:-1] | |
%v_35 = copy(nil) | |
jump(LBL_45:57) | |
BB [12:LBL_42:46] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_43:50, %v_36, %undefined) | |
BB [13:LBL_123:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [14:LBL_43:50] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_44:54, %v_37, %undefined) | |
BB [15:LBL_124:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [16:LBL_44:54] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
%v_35 = copy(%v_38) | |
BB [17:LBL_45:57] | |
jump(LBL_34:116) | |
BB [18:LBL_40:60] | |
%v_41 = recv_ruby_exc() | |
%v_42 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_43 = rescue_eqq(Array:[%v_42], %v_41) | |
b_true(LBL_47:67, %v_43) | |
BB [19:LBL_46:65] | |
throw(%v_41) | |
BB [20:LBL_47:67] | |
%v_44 = get_global_var($!) | |
e1(0:4) = copy(%v_44) | |
line_num(;n: 12) | |
%v_45 = call_1o(%self, %v_44 ;n:raise, t:FU, cl:false) | |
%v_39 = copy(%v_45) | |
BB [21:LBL_48:73] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_49:80, e1(0:4)) | |
BB [22:LBL_125:-1] | |
%v_35 = copy(nil) | |
jump(LBL_52:91) | |
BB [23:LBL_49:80] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_50:84, %v_36, %undefined) | |
BB [24:LBL_126:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [25:LBL_50:84] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_51:88, %v_37, %undefined) | |
BB [26:LBL_127:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [27:LBL_51:88] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
%v_35 = copy(%v_38) | |
BB [28:LBL_52:91] | |
jump(LBL_34:116) | |
BB [29:LBL_35:95] | |
%v_46 = recv_jruby_exc() | |
BB [30:LBL_33:97] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_36:103, e1(0:4)) | |
BB [31:LBL_128:-1] | |
%v_35 = copy(nil) | |
jump(LBL_37:114) | |
BB [32:LBL_36:103] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_38:107, %v_36, %undefined) | |
BB [33:LBL_129:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [34:LBL_38:107] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_39:111, %v_37, %undefined) | |
BB [35:LBL_130:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [36:LBL_39:111] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
%v_35 = copy(%v_38) | |
BB [37:LBL_37:114] | |
throw(%v_46) | |
BB [38:LBL_34:116] | |
jump(LBL_31:122) | |
BB [39:LBL_30:118] | |
line_num(;n: 19) | |
%v_47 = yield(%v_0, conn(0:0) ;unwrap: false) | |
%v_39 = copy(%v_47) | |
BB [40:LBL_31:122] | |
%v_30 = copy(%v_39) | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [42:LBL_55:132] | |
line_num(;n: 36) | |
%v_9 = call(%self, e(0:5), conn(0:0), opts(0:1) ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
committed(0:6) = copy(%v_9) | |
%v_8 = copy(%v_9) | |
BB [44:LBL_56:139] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_79:236) | |
BB [45:LBL_57:146] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_59:153, %v_12) | |
BB [46:LBL_58:151] | |
throw(%v_10) | |
BB [47:LBL_59:153] | |
%v_13 = get_global_var($!) | |
e2(0:7) = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [49:LBL_61:160] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>conn(0:0)}) | |
%v_18 = call(%self, e2(0:7), %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [50:LBL_62:168] | |
put_global_var($!, %v_14) | |
jump(LBL_75:219) | |
BB [51:LBL_63:173] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_64:179, %v_21, %undefined) | |
BB [52:LBL_131:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [53:LBL_64:179] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_66:184, %v_22) | |
BB [54:LBL_65:182] | |
throw(%v_19) | |
BB [55:LBL_66:184] | |
%v_23 = get_global_var($!) | |
e4(0:8) = copy(%v_23) | |
line_num(;n: 43) | |
%v_24 = get_global_var($!) | |
BB [56:LBL_67:189] | |
line_num(;n: 44) | |
%v_26 = call(%self, conn(0:0), opts(0:1) ;n:rollback_transaction, t:FU, cl:false) | |
BB [57:LBL_68:194] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
jump(LBL_71:206) | |
BB [58:LBL_69:200] | |
%v_27 = recv_jruby_exc() | |
BB [59:LBL_70:202] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [60:LBL_71:206] | |
%v_15 = copy(%v_26) | |
BB [61:LBL_72:208] | |
put_global_var($!, %v_14) | |
jump(LBL_75:219) | |
BB [62:LBL_73:214] | |
%v_28 = recv_jruby_exc() | |
BB [63:LBL_74:216] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [64:LBL_75:219] | |
%v_8 = copy(%v_15) | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_79:236) | |
BB [66:LBL_77:229] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [68:LBL_79:236] | |
jump(LBL_3:519) | |
BB [69:LBL_29:239] | |
%v_48 = recv_ruby_exc() | |
%v_49 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_50 = rescue_eqq(Array:[%v_49], %v_48) | |
b_true(LBL_81:246, %v_50) | |
BB [70:LBL_80:244] | |
throw(%v_48) | |
BB [71:LBL_81:246] | |
%v_51 = get_global_var($!) | |
e(0:5) = copy(%v_51) | |
line_num(;n: 23) | |
%v_52 = get_global_var($!) | |
BB [73:LBL_82:253] | |
line_num(;n: 25) | |
%v_54 = call(%self, conn(0:0), opts(0:1) ;n:rollback_transaction, t:FU, cl:false) | |
%v_53 = copy(%v_54) | |
BB [74:LBL_87:259] | |
put_global_var($!, %v_52) | |
jump(LBL_84:284) | |
BB [75:LBL_86:264] | |
%v_55 = recv_ruby_exc() | |
%v_56 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_57 = rescue_eqq(Array:[%v_56], %v_55) | |
b_true(LBL_89:271, %v_57) | |
BB [76:LBL_88:269] | |
throw(%v_55) | |
BB [77:LBL_89:271] | |
%v_53 = copy(nil) | |
BB [78:LBL_90:273] | |
put_global_var($!, %v_52) | |
jump(LBL_84:284) | |
BB [79:LBL_85:279] | |
%v_58 = recv_jruby_exc() | |
BB [80:LBL_83:281] | |
put_global_var($!, %v_52) | |
throw(%v_58) | |
BB [81:LBL_84:284] | |
line_num(;n: 30) | |
%v_59 = copy({:'conn'=>conn(0:0), :'rollback'=>rollback(0:2)}) | |
%v_60 = call(%self, e(0:5), %v_59 ;n:transaction_error, t:FU, cl:false) | |
line_num(;n: 31) | |
%v_30 = copy(ret(0:3)) | |
BB [82:LBL_91:290] | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [84:LBL_93:297] | |
line_num(;n: 36) | |
%v_9 = call(%self, e(0:5), conn(0:0), opts(0:1) ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
committed(0:6) = copy(%v_9) | |
%v_8 = copy(%v_9) | |
BB [85:LBL_94:304] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_117:401) | |
BB [86:LBL_95:311] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_97:318, %v_12) | |
BB [87:LBL_96:316] | |
throw(%v_10) | |
BB [88:LBL_97:318] | |
%v_13 = get_global_var($!) | |
e2(0:7) = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [90:LBL_99:325] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>conn(0:0)}) | |
%v_18 = call(%self, e2(0:7), %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [91:LBL_100:333] | |
put_global_var($!, %v_14) | |
jump(LBL_113:384) | |
BB [92:LBL_101:338] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_102:344, %v_21, %undefined) | |
BB [93:LBL_132:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [94:LBL_102:344] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_104:349, %v_22) | |
BB [95:LBL_103:347] | |
throw(%v_19) | |
BB [96:LBL_104:349] | |
%v_23 = get_global_var($!) | |
e4(0:8) = copy(%v_23) | |
line_num(;n: 43) | |
%v_24 = get_global_var($!) | |
BB [97:LBL_105:354] | |
line_num(;n: 44) | |
%v_26 = call(%self, conn(0:0), opts(0:1) ;n:rollback_transaction, t:FU, cl:false) | |
BB [98:LBL_106:359] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
jump(LBL_109:371) | |
BB [99:LBL_107:365] | |
%v_27 = recv_jruby_exc() | |
BB [100:LBL_108:367] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [101:LBL_109:371] | |
%v_15 = copy(%v_26) | |
BB [102:LBL_110:373] | |
put_global_var($!, %v_14) | |
jump(LBL_113:384) | |
BB [103:LBL_111:379] | |
%v_28 = recv_jruby_exc() | |
BB [104:LBL_112:381] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [105:LBL_113:384] | |
%v_8 = copy(%v_15) | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_117:401) | |
BB [107:LBL_115:394] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [109:LBL_117:401] | |
jump(LBL_3:519) | |
BB [110:LBL_4:405] | |
%v_61 = recv_jruby_exc() | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [112:LBL_5:413] | |
line_num(;n: 36) | |
%v_9 = call(%self, e(0:5), conn(0:0), opts(0:1) ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
committed(0:6) = copy(%v_9) | |
%v_8 = copy(%v_9) | |
BB [114:LBL_10:420] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_7:517) | |
BB [115:LBL_9:427] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_12:434, %v_12) | |
BB [116:LBL_11:432] | |
throw(%v_10) | |
BB [117:LBL_12:434] | |
%v_13 = get_global_var($!) | |
e2(0:7) = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [119:LBL_13:441] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>conn(0:0)}) | |
%v_18 = call(%self, e2(0:7), %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [120:LBL_18:449] | |
put_global_var($!, %v_14) | |
jump(LBL_15:500) | |
BB [121:LBL_17:454] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_21:460, %v_21, %undefined) | |
BB [122:LBL_133:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [123:LBL_21:460] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_20:465, %v_22) | |
BB [124:LBL_19:463] | |
throw(%v_19) | |
BB [125:LBL_20:465] | |
%v_23 = get_global_var($!) | |
e4(0:8) = copy(%v_23) | |
line_num(;n: 43) | |
%v_24 = get_global_var($!) | |
BB [126:LBL_22:470] | |
line_num(;n: 44) | |
%v_26 = call(%self, conn(0:0), opts(0:1) ;n:rollback_transaction, t:FU, cl:false) | |
BB [127:LBL_26:475] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
jump(LBL_24:487) | |
BB [128:LBL_25:481] | |
%v_27 = recv_jruby_exc() | |
BB [129:LBL_23:483] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [130:LBL_24:487] | |
%v_15 = copy(%v_26) | |
BB [131:LBL_27:489] | |
put_global_var($!, %v_14) | |
jump(LBL_15:500) | |
BB [132:LBL_16:495] | |
%v_28 = recv_jruby_exc() | |
BB [133:LBL_14:497] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [134:LBL_15:500] | |
%v_8 = copy(%v_15) | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_7:517) | |
BB [136:LBL_8:510] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [138:LBL_7:517] | |
throw(%v_61) | |
BB [139:LBL_3:519] | |
return(%v_30) | |
BB [140:LBL_134:-1] | |
------ Rescue block map ------ | |
BB 6 --> BB 69 | |
BB 9 --> BB 18 | |
BB 10 --> BB 69 | |
BB 12 --> BB 69 | |
BB 13 --> BB 69 | |
BB 14 --> BB 69 | |
BB 15 --> BB 69 | |
BB 16 --> BB 69 | |
BB 18 --> BB 29 | |
BB 19 --> BB 29 | |
BB 20 --> BB 29 | |
BB 21 --> BB 69 | |
BB 23 --> BB 69 | |
BB 24 --> BB 69 | |
BB 25 --> BB 69 | |
BB 26 --> BB 69 | |
BB 27 --> BB 69 | |
BB 30 --> BB 69 | |
BB 32 --> BB 69 | |
BB 33 --> BB 69 | |
BB 34 --> BB 69 | |
BB 35 --> BB 69 | |
BB 36 --> BB 69 | |
BB 37 --> BB 69 | |
BB 39 --> BB 69 | |
BB 42 --> BB 45 | |
BB 45 --> BB 66 | |
BB 46 --> BB 66 | |
BB 49 --> BB 51 | |
BB 50 --> BB 66 | |
BB 51 --> BB 62 | |
BB 52 --> BB 62 | |
BB 53 --> BB 62 | |
BB 54 --> BB 62 | |
BB 56 --> BB 58 | |
BB 57 --> BB 62 | |
BB 59 --> BB 62 | |
BB 61 --> BB 66 | |
BB 63 --> BB 66 | |
BB 69 --> BB 110 | |
BB 70 --> BB 110 | |
BB 73 --> BB 75 | |
BB 74 --> BB 110 | |
BB 75 --> BB 79 | |
BB 76 --> BB 79 | |
BB 78 --> BB 110 | |
BB 80 --> BB 110 | |
BB 81 --> BB 110 | |
BB 84 --> BB 86 | |
BB 86 --> BB 107 | |
BB 87 --> BB 107 | |
BB 90 --> BB 92 | |
BB 91 --> BB 107 | |
BB 92 --> BB 103 | |
BB 93 --> BB 103 | |
BB 94 --> BB 103 | |
BB 95 --> BB 103 | |
BB 97 --> BB 99 | |
BB 98 --> BB 103 | |
BB 100 --> BB 103 | |
BB 102 --> BB 107 | |
BB 104 --> BB 107 | |
BB 112 --> BB 115 | |
BB 115 --> BB 136 | |
BB 116 --> BB 136 | |
BB 119 --> BB 121 | |
BB 120 --> BB 136 | |
BB 121 --> BB 132 | |
BB 122 --> BB 132 | |
BB 123 --> BB 132 | |
BB 124 --> BB 132 | |
BB 126 --> BB 128 | |
BB 127 --> BB 132 | |
BB 129 --> BB 132 | |
BB 131 --> BB 136 | |
BB 133 --> BB 136 | |
:Instructions | |
2015-05-28T14:11:20.744-05:00: BasicCompilerPassListener: Finished Delegated Variable Removal on scope in 1ms. | |
2015-05-28T14:11:20.744-05:00: BasicCompilerPassListener: Starting Live Variable Analysis on scope INSTANCE_METHOD _transaction[nested_ensures.rb:0] | |
2015-05-28T14:11:20.753-05:00: BasicCompilerPassListener: | |
Graph: | |
BB [1:LBL_118:-1]:>[1,139] | |
BB [2:LBL_119:-1]:>[2,3], <[0] | |
BB [3:LBL_120:-1]:>[3], <[1] | |
BB [4:LBL_0:11]:>[5], <[1,2] | |
BB [6:LBL_1:19]:>[6,38,68], <[3] | |
BB [7:LBL_121:-1]:>[8], <[5] | |
BB [9:LBL_32:32]:>[9,17], <[6] | |
BB [10:LBL_41:39]:>[10,11,68], <[8] | |
BB [11:LBL_122:-1]:>[16], <[9] | |
BB [12:LBL_42:46]:>[12,13,68], <[9] | |
BB [13:LBL_123:-1]:>[13,68], <[11] | |
BB [14:LBL_43:50]:>[14,15,68], <[11,12] | |
BB [15:LBL_124:-1]:>[15,68], <[13] | |
BB [16:LBL_44:54]:>[16,68], <[13,14] | |
BB [17:LBL_45:57]:>[37], <[10,15] | |
BB [18:LBL_40:60]:>[18,19,28], <[8] | |
BB [19:LBL_46:65]:>[28,139], <[17] | |
BB [20:LBL_47:67]:>[20,28], <[17] | |
BB [21:LBL_48:73]:>[21,22,68], <[19] | |
BB [22:LBL_125:-1]:>[27], <[20] | |
BB [23:LBL_49:80]:>[23,24,68], <[20] | |
BB [24:LBL_126:-1]:>[24,68], <[22] | |
BB [25:LBL_50:84]:>[25,26,68], <[22,23] | |
BB [26:LBL_127:-1]:>[26,68], <[24] | |
BB [27:LBL_51:88]:>[27,68], <[24,25] | |
BB [28:LBL_52:91]:>[37], <[21,26] | |
BB [29:LBL_35:95]:>[29], <[17,18,19] | |
BB [30:LBL_33:97]:>[30,31,68], <[28] | |
BB [31:LBL_128:-1]:>[36], <[29] | |
BB [32:LBL_36:103]:>[32,33,68], <[29] | |
BB [33:LBL_129:-1]:>[33,68], <[31] | |
BB [34:LBL_38:107]:>[34,35,68], <[31,32] | |
BB [35:LBL_130:-1]:>[35,68], <[33] | |
BB [36:LBL_39:111]:>[36,68], <[33,34] | |
BB [37:LBL_37:114]:>[68,139], <[30,35] | |
BB [38:LBL_34:116]:>[39], <[16,27] | |
BB [39:LBL_30:118]:>[39,68], <[5] | |
BB [40:LBL_31:122]:>[41], <[37,38] | |
BB [42:LBL_55:132]:>[43,44], <[39] | |
BB [44:LBL_56:139]:>[67], <[41] | |
BB [45:LBL_57:146]:>[45,46,65], <[41] | |
BB [46:LBL_58:151]:>[65,139], <[44] | |
BB [47:LBL_59:153]:>[48], <[44] | |
BB [49:LBL_61:160]:>[49,50], <[46] | |
BB [50:LBL_62:168]:>[63,65], <[48] | |
BB [51:LBL_63:173]:>[51,52,61], <[48] | |
BB [52:LBL_131:-1]:>[52,61], <[50] | |
BB [53:LBL_64:179]:>[53,54,61], <[50,51] | |
BB [54:LBL_65:182]:>[61,139], <[52] | |
BB [55:LBL_66:184]:>[55], <[52] | |
BB [56:LBL_67:189]:>[56,57], <[54] | |
BB [57:LBL_68:194]:>[59,61], <[55] | |
BB [58:LBL_69:200]:>[58], <[55] | |
BB [59:LBL_70:202]:>[61,139], <[57] | |
BB [60:LBL_71:206]:>[60], <[56] | |
BB [61:LBL_72:208]:>[63,65], <[59] | |
BB [62:LBL_73:214]:>[62], <[50,51,52,53,56,58] | |
BB [63:LBL_74:216]:>[65,139], <[61] | |
BB [64:LBL_75:219]:>[67], <[49,60] | |
BB [66:LBL_77:229]:>[139], <[44,45,49,60,62] | |
BB [68:LBL_79:236]:>[138], <[43,63] | |
BB [69:LBL_29:239]:>[69,70,109], <[5,9,11,12,13,14,15,20,22,23,24,25,26,29,31,32,33,34,35,36,38] | |
BB [70:LBL_80:244]:>[109,139], <[68] | |
BB [71:LBL_81:246]:>[72], <[68] | |
BB [73:LBL_82:253]:>[73,74], <[70] | |
BB [74:LBL_87:259]:>[80,109], <[72] | |
BB [75:LBL_86:264]:>[75,76,78], <[72] | |
BB [76:LBL_88:269]:>[78,139], <[74] | |
BB [77:LBL_89:271]:>[77], <[74] | |
BB [78:LBL_90:273]:>[80,109], <[76] | |
BB [79:LBL_85:279]:>[79], <[74,75] | |
BB [80:LBL_83:281]:>[109,139], <[78] | |
BB [81:LBL_84:284]:>[81,109], <[73,77] | |
BB [82:LBL_91:290]:>[83], <[80] | |
BB [84:LBL_93:297]:>[84,85], <[81] | |
BB [85:LBL_94:304]:>[108], <[83] | |
BB [86:LBL_95:311]:>[86,87,106], <[83] | |
BB [87:LBL_96:316]:>[106,139], <[85] | |
BB [88:LBL_97:318]:>[89], <[85] | |
BB [90:LBL_99:325]:>[90,91], <[87] | |
BB [91:LBL_100:333]:>[104,106], <[89] | |
BB [92:LBL_101:338]:>[92,93,102], <[89] | |
BB [93:LBL_132:-1]:>[93,102], <[91] | |
BB [94:LBL_102:344]:>[94,95,102], <[91,92] | |
BB [95:LBL_103:347]:>[102,139], <[93] | |
BB [96:LBL_104:349]:>[96], <[93] | |
BB [97:LBL_105:354]:>[97,98], <[95] | |
BB [98:LBL_106:359]:>[100,102], <[96] | |
BB [99:LBL_107:365]:>[99], <[96] | |
BB [100:LBL_108:367]:>[102,139], <[98] | |
BB [101:LBL_109:371]:>[101], <[97] | |
BB [102:LBL_110:373]:>[104,106], <[100] | |
BB [103:LBL_111:379]:>[103], <[91,92,93,94,97,99] | |
BB [104:LBL_112:381]:>[106,139], <[102] | |
BB [105:LBL_113:384]:>[108], <[90,101] | |
BB [107:LBL_115:394]:>[139], <[85,86,90,101,103] | |
BB [109:LBL_117:401]:>[138], <[84,104] | |
BB [110:LBL_4:405]:>[111], <[68,69,73,77,79,80] | |
BB [112:LBL_5:413]:>[113,114], <[109] | |
BB [114:LBL_10:420]:>[137], <[111] | |
BB [115:LBL_9:427]:>[115,116,135], <[111] | |
BB [116:LBL_11:432]:>[135,139], <[114] | |
BB [117:LBL_12:434]:>[118], <[114] | |
BB [119:LBL_13:441]:>[119,120], <[116] | |
BB [120:LBL_18:449]:>[133,135], <[118] | |
BB [121:LBL_17:454]:>[121,122,131], <[118] | |
BB [122:LBL_133:-1]:>[122,131], <[120] | |
BB [123:LBL_21:460]:>[123,124,131], <[120,121] | |
BB [124:LBL_19:463]:>[131,139], <[122] | |
BB [125:LBL_20:465]:>[125], <[122] | |
BB [126:LBL_22:470]:>[126,127], <[124] | |
BB [127:LBL_26:475]:>[129,131], <[125] | |
BB [128:LBL_25:481]:>[128], <[125] | |
BB [129:LBL_23:483]:>[131,139], <[127] | |
BB [130:LBL_24:487]:>[130], <[126] | |
BB [131:LBL_27:489]:>[133,135], <[129] | |
BB [132:LBL_16:495]:>[132], <[120,121,122,123,126,128] | |
BB [133:LBL_14:497]:>[135,139], <[131] | |
BB [134:LBL_15:500]:>[137], <[119,130] | |
BB [136:LBL_8:510]:>[139], <[114,115,119,130,132] | |
BB [138:LBL_7:517]:>[139], <[113,133] | |
BB [139:LBL_3:519]:>[139], <[67,108] | |
BB [140:LBL_134:-1]:<[0,18,36,45,53,58,62,65,69,75,79,86,94,99,103,106,115,123,128,132,135,137,138] | |
2015-05-28T14:11:20.755-05:00: BasicCompilerPassListener: | |
Instructions[nested_ensures.rb#0#_transaction,IRMethod,LiveVariableAnalysis]: | |
BB [1:LBL_118:-1] | |
BB [2:LBL_119:-1] | |
%self = recv_self() | |
%v_0 = load_implicit_closure() | |
%current_scope = copy(scope<0>) | |
%current_module = copy(module<0>) | |
check_arity(;req: 1, opt: 1, *r: false, kw: false) | |
conn(0:0) = recv_pre_reqd_arg() | |
opts(0:1) = recv_opt_arg(;index:0, req: 1, pre: 1) | |
bne(LBL_0:11, opts(0:1), %undefined) | |
BB [3:LBL_120:-1] | |
%v_3 = search_const(%current_scope ;name: OPTS, no_priv: false) | |
opts(0:1) = copy(%v_3) | |
BB [4:LBL_0:11] | |
line_num(;n: 1) | |
%v_4 = call_1o(opts(0:1), :'rollback' ;n:[], t:NO, cl:false) | |
rollback(0:2) = copy(%v_4) | |
line_num(;n: 2) | |
%v_5 = get_global_var($!) | |
BB [6:LBL_1:19] | |
line_num(;n: 4) | |
%v_31 = call(%self, conn(0:0), opts(0:1) ;n:add_transaction, t:FU, cl:false) | |
line_num(;n: 5) | |
%v_32 = call(%self, conn(0:0), opts(0:1) ;n:begin_transaction, t:FU, cl:false) | |
line_num(;n: 6) | |
%v_33 = call_1o(rollback(0:2), :'always' ;n:==, t:NO, cl:false) | |
b_false(LBL_30:118, %v_33) | |
BB [7:LBL_121:-1] | |
line_num(;n: 7) | |
%v_34 = get_global_var($!) | |
BB [9:LBL_32:32] | |
line_num(;n: 9) | |
%v_40 = yield(%v_0, conn(0:0) ;unwrap: false) | |
ret(0:3) = copy(%v_40) | |
%v_39 = copy(%v_40) | |
BB [10:LBL_41:39] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_42:46, e1(0:4)) | |
BB [11:LBL_122:-1] | |
%v_35 = copy(nil) | |
jump(LBL_45:57) | |
BB [12:LBL_42:46] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_43:50, %v_36, %undefined) | |
BB [13:LBL_123:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [14:LBL_43:50] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_44:54, %v_37, %undefined) | |
BB [15:LBL_124:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [16:LBL_44:54] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
%v_35 = copy(%v_38) | |
BB [17:LBL_45:57] | |
jump(LBL_34:116) | |
BB [18:LBL_40:60] | |
%v_41 = recv_ruby_exc() | |
%v_42 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_43 = rescue_eqq(Array:[%v_42], %v_41) | |
b_true(LBL_47:67, %v_43) | |
BB [19:LBL_46:65] | |
throw(%v_41) | |
BB [20:LBL_47:67] | |
%v_44 = get_global_var($!) | |
e1(0:4) = copy(%v_44) | |
line_num(;n: 12) | |
%v_45 = call_1o(%self, %v_44 ;n:raise, t:FU, cl:false) | |
%v_39 = copy(%v_45) | |
BB [21:LBL_48:73] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_49:80, e1(0:4)) | |
BB [22:LBL_125:-1] | |
%v_35 = copy(nil) | |
jump(LBL_52:91) | |
BB [23:LBL_49:80] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_50:84, %v_36, %undefined) | |
BB [24:LBL_126:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [25:LBL_50:84] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_51:88, %v_37, %undefined) | |
BB [26:LBL_127:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [27:LBL_51:88] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
%v_35 = copy(%v_38) | |
BB [28:LBL_52:91] | |
jump(LBL_34:116) | |
BB [29:LBL_35:95] | |
%v_46 = recv_jruby_exc() | |
BB [30:LBL_33:97] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_36:103, e1(0:4)) | |
BB [31:LBL_128:-1] | |
%v_35 = copy(nil) | |
jump(LBL_37:114) | |
BB [32:LBL_36:103] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_38:107, %v_36, %undefined) | |
BB [33:LBL_129:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [34:LBL_38:107] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_39:111, %v_37, %undefined) | |
BB [35:LBL_130:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [36:LBL_39:111] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
%v_35 = copy(%v_38) | |
BB [37:LBL_37:114] | |
throw(%v_46) | |
BB [38:LBL_34:116] | |
jump(LBL_31:122) | |
BB [39:LBL_30:118] | |
line_num(;n: 19) | |
%v_47 = yield(%v_0, conn(0:0) ;unwrap: false) | |
%v_39 = copy(%v_47) | |
BB [40:LBL_31:122] | |
%v_30 = copy(%v_39) | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [42:LBL_55:132] | |
line_num(;n: 36) | |
%v_9 = call(%self, e(0:5), conn(0:0), opts(0:1) ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
committed(0:6) = copy(%v_9) | |
%v_8 = copy(%v_9) | |
BB [44:LBL_56:139] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_79:236) | |
BB [45:LBL_57:146] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_59:153, %v_12) | |
BB [46:LBL_58:151] | |
throw(%v_10) | |
BB [47:LBL_59:153] | |
%v_13 = get_global_var($!) | |
e2(0:7) = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [49:LBL_61:160] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>conn(0:0)}) | |
%v_18 = call(%self, e2(0:7), %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [50:LBL_62:168] | |
put_global_var($!, %v_14) | |
jump(LBL_75:219) | |
BB [51:LBL_63:173] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_64:179, %v_21, %undefined) | |
BB [52:LBL_131:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [53:LBL_64:179] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_66:184, %v_22) | |
BB [54:LBL_65:182] | |
throw(%v_19) | |
BB [55:LBL_66:184] | |
%v_23 = get_global_var($!) | |
e4(0:8) = copy(%v_23) | |
line_num(;n: 43) | |
%v_24 = get_global_var($!) | |
BB [56:LBL_67:189] | |
line_num(;n: 44) | |
%v_26 = call(%self, conn(0:0), opts(0:1) ;n:rollback_transaction, t:FU, cl:false) | |
BB [57:LBL_68:194] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
jump(LBL_71:206) | |
BB [58:LBL_69:200] | |
%v_27 = recv_jruby_exc() | |
BB [59:LBL_70:202] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [60:LBL_71:206] | |
%v_15 = copy(%v_26) | |
BB [61:LBL_72:208] | |
put_global_var($!, %v_14) | |
jump(LBL_75:219) | |
BB [62:LBL_73:214] | |
%v_28 = recv_jruby_exc() | |
BB [63:LBL_74:216] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [64:LBL_75:219] | |
%v_8 = copy(%v_15) | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_79:236) | |
BB [66:LBL_77:229] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [68:LBL_79:236] | |
jump(LBL_3:519) | |
BB [69:LBL_29:239] | |
%v_48 = recv_ruby_exc() | |
%v_49 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_50 = rescue_eqq(Array:[%v_49], %v_48) | |
b_true(LBL_81:246, %v_50) | |
BB [70:LBL_80:244] | |
throw(%v_48) | |
BB [71:LBL_81:246] | |
%v_51 = get_global_var($!) | |
e(0:5) = copy(%v_51) | |
line_num(;n: 23) | |
%v_52 = get_global_var($!) | |
BB [73:LBL_82:253] | |
line_num(;n: 25) | |
%v_54 = call(%self, conn(0:0), opts(0:1) ;n:rollback_transaction, t:FU, cl:false) | |
%v_53 = copy(%v_54) | |
BB [74:LBL_87:259] | |
put_global_var($!, %v_52) | |
jump(LBL_84:284) | |
BB [75:LBL_86:264] | |
%v_55 = recv_ruby_exc() | |
%v_56 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_57 = rescue_eqq(Array:[%v_56], %v_55) | |
b_true(LBL_89:271, %v_57) | |
BB [76:LBL_88:269] | |
throw(%v_55) | |
BB [77:LBL_89:271] | |
%v_53 = copy(nil) | |
BB [78:LBL_90:273] | |
put_global_var($!, %v_52) | |
jump(LBL_84:284) | |
BB [79:LBL_85:279] | |
%v_58 = recv_jruby_exc() | |
BB [80:LBL_83:281] | |
put_global_var($!, %v_52) | |
throw(%v_58) | |
BB [81:LBL_84:284] | |
line_num(;n: 30) | |
%v_59 = copy({:'conn'=>conn(0:0), :'rollback'=>rollback(0:2)}) | |
%v_60 = call(%self, e(0:5), %v_59 ;n:transaction_error, t:FU, cl:false) | |
line_num(;n: 31) | |
%v_30 = copy(ret(0:3)) | |
BB [82:LBL_91:290] | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [84:LBL_93:297] | |
line_num(;n: 36) | |
%v_9 = call(%self, e(0:5), conn(0:0), opts(0:1) ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
committed(0:6) = copy(%v_9) | |
%v_8 = copy(%v_9) | |
BB [85:LBL_94:304] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_117:401) | |
BB [86:LBL_95:311] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_97:318, %v_12) | |
BB [87:LBL_96:316] | |
throw(%v_10) | |
BB [88:LBL_97:318] | |
%v_13 = get_global_var($!) | |
e2(0:7) = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [90:LBL_99:325] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>conn(0:0)}) | |
%v_18 = call(%self, e2(0:7), %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [91:LBL_100:333] | |
put_global_var($!, %v_14) | |
jump(LBL_113:384) | |
BB [92:LBL_101:338] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_102:344, %v_21, %undefined) | |
BB [93:LBL_132:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [94:LBL_102:344] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_104:349, %v_22) | |
BB [95:LBL_103:347] | |
throw(%v_19) | |
BB [96:LBL_104:349] | |
%v_23 = get_global_var($!) | |
e4(0:8) = copy(%v_23) | |
line_num(;n: 43) | |
%v_24 = get_global_var($!) | |
BB [97:LBL_105:354] | |
line_num(;n: 44) | |
%v_26 = call(%self, conn(0:0), opts(0:1) ;n:rollback_transaction, t:FU, cl:false) | |
BB [98:LBL_106:359] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
jump(LBL_109:371) | |
BB [99:LBL_107:365] | |
%v_27 = recv_jruby_exc() | |
BB [100:LBL_108:367] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [101:LBL_109:371] | |
%v_15 = copy(%v_26) | |
BB [102:LBL_110:373] | |
put_global_var($!, %v_14) | |
jump(LBL_113:384) | |
BB [103:LBL_111:379] | |
%v_28 = recv_jruby_exc() | |
BB [104:LBL_112:381] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [105:LBL_113:384] | |
%v_8 = copy(%v_15) | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_117:401) | |
BB [107:LBL_115:394] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [109:LBL_117:401] | |
jump(LBL_3:519) | |
BB [110:LBL_4:405] | |
%v_61 = recv_jruby_exc() | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [112:LBL_5:413] | |
line_num(;n: 36) | |
%v_9 = call(%self, e(0:5), conn(0:0), opts(0:1) ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
committed(0:6) = copy(%v_9) | |
%v_8 = copy(%v_9) | |
BB [114:LBL_10:420] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_7:517) | |
BB [115:LBL_9:427] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_12:434, %v_12) | |
BB [116:LBL_11:432] | |
throw(%v_10) | |
BB [117:LBL_12:434] | |
%v_13 = get_global_var($!) | |
e2(0:7) = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [119:LBL_13:441] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>conn(0:0)}) | |
%v_18 = call(%self, e2(0:7), %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [120:LBL_18:449] | |
put_global_var($!, %v_14) | |
jump(LBL_15:500) | |
BB [121:LBL_17:454] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_21:460, %v_21, %undefined) | |
BB [122:LBL_133:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [123:LBL_21:460] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_20:465, %v_22) | |
BB [124:LBL_19:463] | |
throw(%v_19) | |
BB [125:LBL_20:465] | |
%v_23 = get_global_var($!) | |
e4(0:8) = copy(%v_23) | |
line_num(;n: 43) | |
%v_24 = get_global_var($!) | |
BB [126:LBL_22:470] | |
line_num(;n: 44) | |
%v_26 = call(%self, conn(0:0), opts(0:1) ;n:rollback_transaction, t:FU, cl:false) | |
BB [127:LBL_26:475] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
jump(LBL_24:487) | |
BB [128:LBL_25:481] | |
%v_27 = recv_jruby_exc() | |
BB [129:LBL_23:483] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [130:LBL_24:487] | |
%v_15 = copy(%v_26) | |
BB [131:LBL_27:489] | |
put_global_var($!, %v_14) | |
jump(LBL_15:500) | |
BB [132:LBL_16:495] | |
%v_28 = recv_jruby_exc() | |
BB [133:LBL_14:497] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [134:LBL_15:500] | |
%v_8 = copy(%v_15) | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_7:517) | |
BB [136:LBL_8:510] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [138:LBL_7:517] | |
throw(%v_61) | |
BB [139:LBL_3:519] | |
return(%v_30) | |
BB [140:LBL_134:-1] | |
------ Rescue block map ------ | |
BB 6 --> BB 69 | |
BB 9 --> BB 18 | |
BB 10 --> BB 69 | |
BB 12 --> BB 69 | |
BB 13 --> BB 69 | |
BB 14 --> BB 69 | |
BB 15 --> BB 69 | |
BB 16 --> BB 69 | |
BB 18 --> BB 29 | |
BB 19 --> BB 29 | |
BB 20 --> BB 29 | |
BB 21 --> BB 69 | |
BB 23 --> BB 69 | |
BB 24 --> BB 69 | |
BB 25 --> BB 69 | |
BB 26 --> BB 69 | |
BB 27 --> BB 69 | |
BB 30 --> BB 69 | |
BB 32 --> BB 69 | |
BB 33 --> BB 69 | |
BB 34 --> BB 69 | |
BB 35 --> BB 69 | |
BB 36 --> BB 69 | |
BB 37 --> BB 69 | |
BB 39 --> BB 69 | |
BB 42 --> BB 45 | |
BB 45 --> BB 66 | |
BB 46 --> BB 66 | |
BB 49 --> BB 51 | |
BB 50 --> BB 66 | |
BB 51 --> BB 62 | |
BB 52 --> BB 62 | |
BB 53 --> BB 62 | |
BB 54 --> BB 62 | |
BB 56 --> BB 58 | |
BB 57 --> BB 62 | |
BB 59 --> BB 62 | |
BB 61 --> BB 66 | |
BB 63 --> BB 66 | |
BB 69 --> BB 110 | |
BB 70 --> BB 110 | |
BB 73 --> BB 75 | |
BB 74 --> BB 110 | |
BB 75 --> BB 79 | |
BB 76 --> BB 79 | |
BB 78 --> BB 110 | |
BB 80 --> BB 110 | |
BB 81 --> BB 110 | |
BB 84 --> BB 86 | |
BB 86 --> BB 107 | |
BB 87 --> BB 107 | |
BB 90 --> BB 92 | |
BB 91 --> BB 107 | |
BB 92 --> BB 103 | |
BB 93 --> BB 103 | |
BB 94 --> BB 103 | |
BB 95 --> BB 103 | |
BB 97 --> BB 99 | |
BB 98 --> BB 103 | |
BB 100 --> BB 103 | |
BB 102 --> BB 107 | |
BB 104 --> BB 107 | |
BB 112 --> BB 115 | |
BB 115 --> BB 136 | |
BB 116 --> BB 136 | |
BB 119 --> BB 121 | |
BB 120 --> BB 136 | |
BB 121 --> BB 132 | |
BB 122 --> BB 132 | |
BB 123 --> BB 132 | |
BB 124 --> BB 132 | |
BB 126 --> BB 128 | |
BB 127 --> BB 132 | |
BB 129 --> BB 132 | |
BB 131 --> BB 136 | |
BB 133 --> BB 136 | |
:Instructions | |
2015-05-28T14:11:20.757-05:00: BasicCompilerPassListener: Finished Live Variable Analysis on scope in 7ms. | |
2015-05-28T14:11:20.757-05:00: BasicCompilerPassListener: Starting Dead Code Elimination on scope INSTANCE_METHOD _transaction[nested_ensures.rb:0] | |
2015-05-28T14:11:20.762-05:00: BasicCompilerPassListener: | |
Graph: | |
BB [1:LBL_118:-1]:>[1,139] | |
BB [2:LBL_119:-1]:>[2,3], <[0] | |
BB [3:LBL_120:-1]:>[3], <[1] | |
BB [4:LBL_0:11]:>[5], <[1,2] | |
BB [6:LBL_1:19]:>[6,38,68], <[3] | |
BB [7:LBL_121:-1]:>[8], <[5] | |
BB [9:LBL_32:32]:>[9,17], <[6] | |
BB [10:LBL_41:39]:>[10,11,68], <[8] | |
BB [11:LBL_122:-1]:>[16], <[9] | |
BB [12:LBL_42:46]:>[12,13,68], <[9] | |
BB [13:LBL_123:-1]:>[13,68], <[11] | |
BB [14:LBL_43:50]:>[14,15,68], <[11,12] | |
BB [15:LBL_124:-1]:>[15,68], <[13] | |
BB [16:LBL_44:54]:>[16,68], <[13,14] | |
BB [17:LBL_45:57]:>[37], <[10,15] | |
BB [18:LBL_40:60]:>[18,19,28], <[8] | |
BB [19:LBL_46:65]:>[28,139], <[17] | |
BB [20:LBL_47:67]:>[20,28], <[17] | |
BB [21:LBL_48:73]:>[21,22,68], <[19] | |
BB [22:LBL_125:-1]:>[27], <[20] | |
BB [23:LBL_49:80]:>[23,24,68], <[20] | |
BB [24:LBL_126:-1]:>[24,68], <[22] | |
BB [25:LBL_50:84]:>[25,26,68], <[22,23] | |
BB [26:LBL_127:-1]:>[26,68], <[24] | |
BB [27:LBL_51:88]:>[27,68], <[24,25] | |
BB [28:LBL_52:91]:>[37], <[21,26] | |
BB [29:LBL_35:95]:>[29], <[17,18,19] | |
BB [30:LBL_33:97]:>[30,31,68], <[28] | |
BB [31:LBL_128:-1]:>[36], <[29] | |
BB [32:LBL_36:103]:>[32,33,68], <[29] | |
BB [33:LBL_129:-1]:>[33,68], <[31] | |
BB [34:LBL_38:107]:>[34,35,68], <[31,32] | |
BB [35:LBL_130:-1]:>[35,68], <[33] | |
BB [36:LBL_39:111]:>[36,68], <[33,34] | |
BB [37:LBL_37:114]:>[68,139], <[30,35] | |
BB [38:LBL_34:116]:>[39], <[16,27] | |
BB [39:LBL_30:118]:>[39,68], <[5] | |
BB [40:LBL_31:122]:>[41], <[37,38] | |
BB [42:LBL_55:132]:>[43,44], <[39] | |
BB [44:LBL_56:139]:>[67], <[41] | |
BB [45:LBL_57:146]:>[45,46,65], <[41] | |
BB [46:LBL_58:151]:>[65,139], <[44] | |
BB [47:LBL_59:153]:>[48], <[44] | |
BB [49:LBL_61:160]:>[49,50], <[46] | |
BB [50:LBL_62:168]:>[63,65], <[48] | |
BB [51:LBL_63:173]:>[51,52,61], <[48] | |
BB [52:LBL_131:-1]:>[52,61], <[50] | |
BB [53:LBL_64:179]:>[53,54,61], <[50,51] | |
BB [54:LBL_65:182]:>[61,139], <[52] | |
BB [55:LBL_66:184]:>[55], <[52] | |
BB [56:LBL_67:189]:>[56,57], <[54] | |
BB [57:LBL_68:194]:>[59,61], <[55] | |
BB [58:LBL_69:200]:>[58], <[55] | |
BB [59:LBL_70:202]:>[61,139], <[57] | |
BB [60:LBL_71:206]:>[60], <[56] | |
BB [61:LBL_72:208]:>[63,65], <[59] | |
BB [62:LBL_73:214]:>[62], <[50,51,52,53,56,58] | |
BB [63:LBL_74:216]:>[65,139], <[61] | |
BB [64:LBL_75:219]:>[67], <[49,60] | |
BB [66:LBL_77:229]:>[139], <[44,45,49,60,62] | |
BB [68:LBL_79:236]:>[138], <[43,63] | |
BB [69:LBL_29:239]:>[69,70,109], <[5,9,11,12,13,14,15,20,22,23,24,25,26,29,31,32,33,34,35,36,38] | |
BB [70:LBL_80:244]:>[109,139], <[68] | |
BB [71:LBL_81:246]:>[72], <[68] | |
BB [73:LBL_82:253]:>[73,74], <[70] | |
BB [74:LBL_87:259]:>[80,109], <[72] | |
BB [75:LBL_86:264]:>[75,76,78], <[72] | |
BB [76:LBL_88:269]:>[78,139], <[74] | |
BB [77:LBL_89:271]:>[77], <[74] | |
BB [78:LBL_90:273]:>[80,109], <[76] | |
BB [79:LBL_85:279]:>[79], <[74,75] | |
BB [80:LBL_83:281]:>[109,139], <[78] | |
BB [81:LBL_84:284]:>[81,109], <[73,77] | |
BB [82:LBL_91:290]:>[83], <[80] | |
BB [84:LBL_93:297]:>[84,85], <[81] | |
BB [85:LBL_94:304]:>[108], <[83] | |
BB [86:LBL_95:311]:>[86,87,106], <[83] | |
BB [87:LBL_96:316]:>[106,139], <[85] | |
BB [88:LBL_97:318]:>[89], <[85] | |
BB [90:LBL_99:325]:>[90,91], <[87] | |
BB [91:LBL_100:333]:>[104,106], <[89] | |
BB [92:LBL_101:338]:>[92,93,102], <[89] | |
BB [93:LBL_132:-1]:>[93,102], <[91] | |
BB [94:LBL_102:344]:>[94,95,102], <[91,92] | |
BB [95:LBL_103:347]:>[102,139], <[93] | |
BB [96:LBL_104:349]:>[96], <[93] | |
BB [97:LBL_105:354]:>[97,98], <[95] | |
BB [98:LBL_106:359]:>[100,102], <[96] | |
BB [99:LBL_107:365]:>[99], <[96] | |
BB [100:LBL_108:367]:>[102,139], <[98] | |
BB [101:LBL_109:371]:>[101], <[97] | |
BB [102:LBL_110:373]:>[104,106], <[100] | |
BB [103:LBL_111:379]:>[103], <[91,92,93,94,97,99] | |
BB [104:LBL_112:381]:>[106,139], <[102] | |
BB [105:LBL_113:384]:>[108], <[90,101] | |
BB [107:LBL_115:394]:>[139], <[85,86,90,101,103] | |
BB [109:LBL_117:401]:>[138], <[84,104] | |
BB [110:LBL_4:405]:>[111], <[68,69,73,77,79,80] | |
BB [112:LBL_5:413]:>[113,114], <[109] | |
BB [114:LBL_10:420]:>[137], <[111] | |
BB [115:LBL_9:427]:>[115,116,135], <[111] | |
BB [116:LBL_11:432]:>[135,139], <[114] | |
BB [117:LBL_12:434]:>[118], <[114] | |
BB [119:LBL_13:441]:>[119,120], <[116] | |
BB [120:LBL_18:449]:>[133,135], <[118] | |
BB [121:LBL_17:454]:>[121,122,131], <[118] | |
BB [122:LBL_133:-1]:>[122,131], <[120] | |
BB [123:LBL_21:460]:>[123,124,131], <[120,121] | |
BB [124:LBL_19:463]:>[131,139], <[122] | |
BB [125:LBL_20:465]:>[125], <[122] | |
BB [126:LBL_22:470]:>[126,127], <[124] | |
BB [127:LBL_26:475]:>[129,131], <[125] | |
BB [128:LBL_25:481]:>[128], <[125] | |
BB [129:LBL_23:483]:>[131,139], <[127] | |
BB [130:LBL_24:487]:>[130], <[126] | |
BB [131:LBL_27:489]:>[133,135], <[129] | |
BB [132:LBL_16:495]:>[132], <[120,121,122,123,126,128] | |
BB [133:LBL_14:497]:>[135,139], <[131] | |
BB [134:LBL_15:500]:>[137], <[119,130] | |
BB [136:LBL_8:510]:>[139], <[114,115,119,130,132] | |
BB [138:LBL_7:517]:>[139], <[113,133] | |
BB [139:LBL_3:519]:>[139], <[67,108] | |
BB [140:LBL_134:-1]:<[0,18,36,45,53,58,62,65,69,75,79,86,94,99,103,106,115,123,128,132,135,137,138] | |
2015-05-28T14:11:20.764-05:00: BasicCompilerPassListener: | |
Instructions[nested_ensures.rb#0#_transaction,IRMethod,DeadCodeElimination]: | |
BB [1:LBL_118:-1] | |
BB [2:LBL_119:-1] | |
%self = recv_self() | |
%v_0 = load_implicit_closure() | |
%current_scope = copy(scope<0>) | |
check_arity(;req: 1, opt: 1, *r: false, kw: false) | |
conn(0:0) = recv_pre_reqd_arg() | |
opts(0:1) = recv_opt_arg(;index:0, req: 1, pre: 1) | |
bne(LBL_0:11, opts(0:1), %undefined) | |
BB [3:LBL_120:-1] | |
%v_3 = search_const(%current_scope ;name: OPTS, no_priv: false) | |
opts(0:1) = copy(%v_3) | |
BB [4:LBL_0:11] | |
line_num(;n: 1) | |
%v_4 = call_1o(opts(0:1), :'rollback' ;n:[], t:NO, cl:false) | |
rollback(0:2) = copy(%v_4) | |
line_num(;n: 2) | |
%v_5 = get_global_var($!) | |
BB [6:LBL_1:19] | |
line_num(;n: 4) | |
%v_31 = call(%self, conn(0:0), opts(0:1) ;n:add_transaction, t:FU, cl:false) | |
line_num(;n: 5) | |
%v_32 = call(%self, conn(0:0), opts(0:1) ;n:begin_transaction, t:FU, cl:false) | |
line_num(;n: 6) | |
%v_33 = call_1o(rollback(0:2), :'always' ;n:==, t:NO, cl:false) | |
b_false(LBL_30:118, %v_33) | |
BB [7:LBL_121:-1] | |
line_num(;n: 7) | |
%v_34 = get_global_var($!) | |
BB [9:LBL_32:32] | |
line_num(;n: 9) | |
%v_40 = yield(%v_0, conn(0:0) ;unwrap: false) | |
ret(0:3) = copy(%v_40) | |
%v_39 = copy(%v_40) | |
BB [10:LBL_41:39] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_42:46, e1(0:4)) | |
BB [11:LBL_122:-1] | |
jump(LBL_45:57) | |
BB [12:LBL_42:46] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_43:50, %v_36, %undefined) | |
BB [13:LBL_123:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [14:LBL_43:50] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_44:54, %v_37, %undefined) | |
BB [15:LBL_124:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [16:LBL_44:54] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [17:LBL_45:57] | |
jump(LBL_34:116) | |
BB [18:LBL_40:60] | |
%v_41 = recv_ruby_exc() | |
%v_42 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_43 = rescue_eqq(Array:[%v_42], %v_41) | |
b_true(LBL_47:67, %v_43) | |
BB [19:LBL_46:65] | |
throw(%v_41) | |
BB [20:LBL_47:67] | |
%v_44 = get_global_var($!) | |
e1(0:4) = copy(%v_44) | |
line_num(;n: 12) | |
%v_45 = call_1o(%self, %v_44 ;n:raise, t:FU, cl:false) | |
%v_39 = copy(%v_45) | |
BB [21:LBL_48:73] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_49:80, e1(0:4)) | |
BB [22:LBL_125:-1] | |
jump(LBL_52:91) | |
BB [23:LBL_49:80] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_50:84, %v_36, %undefined) | |
BB [24:LBL_126:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [25:LBL_50:84] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_51:88, %v_37, %undefined) | |
BB [26:LBL_127:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [27:LBL_51:88] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [28:LBL_52:91] | |
jump(LBL_34:116) | |
BB [29:LBL_35:95] | |
%v_46 = recv_jruby_exc() | |
BB [30:LBL_33:97] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_36:103, e1(0:4)) | |
BB [31:LBL_128:-1] | |
jump(LBL_37:114) | |
BB [32:LBL_36:103] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_38:107, %v_36, %undefined) | |
BB [33:LBL_129:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [34:LBL_38:107] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_39:111, %v_37, %undefined) | |
BB [35:LBL_130:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [36:LBL_39:111] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [37:LBL_37:114] | |
throw(%v_46) | |
BB [38:LBL_34:116] | |
jump(LBL_31:122) | |
BB [39:LBL_30:118] | |
line_num(;n: 19) | |
%v_47 = yield(%v_0, conn(0:0) ;unwrap: false) | |
%v_39 = copy(%v_47) | |
BB [40:LBL_31:122] | |
%v_30 = copy(%v_39) | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [42:LBL_55:132] | |
line_num(;n: 36) | |
%v_9 = call(%self, e(0:5), conn(0:0), opts(0:1) ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
committed(0:6) = copy(%v_9) | |
BB [44:LBL_56:139] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_79:236) | |
BB [45:LBL_57:146] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_59:153, %v_12) | |
BB [46:LBL_58:151] | |
throw(%v_10) | |
BB [47:LBL_59:153] | |
%v_13 = get_global_var($!) | |
e2(0:7) = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [49:LBL_61:160] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>conn(0:0)}) | |
%v_18 = call(%self, e2(0:7), %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [50:LBL_62:168] | |
put_global_var($!, %v_14) | |
jump(LBL_75:219) | |
BB [51:LBL_63:173] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_64:179, %v_21, %undefined) | |
BB [52:LBL_131:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [53:LBL_64:179] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_66:184, %v_22) | |
BB [54:LBL_65:182] | |
throw(%v_19) | |
BB [55:LBL_66:184] | |
%v_23 = get_global_var($!) | |
e4(0:8) = copy(%v_23) | |
line_num(;n: 43) | |
BB [56:LBL_67:189] | |
line_num(;n: 44) | |
%v_26 = call(%self, conn(0:0), opts(0:1) ;n:rollback_transaction, t:FU, cl:false) | |
BB [57:LBL_68:194] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
jump(LBL_71:206) | |
BB [58:LBL_69:200] | |
%v_27 = recv_jruby_exc() | |
BB [59:LBL_70:202] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [60:LBL_71:206] | |
%v_15 = copy(%v_26) | |
BB [61:LBL_72:208] | |
put_global_var($!, %v_14) | |
jump(LBL_75:219) | |
BB [62:LBL_73:214] | |
%v_28 = recv_jruby_exc() | |
BB [63:LBL_74:216] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [64:LBL_75:219] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_79:236) | |
BB [66:LBL_77:229] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [68:LBL_79:236] | |
jump(LBL_3:519) | |
BB [69:LBL_29:239] | |
%v_48 = recv_ruby_exc() | |
%v_49 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_50 = rescue_eqq(Array:[%v_49], %v_48) | |
b_true(LBL_81:246, %v_50) | |
BB [70:LBL_80:244] | |
throw(%v_48) | |
BB [71:LBL_81:246] | |
%v_51 = get_global_var($!) | |
e(0:5) = copy(%v_51) | |
line_num(;n: 23) | |
%v_52 = get_global_var($!) | |
BB [73:LBL_82:253] | |
line_num(;n: 25) | |
%v_54 = call(%self, conn(0:0), opts(0:1) ;n:rollback_transaction, t:FU, cl:false) | |
BB [74:LBL_87:259] | |
put_global_var($!, %v_52) | |
jump(LBL_84:284) | |
BB [75:LBL_86:264] | |
%v_55 = recv_ruby_exc() | |
%v_56 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_57 = rescue_eqq(Array:[%v_56], %v_55) | |
b_true(LBL_89:271, %v_57) | |
BB [76:LBL_88:269] | |
throw(%v_55) | |
BB [77:LBL_89:271] | |
BB [78:LBL_90:273] | |
put_global_var($!, %v_52) | |
jump(LBL_84:284) | |
BB [79:LBL_85:279] | |
%v_58 = recv_jruby_exc() | |
BB [80:LBL_83:281] | |
put_global_var($!, %v_52) | |
throw(%v_58) | |
BB [81:LBL_84:284] | |
line_num(;n: 30) | |
%v_59 = copy({:'conn'=>conn(0:0), :'rollback'=>rollback(0:2)}) | |
%v_60 = call(%self, e(0:5), %v_59 ;n:transaction_error, t:FU, cl:false) | |
line_num(;n: 31) | |
%v_30 = copy(ret(0:3)) | |
BB [82:LBL_91:290] | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [84:LBL_93:297] | |
line_num(;n: 36) | |
%v_9 = call(%self, e(0:5), conn(0:0), opts(0:1) ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
committed(0:6) = copy(%v_9) | |
BB [85:LBL_94:304] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_117:401) | |
BB [86:LBL_95:311] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_97:318, %v_12) | |
BB [87:LBL_96:316] | |
throw(%v_10) | |
BB [88:LBL_97:318] | |
%v_13 = get_global_var($!) | |
e2(0:7) = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [90:LBL_99:325] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>conn(0:0)}) | |
%v_18 = call(%self, e2(0:7), %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [91:LBL_100:333] | |
put_global_var($!, %v_14) | |
jump(LBL_113:384) | |
BB [92:LBL_101:338] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_102:344, %v_21, %undefined) | |
BB [93:LBL_132:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [94:LBL_102:344] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_104:349, %v_22) | |
BB [95:LBL_103:347] | |
throw(%v_19) | |
BB [96:LBL_104:349] | |
%v_23 = get_global_var($!) | |
e4(0:8) = copy(%v_23) | |
line_num(;n: 43) | |
BB [97:LBL_105:354] | |
line_num(;n: 44) | |
%v_26 = call(%self, conn(0:0), opts(0:1) ;n:rollback_transaction, t:FU, cl:false) | |
BB [98:LBL_106:359] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
jump(LBL_109:371) | |
BB [99:LBL_107:365] | |
%v_27 = recv_jruby_exc() | |
BB [100:LBL_108:367] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [101:LBL_109:371] | |
%v_15 = copy(%v_26) | |
BB [102:LBL_110:373] | |
put_global_var($!, %v_14) | |
jump(LBL_113:384) | |
BB [103:LBL_111:379] | |
%v_28 = recv_jruby_exc() | |
BB [104:LBL_112:381] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [105:LBL_113:384] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_117:401) | |
BB [107:LBL_115:394] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [109:LBL_117:401] | |
jump(LBL_3:519) | |
BB [110:LBL_4:405] | |
%v_61 = recv_jruby_exc() | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [112:LBL_5:413] | |
line_num(;n: 36) | |
%v_9 = call(%self, e(0:5), conn(0:0), opts(0:1) ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
committed(0:6) = copy(%v_9) | |
BB [114:LBL_10:420] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_7:517) | |
BB [115:LBL_9:427] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_12:434, %v_12) | |
BB [116:LBL_11:432] | |
throw(%v_10) | |
BB [117:LBL_12:434] | |
%v_13 = get_global_var($!) | |
e2(0:7) = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [119:LBL_13:441] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>conn(0:0)}) | |
%v_18 = call(%self, e2(0:7), %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [120:LBL_18:449] | |
put_global_var($!, %v_14) | |
jump(LBL_15:500) | |
BB [121:LBL_17:454] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_21:460, %v_21, %undefined) | |
BB [122:LBL_133:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [123:LBL_21:460] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_20:465, %v_22) | |
BB [124:LBL_19:463] | |
throw(%v_19) | |
BB [125:LBL_20:465] | |
%v_23 = get_global_var($!) | |
e4(0:8) = copy(%v_23) | |
line_num(;n: 43) | |
BB [126:LBL_22:470] | |
line_num(;n: 44) | |
%v_26 = call(%self, conn(0:0), opts(0:1) ;n:rollback_transaction, t:FU, cl:false) | |
BB [127:LBL_26:475] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
jump(LBL_24:487) | |
BB [128:LBL_25:481] | |
%v_27 = recv_jruby_exc() | |
BB [129:LBL_23:483] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, e4(0:8) ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [130:LBL_24:487] | |
%v_15 = copy(%v_26) | |
BB [131:LBL_27:489] | |
put_global_var($!, %v_14) | |
jump(LBL_15:500) | |
BB [132:LBL_16:495] | |
%v_28 = recv_jruby_exc() | |
BB [133:LBL_14:497] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [134:LBL_15:500] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_7:517) | |
BB [136:LBL_8:510] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, conn(0:0), committed(0:6) ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [138:LBL_7:517] | |
throw(%v_61) | |
BB [139:LBL_3:519] | |
return(%v_30) | |
BB [140:LBL_134:-1] | |
------ Rescue block map ------ | |
BB 6 --> BB 69 | |
BB 9 --> BB 18 | |
BB 10 --> BB 69 | |
BB 12 --> BB 69 | |
BB 13 --> BB 69 | |
BB 14 --> BB 69 | |
BB 15 --> BB 69 | |
BB 16 --> BB 69 | |
BB 18 --> BB 29 | |
BB 19 --> BB 29 | |
BB 20 --> BB 29 | |
BB 21 --> BB 69 | |
BB 23 --> BB 69 | |
BB 24 --> BB 69 | |
BB 25 --> BB 69 | |
BB 26 --> BB 69 | |
BB 27 --> BB 69 | |
BB 30 --> BB 69 | |
BB 32 --> BB 69 | |
BB 33 --> BB 69 | |
BB 34 --> BB 69 | |
BB 35 --> BB 69 | |
BB 36 --> BB 69 | |
BB 37 --> BB 69 | |
BB 39 --> BB 69 | |
BB 42 --> BB 45 | |
BB 45 --> BB 66 | |
BB 46 --> BB 66 | |
BB 49 --> BB 51 | |
BB 50 --> BB 66 | |
BB 51 --> BB 62 | |
BB 52 --> BB 62 | |
BB 53 --> BB 62 | |
BB 54 --> BB 62 | |
BB 56 --> BB 58 | |
BB 57 --> BB 62 | |
BB 59 --> BB 62 | |
BB 61 --> BB 66 | |
BB 63 --> BB 66 | |
BB 69 --> BB 110 | |
BB 70 --> BB 110 | |
BB 73 --> BB 75 | |
BB 74 --> BB 110 | |
BB 75 --> BB 79 | |
BB 76 --> BB 79 | |
BB 78 --> BB 110 | |
BB 80 --> BB 110 | |
BB 81 --> BB 110 | |
BB 84 --> BB 86 | |
BB 86 --> BB 107 | |
BB 87 --> BB 107 | |
BB 90 --> BB 92 | |
BB 91 --> BB 107 | |
BB 92 --> BB 103 | |
BB 93 --> BB 103 | |
BB 94 --> BB 103 | |
BB 95 --> BB 103 | |
BB 97 --> BB 99 | |
BB 98 --> BB 103 | |
BB 100 --> BB 103 | |
BB 102 --> BB 107 | |
BB 104 --> BB 107 | |
BB 112 --> BB 115 | |
BB 115 --> BB 136 | |
BB 116 --> BB 136 | |
BB 119 --> BB 121 | |
BB 120 --> BB 136 | |
BB 121 --> BB 132 | |
BB 122 --> BB 132 | |
BB 123 --> BB 132 | |
BB 124 --> BB 132 | |
BB 126 --> BB 128 | |
BB 127 --> BB 132 | |
BB 129 --> BB 132 | |
BB 131 --> BB 136 | |
BB 133 --> BB 136 | |
:Instructions | |
2015-05-28T14:11:20.766-05:00: BasicCompilerPassListener: Finished Dead Code Elimination on scope in 3ms. | |
2015-05-28T14:11:20.767-05:00: BasicCompilerPassListener: Starting Add Local Variable Load/Store Instructions on scope INSTANCE_METHOD _transaction[nested_ensures.rb:0] | |
2015-05-28T14:11:20.778-05:00: BasicCompilerPassListener: | |
Graph: | |
BB [1:LBL_118:-1]:>[1,139] | |
BB [2:LBL_119:-1]:>[2,3], <[0] | |
BB [3:LBL_120:-1]:>[3], <[1] | |
BB [4:LBL_0:11]:>[5], <[1,2] | |
BB [6:LBL_1:19]:>[6,38,68], <[3] | |
BB [7:LBL_121:-1]:>[8], <[5] | |
BB [9:LBL_32:32]:>[9,17], <[6] | |
BB [10:LBL_41:39]:>[10,11,68], <[8] | |
BB [11:LBL_122:-1]:>[16], <[9] | |
BB [12:LBL_42:46]:>[12,13,68], <[9] | |
BB [13:LBL_123:-1]:>[13,68], <[11] | |
BB [14:LBL_43:50]:>[14,15,68], <[11,12] | |
BB [15:LBL_124:-1]:>[15,68], <[13] | |
BB [16:LBL_44:54]:>[16,68], <[13,14] | |
BB [17:LBL_45:57]:>[37], <[10,15] | |
BB [18:LBL_40:60]:>[18,19,28], <[8] | |
BB [19:LBL_46:65]:>[28,139], <[17] | |
BB [20:LBL_47:67]:>[20,28], <[17] | |
BB [21:LBL_48:73]:>[21,22,68], <[19] | |
BB [22:LBL_125:-1]:>[27], <[20] | |
BB [23:LBL_49:80]:>[23,24,68], <[20] | |
BB [24:LBL_126:-1]:>[24,68], <[22] | |
BB [25:LBL_50:84]:>[25,26,68], <[22,23] | |
BB [26:LBL_127:-1]:>[26,68], <[24] | |
BB [27:LBL_51:88]:>[27,68], <[24,25] | |
BB [28:LBL_52:91]:>[37], <[21,26] | |
BB [29:LBL_35:95]:>[29], <[17,18,19] | |
BB [30:LBL_33:97]:>[30,31,68], <[28] | |
BB [31:LBL_128:-1]:>[36], <[29] | |
BB [32:LBL_36:103]:>[32,33,68], <[29] | |
BB [33:LBL_129:-1]:>[33,68], <[31] | |
BB [34:LBL_38:107]:>[34,35,68], <[31,32] | |
BB [35:LBL_130:-1]:>[35,68], <[33] | |
BB [36:LBL_39:111]:>[36,68], <[33,34] | |
BB [37:LBL_37:114]:>[68,139], <[30,35] | |
BB [38:LBL_34:116]:>[39], <[16,27] | |
BB [39:LBL_30:118]:>[39,68], <[5] | |
BB [40:LBL_31:122]:>[41], <[37,38] | |
BB [42:LBL_55:132]:>[43,44], <[39] | |
BB [44:LBL_56:139]:>[67], <[41] | |
BB [45:LBL_57:146]:>[45,46,65], <[41] | |
BB [46:LBL_58:151]:>[65,139], <[44] | |
BB [47:LBL_59:153]:>[48], <[44] | |
BB [49:LBL_61:160]:>[49,50], <[46] | |
BB [50:LBL_62:168]:>[63,65], <[48] | |
BB [51:LBL_63:173]:>[51,52,61], <[48] | |
BB [52:LBL_131:-1]:>[52,61], <[50] | |
BB [53:LBL_64:179]:>[53,54,61], <[50,51] | |
BB [54:LBL_65:182]:>[61,139], <[52] | |
BB [55:LBL_66:184]:>[55], <[52] | |
BB [56:LBL_67:189]:>[56,57], <[54] | |
BB [57:LBL_68:194]:>[59,61], <[55] | |
BB [58:LBL_69:200]:>[58], <[55] | |
BB [59:LBL_70:202]:>[61,139], <[57] | |
BB [60:LBL_71:206]:>[60], <[56] | |
BB [61:LBL_72:208]:>[63,65], <[59] | |
BB [62:LBL_73:214]:>[62], <[50,51,52,53,56,58] | |
BB [63:LBL_74:216]:>[65,139], <[61] | |
BB [64:LBL_75:219]:>[67], <[49,60] | |
BB [66:LBL_77:229]:>[139], <[44,45,49,60,62] | |
BB [68:LBL_79:236]:>[138], <[43,63] | |
BB [69:LBL_29:239]:>[69,70,109], <[5,9,11,12,13,14,15,20,22,23,24,25,26,29,31,32,33,34,35,36,38] | |
BB [70:LBL_80:244]:>[109,139], <[68] | |
BB [71:LBL_81:246]:>[72], <[68] | |
BB [73:LBL_82:253]:>[73,74], <[70] | |
BB [74:LBL_87:259]:>[80,109], <[72] | |
BB [75:LBL_86:264]:>[75,76,78], <[72] | |
BB [76:LBL_88:269]:>[78,139], <[74] | |
BB [77:LBL_89:271]:>[77], <[74] | |
BB [78:LBL_90:273]:>[80,109], <[76] | |
BB [79:LBL_85:279]:>[79], <[74,75] | |
BB [80:LBL_83:281]:>[109,139], <[78] | |
BB [81:LBL_84:284]:>[81,109], <[73,77] | |
BB [82:LBL_91:290]:>[83], <[80] | |
BB [84:LBL_93:297]:>[84,85], <[81] | |
BB [85:LBL_94:304]:>[108], <[83] | |
BB [86:LBL_95:311]:>[86,87,106], <[83] | |
BB [87:LBL_96:316]:>[106,139], <[85] | |
BB [88:LBL_97:318]:>[89], <[85] | |
BB [90:LBL_99:325]:>[90,91], <[87] | |
BB [91:LBL_100:333]:>[104,106], <[89] | |
BB [92:LBL_101:338]:>[92,93,102], <[89] | |
BB [93:LBL_132:-1]:>[93,102], <[91] | |
BB [94:LBL_102:344]:>[94,95,102], <[91,92] | |
BB [95:LBL_103:347]:>[102,139], <[93] | |
BB [96:LBL_104:349]:>[96], <[93] | |
BB [97:LBL_105:354]:>[97,98], <[95] | |
BB [98:LBL_106:359]:>[100,102], <[96] | |
BB [99:LBL_107:365]:>[99], <[96] | |
BB [100:LBL_108:367]:>[102,139], <[98] | |
BB [101:LBL_109:371]:>[101], <[97] | |
BB [102:LBL_110:373]:>[104,106], <[100] | |
BB [103:LBL_111:379]:>[103], <[91,92,93,94,97,99] | |
BB [104:LBL_112:381]:>[106,139], <[102] | |
BB [105:LBL_113:384]:>[108], <[90,101] | |
BB [107:LBL_115:394]:>[139], <[85,86,90,101,103] | |
BB [109:LBL_117:401]:>[138], <[84,104] | |
BB [110:LBL_4:405]:>[111], <[68,69,73,77,79,80] | |
BB [112:LBL_5:413]:>[113,114], <[109] | |
BB [114:LBL_10:420]:>[137], <[111] | |
BB [115:LBL_9:427]:>[115,116,135], <[111] | |
BB [116:LBL_11:432]:>[135,139], <[114] | |
BB [117:LBL_12:434]:>[118], <[114] | |
BB [119:LBL_13:441]:>[119,120], <[116] | |
BB [120:LBL_18:449]:>[133,135], <[118] | |
BB [121:LBL_17:454]:>[121,122,131], <[118] | |
BB [122:LBL_133:-1]:>[122,131], <[120] | |
BB [123:LBL_21:460]:>[123,124,131], <[120,121] | |
BB [124:LBL_19:463]:>[131,139], <[122] | |
BB [125:LBL_20:465]:>[125], <[122] | |
BB [126:LBL_22:470]:>[126,127], <[124] | |
BB [127:LBL_26:475]:>[129,131], <[125] | |
BB [128:LBL_25:481]:>[128], <[125] | |
BB [129:LBL_23:483]:>[131,139], <[127] | |
BB [130:LBL_24:487]:>[130], <[126] | |
BB [131:LBL_27:489]:>[133,135], <[129] | |
BB [132:LBL_16:495]:>[132], <[120,121,122,123,126,128] | |
BB [133:LBL_14:497]:>[135,139], <[131] | |
BB [134:LBL_15:500]:>[137], <[119,130] | |
BB [136:LBL_8:510]:>[139], <[114,115,119,130,132] | |
BB [138:LBL_7:517]:>[139], <[113,133] | |
BB [139:LBL_3:519]:>[139], <[67,108] | |
BB [140:LBL_134:-1]:<[0,18,36,45,53,58,62,65,69,75,79,86,94,99,103,106,115,123,128,132,135,137,138] | |
2015-05-28T14:11:20.780-05:00: BasicCompilerPassListener: | |
Instructions[nested_ensures.rb#0#_transaction,IRMethod,AddLocalVarLoadStoreInstructions]: | |
BB [1:LBL_118:-1] | |
BB [2:LBL_119:-1] | |
%self = recv_self() | |
%v_0 = load_implicit_closure() | |
%current_scope = copy(scope<0>) | |
check_arity(;req: 1, opt: 1, *r: false, kw: false) | |
%t_conn_62 = recv_pre_reqd_arg() | |
%t_opts_63 = recv_opt_arg(;index:0, req: 1, pre: 1) | |
bne(LBL_0:11, %t_opts_63, %undefined) | |
BB [3:LBL_120:-1] | |
%v_3 = search_const(%current_scope ;name: OPTS, no_priv: false) | |
%t_opts_63 = copy(%v_3) | |
BB [4:LBL_0:11] | |
line_num(;n: 1) | |
%v_4 = call_1o(%t_opts_63, :'rollback' ;n:[], t:NO, cl:false) | |
%t_rollback_64 = copy(%v_4) | |
line_num(;n: 2) | |
%v_5 = get_global_var($!) | |
BB [6:LBL_1:19] | |
line_num(;n: 4) | |
binding_store(%t_rollback_64, rollback(0:2) ;scope_name: _transaction) | |
binding_store(%t_conn_62, conn(0:0) ;scope_name: _transaction) | |
binding_store(%t_opts_63, opts(0:1) ;scope_name: _transaction) | |
%v_31 = call(%self, %t_conn_62, %t_opts_63 ;n:add_transaction, t:FU, cl:false) | |
line_num(;n: 5) | |
%v_32 = call(%self, %t_conn_62, %t_opts_63 ;n:begin_transaction, t:FU, cl:false) | |
line_num(;n: 6) | |
%v_33 = call_1o(%t_rollback_64, :'always' ;n:==, t:NO, cl:false) | |
b_false(LBL_30:118, %v_33) | |
BB [7:LBL_121:-1] | |
line_num(;n: 7) | |
%v_34 = get_global_var($!) | |
BB [9:LBL_32:32] | |
line_num(;n: 9) | |
%v_40 = yield(%v_0, %t_conn_62 ;unwrap: false) | |
%t_ret_65 = copy(%v_40) | |
%v_39 = copy(%v_40) | |
BB [10:LBL_41:39] | |
binding_store(%t_ret_65, ret(0:3) ;scope_name: _transaction) | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_42:46, %t_e1_66) | |
BB [11:LBL_122:-1] | |
jump(LBL_45:57) | |
BB [12:LBL_42:46] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_43:50, %v_36, %undefined) | |
BB [13:LBL_123:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [14:LBL_43:50] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_44:54, %v_37, %undefined) | |
BB [15:LBL_124:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [16:LBL_44:54] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [17:LBL_45:57] | |
jump(LBL_34:116) | |
BB [18:LBL_40:60] | |
%t_e_70 = binding_load(e(0:5) ;scope: _transaction) | |
%t_ret_65 = binding_load(ret(0:3) ;scope: _transaction) | |
%t_conn_62 = binding_load(conn(0:0) ;scope: _transaction) | |
%t_opts_63 = binding_load(opts(0:1) ;scope: _transaction) | |
%v_41 = recv_ruby_exc() | |
binding_store(%t_ret_65, ret(0:3) ;scope_name: _transaction) | |
%v_42 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_43 = rescue_eqq(Array:[%v_42], %v_41) | |
b_true(LBL_47:67, %v_43) | |
BB [19:LBL_46:65] | |
throw(%v_41) | |
BB [20:LBL_47:67] | |
%v_44 = get_global_var($!) | |
%t_e1_66 = copy(%v_44) | |
line_num(;n: 12) | |
binding_store(%t_e1_66, e1(0:4) ;scope_name: _transaction) | |
%v_45 = call_1o(%self, %v_44 ;n:raise, t:FU, cl:false) | |
%v_39 = copy(%v_45) | |
BB [21:LBL_48:73] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_49:80, %t_e1_66) | |
BB [22:LBL_125:-1] | |
jump(LBL_52:91) | |
BB [23:LBL_49:80] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_50:84, %v_36, %undefined) | |
BB [24:LBL_126:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [25:LBL_50:84] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_51:88, %v_37, %undefined) | |
BB [26:LBL_127:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [27:LBL_51:88] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [28:LBL_52:91] | |
jump(LBL_34:116) | |
BB [29:LBL_35:95] | |
%t_e1_66 = binding_load(e1(0:4) ;scope: _transaction) | |
%v_46 = recv_jruby_exc() | |
BB [30:LBL_33:97] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_36:103, %t_e1_66) | |
BB [31:LBL_128:-1] | |
jump(LBL_37:114) | |
BB [32:LBL_36:103] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_38:107, %v_36, %undefined) | |
BB [33:LBL_129:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [34:LBL_38:107] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_39:111, %v_37, %undefined) | |
BB [35:LBL_130:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [36:LBL_39:111] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [37:LBL_37:114] | |
throw(%v_46) | |
BB [38:LBL_34:116] | |
jump(LBL_31:122) | |
BB [39:LBL_30:118] | |
line_num(;n: 19) | |
%v_47 = yield(%v_0, %t_conn_62 ;unwrap: false) | |
%v_39 = copy(%v_47) | |
BB [40:LBL_31:122] | |
%v_30 = copy(%v_39) | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [42:LBL_55:132] | |
line_num(;n: 36) | |
%v_9 = call(%self, %t_e_70, %t_conn_62, %t_opts_63 ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
%t_committed_67 = copy(%v_9) | |
BB [44:LBL_56:139] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_79:236) | |
BB [45:LBL_57:146] | |
%t_committed_67 = binding_load(committed(0:6) ;scope: _transaction) | |
%t_conn_62 = binding_load(conn(0:0) ;scope: _transaction) | |
%v_10 = recv_ruby_exc() | |
binding_store(%t_committed_67, committed(0:6) ;scope_name: _transaction) | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_59:153, %v_12) | |
BB [46:LBL_58:151] | |
throw(%v_10) | |
BB [47:LBL_59:153] | |
%v_13 = get_global_var($!) | |
%t_e2_68 = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [49:LBL_61:160] | |
line_num(;n: 40) | |
binding_store(%t_e2_68, e2(0:7) ;scope_name: _transaction) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>%t_conn_62}) | |
%v_18 = call(%self, %t_e2_68, %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [50:LBL_62:168] | |
put_global_var($!, %v_14) | |
jump(LBL_75:219) | |
BB [51:LBL_63:173] | |
%t_committed_67 = binding_load(committed(0:6) ;scope: _transaction) | |
%t_conn_62 = binding_load(conn(0:0) ;scope: _transaction) | |
%t_opts_63 = binding_load(opts(0:1) ;scope: _transaction) | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_64:179, %v_21, %undefined) | |
BB [52:LBL_131:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [53:LBL_64:179] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_66:184, %v_22) | |
BB [54:LBL_65:182] | |
throw(%v_19) | |
BB [55:LBL_66:184] | |
%v_23 = get_global_var($!) | |
%t_e4_69 = copy(%v_23) | |
line_num(;n: 43) | |
BB [56:LBL_67:189] | |
line_num(;n: 44) | |
binding_store(%t_e4_69, e4(0:8) ;scope_name: _transaction) | |
%v_26 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [57:LBL_68:194] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
jump(LBL_71:206) | |
BB [58:LBL_69:200] | |
%t_e4_69 = binding_load(e4(0:8) ;scope: _transaction) | |
%v_27 = recv_jruby_exc() | |
BB [59:LBL_70:202] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [60:LBL_71:206] | |
%v_15 = copy(%v_26) | |
BB [61:LBL_72:208] | |
put_global_var($!, %v_14) | |
jump(LBL_75:219) | |
BB [62:LBL_73:214] | |
%v_28 = recv_jruby_exc() | |
BB [63:LBL_74:216] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [64:LBL_75:219] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_79:236) | |
BB [66:LBL_77:229] | |
%t_committed_67 = binding_load(committed(0:6) ;scope: _transaction) | |
%t_conn_62 = binding_load(conn(0:0) ;scope: _transaction) | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [68:LBL_79:236] | |
jump(LBL_3:519) | |
BB [69:LBL_29:239] | |
%t_ret_65 = binding_load(ret(0:3) ;scope: _transaction) | |
%t_rollback_64 = binding_load(rollback(0:2) ;scope: _transaction) | |
%t_conn_62 = binding_load(conn(0:0) ;scope: _transaction) | |
%t_opts_63 = binding_load(opts(0:1) ;scope: _transaction) | |
%v_48 = recv_ruby_exc() | |
%v_49 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_50 = rescue_eqq(Array:[%v_49], %v_48) | |
b_true(LBL_81:246, %v_50) | |
BB [70:LBL_80:244] | |
throw(%v_48) | |
BB [71:LBL_81:246] | |
%v_51 = get_global_var($!) | |
%t_e_70 = copy(%v_51) | |
line_num(;n: 23) | |
%v_52 = get_global_var($!) | |
BB [73:LBL_82:253] | |
line_num(;n: 25) | |
binding_store(%t_e_70, e(0:5) ;scope_name: _transaction) | |
%v_54 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [74:LBL_87:259] | |
put_global_var($!, %v_52) | |
jump(LBL_84:284) | |
BB [75:LBL_86:264] | |
%t_e_70 = binding_load(e(0:5) ;scope: _transaction) | |
%t_ret_65 = binding_load(ret(0:3) ;scope: _transaction) | |
%t_rollback_64 = binding_load(rollback(0:2) ;scope: _transaction) | |
%t_conn_62 = binding_load(conn(0:0) ;scope: _transaction) | |
%t_opts_63 = binding_load(opts(0:1) ;scope: _transaction) | |
%v_55 = recv_ruby_exc() | |
%v_56 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_57 = rescue_eqq(Array:[%v_56], %v_55) | |
b_true(LBL_89:271, %v_57) | |
BB [76:LBL_88:269] | |
throw(%v_55) | |
BB [77:LBL_89:271] | |
BB [78:LBL_90:273] | |
put_global_var($!, %v_52) | |
jump(LBL_84:284) | |
BB [79:LBL_85:279] | |
%v_58 = recv_jruby_exc() | |
BB [80:LBL_83:281] | |
put_global_var($!, %v_52) | |
throw(%v_58) | |
BB [81:LBL_84:284] | |
line_num(;n: 30) | |
%v_59 = copy({:'conn'=>%t_conn_62, :'rollback'=>%t_rollback_64}) | |
%v_60 = call(%self, %t_e_70, %v_59 ;n:transaction_error, t:FU, cl:false) | |
line_num(;n: 31) | |
%v_30 = copy(%t_ret_65) | |
BB [82:LBL_91:290] | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [84:LBL_93:297] | |
line_num(;n: 36) | |
%v_9 = call(%self, %t_e_70, %t_conn_62, %t_opts_63 ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
%t_committed_67 = copy(%v_9) | |
BB [85:LBL_94:304] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_117:401) | |
BB [86:LBL_95:311] | |
%t_committed_67 = binding_load(committed(0:6) ;scope: _transaction) | |
%t_conn_62 = binding_load(conn(0:0) ;scope: _transaction) | |
%v_10 = recv_ruby_exc() | |
binding_store(%t_committed_67, committed(0:6) ;scope_name: _transaction) | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_97:318, %v_12) | |
BB [87:LBL_96:316] | |
throw(%v_10) | |
BB [88:LBL_97:318] | |
%v_13 = get_global_var($!) | |
%t_e2_68 = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [90:LBL_99:325] | |
line_num(;n: 40) | |
binding_store(%t_e2_68, e2(0:7) ;scope_name: _transaction) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>%t_conn_62}) | |
%v_18 = call(%self, %t_e2_68, %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [91:LBL_100:333] | |
put_global_var($!, %v_14) | |
jump(LBL_113:384) | |
BB [92:LBL_101:338] | |
%t_committed_67 = binding_load(committed(0:6) ;scope: _transaction) | |
%t_conn_62 = binding_load(conn(0:0) ;scope: _transaction) | |
%t_opts_63 = binding_load(opts(0:1) ;scope: _transaction) | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_102:344, %v_21, %undefined) | |
BB [93:LBL_132:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [94:LBL_102:344] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_104:349, %v_22) | |
BB [95:LBL_103:347] | |
throw(%v_19) | |
BB [96:LBL_104:349] | |
%v_23 = get_global_var($!) | |
%t_e4_69 = copy(%v_23) | |
line_num(;n: 43) | |
BB [97:LBL_105:354] | |
line_num(;n: 44) | |
binding_store(%t_e4_69, e4(0:8) ;scope_name: _transaction) | |
%v_26 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [98:LBL_106:359] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
jump(LBL_109:371) | |
BB [99:LBL_107:365] | |
%t_e4_69 = binding_load(e4(0:8) ;scope: _transaction) | |
%v_27 = recv_jruby_exc() | |
BB [100:LBL_108:367] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [101:LBL_109:371] | |
%v_15 = copy(%v_26) | |
BB [102:LBL_110:373] | |
put_global_var($!, %v_14) | |
jump(LBL_113:384) | |
BB [103:LBL_111:379] | |
%v_28 = recv_jruby_exc() | |
BB [104:LBL_112:381] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [105:LBL_113:384] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_117:401) | |
BB [107:LBL_115:394] | |
%t_committed_67 = binding_load(committed(0:6) ;scope: _transaction) | |
%t_conn_62 = binding_load(conn(0:0) ;scope: _transaction) | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [109:LBL_117:401] | |
jump(LBL_3:519) | |
BB [110:LBL_4:405] | |
%t_e_70 = binding_load(e(0:5) ;scope: _transaction) | |
%t_conn_62 = binding_load(conn(0:0) ;scope: _transaction) | |
%t_opts_63 = binding_load(opts(0:1) ;scope: _transaction) | |
%v_61 = recv_jruby_exc() | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [112:LBL_5:413] | |
line_num(;n: 36) | |
%v_9 = call(%self, %t_e_70, %t_conn_62, %t_opts_63 ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
%t_committed_67 = copy(%v_9) | |
BB [114:LBL_10:420] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_7:517) | |
BB [115:LBL_9:427] | |
%t_committed_67 = binding_load(committed(0:6) ;scope: _transaction) | |
%t_conn_62 = binding_load(conn(0:0) ;scope: _transaction) | |
%v_10 = recv_ruby_exc() | |
binding_store(%t_committed_67, committed(0:6) ;scope_name: _transaction) | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_12:434, %v_12) | |
BB [116:LBL_11:432] | |
throw(%v_10) | |
BB [117:LBL_12:434] | |
%v_13 = get_global_var($!) | |
%t_e2_68 = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [119:LBL_13:441] | |
line_num(;n: 40) | |
binding_store(%t_e2_68, e2(0:7) ;scope_name: _transaction) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>%t_conn_62}) | |
%v_18 = call(%self, %t_e2_68, %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [120:LBL_18:449] | |
put_global_var($!, %v_14) | |
jump(LBL_15:500) | |
BB [121:LBL_17:454] | |
%t_committed_67 = binding_load(committed(0:6) ;scope: _transaction) | |
%t_conn_62 = binding_load(conn(0:0) ;scope: _transaction) | |
%t_opts_63 = binding_load(opts(0:1) ;scope: _transaction) | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_21:460, %v_21, %undefined) | |
BB [122:LBL_133:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [123:LBL_21:460] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_20:465, %v_22) | |
BB [124:LBL_19:463] | |
throw(%v_19) | |
BB [125:LBL_20:465] | |
%v_23 = get_global_var($!) | |
%t_e4_69 = copy(%v_23) | |
line_num(;n: 43) | |
BB [126:LBL_22:470] | |
line_num(;n: 44) | |
binding_store(%t_e4_69, e4(0:8) ;scope_name: _transaction) | |
%v_26 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [127:LBL_26:475] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
jump(LBL_24:487) | |
BB [128:LBL_25:481] | |
%t_e4_69 = binding_load(e4(0:8) ;scope: _transaction) | |
%v_27 = recv_jruby_exc() | |
BB [129:LBL_23:483] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [130:LBL_24:487] | |
%v_15 = copy(%v_26) | |
BB [131:LBL_27:489] | |
put_global_var($!, %v_14) | |
jump(LBL_15:500) | |
BB [132:LBL_16:495] | |
%v_28 = recv_jruby_exc() | |
BB [133:LBL_14:497] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [134:LBL_15:500] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_7:517) | |
BB [136:LBL_8:510] | |
%t_committed_67 = binding_load(committed(0:6) ;scope: _transaction) | |
%t_conn_62 = binding_load(conn(0:0) ;scope: _transaction) | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [138:LBL_7:517] | |
throw(%v_61) | |
BB [139:LBL_3:519] | |
return(%v_30) | |
BB [140:LBL_134:-1] | |
------ Rescue block map ------ | |
BB 6 --> BB 69 | |
BB 9 --> BB 18 | |
BB 10 --> BB 69 | |
BB 12 --> BB 69 | |
BB 13 --> BB 69 | |
BB 14 --> BB 69 | |
BB 15 --> BB 69 | |
BB 16 --> BB 69 | |
BB 18 --> BB 29 | |
BB 19 --> BB 29 | |
BB 20 --> BB 29 | |
BB 21 --> BB 69 | |
BB 23 --> BB 69 | |
BB 24 --> BB 69 | |
BB 25 --> BB 69 | |
BB 26 --> BB 69 | |
BB 27 --> BB 69 | |
BB 30 --> BB 69 | |
BB 32 --> BB 69 | |
BB 33 --> BB 69 | |
BB 34 --> BB 69 | |
BB 35 --> BB 69 | |
BB 36 --> BB 69 | |
BB 37 --> BB 69 | |
BB 39 --> BB 69 | |
BB 42 --> BB 45 | |
BB 45 --> BB 66 | |
BB 46 --> BB 66 | |
BB 49 --> BB 51 | |
BB 50 --> BB 66 | |
BB 51 --> BB 62 | |
BB 52 --> BB 62 | |
BB 53 --> BB 62 | |
BB 54 --> BB 62 | |
BB 56 --> BB 58 | |
BB 57 --> BB 62 | |
BB 59 --> BB 62 | |
BB 61 --> BB 66 | |
BB 63 --> BB 66 | |
BB 69 --> BB 110 | |
BB 70 --> BB 110 | |
BB 73 --> BB 75 | |
BB 74 --> BB 110 | |
BB 75 --> BB 79 | |
BB 76 --> BB 79 | |
BB 78 --> BB 110 | |
BB 80 --> BB 110 | |
BB 81 --> BB 110 | |
BB 84 --> BB 86 | |
BB 86 --> BB 107 | |
BB 87 --> BB 107 | |
BB 90 --> BB 92 | |
BB 91 --> BB 107 | |
BB 92 --> BB 103 | |
BB 93 --> BB 103 | |
BB 94 --> BB 103 | |
BB 95 --> BB 103 | |
BB 97 --> BB 99 | |
BB 98 --> BB 103 | |
BB 100 --> BB 103 | |
BB 102 --> BB 107 | |
BB 104 --> BB 107 | |
BB 112 --> BB 115 | |
BB 115 --> BB 136 | |
BB 116 --> BB 136 | |
BB 119 --> BB 121 | |
BB 120 --> BB 136 | |
BB 121 --> BB 132 | |
BB 122 --> BB 132 | |
BB 123 --> BB 132 | |
BB 124 --> BB 132 | |
BB 126 --> BB 128 | |
BB 127 --> BB 132 | |
BB 129 --> BB 132 | |
BB 131 --> BB 136 | |
BB 133 --> BB 136 | |
:Instructions | |
2015-05-28T14:11:20.782-05:00: BasicCompilerPassListener: Finished Add Local Variable Load/Store Instructions on scope in 9ms. | |
2015-05-28T14:11:20.782-05:00: BasicCompilerPassListener: Starting Optimize Dynamic Scopes on scope INSTANCE_METHOD _transaction[nested_ensures.rb:0] | |
2015-05-28T14:11:20.784-05:00: BasicCompilerPassListener: | |
Graph: | |
BB [1:LBL_118:-1]:>[1,139] | |
BB [2:LBL_119:-1]:>[2,3], <[0] | |
BB [3:LBL_120:-1]:>[3], <[1] | |
BB [4:LBL_0:11]:>[5], <[1,2] | |
BB [6:LBL_1:19]:>[6,38,68], <[3] | |
BB [7:LBL_121:-1]:>[8], <[5] | |
BB [9:LBL_32:32]:>[9,17], <[6] | |
BB [10:LBL_41:39]:>[10,11,68], <[8] | |
BB [11:LBL_122:-1]:>[16], <[9] | |
BB [12:LBL_42:46]:>[12,13,68], <[9] | |
BB [13:LBL_123:-1]:>[13,68], <[11] | |
BB [14:LBL_43:50]:>[14,15,68], <[11,12] | |
BB [15:LBL_124:-1]:>[15,68], <[13] | |
BB [16:LBL_44:54]:>[16,68], <[13,14] | |
BB [17:LBL_45:57]:>[37], <[10,15] | |
BB [18:LBL_40:60]:>[18,19,28], <[8] | |
BB [19:LBL_46:65]:>[28,139], <[17] | |
BB [20:LBL_47:67]:>[20,28], <[17] | |
BB [21:LBL_48:73]:>[21,22,68], <[19] | |
BB [22:LBL_125:-1]:>[27], <[20] | |
BB [23:LBL_49:80]:>[23,24,68], <[20] | |
BB [24:LBL_126:-1]:>[24,68], <[22] | |
BB [25:LBL_50:84]:>[25,26,68], <[22,23] | |
BB [26:LBL_127:-1]:>[26,68], <[24] | |
BB [27:LBL_51:88]:>[27,68], <[24,25] | |
BB [28:LBL_52:91]:>[37], <[21,26] | |
BB [29:LBL_35:95]:>[29], <[17,18,19] | |
BB [30:LBL_33:97]:>[30,31,68], <[28] | |
BB [31:LBL_128:-1]:>[36], <[29] | |
BB [32:LBL_36:103]:>[32,33,68], <[29] | |
BB [33:LBL_129:-1]:>[33,68], <[31] | |
BB [34:LBL_38:107]:>[34,35,68], <[31,32] | |
BB [35:LBL_130:-1]:>[35,68], <[33] | |
BB [36:LBL_39:111]:>[36,68], <[33,34] | |
BB [37:LBL_37:114]:>[68,139], <[30,35] | |
BB [38:LBL_34:116]:>[39], <[16,27] | |
BB [39:LBL_30:118]:>[39,68], <[5] | |
BB [40:LBL_31:122]:>[41], <[37,38] | |
BB [42:LBL_55:132]:>[43,44], <[39] | |
BB [44:LBL_56:139]:>[67], <[41] | |
BB [45:LBL_57:146]:>[45,46,65], <[41] | |
BB [46:LBL_58:151]:>[65,139], <[44] | |
BB [47:LBL_59:153]:>[48], <[44] | |
BB [49:LBL_61:160]:>[49,50], <[46] | |
BB [50:LBL_62:168]:>[63,65], <[48] | |
BB [51:LBL_63:173]:>[51,52,61], <[48] | |
BB [52:LBL_131:-1]:>[52,61], <[50] | |
BB [53:LBL_64:179]:>[53,54,61], <[50,51] | |
BB [54:LBL_65:182]:>[61,139], <[52] | |
BB [55:LBL_66:184]:>[55], <[52] | |
BB [56:LBL_67:189]:>[56,57], <[54] | |
BB [57:LBL_68:194]:>[59,61], <[55] | |
BB [58:LBL_69:200]:>[58], <[55] | |
BB [59:LBL_70:202]:>[61,139], <[57] | |
BB [60:LBL_71:206]:>[60], <[56] | |
BB [61:LBL_72:208]:>[63,65], <[59] | |
BB [62:LBL_73:214]:>[62], <[50,51,52,53,56,58] | |
BB [63:LBL_74:216]:>[65,139], <[61] | |
BB [64:LBL_75:219]:>[67], <[49,60] | |
BB [66:LBL_77:229]:>[139], <[44,45,49,60,62] | |
BB [68:LBL_79:236]:>[138], <[43,63] | |
BB [69:LBL_29:239]:>[69,70,109], <[5,9,11,12,13,14,15,20,22,23,24,25,26,29,31,32,33,34,35,36,38] | |
BB [70:LBL_80:244]:>[109,139], <[68] | |
BB [71:LBL_81:246]:>[72], <[68] | |
BB [73:LBL_82:253]:>[73,74], <[70] | |
BB [74:LBL_87:259]:>[80,109], <[72] | |
BB [75:LBL_86:264]:>[75,76,78], <[72] | |
BB [76:LBL_88:269]:>[78,139], <[74] | |
BB [77:LBL_89:271]:>[77], <[74] | |
BB [78:LBL_90:273]:>[80,109], <[76] | |
BB [79:LBL_85:279]:>[79], <[74,75] | |
BB [80:LBL_83:281]:>[109,139], <[78] | |
BB [81:LBL_84:284]:>[81,109], <[73,77] | |
BB [82:LBL_91:290]:>[83], <[80] | |
BB [84:LBL_93:297]:>[84,85], <[81] | |
BB [85:LBL_94:304]:>[108], <[83] | |
BB [86:LBL_95:311]:>[86,87,106], <[83] | |
BB [87:LBL_96:316]:>[106,139], <[85] | |
BB [88:LBL_97:318]:>[89], <[85] | |
BB [90:LBL_99:325]:>[90,91], <[87] | |
BB [91:LBL_100:333]:>[104,106], <[89] | |
BB [92:LBL_101:338]:>[92,93,102], <[89] | |
BB [93:LBL_132:-1]:>[93,102], <[91] | |
BB [94:LBL_102:344]:>[94,95,102], <[91,92] | |
BB [95:LBL_103:347]:>[102,139], <[93] | |
BB [96:LBL_104:349]:>[96], <[93] | |
BB [97:LBL_105:354]:>[97,98], <[95] | |
BB [98:LBL_106:359]:>[100,102], <[96] | |
BB [99:LBL_107:365]:>[99], <[96] | |
BB [100:LBL_108:367]:>[102,139], <[98] | |
BB [101:LBL_109:371]:>[101], <[97] | |
BB [102:LBL_110:373]:>[104,106], <[100] | |
BB [103:LBL_111:379]:>[103], <[91,92,93,94,97,99] | |
BB [104:LBL_112:381]:>[106,139], <[102] | |
BB [105:LBL_113:384]:>[108], <[90,101] | |
BB [107:LBL_115:394]:>[139], <[85,86,90,101,103] | |
BB [109:LBL_117:401]:>[138], <[84,104] | |
BB [110:LBL_4:405]:>[111], <[68,69,73,77,79,80] | |
BB [112:LBL_5:413]:>[113,114], <[109] | |
BB [114:LBL_10:420]:>[137], <[111] | |
BB [115:LBL_9:427]:>[115,116,135], <[111] | |
BB [116:LBL_11:432]:>[135,139], <[114] | |
BB [117:LBL_12:434]:>[118], <[114] | |
BB [119:LBL_13:441]:>[119,120], <[116] | |
BB [120:LBL_18:449]:>[133,135], <[118] | |
BB [121:LBL_17:454]:>[121,122,131], <[118] | |
BB [122:LBL_133:-1]:>[122,131], <[120] | |
BB [123:LBL_21:460]:>[123,124,131], <[120,121] | |
BB [124:LBL_19:463]:>[131,139], <[122] | |
BB [125:LBL_20:465]:>[125], <[122] | |
BB [126:LBL_22:470]:>[126,127], <[124] | |
BB [127:LBL_26:475]:>[129,131], <[125] | |
BB [128:LBL_25:481]:>[128], <[125] | |
BB [129:LBL_23:483]:>[131,139], <[127] | |
BB [130:LBL_24:487]:>[130], <[126] | |
BB [131:LBL_27:489]:>[133,135], <[129] | |
BB [132:LBL_16:495]:>[132], <[120,121,122,123,126,128] | |
BB [133:LBL_14:497]:>[135,139], <[131] | |
BB [134:LBL_15:500]:>[137], <[119,130] | |
BB [136:LBL_8:510]:>[139], <[114,115,119,130,132] | |
BB [138:LBL_7:517]:>[139], <[113,133] | |
BB [139:LBL_3:519]:>[139], <[67,108] | |
BB [140:LBL_134:-1]:<[0,18,36,45,53,58,62,65,69,75,79,86,94,99,103,106,115,123,128,132,135,137,138] | |
2015-05-28T14:11:20.785-05:00: BasicCompilerPassListener: | |
Instructions[nested_ensures.rb#0#_transaction,IRMethod,OptimizeDynScopesPass]: | |
BB [1:LBL_118:-1] | |
BB [2:LBL_119:-1] | |
%self = recv_self() | |
%v_0 = load_implicit_closure() | |
%current_scope = copy(scope<0>) | |
check_arity(;req: 1, opt: 1, *r: false, kw: false) | |
%t_conn_62 = recv_pre_reqd_arg() | |
%t_opts_63 = recv_opt_arg(;index:0, req: 1, pre: 1) | |
bne(LBL_0:11, %t_opts_63, %undefined) | |
BB [3:LBL_120:-1] | |
%v_3 = search_const(%current_scope ;name: OPTS, no_priv: false) | |
%t_opts_63 = copy(%v_3) | |
BB [4:LBL_0:11] | |
line_num(;n: 1) | |
%v_4 = call_1o(%t_opts_63, :'rollback' ;n:[], t:NO, cl:false) | |
%t_rollback_64 = copy(%v_4) | |
line_num(;n: 2) | |
%v_5 = get_global_var($!) | |
BB [6:LBL_1:19] | |
line_num(;n: 4) | |
%v_31 = call(%self, %t_conn_62, %t_opts_63 ;n:add_transaction, t:FU, cl:false) | |
line_num(;n: 5) | |
%v_32 = call(%self, %t_conn_62, %t_opts_63 ;n:begin_transaction, t:FU, cl:false) | |
line_num(;n: 6) | |
%v_33 = call_1o(%t_rollback_64, :'always' ;n:==, t:NO, cl:false) | |
b_false(LBL_30:118, %v_33) | |
BB [7:LBL_121:-1] | |
line_num(;n: 7) | |
%v_34 = get_global_var($!) | |
BB [9:LBL_32:32] | |
line_num(;n: 9) | |
%v_40 = yield(%v_0, %t_conn_62 ;unwrap: false) | |
%t_ret_65 = copy(%v_40) | |
%v_39 = copy(%v_40) | |
BB [10:LBL_41:39] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_42:46, %t_e1_66) | |
BB [11:LBL_122:-1] | |
jump(LBL_45:57) | |
BB [12:LBL_42:46] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_43:50, %v_36, %undefined) | |
BB [13:LBL_123:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [14:LBL_43:50] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_44:54, %v_37, %undefined) | |
BB [15:LBL_124:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [16:LBL_44:54] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [17:LBL_45:57] | |
jump(LBL_34:116) | |
BB [18:LBL_40:60] | |
%v_41 = recv_ruby_exc() | |
%v_42 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_43 = rescue_eqq(Array:[%v_42], %v_41) | |
b_true(LBL_47:67, %v_43) | |
BB [19:LBL_46:65] | |
throw(%v_41) | |
BB [20:LBL_47:67] | |
%v_44 = get_global_var($!) | |
%t_e1_66 = copy(%v_44) | |
line_num(;n: 12) | |
%v_45 = call_1o(%self, %v_44 ;n:raise, t:FU, cl:false) | |
%v_39 = copy(%v_45) | |
BB [21:LBL_48:73] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_49:80, %t_e1_66) | |
BB [22:LBL_125:-1] | |
jump(LBL_52:91) | |
BB [23:LBL_49:80] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_50:84, %v_36, %undefined) | |
BB [24:LBL_126:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [25:LBL_50:84] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_51:88, %v_37, %undefined) | |
BB [26:LBL_127:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [27:LBL_51:88] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [28:LBL_52:91] | |
jump(LBL_34:116) | |
BB [29:LBL_35:95] | |
%v_46 = recv_jruby_exc() | |
BB [30:LBL_33:97] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_36:103, %t_e1_66) | |
BB [31:LBL_128:-1] | |
jump(LBL_37:114) | |
BB [32:LBL_36:103] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_38:107, %v_36, %undefined) | |
BB [33:LBL_129:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [34:LBL_38:107] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_39:111, %v_37, %undefined) | |
BB [35:LBL_130:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [36:LBL_39:111] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [37:LBL_37:114] | |
throw(%v_46) | |
BB [38:LBL_34:116] | |
jump(LBL_31:122) | |
BB [39:LBL_30:118] | |
line_num(;n: 19) | |
%v_47 = yield(%v_0, %t_conn_62 ;unwrap: false) | |
%v_39 = copy(%v_47) | |
BB [40:LBL_31:122] | |
%v_30 = copy(%v_39) | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [42:LBL_55:132] | |
line_num(;n: 36) | |
%v_9 = call(%self, %t_e_70, %t_conn_62, %t_opts_63 ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
%t_committed_67 = copy(%v_9) | |
BB [44:LBL_56:139] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_79:236) | |
BB [45:LBL_57:146] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_59:153, %v_12) | |
BB [46:LBL_58:151] | |
throw(%v_10) | |
BB [47:LBL_59:153] | |
%v_13 = get_global_var($!) | |
%t_e2_68 = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [49:LBL_61:160] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>%t_conn_62}) | |
%v_18 = call(%self, %t_e2_68, %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [50:LBL_62:168] | |
put_global_var($!, %v_14) | |
jump(LBL_75:219) | |
BB [51:LBL_63:173] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_64:179, %v_21, %undefined) | |
BB [52:LBL_131:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [53:LBL_64:179] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_66:184, %v_22) | |
BB [54:LBL_65:182] | |
throw(%v_19) | |
BB [55:LBL_66:184] | |
%v_23 = get_global_var($!) | |
%t_e4_69 = copy(%v_23) | |
line_num(;n: 43) | |
BB [56:LBL_67:189] | |
line_num(;n: 44) | |
%v_26 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [57:LBL_68:194] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
jump(LBL_71:206) | |
BB [58:LBL_69:200] | |
%v_27 = recv_jruby_exc() | |
BB [59:LBL_70:202] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [60:LBL_71:206] | |
%v_15 = copy(%v_26) | |
BB [61:LBL_72:208] | |
put_global_var($!, %v_14) | |
jump(LBL_75:219) | |
BB [62:LBL_73:214] | |
%v_28 = recv_jruby_exc() | |
BB [63:LBL_74:216] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [64:LBL_75:219] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_79:236) | |
BB [66:LBL_77:229] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [68:LBL_79:236] | |
jump(LBL_3:519) | |
BB [69:LBL_29:239] | |
%v_48 = recv_ruby_exc() | |
%v_49 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_50 = rescue_eqq(Array:[%v_49], %v_48) | |
b_true(LBL_81:246, %v_50) | |
BB [70:LBL_80:244] | |
throw(%v_48) | |
BB [71:LBL_81:246] | |
%v_51 = get_global_var($!) | |
%t_e_70 = copy(%v_51) | |
line_num(;n: 23) | |
%v_52 = get_global_var($!) | |
BB [73:LBL_82:253] | |
line_num(;n: 25) | |
%v_54 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [74:LBL_87:259] | |
put_global_var($!, %v_52) | |
jump(LBL_84:284) | |
BB [75:LBL_86:264] | |
%v_55 = recv_ruby_exc() | |
%v_56 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_57 = rescue_eqq(Array:[%v_56], %v_55) | |
b_true(LBL_89:271, %v_57) | |
BB [76:LBL_88:269] | |
throw(%v_55) | |
BB [77:LBL_89:271] | |
BB [78:LBL_90:273] | |
put_global_var($!, %v_52) | |
jump(LBL_84:284) | |
BB [79:LBL_85:279] | |
%v_58 = recv_jruby_exc() | |
BB [80:LBL_83:281] | |
put_global_var($!, %v_52) | |
throw(%v_58) | |
BB [81:LBL_84:284] | |
line_num(;n: 30) | |
%v_59 = copy({:'conn'=>%t_conn_62, :'rollback'=>%t_rollback_64}) | |
%v_60 = call(%self, %t_e_70, %v_59 ;n:transaction_error, t:FU, cl:false) | |
line_num(;n: 31) | |
%v_30 = copy(%t_ret_65) | |
BB [82:LBL_91:290] | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [84:LBL_93:297] | |
line_num(;n: 36) | |
%v_9 = call(%self, %t_e_70, %t_conn_62, %t_opts_63 ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
%t_committed_67 = copy(%v_9) | |
BB [85:LBL_94:304] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_117:401) | |
BB [86:LBL_95:311] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_97:318, %v_12) | |
BB [87:LBL_96:316] | |
throw(%v_10) | |
BB [88:LBL_97:318] | |
%v_13 = get_global_var($!) | |
%t_e2_68 = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [90:LBL_99:325] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>%t_conn_62}) | |
%v_18 = call(%self, %t_e2_68, %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [91:LBL_100:333] | |
put_global_var($!, %v_14) | |
jump(LBL_113:384) | |
BB [92:LBL_101:338] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_102:344, %v_21, %undefined) | |
BB [93:LBL_132:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [94:LBL_102:344] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_104:349, %v_22) | |
BB [95:LBL_103:347] | |
throw(%v_19) | |
BB [96:LBL_104:349] | |
%v_23 = get_global_var($!) | |
%t_e4_69 = copy(%v_23) | |
line_num(;n: 43) | |
BB [97:LBL_105:354] | |
line_num(;n: 44) | |
%v_26 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [98:LBL_106:359] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
jump(LBL_109:371) | |
BB [99:LBL_107:365] | |
%v_27 = recv_jruby_exc() | |
BB [100:LBL_108:367] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [101:LBL_109:371] | |
%v_15 = copy(%v_26) | |
BB [102:LBL_110:373] | |
put_global_var($!, %v_14) | |
jump(LBL_113:384) | |
BB [103:LBL_111:379] | |
%v_28 = recv_jruby_exc() | |
BB [104:LBL_112:381] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [105:LBL_113:384] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_117:401) | |
BB [107:LBL_115:394] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [109:LBL_117:401] | |
jump(LBL_3:519) | |
BB [110:LBL_4:405] | |
%v_61 = recv_jruby_exc() | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [112:LBL_5:413] | |
line_num(;n: 36) | |
%v_9 = call(%self, %t_e_70, %t_conn_62, %t_opts_63 ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
%t_committed_67 = copy(%v_9) | |
BB [114:LBL_10:420] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_7:517) | |
BB [115:LBL_9:427] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_12:434, %v_12) | |
BB [116:LBL_11:432] | |
throw(%v_10) | |
BB [117:LBL_12:434] | |
%v_13 = get_global_var($!) | |
%t_e2_68 = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [119:LBL_13:441] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>%t_conn_62}) | |
%v_18 = call(%self, %t_e2_68, %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [120:LBL_18:449] | |
put_global_var($!, %v_14) | |
jump(LBL_15:500) | |
BB [121:LBL_17:454] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_21:460, %v_21, %undefined) | |
BB [122:LBL_133:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [123:LBL_21:460] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_20:465, %v_22) | |
BB [124:LBL_19:463] | |
throw(%v_19) | |
BB [125:LBL_20:465] | |
%v_23 = get_global_var($!) | |
%t_e4_69 = copy(%v_23) | |
line_num(;n: 43) | |
BB [126:LBL_22:470] | |
line_num(;n: 44) | |
%v_26 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [127:LBL_26:475] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
jump(LBL_24:487) | |
BB [128:LBL_25:481] | |
%v_27 = recv_jruby_exc() | |
BB [129:LBL_23:483] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [130:LBL_24:487] | |
%v_15 = copy(%v_26) | |
BB [131:LBL_27:489] | |
put_global_var($!, %v_14) | |
jump(LBL_15:500) | |
BB [132:LBL_16:495] | |
%v_28 = recv_jruby_exc() | |
BB [133:LBL_14:497] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [134:LBL_15:500] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_7:517) | |
BB [136:LBL_8:510] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [138:LBL_7:517] | |
throw(%v_61) | |
BB [139:LBL_3:519] | |
return(%v_30) | |
BB [140:LBL_134:-1] | |
------ Rescue block map ------ | |
BB 6 --> BB 69 | |
BB 9 --> BB 18 | |
BB 10 --> BB 69 | |
BB 12 --> BB 69 | |
BB 13 --> BB 69 | |
BB 14 --> BB 69 | |
BB 15 --> BB 69 | |
BB 16 --> BB 69 | |
BB 18 --> BB 29 | |
BB 19 --> BB 29 | |
BB 20 --> BB 29 | |
BB 21 --> BB 69 | |
BB 23 --> BB 69 | |
BB 24 --> BB 69 | |
BB 25 --> BB 69 | |
BB 26 --> BB 69 | |
BB 27 --> BB 69 | |
BB 30 --> BB 69 | |
BB 32 --> BB 69 | |
BB 33 --> BB 69 | |
BB 34 --> BB 69 | |
BB 35 --> BB 69 | |
BB 36 --> BB 69 | |
BB 37 --> BB 69 | |
BB 39 --> BB 69 | |
BB 42 --> BB 45 | |
BB 45 --> BB 66 | |
BB 46 --> BB 66 | |
BB 49 --> BB 51 | |
BB 50 --> BB 66 | |
BB 51 --> BB 62 | |
BB 52 --> BB 62 | |
BB 53 --> BB 62 | |
BB 54 --> BB 62 | |
BB 56 --> BB 58 | |
BB 57 --> BB 62 | |
BB 59 --> BB 62 | |
BB 61 --> BB 66 | |
BB 63 --> BB 66 | |
BB 69 --> BB 110 | |
BB 70 --> BB 110 | |
BB 73 --> BB 75 | |
BB 74 --> BB 110 | |
BB 75 --> BB 79 | |
BB 76 --> BB 79 | |
BB 78 --> BB 110 | |
BB 80 --> BB 110 | |
BB 81 --> BB 110 | |
BB 84 --> BB 86 | |
BB 86 --> BB 107 | |
BB 87 --> BB 107 | |
BB 90 --> BB 92 | |
BB 91 --> BB 107 | |
BB 92 --> BB 103 | |
BB 93 --> BB 103 | |
BB 94 --> BB 103 | |
BB 95 --> BB 103 | |
BB 97 --> BB 99 | |
BB 98 --> BB 103 | |
BB 100 --> BB 103 | |
BB 102 --> BB 107 | |
BB 104 --> BB 107 | |
BB 112 --> BB 115 | |
BB 115 --> BB 136 | |
BB 116 --> BB 136 | |
BB 119 --> BB 121 | |
BB 120 --> BB 136 | |
BB 121 --> BB 132 | |
BB 122 --> BB 132 | |
BB 123 --> BB 132 | |
BB 124 --> BB 132 | |
BB 126 --> BB 128 | |
BB 127 --> BB 132 | |
BB 129 --> BB 132 | |
BB 131 --> BB 136 | |
BB 133 --> BB 136 | |
:Instructions | |
2015-05-28T14:11:20.786-05:00: BasicCompilerPassListener: Finished Optimize Dynamic Scopes on scope in 1ms. | |
2015-05-28T14:11:20.786-05:00: BasicCompilerPassListener: Starting Add Call Protocol Instructions (push/pop of dyn-scope, frame, impl-class values) on scope INSTANCE_METHOD _transaction[nested_ensures.rb:0] | |
2015-05-28T14:11:20.789-05:00: BasicCompilerPassListener: | |
Graph: | |
BB [1:LBL_118:-1]:>[1,139] | |
BB [2:LBL_119:-1]:>[2,3,140], <[0] | |
BB [3:LBL_120:-1]:>[3,140], <[1] | |
BB [4:LBL_0:11]:>[5,140], <[1,2] | |
BB [6:LBL_1:19]:>[6,38,68], <[3] | |
BB [7:LBL_121:-1]:>[8,140], <[5] | |
BB [9:LBL_32:32]:>[9,17], <[6] | |
BB [10:LBL_41:39]:>[10,11,68], <[8] | |
BB [11:LBL_122:-1]:>[16,140], <[9] | |
BB [12:LBL_42:46]:>[12,13,68], <[9] | |
BB [13:LBL_123:-1]:>[13,68], <[11] | |
BB [14:LBL_43:50]:>[14,15,68], <[11,12] | |
BB [15:LBL_124:-1]:>[15,68], <[13] | |
BB [16:LBL_44:54]:>[16,68], <[13,14] | |
BB [17:LBL_45:57]:>[37,140], <[10,15] | |
BB [18:LBL_40:60]:>[18,19,28], <[8] | |
BB [19:LBL_46:65]:>[28,139], <[17] | |
BB [20:LBL_47:67]:>[20,28], <[17] | |
BB [21:LBL_48:73]:>[21,22,68], <[19] | |
BB [22:LBL_125:-1]:>[27,140], <[20] | |
BB [23:LBL_49:80]:>[23,24,68], <[20] | |
BB [24:LBL_126:-1]:>[24,68], <[22] | |
BB [25:LBL_50:84]:>[25,26,68], <[22,23] | |
BB [26:LBL_127:-1]:>[26,68], <[24] | |
BB [27:LBL_51:88]:>[27,68], <[24,25] | |
BB [28:LBL_52:91]:>[37,140], <[21,26] | |
BB [29:LBL_35:95]:>[29,140], <[17,18,19] | |
BB [30:LBL_33:97]:>[30,31,68], <[28] | |
BB [31:LBL_128:-1]:>[36,140], <[29] | |
BB [32:LBL_36:103]:>[32,33,68], <[29] | |
BB [33:LBL_129:-1]:>[33,68], <[31] | |
BB [34:LBL_38:107]:>[34,35,68], <[31,32] | |
BB [35:LBL_130:-1]:>[35,68], <[33] | |
BB [36:LBL_39:111]:>[36,68], <[33,34] | |
BB [37:LBL_37:114]:>[68,139], <[30,35] | |
BB [38:LBL_34:116]:>[39,140], <[16,27] | |
BB [39:LBL_30:118]:>[39,68], <[5] | |
BB [40:LBL_31:122]:>[41,140], <[37,38] | |
BB [42:LBL_55:132]:>[43,44], <[39] | |
BB [44:LBL_56:139]:>[67,140], <[41] | |
BB [45:LBL_57:146]:>[45,46,65], <[41] | |
BB [46:LBL_58:151]:>[65,139], <[44] | |
BB [47:LBL_59:153]:>[48,140], <[44] | |
BB [49:LBL_61:160]:>[49,50], <[46] | |
BB [50:LBL_62:168]:>[63,65], <[48] | |
BB [51:LBL_63:173]:>[51,52,61], <[48] | |
BB [52:LBL_131:-1]:>[52,61], <[50] | |
BB [53:LBL_64:179]:>[53,54,61], <[50,51] | |
BB [54:LBL_65:182]:>[61,139], <[52] | |
BB [55:LBL_66:184]:>[55,140], <[52] | |
BB [56:LBL_67:189]:>[56,57], <[54] | |
BB [57:LBL_68:194]:>[59,61], <[55] | |
BB [58:LBL_69:200]:>[58,140], <[55] | |
BB [59:LBL_70:202]:>[61,139], <[57] | |
BB [60:LBL_71:206]:>[60,140], <[56] | |
BB [61:LBL_72:208]:>[63,65], <[59] | |
BB [62:LBL_73:214]:>[62,140], <[50,51,52,53,56,58] | |
BB [63:LBL_74:216]:>[65,139], <[61] | |
BB [64:LBL_75:219]:>[67,140], <[49,60] | |
BB [66:LBL_77:229]:>[139,140], <[44,45,49,60,62] | |
BB [68:LBL_79:236]:>[138,140], <[43,63] | |
BB [69:LBL_29:239]:>[69,70,109], <[5,9,11,12,13,14,15,20,22,23,24,25,26,29,31,32,33,34,35,36,38] | |
BB [70:LBL_80:244]:>[109,139], <[68] | |
BB [71:LBL_81:246]:>[72,140], <[68] | |
BB [73:LBL_82:253]:>[73,74], <[70] | |
BB [74:LBL_87:259]:>[80,109], <[72] | |
BB [75:LBL_86:264]:>[75,76,78], <[72] | |
BB [76:LBL_88:269]:>[78,139], <[74] | |
BB [77:LBL_89:271]:>[77,140], <[74] | |
BB [78:LBL_90:273]:>[80,109], <[76] | |
BB [79:LBL_85:279]:>[79,140], <[74,75] | |
BB [80:LBL_83:281]:>[109,139], <[78] | |
BB [81:LBL_84:284]:>[81,109], <[73,77] | |
BB [82:LBL_91:290]:>[83,140], <[80] | |
BB [84:LBL_93:297]:>[84,85], <[81] | |
BB [85:LBL_94:304]:>[108,140], <[83] | |
BB [86:LBL_95:311]:>[86,87,106], <[83] | |
BB [87:LBL_96:316]:>[106,139], <[85] | |
BB [88:LBL_97:318]:>[89,140], <[85] | |
BB [90:LBL_99:325]:>[90,91], <[87] | |
BB [91:LBL_100:333]:>[104,106], <[89] | |
BB [92:LBL_101:338]:>[92,93,102], <[89] | |
BB [93:LBL_132:-1]:>[93,102], <[91] | |
BB [94:LBL_102:344]:>[94,95,102], <[91,92] | |
BB [95:LBL_103:347]:>[102,139], <[93] | |
BB [96:LBL_104:349]:>[96,140], <[93] | |
BB [97:LBL_105:354]:>[97,98], <[95] | |
BB [98:LBL_106:359]:>[100,102], <[96] | |
BB [99:LBL_107:365]:>[99,140], <[96] | |
BB [100:LBL_108:367]:>[102,139], <[98] | |
BB [101:LBL_109:371]:>[101,140], <[97] | |
BB [102:LBL_110:373]:>[104,106], <[100] | |
BB [103:LBL_111:379]:>[103,140], <[91,92,93,94,97,99] | |
BB [104:LBL_112:381]:>[106,139], <[102] | |
BB [105:LBL_113:384]:>[108,140], <[90,101] | |
BB [107:LBL_115:394]:>[139,140], <[85,86,90,101,103] | |
BB [109:LBL_117:401]:>[138,140], <[84,104] | |
BB [110:LBL_4:405]:>[111,140], <[68,69,73,77,79,80] | |
BB [112:LBL_5:413]:>[113,114], <[109] | |
BB [114:LBL_10:420]:>[137,140], <[111] | |
BB [115:LBL_9:427]:>[115,116,135], <[111] | |
BB [116:LBL_11:432]:>[135,139], <[114] | |
BB [117:LBL_12:434]:>[118,140], <[114] | |
BB [119:LBL_13:441]:>[119,120], <[116] | |
BB [120:LBL_18:449]:>[133,135], <[118] | |
BB [121:LBL_17:454]:>[121,122,131], <[118] | |
BB [122:LBL_133:-1]:>[122,131], <[120] | |
BB [123:LBL_21:460]:>[123,124,131], <[120,121] | |
BB [124:LBL_19:463]:>[131,139], <[122] | |
BB [125:LBL_20:465]:>[125,140], <[122] | |
BB [126:LBL_22:470]:>[126,127], <[124] | |
BB [127:LBL_26:475]:>[129,131], <[125] | |
BB [128:LBL_25:481]:>[128,140], <[125] | |
BB [129:LBL_23:483]:>[131,139], <[127] | |
BB [130:LBL_24:487]:>[130,140], <[126] | |
BB [131:LBL_27:489]:>[133,135], <[129] | |
BB [132:LBL_16:495]:>[132,140], <[120,121,122,123,126,128] | |
BB [133:LBL_14:497]:>[135,139], <[131] | |
BB [134:LBL_15:500]:>[137,140], <[119,130] | |
BB [136:LBL_8:510]:>[139,140], <[114,115,119,130,132] | |
BB [138:LBL_7:517]:>[139,140], <[113,133] | |
BB [139:LBL_3:519]:>[139,140], <[67,108] | |
BB [140:LBL_134:-1]:>[140], <[0,18,36,45,53,58,62,65,69,75,79,86,94,99,103,106,115,123,128,132,135,137,138,140] | |
BB [141:_GLOBAL_ENSURE_BLOCK__0:-1]:>[139], <[1,2,3,6,10,16,21,27,28,30,37,39,43,46,54,57,59,61,63,65,67,70,76,78,81,84,87,95,98,100,102,104,106,108,109,113,116,124,127,129,131,133,135,137,138,139] | |
2015-05-28T14:11:20.790-05:00: BasicCompilerPassListener: | |
Instructions[nested_ensures.rb#0#_transaction,IRMethod,AddCallProtocolInstructions]: | |
BB [1:LBL_118:-1] | |
push_frame() | |
BB [2:LBL_119:-1] | |
%self = recv_self() | |
%v_0 = load_implicit_closure() | |
%current_scope = copy(scope<0>) | |
check_arity(;req: 1, opt: 1, *r: false, kw: false) | |
%t_conn_62 = recv_pre_reqd_arg() | |
%t_opts_63 = recv_opt_arg(;index:0, req: 1, pre: 1) | |
bne(LBL_0:11, %t_opts_63, %undefined) | |
BB [3:LBL_120:-1] | |
%v_3 = search_const(%current_scope ;name: OPTS, no_priv: false) | |
%t_opts_63 = copy(%v_3) | |
BB [4:LBL_0:11] | |
line_num(;n: 1) | |
%v_4 = call_1o(%t_opts_63, :'rollback' ;n:[], t:NO, cl:false) | |
%t_rollback_64 = copy(%v_4) | |
line_num(;n: 2) | |
%v_5 = get_global_var($!) | |
BB [6:LBL_1:19] | |
line_num(;n: 4) | |
%v_31 = call(%self, %t_conn_62, %t_opts_63 ;n:add_transaction, t:FU, cl:false) | |
line_num(;n: 5) | |
%v_32 = call(%self, %t_conn_62, %t_opts_63 ;n:begin_transaction, t:FU, cl:false) | |
line_num(;n: 6) | |
%v_33 = call_1o(%t_rollback_64, :'always' ;n:==, t:NO, cl:false) | |
b_false(LBL_30:118, %v_33) | |
BB [7:LBL_121:-1] | |
line_num(;n: 7) | |
%v_34 = get_global_var($!) | |
BB [9:LBL_32:32] | |
line_num(;n: 9) | |
%v_40 = yield(%v_0, %t_conn_62 ;unwrap: false) | |
%t_ret_65 = copy(%v_40) | |
%v_39 = copy(%v_40) | |
BB [10:LBL_41:39] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_42:46, %t_e1_66) | |
BB [11:LBL_122:-1] | |
jump(LBL_45:57) | |
BB [12:LBL_42:46] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_43:50, %v_36, %undefined) | |
BB [13:LBL_123:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [14:LBL_43:50] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_44:54, %v_37, %undefined) | |
BB [15:LBL_124:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [16:LBL_44:54] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [17:LBL_45:57] | |
jump(LBL_34:116) | |
BB [18:LBL_40:60] | |
%v_41 = recv_ruby_exc() | |
%v_42 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_43 = rescue_eqq(Array:[%v_42], %v_41) | |
b_true(LBL_47:67, %v_43) | |
BB [19:LBL_46:65] | |
throw(%v_41) | |
BB [20:LBL_47:67] | |
%v_44 = get_global_var($!) | |
%t_e1_66 = copy(%v_44) | |
line_num(;n: 12) | |
%v_45 = call_1o(%self, %v_44 ;n:raise, t:FU, cl:false) | |
%v_39 = copy(%v_45) | |
BB [21:LBL_48:73] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_49:80, %t_e1_66) | |
BB [22:LBL_125:-1] | |
jump(LBL_52:91) | |
BB [23:LBL_49:80] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_50:84, %v_36, %undefined) | |
BB [24:LBL_126:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [25:LBL_50:84] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_51:88, %v_37, %undefined) | |
BB [26:LBL_127:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [27:LBL_51:88] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [28:LBL_52:91] | |
jump(LBL_34:116) | |
BB [29:LBL_35:95] | |
%v_46 = recv_jruby_exc() | |
BB [30:LBL_33:97] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_36:103, %t_e1_66) | |
BB [31:LBL_128:-1] | |
jump(LBL_37:114) | |
BB [32:LBL_36:103] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_38:107, %v_36, %undefined) | |
BB [33:LBL_129:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [34:LBL_38:107] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_39:111, %v_37, %undefined) | |
BB [35:LBL_130:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [36:LBL_39:111] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [37:LBL_37:114] | |
throw(%v_46) | |
BB [38:LBL_34:116] | |
jump(LBL_31:122) | |
BB [39:LBL_30:118] | |
line_num(;n: 19) | |
%v_47 = yield(%v_0, %t_conn_62 ;unwrap: false) | |
%v_39 = copy(%v_47) | |
BB [40:LBL_31:122] | |
%v_30 = copy(%v_39) | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [42:LBL_55:132] | |
line_num(;n: 36) | |
%v_9 = call(%self, %t_e_70, %t_conn_62, %t_opts_63 ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
%t_committed_67 = copy(%v_9) | |
BB [44:LBL_56:139] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_79:236) | |
BB [45:LBL_57:146] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_59:153, %v_12) | |
BB [46:LBL_58:151] | |
throw(%v_10) | |
BB [47:LBL_59:153] | |
%v_13 = get_global_var($!) | |
%t_e2_68 = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [49:LBL_61:160] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>%t_conn_62}) | |
%v_18 = call(%self, %t_e2_68, %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [50:LBL_62:168] | |
put_global_var($!, %v_14) | |
jump(LBL_75:219) | |
BB [51:LBL_63:173] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_64:179, %v_21, %undefined) | |
BB [52:LBL_131:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [53:LBL_64:179] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_66:184, %v_22) | |
BB [54:LBL_65:182] | |
throw(%v_19) | |
BB [55:LBL_66:184] | |
%v_23 = get_global_var($!) | |
%t_e4_69 = copy(%v_23) | |
line_num(;n: 43) | |
BB [56:LBL_67:189] | |
line_num(;n: 44) | |
%v_26 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [57:LBL_68:194] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
jump(LBL_71:206) | |
BB [58:LBL_69:200] | |
%v_27 = recv_jruby_exc() | |
BB [59:LBL_70:202] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [60:LBL_71:206] | |
%v_15 = copy(%v_26) | |
BB [61:LBL_72:208] | |
put_global_var($!, %v_14) | |
jump(LBL_75:219) | |
BB [62:LBL_73:214] | |
%v_28 = recv_jruby_exc() | |
BB [63:LBL_74:216] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [64:LBL_75:219] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_79:236) | |
BB [66:LBL_77:229] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [68:LBL_79:236] | |
jump(LBL_3:519) | |
BB [69:LBL_29:239] | |
%v_48 = recv_ruby_exc() | |
%v_49 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_50 = rescue_eqq(Array:[%v_49], %v_48) | |
b_true(LBL_81:246, %v_50) | |
BB [70:LBL_80:244] | |
throw(%v_48) | |
BB [71:LBL_81:246] | |
%v_51 = get_global_var($!) | |
%t_e_70 = copy(%v_51) | |
line_num(;n: 23) | |
%v_52 = get_global_var($!) | |
BB [73:LBL_82:253] | |
line_num(;n: 25) | |
%v_54 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [74:LBL_87:259] | |
put_global_var($!, %v_52) | |
jump(LBL_84:284) | |
BB [75:LBL_86:264] | |
%v_55 = recv_ruby_exc() | |
%v_56 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_57 = rescue_eqq(Array:[%v_56], %v_55) | |
b_true(LBL_89:271, %v_57) | |
BB [76:LBL_88:269] | |
throw(%v_55) | |
BB [77:LBL_89:271] | |
BB [78:LBL_90:273] | |
put_global_var($!, %v_52) | |
jump(LBL_84:284) | |
BB [79:LBL_85:279] | |
%v_58 = recv_jruby_exc() | |
BB [80:LBL_83:281] | |
put_global_var($!, %v_52) | |
throw(%v_58) | |
BB [81:LBL_84:284] | |
line_num(;n: 30) | |
%v_59 = copy({:'conn'=>%t_conn_62, :'rollback'=>%t_rollback_64}) | |
%v_60 = call(%self, %t_e_70, %v_59 ;n:transaction_error, t:FU, cl:false) | |
line_num(;n: 31) | |
%v_30 = copy(%t_ret_65) | |
BB [82:LBL_91:290] | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [84:LBL_93:297] | |
line_num(;n: 36) | |
%v_9 = call(%self, %t_e_70, %t_conn_62, %t_opts_63 ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
%t_committed_67 = copy(%v_9) | |
BB [85:LBL_94:304] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_117:401) | |
BB [86:LBL_95:311] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_97:318, %v_12) | |
BB [87:LBL_96:316] | |
throw(%v_10) | |
BB [88:LBL_97:318] | |
%v_13 = get_global_var($!) | |
%t_e2_68 = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [90:LBL_99:325] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>%t_conn_62}) | |
%v_18 = call(%self, %t_e2_68, %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [91:LBL_100:333] | |
put_global_var($!, %v_14) | |
jump(LBL_113:384) | |
BB [92:LBL_101:338] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_102:344, %v_21, %undefined) | |
BB [93:LBL_132:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [94:LBL_102:344] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_104:349, %v_22) | |
BB [95:LBL_103:347] | |
throw(%v_19) | |
BB [96:LBL_104:349] | |
%v_23 = get_global_var($!) | |
%t_e4_69 = copy(%v_23) | |
line_num(;n: 43) | |
BB [97:LBL_105:354] | |
line_num(;n: 44) | |
%v_26 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [98:LBL_106:359] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
jump(LBL_109:371) | |
BB [99:LBL_107:365] | |
%v_27 = recv_jruby_exc() | |
BB [100:LBL_108:367] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [101:LBL_109:371] | |
%v_15 = copy(%v_26) | |
BB [102:LBL_110:373] | |
put_global_var($!, %v_14) | |
jump(LBL_113:384) | |
BB [103:LBL_111:379] | |
%v_28 = recv_jruby_exc() | |
BB [104:LBL_112:381] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [105:LBL_113:384] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_117:401) | |
BB [107:LBL_115:394] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [109:LBL_117:401] | |
jump(LBL_3:519) | |
BB [110:LBL_4:405] | |
%v_61 = recv_jruby_exc() | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [112:LBL_5:413] | |
line_num(;n: 36) | |
%v_9 = call(%self, %t_e_70, %t_conn_62, %t_opts_63 ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
%t_committed_67 = copy(%v_9) | |
BB [114:LBL_10:420] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_7:517) | |
BB [115:LBL_9:427] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_12:434, %v_12) | |
BB [116:LBL_11:432] | |
throw(%v_10) | |
BB [117:LBL_12:434] | |
%v_13 = get_global_var($!) | |
%t_e2_68 = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [119:LBL_13:441] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>%t_conn_62}) | |
%v_18 = call(%self, %t_e2_68, %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [120:LBL_18:449] | |
put_global_var($!, %v_14) | |
jump(LBL_15:500) | |
BB [121:LBL_17:454] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_21:460, %v_21, %undefined) | |
BB [122:LBL_133:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [123:LBL_21:460] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_20:465, %v_22) | |
BB [124:LBL_19:463] | |
throw(%v_19) | |
BB [125:LBL_20:465] | |
%v_23 = get_global_var($!) | |
%t_e4_69 = copy(%v_23) | |
line_num(;n: 43) | |
BB [126:LBL_22:470] | |
line_num(;n: 44) | |
%v_26 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [127:LBL_26:475] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
jump(LBL_24:487) | |
BB [128:LBL_25:481] | |
%v_27 = recv_jruby_exc() | |
BB [129:LBL_23:483] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [130:LBL_24:487] | |
%v_15 = copy(%v_26) | |
BB [131:LBL_27:489] | |
put_global_var($!, %v_14) | |
jump(LBL_15:500) | |
BB [132:LBL_16:495] | |
%v_28 = recv_jruby_exc() | |
BB [133:LBL_14:497] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [134:LBL_15:500] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_7:517) | |
BB [136:LBL_8:510] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [138:LBL_7:517] | |
throw(%v_61) | |
BB [139:LBL_3:519] | |
pop_frame() | |
return(%v_30) | |
BB [140:LBL_134:-1] | |
BB [141:_GLOBAL_ENSURE_BLOCK__0:-1] | |
%v_80 = recv_jruby_exc() | |
pop_frame() | |
throw(%v_80) | |
------ Rescue block map ------ | |
BB 2 --> BB 141 | |
BB 3 --> BB 141 | |
BB 4 --> BB 141 | |
BB 6 --> BB 69 | |
BB 7 --> BB 141 | |
BB 9 --> BB 18 | |
BB 10 --> BB 69 | |
BB 11 --> BB 141 | |
BB 12 --> BB 69 | |
BB 13 --> BB 69 | |
BB 14 --> BB 69 | |
BB 15 --> BB 69 | |
BB 16 --> BB 69 | |
BB 17 --> BB 141 | |
BB 18 --> BB 29 | |
BB 19 --> BB 29 | |
BB 20 --> BB 29 | |
BB 21 --> BB 69 | |
BB 22 --> BB 141 | |
BB 23 --> BB 69 | |
BB 24 --> BB 69 | |
BB 25 --> BB 69 | |
BB 26 --> BB 69 | |
BB 27 --> BB 69 | |
BB 28 --> BB 141 | |
BB 29 --> BB 141 | |
BB 30 --> BB 69 | |
BB 31 --> BB 141 | |
BB 32 --> BB 69 | |
BB 33 --> BB 69 | |
BB 34 --> BB 69 | |
BB 35 --> BB 69 | |
BB 36 --> BB 69 | |
BB 37 --> BB 69 | |
BB 38 --> BB 141 | |
BB 39 --> BB 69 | |
BB 40 --> BB 141 | |
BB 42 --> BB 45 | |
BB 44 --> BB 141 | |
BB 45 --> BB 66 | |
BB 46 --> BB 66 | |
BB 47 --> BB 141 | |
BB 49 --> BB 51 | |
BB 50 --> BB 66 | |
BB 51 --> BB 62 | |
BB 52 --> BB 62 | |
BB 53 --> BB 62 | |
BB 54 --> BB 62 | |
BB 55 --> BB 141 | |
BB 56 --> BB 58 | |
BB 57 --> BB 62 | |
BB 58 --> BB 141 | |
BB 59 --> BB 62 | |
BB 60 --> BB 141 | |
BB 61 --> BB 66 | |
BB 62 --> BB 141 | |
BB 63 --> BB 66 | |
BB 64 --> BB 141 | |
BB 66 --> BB 141 | |
BB 68 --> BB 141 | |
BB 69 --> BB 110 | |
BB 70 --> BB 110 | |
BB 71 --> BB 141 | |
BB 73 --> BB 75 | |
BB 74 --> BB 110 | |
BB 75 --> BB 79 | |
BB 76 --> BB 79 | |
BB 77 --> BB 141 | |
BB 78 --> BB 110 | |
BB 79 --> BB 141 | |
BB 80 --> BB 110 | |
BB 81 --> BB 110 | |
BB 82 --> BB 141 | |
BB 84 --> BB 86 | |
BB 85 --> BB 141 | |
BB 86 --> BB 107 | |
BB 87 --> BB 107 | |
BB 88 --> BB 141 | |
BB 90 --> BB 92 | |
BB 91 --> BB 107 | |
BB 92 --> BB 103 | |
BB 93 --> BB 103 | |
BB 94 --> BB 103 | |
BB 95 --> BB 103 | |
BB 96 --> BB 141 | |
BB 97 --> BB 99 | |
BB 98 --> BB 103 | |
BB 99 --> BB 141 | |
BB 100 --> BB 103 | |
BB 101 --> BB 141 | |
BB 102 --> BB 107 | |
BB 103 --> BB 141 | |
BB 104 --> BB 107 | |
BB 105 --> BB 141 | |
BB 107 --> BB 141 | |
BB 109 --> BB 141 | |
BB 110 --> BB 141 | |
BB 112 --> BB 115 | |
BB 114 --> BB 141 | |
BB 115 --> BB 136 | |
BB 116 --> BB 136 | |
BB 117 --> BB 141 | |
BB 119 --> BB 121 | |
BB 120 --> BB 136 | |
BB 121 --> BB 132 | |
BB 122 --> BB 132 | |
BB 123 --> BB 132 | |
BB 124 --> BB 132 | |
BB 125 --> BB 141 | |
BB 126 --> BB 128 | |
BB 127 --> BB 132 | |
BB 128 --> BB 141 | |
BB 129 --> BB 132 | |
BB 130 --> BB 141 | |
BB 131 --> BB 136 | |
BB 132 --> BB 141 | |
BB 133 --> BB 136 | |
BB 134 --> BB 141 | |
BB 136 --> BB 141 | |
BB 138 --> BB 141 | |
BB 139 --> BB 141 | |
BB 140 --> BB 141 | |
:Instructions | |
2015-05-28T14:11:20.791-05:00: BasicCompilerPassListener: Finished Add Call Protocol Instructions (push/pop of dyn-scope, frame, impl-class values) on scope in 2ms. | |
2015-05-28T14:11:20.791-05:00: BasicCompilerPassListener: Starting Ensure Temporary Variables Assigned on scope INSTANCE_METHOD _transaction[nested_ensures.rb:0] | |
2015-05-28T14:11:20.792-05:00: BasicCompilerPassListener: | |
Graph: | |
BB [1:LBL_118:-1]:>[1,139] | |
BB [2:LBL_119:-1]:>[2,3,140], <[0] | |
BB [3:LBL_120:-1]:>[3,140], <[1] | |
BB [4:LBL_0:11]:>[5,140], <[1,2] | |
BB [6:LBL_1:19]:>[6,38,68], <[3] | |
BB [7:LBL_121:-1]:>[8,140], <[5] | |
BB [9:LBL_32:32]:>[9,17], <[6] | |
BB [10:LBL_41:39]:>[10,11,68], <[8] | |
BB [11:LBL_122:-1]:>[16,140], <[9] | |
BB [12:LBL_42:46]:>[12,13,68], <[9] | |
BB [13:LBL_123:-1]:>[13,68], <[11] | |
BB [14:LBL_43:50]:>[14,15,68], <[11,12] | |
BB [15:LBL_124:-1]:>[15,68], <[13] | |
BB [16:LBL_44:54]:>[16,68], <[13,14] | |
BB [17:LBL_45:57]:>[37,140], <[10,15] | |
BB [18:LBL_40:60]:>[18,19,28], <[8] | |
BB [19:LBL_46:65]:>[28,139], <[17] | |
BB [20:LBL_47:67]:>[20,28], <[17] | |
BB [21:LBL_48:73]:>[21,22,68], <[19] | |
BB [22:LBL_125:-1]:>[27,140], <[20] | |
BB [23:LBL_49:80]:>[23,24,68], <[20] | |
BB [24:LBL_126:-1]:>[24,68], <[22] | |
BB [25:LBL_50:84]:>[25,26,68], <[22,23] | |
BB [26:LBL_127:-1]:>[26,68], <[24] | |
BB [27:LBL_51:88]:>[27,68], <[24,25] | |
BB [28:LBL_52:91]:>[37,140], <[21,26] | |
BB [29:LBL_35:95]:>[29,140], <[17,18,19] | |
BB [30:LBL_33:97]:>[30,31,68], <[28] | |
BB [31:LBL_128:-1]:>[36,140], <[29] | |
BB [32:LBL_36:103]:>[32,33,68], <[29] | |
BB [33:LBL_129:-1]:>[33,68], <[31] | |
BB [34:LBL_38:107]:>[34,35,68], <[31,32] | |
BB [35:LBL_130:-1]:>[35,68], <[33] | |
BB [36:LBL_39:111]:>[36,68], <[33,34] | |
BB [37:LBL_37:114]:>[68,139], <[30,35] | |
BB [38:LBL_34:116]:>[39,140], <[16,27] | |
BB [39:LBL_30:118]:>[39,68], <[5] | |
BB [40:LBL_31:122]:>[41,140], <[37,38] | |
BB [42:LBL_55:132]:>[43,44], <[39] | |
BB [44:LBL_56:139]:>[67,140], <[41] | |
BB [45:LBL_57:146]:>[45,46,65], <[41] | |
BB [46:LBL_58:151]:>[65,139], <[44] | |
BB [47:LBL_59:153]:>[48,140], <[44] | |
BB [49:LBL_61:160]:>[49,50], <[46] | |
BB [50:LBL_62:168]:>[63,65], <[48] | |
BB [51:LBL_63:173]:>[51,52,61], <[48] | |
BB [52:LBL_131:-1]:>[52,61], <[50] | |
BB [53:LBL_64:179]:>[53,54,61], <[50,51] | |
BB [54:LBL_65:182]:>[61,139], <[52] | |
BB [55:LBL_66:184]:>[55,140], <[52] | |
BB [56:LBL_67:189]:>[56,57], <[54] | |
BB [57:LBL_68:194]:>[59,61], <[55] | |
BB [58:LBL_69:200]:>[58,140], <[55] | |
BB [59:LBL_70:202]:>[61,139], <[57] | |
BB [60:LBL_71:206]:>[60,140], <[56] | |
BB [61:LBL_72:208]:>[63,65], <[59] | |
BB [62:LBL_73:214]:>[62,140], <[50,51,52,53,56,58] | |
BB [63:LBL_74:216]:>[65,139], <[61] | |
BB [64:LBL_75:219]:>[67,140], <[49,60] | |
BB [66:LBL_77:229]:>[139,140], <[44,45,49,60,62] | |
BB [68:LBL_79:236]:>[138,140], <[43,63] | |
BB [69:LBL_29:239]:>[69,70,109], <[5,9,11,12,13,14,15,20,22,23,24,25,26,29,31,32,33,34,35,36,38] | |
BB [70:LBL_80:244]:>[109,139], <[68] | |
BB [71:LBL_81:246]:>[72,140], <[68] | |
BB [73:LBL_82:253]:>[73,74], <[70] | |
BB [74:LBL_87:259]:>[80,109], <[72] | |
BB [75:LBL_86:264]:>[75,76,78], <[72] | |
BB [76:LBL_88:269]:>[78,139], <[74] | |
BB [77:LBL_89:271]:>[77,140], <[74] | |
BB [78:LBL_90:273]:>[80,109], <[76] | |
BB [79:LBL_85:279]:>[79,140], <[74,75] | |
BB [80:LBL_83:281]:>[109,139], <[78] | |
BB [81:LBL_84:284]:>[81,109], <[73,77] | |
BB [82:LBL_91:290]:>[83,140], <[80] | |
BB [84:LBL_93:297]:>[84,85], <[81] | |
BB [85:LBL_94:304]:>[108,140], <[83] | |
BB [86:LBL_95:311]:>[86,87,106], <[83] | |
BB [87:LBL_96:316]:>[106,139], <[85] | |
BB [88:LBL_97:318]:>[89,140], <[85] | |
BB [90:LBL_99:325]:>[90,91], <[87] | |
BB [91:LBL_100:333]:>[104,106], <[89] | |
BB [92:LBL_101:338]:>[92,93,102], <[89] | |
BB [93:LBL_132:-1]:>[93,102], <[91] | |
BB [94:LBL_102:344]:>[94,95,102], <[91,92] | |
BB [95:LBL_103:347]:>[102,139], <[93] | |
BB [96:LBL_104:349]:>[96,140], <[93] | |
BB [97:LBL_105:354]:>[97,98], <[95] | |
BB [98:LBL_106:359]:>[100,102], <[96] | |
BB [99:LBL_107:365]:>[99,140], <[96] | |
BB [100:LBL_108:367]:>[102,139], <[98] | |
BB [101:LBL_109:371]:>[101,140], <[97] | |
BB [102:LBL_110:373]:>[104,106], <[100] | |
BB [103:LBL_111:379]:>[103,140], <[91,92,93,94,97,99] | |
BB [104:LBL_112:381]:>[106,139], <[102] | |
BB [105:LBL_113:384]:>[108,140], <[90,101] | |
BB [107:LBL_115:394]:>[139,140], <[85,86,90,101,103] | |
BB [109:LBL_117:401]:>[138,140], <[84,104] | |
BB [110:LBL_4:405]:>[111,140], <[68,69,73,77,79,80] | |
BB [112:LBL_5:413]:>[113,114], <[109] | |
BB [114:LBL_10:420]:>[137,140], <[111] | |
BB [115:LBL_9:427]:>[115,116,135], <[111] | |
BB [116:LBL_11:432]:>[135,139], <[114] | |
BB [117:LBL_12:434]:>[118,140], <[114] | |
BB [119:LBL_13:441]:>[119,120], <[116] | |
BB [120:LBL_18:449]:>[133,135], <[118] | |
BB [121:LBL_17:454]:>[121,122,131], <[118] | |
BB [122:LBL_133:-1]:>[122,131], <[120] | |
BB [123:LBL_21:460]:>[123,124,131], <[120,121] | |
BB [124:LBL_19:463]:>[131,139], <[122] | |
BB [125:LBL_20:465]:>[125,140], <[122] | |
BB [126:LBL_22:470]:>[126,127], <[124] | |
BB [127:LBL_26:475]:>[129,131], <[125] | |
BB [128:LBL_25:481]:>[128,140], <[125] | |
BB [129:LBL_23:483]:>[131,139], <[127] | |
BB [130:LBL_24:487]:>[130,140], <[126] | |
BB [131:LBL_27:489]:>[133,135], <[129] | |
BB [132:LBL_16:495]:>[132,140], <[120,121,122,123,126,128] | |
BB [133:LBL_14:497]:>[135,139], <[131] | |
BB [134:LBL_15:500]:>[137,140], <[119,130] | |
BB [136:LBL_8:510]:>[139,140], <[114,115,119,130,132] | |
BB [138:LBL_7:517]:>[139,140], <[113,133] | |
BB [139:LBL_3:519]:>[139,140], <[67,108] | |
BB [140:LBL_134:-1]:>[140], <[0,18,36,45,53,58,62,65,69,75,79,86,94,99,103,106,115,123,128,132,135,137,138,140] | |
BB [141:_GLOBAL_ENSURE_BLOCK__0:-1]:>[139], <[1,2,3,6,10,16,21,27,28,30,37,39,43,46,54,57,59,61,63,65,67,70,76,78,81,84,87,95,98,100,102,104,106,108,109,113,116,124,127,129,131,133,135,137,138,139] | |
2015-05-28T14:11:20.794-05:00: BasicCompilerPassListener: | |
Instructions[nested_ensures.rb#0#_transaction,IRMethod,EnsureTempsAssigned]: | |
BB [1:LBL_118:-1] | |
%t_e1_66 = copy(nil) | |
%v_61 = copy(%t_e1_66) | |
%v_20 = copy(%t_e1_66) | |
%v_21 = copy(%t_e1_66) | |
%v_22 = copy(%t_e1_66) | |
%v_23 = copy(%t_e1_66) | |
%v_26 = copy(%t_e1_66) | |
%v_27 = copy(%t_e1_66) | |
%v_28 = copy(%t_e1_66) | |
%v_29 = copy(%t_e1_66) | |
%t_rollback_64 = copy(%t_e1_66) | |
%current_scope = copy(%t_e1_66) | |
%t_e2_68 = copy(%t_e1_66) | |
%v_30 = copy(%t_e1_66) | |
%v_33 = copy(%t_e1_66) | |
%v_34 = copy(%t_e1_66) | |
%v_36 = copy(%t_e1_66) | |
%v_37 = copy(%t_e1_66) | |
%v_39 = copy(%t_e1_66) | |
%t_conn_62 = copy(%t_e1_66) | |
%v_80 = copy(%t_e1_66) | |
%t_ret_65 = copy(%t_e1_66) | |
%v_40 = copy(%t_e1_66) | |
%v_41 = copy(%t_e1_66) | |
%v_42 = copy(%t_e1_66) | |
%t_committed_67 = copy(%t_e1_66) | |
%v_43 = copy(%t_e1_66) | |
%v_44 = copy(%t_e1_66) | |
%v_45 = copy(%t_e1_66) | |
%v_46 = copy(%t_e1_66) | |
%v_47 = copy(%t_e1_66) | |
%v_48 = copy(%t_e1_66) | |
%v_49 = copy(%t_e1_66) | |
%t_opts_63 = copy(%t_e1_66) | |
%t_e4_69 = copy(%t_e1_66) | |
%t_e_70 = copy(%t_e1_66) | |
%v_50 = copy(%t_e1_66) | |
%v_51 = copy(%t_e1_66) | |
%v_52 = copy(%t_e1_66) | |
%v_10 = copy(%t_e1_66) | |
%v_11 = copy(%t_e1_66) | |
%v_55 = copy(%t_e1_66) | |
%v_12 = copy(%t_e1_66) | |
%v_56 = copy(%t_e1_66) | |
%v_0 = copy(%t_e1_66) | |
%v_13 = copy(%t_e1_66) | |
%v_57 = copy(%t_e1_66) | |
%v_14 = copy(%t_e1_66) | |
%v_58 = copy(%t_e1_66) | |
%v_59 = copy(%t_e1_66) | |
%v_16 = copy(%t_e1_66) | |
%v_4 = copy(%t_e1_66) | |
%v_17 = copy(%t_e1_66) | |
%v_5 = copy(%t_e1_66) | |
%v_18 = copy(%t_e1_66) | |
%v_19 = copy(%t_e1_66) | |
%v_3 = copy(%t_e1_66) | |
%v_9 = copy(%t_e1_66) | |
%v_6 = copy(%t_e1_66) | |
push_frame() | |
BB [2:LBL_119:-1] | |
%self = recv_self() | |
%v_0 = load_implicit_closure() | |
%current_scope = copy(scope<0>) | |
check_arity(;req: 1, opt: 1, *r: false, kw: false) | |
%t_conn_62 = recv_pre_reqd_arg() | |
%t_opts_63 = recv_opt_arg(;index:0, req: 1, pre: 1) | |
bne(LBL_0:11, %t_opts_63, %undefined) | |
BB [3:LBL_120:-1] | |
%v_3 = search_const(%current_scope ;name: OPTS, no_priv: false) | |
%t_opts_63 = copy(%v_3) | |
BB [4:LBL_0:11] | |
line_num(;n: 1) | |
%v_4 = call_1o(%t_opts_63, :'rollback' ;n:[], t:NO, cl:false) | |
%t_rollback_64 = copy(%v_4) | |
line_num(;n: 2) | |
%v_5 = get_global_var($!) | |
BB [6:LBL_1:19] | |
line_num(;n: 4) | |
%v_31 = call(%self, %t_conn_62, %t_opts_63 ;n:add_transaction, t:FU, cl:false) | |
line_num(;n: 5) | |
%v_32 = call(%self, %t_conn_62, %t_opts_63 ;n:begin_transaction, t:FU, cl:false) | |
line_num(;n: 6) | |
%v_33 = call_1o(%t_rollback_64, :'always' ;n:==, t:NO, cl:false) | |
b_false(LBL_30:118, %v_33) | |
BB [7:LBL_121:-1] | |
line_num(;n: 7) | |
%v_34 = get_global_var($!) | |
BB [9:LBL_32:32] | |
line_num(;n: 9) | |
%v_40 = yield(%v_0, %t_conn_62 ;unwrap: false) | |
%t_ret_65 = copy(%v_40) | |
%v_39 = copy(%v_40) | |
BB [10:LBL_41:39] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_42:46, %t_e1_66) | |
BB [11:LBL_122:-1] | |
jump(LBL_45:57) | |
BB [12:LBL_42:46] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_43:50, %v_36, %undefined) | |
BB [13:LBL_123:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [14:LBL_43:50] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_44:54, %v_37, %undefined) | |
BB [15:LBL_124:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [16:LBL_44:54] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [17:LBL_45:57] | |
jump(LBL_34:116) | |
BB [18:LBL_40:60] | |
%v_41 = recv_ruby_exc() | |
%v_42 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_43 = rescue_eqq(Array:[%v_42], %v_41) | |
b_true(LBL_47:67, %v_43) | |
BB [19:LBL_46:65] | |
throw(%v_41) | |
BB [20:LBL_47:67] | |
%v_44 = get_global_var($!) | |
%t_e1_66 = copy(%v_44) | |
line_num(;n: 12) | |
%v_45 = call_1o(%self, %v_44 ;n:raise, t:FU, cl:false) | |
%v_39 = copy(%v_45) | |
BB [21:LBL_48:73] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_49:80, %t_e1_66) | |
BB [22:LBL_125:-1] | |
jump(LBL_52:91) | |
BB [23:LBL_49:80] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_50:84, %v_36, %undefined) | |
BB [24:LBL_126:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [25:LBL_50:84] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_51:88, %v_37, %undefined) | |
BB [26:LBL_127:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [27:LBL_51:88] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [28:LBL_52:91] | |
jump(LBL_34:116) | |
BB [29:LBL_35:95] | |
%v_46 = recv_jruby_exc() | |
BB [30:LBL_33:97] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_36:103, %t_e1_66) | |
BB [31:LBL_128:-1] | |
jump(LBL_37:114) | |
BB [32:LBL_36:103] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_38:107, %v_36, %undefined) | |
BB [33:LBL_129:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [34:LBL_38:107] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_39:111, %v_37, %undefined) | |
BB [35:LBL_130:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [36:LBL_39:111] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [37:LBL_37:114] | |
throw(%v_46) | |
BB [38:LBL_34:116] | |
jump(LBL_31:122) | |
BB [39:LBL_30:118] | |
line_num(;n: 19) | |
%v_47 = yield(%v_0, %t_conn_62 ;unwrap: false) | |
%v_39 = copy(%v_47) | |
BB [40:LBL_31:122] | |
%v_30 = copy(%v_39) | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [42:LBL_55:132] | |
line_num(;n: 36) | |
%v_9 = call(%self, %t_e_70, %t_conn_62, %t_opts_63 ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
%t_committed_67 = copy(%v_9) | |
BB [44:LBL_56:139] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_79:236) | |
BB [45:LBL_57:146] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_59:153, %v_12) | |
BB [46:LBL_58:151] | |
throw(%v_10) | |
BB [47:LBL_59:153] | |
%v_13 = get_global_var($!) | |
%t_e2_68 = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [49:LBL_61:160] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>%t_conn_62}) | |
%v_18 = call(%self, %t_e2_68, %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [50:LBL_62:168] | |
put_global_var($!, %v_14) | |
jump(LBL_75:219) | |
BB [51:LBL_63:173] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_64:179, %v_21, %undefined) | |
BB [52:LBL_131:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [53:LBL_64:179] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_66:184, %v_22) | |
BB [54:LBL_65:182] | |
throw(%v_19) | |
BB [55:LBL_66:184] | |
%v_23 = get_global_var($!) | |
%t_e4_69 = copy(%v_23) | |
line_num(;n: 43) | |
BB [56:LBL_67:189] | |
line_num(;n: 44) | |
%v_26 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [57:LBL_68:194] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
jump(LBL_71:206) | |
BB [58:LBL_69:200] | |
%v_27 = recv_jruby_exc() | |
BB [59:LBL_70:202] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [60:LBL_71:206] | |
%v_15 = copy(%v_26) | |
BB [61:LBL_72:208] | |
put_global_var($!, %v_14) | |
jump(LBL_75:219) | |
BB [62:LBL_73:214] | |
%v_28 = recv_jruby_exc() | |
BB [63:LBL_74:216] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [64:LBL_75:219] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_79:236) | |
BB [66:LBL_77:229] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [68:LBL_79:236] | |
jump(LBL_3:519) | |
BB [69:LBL_29:239] | |
%v_48 = recv_ruby_exc() | |
%v_49 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_50 = rescue_eqq(Array:[%v_49], %v_48) | |
b_true(LBL_81:246, %v_50) | |
BB [70:LBL_80:244] | |
throw(%v_48) | |
BB [71:LBL_81:246] | |
%v_51 = get_global_var($!) | |
%t_e_70 = copy(%v_51) | |
line_num(;n: 23) | |
%v_52 = get_global_var($!) | |
BB [73:LBL_82:253] | |
line_num(;n: 25) | |
%v_54 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [74:LBL_87:259] | |
put_global_var($!, %v_52) | |
jump(LBL_84:284) | |
BB [75:LBL_86:264] | |
%v_55 = recv_ruby_exc() | |
%v_56 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_57 = rescue_eqq(Array:[%v_56], %v_55) | |
b_true(LBL_89:271, %v_57) | |
BB [76:LBL_88:269] | |
throw(%v_55) | |
BB [77:LBL_89:271] | |
BB [78:LBL_90:273] | |
put_global_var($!, %v_52) | |
jump(LBL_84:284) | |
BB [79:LBL_85:279] | |
%v_58 = recv_jruby_exc() | |
BB [80:LBL_83:281] | |
put_global_var($!, %v_52) | |
throw(%v_58) | |
BB [81:LBL_84:284] | |
line_num(;n: 30) | |
%v_59 = copy({:'conn'=>%t_conn_62, :'rollback'=>%t_rollback_64}) | |
%v_60 = call(%self, %t_e_70, %v_59 ;n:transaction_error, t:FU, cl:false) | |
line_num(;n: 31) | |
%v_30 = copy(%t_ret_65) | |
BB [82:LBL_91:290] | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [84:LBL_93:297] | |
line_num(;n: 36) | |
%v_9 = call(%self, %t_e_70, %t_conn_62, %t_opts_63 ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
%t_committed_67 = copy(%v_9) | |
BB [85:LBL_94:304] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_117:401) | |
BB [86:LBL_95:311] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_97:318, %v_12) | |
BB [87:LBL_96:316] | |
throw(%v_10) | |
BB [88:LBL_97:318] | |
%v_13 = get_global_var($!) | |
%t_e2_68 = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [90:LBL_99:325] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>%t_conn_62}) | |
%v_18 = call(%self, %t_e2_68, %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [91:LBL_100:333] | |
put_global_var($!, %v_14) | |
jump(LBL_113:384) | |
BB [92:LBL_101:338] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_102:344, %v_21, %undefined) | |
BB [93:LBL_132:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [94:LBL_102:344] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_104:349, %v_22) | |
BB [95:LBL_103:347] | |
throw(%v_19) | |
BB [96:LBL_104:349] | |
%v_23 = get_global_var($!) | |
%t_e4_69 = copy(%v_23) | |
line_num(;n: 43) | |
BB [97:LBL_105:354] | |
line_num(;n: 44) | |
%v_26 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [98:LBL_106:359] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
jump(LBL_109:371) | |
BB [99:LBL_107:365] | |
%v_27 = recv_jruby_exc() | |
BB [100:LBL_108:367] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [101:LBL_109:371] | |
%v_15 = copy(%v_26) | |
BB [102:LBL_110:373] | |
put_global_var($!, %v_14) | |
jump(LBL_113:384) | |
BB [103:LBL_111:379] | |
%v_28 = recv_jruby_exc() | |
BB [104:LBL_112:381] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [105:LBL_113:384] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_117:401) | |
BB [107:LBL_115:394] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [109:LBL_117:401] | |
jump(LBL_3:519) | |
BB [110:LBL_4:405] | |
%v_61 = recv_jruby_exc() | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [112:LBL_5:413] | |
line_num(;n: 36) | |
%v_9 = call(%self, %t_e_70, %t_conn_62, %t_opts_63 ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
%t_committed_67 = copy(%v_9) | |
BB [114:LBL_10:420] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_7:517) | |
BB [115:LBL_9:427] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_12:434, %v_12) | |
BB [116:LBL_11:432] | |
throw(%v_10) | |
BB [117:LBL_12:434] | |
%v_13 = get_global_var($!) | |
%t_e2_68 = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [119:LBL_13:441] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>%t_conn_62}) | |
%v_18 = call(%self, %t_e2_68, %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [120:LBL_18:449] | |
put_global_var($!, %v_14) | |
jump(LBL_15:500) | |
BB [121:LBL_17:454] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_21:460, %v_21, %undefined) | |
BB [122:LBL_133:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [123:LBL_21:460] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_20:465, %v_22) | |
BB [124:LBL_19:463] | |
throw(%v_19) | |
BB [125:LBL_20:465] | |
%v_23 = get_global_var($!) | |
%t_e4_69 = copy(%v_23) | |
line_num(;n: 43) | |
BB [126:LBL_22:470] | |
line_num(;n: 44) | |
%v_26 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [127:LBL_26:475] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
jump(LBL_24:487) | |
BB [128:LBL_25:481] | |
%v_27 = recv_jruby_exc() | |
BB [129:LBL_23:483] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [130:LBL_24:487] | |
%v_15 = copy(%v_26) | |
BB [131:LBL_27:489] | |
put_global_var($!, %v_14) | |
jump(LBL_15:500) | |
BB [132:LBL_16:495] | |
%v_28 = recv_jruby_exc() | |
BB [133:LBL_14:497] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [134:LBL_15:500] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_7:517) | |
BB [136:LBL_8:510] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [138:LBL_7:517] | |
throw(%v_61) | |
BB [139:LBL_3:519] | |
pop_frame() | |
return(%v_30) | |
BB [140:LBL_134:-1] | |
BB [141:_GLOBAL_ENSURE_BLOCK__0:-1] | |
%v_80 = recv_jruby_exc() | |
pop_frame() | |
throw(%v_80) | |
------ Rescue block map ------ | |
BB 2 --> BB 141 | |
BB 3 --> BB 141 | |
BB 4 --> BB 141 | |
BB 6 --> BB 69 | |
BB 7 --> BB 141 | |
BB 9 --> BB 18 | |
BB 10 --> BB 69 | |
BB 11 --> BB 141 | |
BB 12 --> BB 69 | |
BB 13 --> BB 69 | |
BB 14 --> BB 69 | |
BB 15 --> BB 69 | |
BB 16 --> BB 69 | |
BB 17 --> BB 141 | |
BB 18 --> BB 29 | |
BB 19 --> BB 29 | |
BB 20 --> BB 29 | |
BB 21 --> BB 69 | |
BB 22 --> BB 141 | |
BB 23 --> BB 69 | |
BB 24 --> BB 69 | |
BB 25 --> BB 69 | |
BB 26 --> BB 69 | |
BB 27 --> BB 69 | |
BB 28 --> BB 141 | |
BB 29 --> BB 141 | |
BB 30 --> BB 69 | |
BB 31 --> BB 141 | |
BB 32 --> BB 69 | |
BB 33 --> BB 69 | |
BB 34 --> BB 69 | |
BB 35 --> BB 69 | |
BB 36 --> BB 69 | |
BB 37 --> BB 69 | |
BB 38 --> BB 141 | |
BB 39 --> BB 69 | |
BB 40 --> BB 141 | |
BB 42 --> BB 45 | |
BB 44 --> BB 141 | |
BB 45 --> BB 66 | |
BB 46 --> BB 66 | |
BB 47 --> BB 141 | |
BB 49 --> BB 51 | |
BB 50 --> BB 66 | |
BB 51 --> BB 62 | |
BB 52 --> BB 62 | |
BB 53 --> BB 62 | |
BB 54 --> BB 62 | |
BB 55 --> BB 141 | |
BB 56 --> BB 58 | |
BB 57 --> BB 62 | |
BB 58 --> BB 141 | |
BB 59 --> BB 62 | |
BB 60 --> BB 141 | |
BB 61 --> BB 66 | |
BB 62 --> BB 141 | |
BB 63 --> BB 66 | |
BB 64 --> BB 141 | |
BB 66 --> BB 141 | |
BB 68 --> BB 141 | |
BB 69 --> BB 110 | |
BB 70 --> BB 110 | |
BB 71 --> BB 141 | |
BB 73 --> BB 75 | |
BB 74 --> BB 110 | |
BB 75 --> BB 79 | |
BB 76 --> BB 79 | |
BB 77 --> BB 141 | |
BB 78 --> BB 110 | |
BB 79 --> BB 141 | |
BB 80 --> BB 110 | |
BB 81 --> BB 110 | |
BB 82 --> BB 141 | |
BB 84 --> BB 86 | |
BB 85 --> BB 141 | |
BB 86 --> BB 107 | |
BB 87 --> BB 107 | |
BB 88 --> BB 141 | |
BB 90 --> BB 92 | |
BB 91 --> BB 107 | |
BB 92 --> BB 103 | |
BB 93 --> BB 103 | |
BB 94 --> BB 103 | |
BB 95 --> BB 103 | |
BB 96 --> BB 141 | |
BB 97 --> BB 99 | |
BB 98 --> BB 103 | |
BB 99 --> BB 141 | |
BB 100 --> BB 103 | |
BB 101 --> BB 141 | |
BB 102 --> BB 107 | |
BB 103 --> BB 141 | |
BB 104 --> BB 107 | |
BB 105 --> BB 141 | |
BB 107 --> BB 141 | |
BB 109 --> BB 141 | |
BB 110 --> BB 141 | |
BB 112 --> BB 115 | |
BB 114 --> BB 141 | |
BB 115 --> BB 136 | |
BB 116 --> BB 136 | |
BB 117 --> BB 141 | |
BB 119 --> BB 121 | |
BB 120 --> BB 136 | |
BB 121 --> BB 132 | |
BB 122 --> BB 132 | |
BB 123 --> BB 132 | |
BB 124 --> BB 132 | |
BB 125 --> BB 141 | |
BB 126 --> BB 128 | |
BB 127 --> BB 132 | |
BB 128 --> BB 141 | |
BB 129 --> BB 132 | |
BB 130 --> BB 141 | |
BB 131 --> BB 136 | |
BB 132 --> BB 141 | |
BB 133 --> BB 136 | |
BB 134 --> BB 141 | |
BB 136 --> BB 141 | |
BB 138 --> BB 141 | |
BB 139 --> BB 141 | |
BB 140 --> BB 141 | |
:Instructions | |
2015-05-28T14:11:20.795-05:00: BasicCompilerPassListener: Finished Ensure Temporary Variables Assigned on scope in 1ms. | |
2015-05-28T14:11:20.798-05:00: JVMVisitor: Starting JVM compilation on scope INSTANCE_METHOD _transaction[nested_ensures.rb:0] | |
2015-05-28T14:11:20.801-05:00: JVMVisitor: | |
Linearized instructions for JIT: | |
Instructions: | |
CFG: | |
BB [1:LBL_118:-1]:>[1,139] | |
BB [2:LBL_119:-1]:>[2,3,140], <[0] | |
BB [3:LBL_120:-1]:>[3,140], <[1] | |
BB [4:LBL_0:11]:>[5,140], <[1,2] | |
BB [6:LBL_1:19]:>[6,38,68], <[3] | |
BB [7:LBL_121:-1]:>[8,140], <[5] | |
BB [9:LBL_32:32]:>[9,17], <[6] | |
BB [10:LBL_41:39]:>[10,11,68], <[8] | |
BB [11:LBL_122:-1]:>[16,140], <[9] | |
BB [12:LBL_42:46]:>[12,13,68], <[9] | |
BB [13:LBL_123:-1]:>[13,68], <[11] | |
BB [14:LBL_43:50]:>[14,15,68], <[11,12] | |
BB [15:LBL_124:-1]:>[15,68], <[13] | |
BB [16:LBL_44:54]:>[16,68], <[13,14] | |
BB [17:LBL_45:57]:>[37,140], <[10,15] | |
BB [18:LBL_40:60]:>[18,19,28], <[8] | |
BB [19:LBL_46:65]:>[28,139], <[17] | |
BB [20:LBL_47:67]:>[20,28], <[17] | |
BB [21:LBL_48:73]:>[21,22,68], <[19] | |
BB [22:LBL_125:-1]:>[27,140], <[20] | |
BB [23:LBL_49:80]:>[23,24,68], <[20] | |
BB [24:LBL_126:-1]:>[24,68], <[22] | |
BB [25:LBL_50:84]:>[25,26,68], <[22,23] | |
BB [26:LBL_127:-1]:>[26,68], <[24] | |
BB [27:LBL_51:88]:>[27,68], <[24,25] | |
BB [28:LBL_52:91]:>[37,140], <[21,26] | |
BB [29:LBL_35:95]:>[29,140], <[17,18,19] | |
BB [30:LBL_33:97]:>[30,31,68], <[28] | |
BB [31:LBL_128:-1]:>[36,140], <[29] | |
BB [32:LBL_36:103]:>[32,33,68], <[29] | |
BB [33:LBL_129:-1]:>[33,68], <[31] | |
BB [34:LBL_38:107]:>[34,35,68], <[31,32] | |
BB [35:LBL_130:-1]:>[35,68], <[33] | |
BB [36:LBL_39:111]:>[36,68], <[33,34] | |
BB [37:LBL_37:114]:>[68,139], <[30,35] | |
BB [38:LBL_34:116]:>[39,140], <[16,27] | |
BB [39:LBL_30:118]:>[39,68], <[5] | |
BB [40:LBL_31:122]:>[41,140], <[37,38] | |
BB [42:LBL_55:132]:>[43,44], <[39] | |
BB [44:LBL_56:139]:>[67,140], <[41] | |
BB [45:LBL_57:146]:>[45,46,65], <[41] | |
BB [46:LBL_58:151]:>[65,139], <[44] | |
BB [47:LBL_59:153]:>[48,140], <[44] | |
BB [49:LBL_61:160]:>[49,50], <[46] | |
BB [50:LBL_62:168]:>[63,65], <[48] | |
BB [51:LBL_63:173]:>[51,52,61], <[48] | |
BB [52:LBL_131:-1]:>[52,61], <[50] | |
BB [53:LBL_64:179]:>[53,54,61], <[50,51] | |
BB [54:LBL_65:182]:>[61,139], <[52] | |
BB [55:LBL_66:184]:>[55,140], <[52] | |
BB [56:LBL_67:189]:>[56,57], <[54] | |
BB [57:LBL_68:194]:>[59,61], <[55] | |
BB [58:LBL_69:200]:>[58,140], <[55] | |
BB [59:LBL_70:202]:>[61,139], <[57] | |
BB [60:LBL_71:206]:>[60,140], <[56] | |
BB [61:LBL_72:208]:>[63,65], <[59] | |
BB [62:LBL_73:214]:>[62,140], <[50,51,52,53,56,58] | |
BB [63:LBL_74:216]:>[65,139], <[61] | |
BB [64:LBL_75:219]:>[67,140], <[49,60] | |
BB [66:LBL_77:229]:>[139,140], <[44,45,49,60,62] | |
BB [68:LBL_79:236]:>[138,140], <[43,63] | |
BB [69:LBL_29:239]:>[69,70,109], <[5,9,11,12,13,14,15,20,22,23,24,25,26,29,31,32,33,34,35,36,38] | |
BB [70:LBL_80:244]:>[109,139], <[68] | |
BB [71:LBL_81:246]:>[72,140], <[68] | |
BB [73:LBL_82:253]:>[73,74], <[70] | |
BB [74:LBL_87:259]:>[80,109], <[72] | |
BB [75:LBL_86:264]:>[75,76,78], <[72] | |
BB [76:LBL_88:269]:>[78,139], <[74] | |
BB [77:LBL_89:271]:>[77,140], <[74] | |
BB [78:LBL_90:273]:>[80,109], <[76] | |
BB [79:LBL_85:279]:>[79,140], <[74,75] | |
BB [80:LBL_83:281]:>[109,139], <[78] | |
BB [81:LBL_84:284]:>[81,109], <[73,77] | |
BB [82:LBL_91:290]:>[83,140], <[80] | |
BB [84:LBL_93:297]:>[84,85], <[81] | |
BB [85:LBL_94:304]:>[108,140], <[83] | |
BB [86:LBL_95:311]:>[86,87,106], <[83] | |
BB [87:LBL_96:316]:>[106,139], <[85] | |
BB [88:LBL_97:318]:>[89,140], <[85] | |
BB [90:LBL_99:325]:>[90,91], <[87] | |
BB [91:LBL_100:333]:>[104,106], <[89] | |
BB [92:LBL_101:338]:>[92,93,102], <[89] | |
BB [93:LBL_132:-1]:>[93,102], <[91] | |
BB [94:LBL_102:344]:>[94,95,102], <[91,92] | |
BB [95:LBL_103:347]:>[102,139], <[93] | |
BB [96:LBL_104:349]:>[96,140], <[93] | |
BB [97:LBL_105:354]:>[97,98], <[95] | |
BB [98:LBL_106:359]:>[100,102], <[96] | |
BB [99:LBL_107:365]:>[99,140], <[96] | |
BB [100:LBL_108:367]:>[102,139], <[98] | |
BB [101:LBL_109:371]:>[101,140], <[97] | |
BB [102:LBL_110:373]:>[104,106], <[100] | |
BB [103:LBL_111:379]:>[103,140], <[91,92,93,94,97,99] | |
BB [104:LBL_112:381]:>[106,139], <[102] | |
BB [105:LBL_113:384]:>[108,140], <[90,101] | |
BB [107:LBL_115:394]:>[139,140], <[85,86,90,101,103] | |
BB [109:LBL_117:401]:>[138,140], <[84,104] | |
BB [110:LBL_4:405]:>[111,140], <[68,69,73,77,79,80] | |
BB [112:LBL_5:413]:>[113,114], <[109] | |
BB [114:LBL_10:420]:>[137,140], <[111] | |
BB [115:LBL_9:427]:>[115,116,135], <[111] | |
BB [116:LBL_11:432]:>[135,139], <[114] | |
BB [117:LBL_12:434]:>[118,140], <[114] | |
BB [119:LBL_13:441]:>[119,120], <[116] | |
BB [120:LBL_18:449]:>[133,135], <[118] | |
BB [121:LBL_17:454]:>[121,122,131], <[118] | |
BB [122:LBL_133:-1]:>[122,131], <[120] | |
BB [123:LBL_21:460]:>[123,124,131], <[120,121] | |
BB [124:LBL_19:463]:>[131,139], <[122] | |
BB [125:LBL_20:465]:>[125,140], <[122] | |
BB [126:LBL_22:470]:>[126,127], <[124] | |
BB [127:LBL_26:475]:>[129,131], <[125] | |
BB [128:LBL_25:481]:>[128,140], <[125] | |
BB [129:LBL_23:483]:>[131,139], <[127] | |
BB [130:LBL_24:487]:>[130,140], <[126] | |
BB [131:LBL_27:489]:>[133,135], <[129] | |
BB [132:LBL_16:495]:>[132,140], <[120,121,122,123,126,128] | |
BB [133:LBL_14:497]:>[135,139], <[131] | |
BB [134:LBL_15:500]:>[137,140], <[119,130] | |
BB [136:LBL_8:510]:>[139,140], <[114,115,119,130,132] | |
BB [138:LBL_7:517]:>[139,140], <[113,133] | |
BB [139:LBL_3:519]:>[139,140], <[67,108] | |
BB [140:LBL_134:-1]:>[140], <[0,18,36,45,53,58,62,65,69,75,79,86,94,99,103,106,115,123,128,132,135,137,138,140] | |
BB [141:_GLOBAL_ENSURE_BLOCK__0:-1]:>[139], <[1,2,3,6,10,16,21,27,28,30,37,39,43,46,54,57,59,61,63,65,67,70,76,78,81,84,87,95,98,100,102,104,106,108,109,113,116,124,127,129,131,133,135,137,138,139] | |
Instructions: | |
BB [1:LBL_118:-1] | |
%t_e1_66 = copy(nil) | |
%v_61 = copy(%t_e1_66) | |
%v_20 = copy(%t_e1_66) | |
%v_21 = copy(%t_e1_66) | |
%v_22 = copy(%t_e1_66) | |
%v_23 = copy(%t_e1_66) | |
%v_26 = copy(%t_e1_66) | |
%v_27 = copy(%t_e1_66) | |
%v_28 = copy(%t_e1_66) | |
%v_29 = copy(%t_e1_66) | |
%t_rollback_64 = copy(%t_e1_66) | |
%current_scope = copy(%t_e1_66) | |
%t_e2_68 = copy(%t_e1_66) | |
%v_30 = copy(%t_e1_66) | |
%v_33 = copy(%t_e1_66) | |
%v_34 = copy(%t_e1_66) | |
%v_36 = copy(%t_e1_66) | |
%v_37 = copy(%t_e1_66) | |
%v_39 = copy(%t_e1_66) | |
%t_conn_62 = copy(%t_e1_66) | |
%v_80 = copy(%t_e1_66) | |
%t_ret_65 = copy(%t_e1_66) | |
%v_40 = copy(%t_e1_66) | |
%v_41 = copy(%t_e1_66) | |
%v_42 = copy(%t_e1_66) | |
%t_committed_67 = copy(%t_e1_66) | |
%v_43 = copy(%t_e1_66) | |
%v_44 = copy(%t_e1_66) | |
%v_45 = copy(%t_e1_66) | |
%v_46 = copy(%t_e1_66) | |
%v_47 = copy(%t_e1_66) | |
%v_48 = copy(%t_e1_66) | |
%v_49 = copy(%t_e1_66) | |
%t_opts_63 = copy(%t_e1_66) | |
%t_e4_69 = copy(%t_e1_66) | |
%t_e_70 = copy(%t_e1_66) | |
%v_50 = copy(%t_e1_66) | |
%v_51 = copy(%t_e1_66) | |
%v_52 = copy(%t_e1_66) | |
%v_10 = copy(%t_e1_66) | |
%v_11 = copy(%t_e1_66) | |
%v_55 = copy(%t_e1_66) | |
%v_12 = copy(%t_e1_66) | |
%v_56 = copy(%t_e1_66) | |
%v_0 = copy(%t_e1_66) | |
%v_13 = copy(%t_e1_66) | |
%v_57 = copy(%t_e1_66) | |
%v_14 = copy(%t_e1_66) | |
%v_58 = copy(%t_e1_66) | |
%v_59 = copy(%t_e1_66) | |
%v_16 = copy(%t_e1_66) | |
%v_4 = copy(%t_e1_66) | |
%v_17 = copy(%t_e1_66) | |
%v_5 = copy(%t_e1_66) | |
%v_18 = copy(%t_e1_66) | |
%v_19 = copy(%t_e1_66) | |
%v_3 = copy(%t_e1_66) | |
%v_9 = copy(%t_e1_66) | |
%v_6 = copy(%t_e1_66) | |
push_frame() | |
BB [2:LBL_119:-1] | |
%self = recv_self() | |
%v_0 = load_implicit_closure() | |
%current_scope = copy(scope<0>) | |
check_arity(;req: 1, opt: 1, *r: false, kw: false) | |
%t_conn_62 = recv_pre_reqd_arg() | |
%t_opts_63 = recv_opt_arg(;index:0, req: 1, pre: 1) | |
bne(LBL_0:11, %t_opts_63, %undefined) | |
BB [3:LBL_120:-1] | |
%v_3 = search_const(%current_scope ;name: OPTS, no_priv: false) | |
%t_opts_63 = copy(%v_3) | |
BB [4:LBL_0:11] | |
line_num(;n: 1) | |
%v_4 = call_1o(%t_opts_63, :'rollback' ;n:[], t:NO, cl:false) | |
%t_rollback_64 = copy(%v_4) | |
line_num(;n: 2) | |
%v_5 = get_global_var($!) | |
BB [6:LBL_1:19] | |
line_num(;n: 4) | |
%v_31 = call(%self, %t_conn_62, %t_opts_63 ;n:add_transaction, t:FU, cl:false) | |
line_num(;n: 5) | |
%v_32 = call(%self, %t_conn_62, %t_opts_63 ;n:begin_transaction, t:FU, cl:false) | |
line_num(;n: 6) | |
%v_33 = call_1o(%t_rollback_64, :'always' ;n:==, t:NO, cl:false) | |
b_false(LBL_30:118, %v_33) | |
BB [7:LBL_121:-1] | |
line_num(;n: 7) | |
%v_34 = get_global_var($!) | |
BB [9:LBL_32:32] | |
line_num(;n: 9) | |
%v_40 = yield(%v_0, %t_conn_62 ;unwrap: false) | |
%t_ret_65 = copy(%v_40) | |
%v_39 = copy(%v_40) | |
BB [10:LBL_41:39] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_42:46, %t_e1_66) | |
BB [11:LBL_122:-1] | |
jump(LBL_45:57) | |
BB [12:LBL_42:46] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_43:50, %v_36, %undefined) | |
BB [13:LBL_123:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [14:LBL_43:50] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_44:54, %v_37, %undefined) | |
BB [15:LBL_124:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [16:LBL_44:54] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [17:LBL_45:57] | |
BB [18:LBL_40:60] | |
%v_41 = recv_ruby_exc() | |
%v_42 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_43 = rescue_eqq(Array:[%v_42], %v_41) | |
b_true(LBL_47:67, %v_43) | |
BB [19:LBL_46:65] | |
throw(%v_41) | |
BB [20:LBL_47:67] | |
%v_44 = get_global_var($!) | |
%t_e1_66 = copy(%v_44) | |
line_num(;n: 12) | |
%v_45 = call_1o(%self, %v_44 ;n:raise, t:FU, cl:false) | |
%v_39 = copy(%v_45) | |
BB [21:LBL_48:73] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_49:80, %t_e1_66) | |
BB [22:LBL_125:-1] | |
jump(LBL_52:91) | |
BB [23:LBL_49:80] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_50:84, %v_36, %undefined) | |
BB [24:LBL_126:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [25:LBL_50:84] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_51:88, %v_37, %undefined) | |
BB [26:LBL_127:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [27:LBL_51:88] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [28:LBL_52:91] | |
jump(LBL_34:116) | |
BB [29:LBL_35:95] | |
%v_46 = recv_jruby_exc() | |
BB [30:LBL_33:97] | |
put_global_var($!, %v_34) | |
line_num(;n: 15) | |
b_false(LBL_36:103, %t_e1_66) | |
BB [31:LBL_128:-1] | |
jump(LBL_37:114) | |
BB [32:LBL_36:103] | |
%v_36 = inheritance_search_const(<Class:Object> ;name: Sequel, no_priv: true) | |
bne(LBL_38:107, %v_36, %undefined) | |
BB [33:LBL_129:-1] | |
%v_36 = const_missing(<Class:Object>, :'Sequel' ;n:const_missing, t:FU, cl:false, missing: Sequel) | |
BB [34:LBL_38:107] | |
%v_37 = inheritance_search_const(%v_36 ;name: Rollback, no_priv: true) | |
bne(LBL_39:111, %v_37, %undefined) | |
BB [35:LBL_130:-1] | |
%v_37 = const_missing(%v_36, :'Rollback' ;n:const_missing, t:FU, cl:false, missing: Rollback) | |
BB [36:LBL_39:111] | |
%v_38 = call_1o(%self, %v_37 ;n:raise, t:FU, cl:false) | |
BB [37:LBL_37:114] | |
throw(%v_46) | |
BB [38:LBL_34:116] | |
jump(LBL_31:122) | |
BB [39:LBL_30:118] | |
line_num(;n: 19) | |
%v_47 = yield(%v_0, %t_conn_62 ;unwrap: false) | |
%v_39 = copy(%v_47) | |
BB [40:LBL_31:122] | |
%v_30 = copy(%v_39) | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [42:LBL_55:132] | |
line_num(;n: 36) | |
%v_9 = call(%self, %t_e_70, %t_conn_62, %t_opts_63 ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
%t_committed_67 = copy(%v_9) | |
BB [44:LBL_56:139] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
BB [45:LBL_57:146] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_59:153, %v_12) | |
BB [46:LBL_58:151] | |
throw(%v_10) | |
BB [47:LBL_59:153] | |
%v_13 = get_global_var($!) | |
%t_e2_68 = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [49:LBL_61:160] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>%t_conn_62}) | |
%v_18 = call(%self, %t_e2_68, %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [50:LBL_62:168] | |
put_global_var($!, %v_14) | |
BB [51:LBL_63:173] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_64:179, %v_21, %undefined) | |
BB [52:LBL_131:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [53:LBL_64:179] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_66:184, %v_22) | |
BB [54:LBL_65:182] | |
throw(%v_19) | |
BB [55:LBL_66:184] | |
%v_23 = get_global_var($!) | |
%t_e4_69 = copy(%v_23) | |
line_num(;n: 43) | |
BB [56:LBL_67:189] | |
line_num(;n: 44) | |
%v_26 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [57:LBL_68:194] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
BB [58:LBL_69:200] | |
%v_27 = recv_jruby_exc() | |
BB [59:LBL_70:202] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [60:LBL_71:206] | |
%v_15 = copy(%v_26) | |
BB [61:LBL_72:208] | |
put_global_var($!, %v_14) | |
jump(LBL_75:219) | |
BB [62:LBL_73:214] | |
%v_28 = recv_jruby_exc() | |
BB [63:LBL_74:216] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [64:LBL_75:219] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_79:236) | |
BB [66:LBL_77:229] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [68:LBL_79:236] | |
jump(LBL_3:519) | |
BB [69:LBL_29:239] | |
%v_48 = recv_ruby_exc() | |
%v_49 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_50 = rescue_eqq(Array:[%v_49], %v_48) | |
b_true(LBL_81:246, %v_50) | |
BB [70:LBL_80:244] | |
throw(%v_48) | |
BB [71:LBL_81:246] | |
%v_51 = get_global_var($!) | |
%t_e_70 = copy(%v_51) | |
line_num(;n: 23) | |
%v_52 = get_global_var($!) | |
BB [73:LBL_82:253] | |
line_num(;n: 25) | |
%v_54 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [74:LBL_87:259] | |
put_global_var($!, %v_52) | |
BB [75:LBL_86:264] | |
%v_55 = recv_ruby_exc() | |
%v_56 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_57 = rescue_eqq(Array:[%v_56], %v_55) | |
b_true(LBL_89:271, %v_57) | |
BB [76:LBL_88:269] | |
throw(%v_55) | |
BB [77:LBL_89:271] | |
BB [78:LBL_90:273] | |
put_global_var($!, %v_52) | |
jump(LBL_84:284) | |
BB [79:LBL_85:279] | |
%v_58 = recv_jruby_exc() | |
BB [80:LBL_83:281] | |
put_global_var($!, %v_52) | |
throw(%v_58) | |
BB [81:LBL_84:284] | |
line_num(;n: 30) | |
%v_59 = copy({:'conn'=>%t_conn_62, :'rollback'=>%t_rollback_64}) | |
%v_60 = call(%self, %t_e_70, %v_59 ;n:transaction_error, t:FU, cl:false) | |
line_num(;n: 31) | |
%v_30 = copy(%t_ret_65) | |
BB [82:LBL_91:290] | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [84:LBL_93:297] | |
line_num(;n: 36) | |
%v_9 = call(%self, %t_e_70, %t_conn_62, %t_opts_63 ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
%t_committed_67 = copy(%v_9) | |
BB [85:LBL_94:304] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
BB [86:LBL_95:311] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_97:318, %v_12) | |
BB [87:LBL_96:316] | |
throw(%v_10) | |
BB [88:LBL_97:318] | |
%v_13 = get_global_var($!) | |
%t_e2_68 = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [90:LBL_99:325] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>%t_conn_62}) | |
%v_18 = call(%self, %t_e2_68, %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [91:LBL_100:333] | |
put_global_var($!, %v_14) | |
BB [92:LBL_101:338] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_102:344, %v_21, %undefined) | |
BB [93:LBL_132:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [94:LBL_102:344] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_104:349, %v_22) | |
BB [95:LBL_103:347] | |
throw(%v_19) | |
BB [96:LBL_104:349] | |
%v_23 = get_global_var($!) | |
%t_e4_69 = copy(%v_23) | |
line_num(;n: 43) | |
BB [97:LBL_105:354] | |
line_num(;n: 44) | |
%v_26 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [98:LBL_106:359] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
BB [99:LBL_107:365] | |
%v_27 = recv_jruby_exc() | |
BB [100:LBL_108:367] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [101:LBL_109:371] | |
%v_15 = copy(%v_26) | |
BB [102:LBL_110:373] | |
put_global_var($!, %v_14) | |
jump(LBL_113:384) | |
BB [103:LBL_111:379] | |
%v_28 = recv_jruby_exc() | |
BB [104:LBL_112:381] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [105:LBL_113:384] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_117:401) | |
BB [107:LBL_115:394] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [109:LBL_117:401] | |
BB [110:LBL_4:405] | |
%v_61 = recv_jruby_exc() | |
put_global_var($!, %v_5) | |
line_num(;n: 34) | |
%v_6 = get_global_var($!) | |
BB [112:LBL_5:413] | |
line_num(;n: 36) | |
%v_9 = call(%self, %t_e_70, %t_conn_62, %t_opts_63 ;n:commit_or_rollback_transaction, t:FU, cl:false) | |
%t_committed_67 = copy(%v_9) | |
BB [114:LBL_10:420] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
BB [115:LBL_9:427] | |
%v_10 = recv_ruby_exc() | |
%v_11 = search_const(%current_scope ;name: Exception, no_priv: false) | |
%v_12 = rescue_eqq(Array:[%v_11], %v_10) | |
b_true(LBL_12:434, %v_12) | |
BB [116:LBL_11:432] | |
throw(%v_10) | |
BB [117:LBL_12:434] | |
%v_13 = get_global_var($!) | |
%t_e2_68 = copy(%v_13) | |
line_num(;n: 39) | |
%v_14 = get_global_var($!) | |
BB [119:LBL_13:441] | |
line_num(;n: 40) | |
%v_16 = call_0o(%self ;n:database_error_classes, t:VA, cl:false) | |
%v_17 = copy({:'classes'=>%v_16, :'conn'=>%t_conn_62}) | |
%v_18 = call(%self, %t_e2_68, %v_17 ;n:raise_error, t:FU, cl:false) | |
%v_15 = copy(%v_18) | |
BB [120:LBL_18:449] | |
put_global_var($!, %v_14) | |
BB [121:LBL_17:454] | |
%v_19 = recv_ruby_exc() | |
%v_20 = search_const(%current_scope ;name: Sequel, no_priv: false) | |
%v_21 = inheritance_search_const(%v_20 ;name: DatabaseError, no_priv: true) | |
bne(LBL_21:460, %v_21, %undefined) | |
BB [122:LBL_133:-1] | |
%v_21 = const_missing(%v_20, :'DatabaseError' ;n:const_missing, t:FU, cl:false, missing: DatabaseError) | |
BB [123:LBL_21:460] | |
%v_22 = rescue_eqq(Array:[%v_21], %v_19) | |
b_true(LBL_20:465, %v_22) | |
BB [124:LBL_19:463] | |
throw(%v_19) | |
BB [125:LBL_20:465] | |
%v_23 = get_global_var($!) | |
%t_e4_69 = copy(%v_23) | |
line_num(;n: 43) | |
BB [126:LBL_22:470] | |
line_num(;n: 44) | |
%v_26 = call(%self, %t_conn_62, %t_opts_63 ;n:rollback_transaction, t:FU, cl:false) | |
BB [127:LBL_26:475] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
BB [128:LBL_25:481] | |
%v_27 = recv_jruby_exc() | |
BB [129:LBL_23:483] | |
line_num(;n: 47) | |
%v_25 = call_1o(%self, %t_e4_69 ;n:raise, t:FU, cl:false) | |
throw(%v_27) | |
BB [130:LBL_24:487] | |
%v_15 = copy(%v_26) | |
BB [131:LBL_27:489] | |
put_global_var($!, %v_14) | |
jump(LBL_15:500) | |
BB [132:LBL_16:495] | |
%v_28 = recv_jruby_exc() | |
BB [133:LBL_14:497] | |
put_global_var($!, %v_14) | |
throw(%v_28) | |
BB [134:LBL_15:500] | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
jump(LBL_7:517) | |
BB [136:LBL_8:510] | |
%v_29 = recv_jruby_exc() | |
put_global_var($!, %v_6) | |
line_num(;n: 52) | |
%v_7 = call(%self, %t_conn_62, %t_committed_67 ;n:remove_transaction, t:FU, cl:false) | |
throw(%v_29) | |
BB [138:LBL_7:517] | |
throw(%v_61) | |
BB [139:LBL_3:519] | |
pop_frame() | |
return(%v_30) | |
BB [140:LBL_134:-1] | |
return(nil) | |
BB [141:_GLOBAL_ENSURE_BLOCK__0:-1] | |
%v_80 = recv_jruby_exc() | |
pop_frame() | |
throw(%v_80) | |
------ Rescue block map ------ | |
BB 2 --> BB 141 | |
BB 3 --> BB 141 | |
BB 4 --> BB 141 | |
BB 6 --> BB 69 | |
BB 7 --> BB 141 | |
BB 9 --> BB 18 | |
BB 10 --> BB 69 | |
BB 11 --> BB 141 | |
BB 12 --> BB 69 | |
BB 13 --> BB 69 | |
BB 14 --> BB 69 | |
BB 15 --> BB 69 | |
BB 16 --> BB 69 | |
BB 17 --> BB 141 | |
BB 18 --> BB 29 | |
BB 19 --> BB 29 | |
BB 20 --> BB 29 | |
BB 21 --> BB 69 | |
BB 22 --> BB 141 | |
BB 23 --> BB 69 | |
BB 24 --> BB 69 | |
BB 25 --> BB 69 | |
BB 26 --> BB 69 | |
BB 27 --> BB 69 | |
BB 28 --> BB 141 | |
BB 29 --> BB 141 | |
BB 30 --> BB 69 | |
BB 31 --> BB 141 | |
BB 32 --> BB 69 | |
BB 33 --> BB 69 | |
BB 34 --> BB 69 | |
BB 35 --> BB 69 | |
BB 36 --> BB 69 | |
BB 37 --> BB 69 | |
BB 38 --> BB 141 | |
BB 39 --> BB 69 | |
BB 40 --> BB 141 | |
BB 42 --> BB 45 | |
BB 44 --> BB 141 | |
BB 45 --> BB 66 | |
BB 46 --> BB 66 | |
BB 47 --> BB 141 | |
BB 49 --> BB 51 | |
BB 50 --> BB 66 | |
BB 51 --> BB 62 | |
BB 52 --> BB 62 | |
BB 53 --> BB 62 | |
BB 54 --> BB 62 | |
BB 55 --> BB 141 | |
BB 56 --> BB 58 | |
BB 57 --> BB 62 | |
BB 58 --> BB 141 | |
BB 59 --> BB 62 | |
BB 60 --> BB 141 | |
BB 61 --> BB 66 | |
BB 62 --> BB 141 | |
BB 63 --> BB 66 | |
BB 64 --> BB 141 | |
BB 66 --> BB 141 | |
BB 68 --> BB 141 | |
BB 69 --> BB 110 | |
BB 70 --> BB 110 | |
BB 71 --> BB 141 | |
BB 73 --> BB 75 | |
BB 74 --> BB 110 | |
BB 75 --> BB 79 | |
BB 76 --> BB 79 | |
BB 77 --> BB 141 | |
BB 78 --> BB 110 | |
BB 79 --> BB 141 | |
BB 80 --> BB 110 | |
BB 81 --> BB 110 | |
BB 82 --> BB 141 | |
BB 84 --> BB 86 | |
BB 85 --> BB 141 | |
BB 86 --> BB 107 | |
BB 87 --> BB 107 | |
BB 88 --> BB 141 | |
BB 90 --> BB 92 | |
BB 91 --> BB 107 | |
BB 92 --> BB 103 | |
BB 93 --> BB 103 | |
BB 94 --> BB 103 | |
BB 95 --> BB 103 | |
BB 96 --> BB 141 | |
BB 97 --> BB 99 | |
BB 98 --> BB 103 | |
BB 99 --> BB 141 | |
BB 100 --> BB 103 | |
BB 101 --> BB 141 | |
BB 102 --> BB 107 | |
BB 103 --> BB 141 | |
BB 104 --> BB 107 | |
BB 105 --> BB 141 | |
BB 107 --> BB 141 | |
BB 109 --> BB 141 | |
BB 110 --> BB 141 | |
BB 112 --> BB 115 | |
BB 114 --> BB 141 | |
BB 115 --> BB 136 | |
BB 116 --> BB 136 | |
BB 117 --> BB 141 | |
BB 119 --> BB 121 | |
BB 120 --> BB 136 | |
BB 121 --> BB 132 | |
BB 122 --> BB 132 | |
BB 123 --> BB 132 | |
BB 124 --> BB 132 | |
BB 125 --> BB 141 | |
BB 126 --> BB 128 | |
BB 127 --> BB 132 | |
BB 128 --> BB 141 | |
BB 129 --> BB 132 | |
BB 130 --> BB 141 | |
BB 131 --> BB 136 | |
BB 132 --> BB 141 | |
BB 133 --> BB 136 | |
BB 134 --> BB 141 | |
BB 136 --> BB 141 | |
BB 138 --> BB 141 | |
BB 139 --> BB 141 | |
BB 140 --> BB 141 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment