-
-
Save timo/8cae0f69fa05fc9ed6eb7fefb085f1a0 to your computer and use it in GitHub Desktop.
compilation of the regex `/ hello \d+ world /`
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
Frame_2 : | |
cuuid : 1 | |
name : | |
outer : Frame_1 | |
Locals : | |
0: loc_0_obj | |
1: loc_1_obj | |
2: loc_2_obj | |
3: loc_3_obj | |
4: loc_4_obj | |
5: loc_5_obj | |
6: loc_6_str | |
7: loc_7_int | |
8: loc_8_int | |
9: loc_9_int | |
10: loc_10_int | |
11: loc_11_obj | |
12: loc_12_obj | |
13: loc_13_obj | |
14: loc_14_int | |
15: loc_15_int | |
16: loc_16_int | |
17: loc_17_int | |
18: loc_18_int | |
19: loc_19_int | |
20: loc_20_obj | |
21: loc_21_obj | |
22: loc_22_obj | |
23: loc_23_obj | |
24: loc_24_int | |
25: loc_25_int | |
26: loc_26_obj | |
27: loc_27_str | |
28: loc_28_int | |
29: loc_29_int | |
30: loc_30_int | |
31: loc_31_obj | |
32: loc_32_obj | |
33: loc_33_obj | |
Lexicals : | |
0: lex_Frame_2_self_obj | |
1: lex_Frame_2_%__obj | |
2: lex_Frame_2_$/_obj | |
3: lex_Frame_2_$¢_obj | |
4: lex_Frame_2_$?REGEX_obj | |
5: lex_Frame_2_$*DISPATCHER_obj | |
Instructions : | |
00000 checkarity 1, 1 | |
00001 param_rp_o loc_1_obj, 0 | |
00002 hllize loc_31_obj, loc_1_obj | |
00003 set loc_1_obj, loc_31_obj | |
00004 decont loc_31_obj, loc_1_obj | |
00005 set loc_32_obj, loc_31_obj | |
00006 bindlex lex_Frame_2_self_obj, loc_32_obj | |
00007 param_sn loc_2_obj | |
00008 wval loc_31_obj, 1, 47 | |
00009 create loc_31_obj, loc_31_obj | |
00010 wval loc_33_obj, 1, 46 | |
00011 bindattr_o loc_31_obj, loc_33_obj, '$!storage', loc_2_obj, -1 | |
00012 set loc_2_obj, loc_31_obj | |
00013 decont loc_31_obj, loc_2_obj | |
00014 bindlex lex_Frame_2_%__obj, loc_31_obj | |
00015 curcode loc_0_obj | |
00016 getcodeobj loc_0_obj, loc_0_obj | |
00017 bindlex lex_Frame_2_$?REGEX_obj, loc_0_obj | |
00018 takedispatcher loc_3_obj | |
00019 getlex loc_5_obj, lex_Frame_2_self_obj | |
00020 set loc_4_obj, loc_5_obj | |
00021 const_i64_16 loc_14_int, -1 | |
00022 const_i64_16 loc_15_int, 0 | |
00023 const_i64_16 loc_16_int, 1 | |
00024 const_i64_16 loc_17_int, 2 | |
00025 const_i64_16 loc_18_int, 3 | |
00026 const_i64_16 loc_19_int, 4 | |
00027 findmeth loc_21_obj, loc_4_obj, '!cursor_start' | |
00028 prepargs Callsite_0 | |
00029 arg_o 0, loc_4_obj | |
00030 invoke_o loc_5_obj, loc_21_obj | |
00031 findmeth loc_23_obj, loc_4_obj, '!shared' | |
00032 prepargs Callsite_0 | |
00033 arg_o 0, loc_4_obj | |
00034 invoke_o loc_23_obj, loc_23_obj | |
00035 getwhat loc_26_obj, loc_23_obj | |
00036 getattr_o loc_11_obj, loc_23_obj, loc_26_obj, '$!CUR_CLASS', -1 | |
00037 getattr_s loc_6_str, loc_23_obj, loc_26_obj, '$!target', 2 | |
00038 getattr_i loc_7_int, loc_5_obj, loc_11_obj, '$!from', -1 | |
00039 getattr_o loc_12_obj, loc_5_obj, loc_11_obj, '$!bstack', -1 | |
00040 getattr_o loc_22_obj, loc_4_obj, loc_11_obj, '$!restart', -1 | |
00041 isconcrete loc_24_int, loc_22_obj | |
00042 bindlex lex_Frame_2_$¢_obj, loc_5_obj | |
00043 chars loc_9_int, loc_6_str | |
00044 eq_i loc_25_int, loc_16_int, loc_24_int | |
00045 if_i loc_25_int, label_10(00107) | |
00046 gt_i loc_25_int, loc_7_int, loc_9_int | |
00047 if_i loc_25_int, label_10(00107) | |
00048 getattr_i loc_24_int, loc_4_obj, loc_11_obj, '$!from', -1 | |
00049 ne_i loc_24_int, loc_24_int, loc_14_int | |
00050 if_i loc_24_int, label_5(00070) | |
00051 goto label_2(00058) | |
label_1: | |
00052 inc_i loc_7_int | |
00053 const_s loc_27_str, 'hello' | |
00054 index_s loc_7_int, loc_6_str, loc_27_str, loc_7_int | |
00055 eq_i loc_24_int, loc_7_int, loc_14_int | |
00056 if_i loc_24_int, label_10(00107) | |
00057 bindattr_i loc_5_obj, loc_11_obj, '$!from', loc_7_int, -1 | |
label_2: | |
00058 const_i64_16 loc_25_int, 1 | |
00059 elems loc_28_int, loc_12_obj | |
00060 gt_i loc_29_int, loc_28_int, loc_15_int | |
00061 if_i loc_29_int, label_3(00064) | |
00062 set loc_29_int, loc_15_int | |
00063 goto label_4(00066) | |
label_3: | |
00064 dec_i loc_28_int | |
00065 atpos_i loc_29_int, loc_12_obj, loc_28_int | |
label_4: | |
00066 push_i loc_12_obj, loc_25_int | |
00067 push_i loc_12_obj, loc_7_int | |
00068 push_i loc_12_obj, loc_15_int | |
00069 push_i loc_12_obj, loc_29_int | |
label_5: | |
00070 const_s loc_27_str, 'hello' | |
00071 eqat_s loc_29_int, loc_6_str, loc_27_str, loc_7_int | |
00072 unless_i loc_29_int, label_10(00107) | |
00073 const_i64_16 loc_29_int, 5 | |
00074 add_i loc_7_int, loc_7_int, loc_29_int | |
label_6: | |
00075 ge_i loc_29_int, loc_7_int, loc_9_int | |
00076 if_i loc_29_int, label_10(00107) | |
00077 const_i64_16 loc_29_int, 8 | |
00078 iscclass loc_29_int, loc_29_int, loc_6_str, loc_7_int | |
00079 unless_i loc_29_int, label_10(00107) | |
00080 inc_i loc_7_int | |
00081 const_i64_16 loc_29_int, 3 | |
00082 elems loc_28_int, loc_12_obj | |
00083 gt_i loc_25_int, loc_28_int, loc_15_int | |
00084 if_i loc_25_int, label_7(00087) | |
00085 set loc_25_int, loc_15_int | |
00086 goto label_8(00089) | |
label_7: | |
00087 dec_i loc_28_int | |
00088 atpos_i loc_25_int, loc_12_obj, loc_28_int | |
label_8: | |
00089 push_i loc_12_obj, loc_29_int | |
00090 push_i loc_12_obj, loc_7_int | |
00091 push_i loc_12_obj, loc_10_int | |
00092 push_i loc_12_obj, loc_25_int | |
00093 goto label_6(00075) | |
label_9: | |
00094 const_s loc_27_str, 'world' | |
00095 eqat_s loc_25_int, loc_6_str, loc_27_str, loc_7_int | |
00096 unless_i loc_25_int, label_10(00107) | |
00097 const_i64_16 loc_25_int, 5 | |
00098 add_i loc_7_int, loc_7_int, loc_25_int | |
00099 findmeth loc_31_obj, loc_5_obj, '!cursor_pass' | |
00100 prepargs Callsite_1 | |
00101 arg_o 0, loc_5_obj | |
00102 arg_i 1, loc_7_int | |
00103 argconst_s 2, 'backtrack' | |
00104 arg_i 3, loc_16_int | |
00105 invoke_o loc_31_obj, loc_31_obj | |
00106 return_o loc_5_obj | |
label_10: | |
00107 isnull loc_25_int, loc_12_obj | |
00108 if_i loc_25_int, label_11(00127) | |
00109 elems loc_25_int, loc_12_obj | |
00110 gt_i loc_25_int, loc_25_int, loc_15_int | |
00111 unless_i loc_25_int, label_11(00127) | |
00112 pop_i loc_28_int, loc_12_obj | |
00113 pop_i loc_10_int, loc_12_obj | |
00114 pop_i loc_7_int, loc_12_obj | |
00115 pop_i loc_28_int, loc_12_obj | |
00116 lt_i loc_25_int, loc_7_int, loc_14_int | |
00117 if_i loc_25_int, label_11(00127) | |
00118 lt_i loc_25_int, loc_7_int, loc_15_int | |
00119 if_i loc_25_int, label_10(00107) | |
00120 eq_i loc_25_int, loc_28_int, loc_15_int | |
00121 if_i loc_25_int, label_10(00107) | |
00122 jumplist 4, loc_28_int | |
00123 goto label_11(00127) | |
00124 goto label_1(00052) | |
00125 goto label_6(00075) | |
00126 goto label_9(00094) | |
label_11: | |
00127 findmeth loc_21_obj, loc_5_obj, '!cursor_fail' | |
00128 prepargs Callsite_0 | |
00129 arg_o 0, loc_5_obj | |
00130 invoke_v loc_21_obj | |
00131 return_o loc_5_obj |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment