Created
December 12, 2014 01:25
-
-
Save marcoonroad/6f45fb016b035a028e47 to your computer and use it in GitHub Desktop.
MoarVM dump of "say 'hello'";
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
# $ perl6 --target=mbc --output=./hello.mbc -e "say 'hello'" | |
# $ moar --dump hello.mbc > hello.dump | |
MoarVM dump of binary compilation unit: | |
SC_0 : 61C9069EAD2FEF4AF84D9D502EA124CAC63EB166 | |
Callsite_0 : | |
num_pos: 0 | |
arg_count: 0 | |
Callsite_1 : | |
num_pos: 1 | |
arg_count: 1 | |
Arg 1 : positional obj | |
Callsite_2 : | |
num_pos: 2 | |
arg_count: 2 | |
Arg 1 : positional obj | |
Arg 2 : positional str | |
Callsite_3 : | |
num_pos: 2 | |
arg_count: 2 | |
Arg 1 : positional obj | |
Arg 2 : positional obj | |
Frame_0 : | |
cuuid : cuid_2_1418346906.3074 | |
name : | |
Locals : | |
0: loc_0_obj | |
1: loc_1_obj | |
2: loc_2_obj | |
3: loc_3_obj | |
Instructions : | |
00000 getcode loc_3_obj, Frame_1 | |
00001 capturelex loc_3_obj | |
00002 getcode loc_1_obj, Frame_1 | |
00003 takeclosure loc_1_obj, loc_1_obj | |
00004 checkarity 0, -1 | |
00005 param_sp loc_0_obj, 0 | |
00006 paramnamesused | |
annotation: -e:1 | |
00007 decont loc_2_obj, loc_1_obj | |
00008 prepargs Callsite_0 | |
00009 invoke_o loc_2_obj, loc_2_obj | |
00010 return_o loc_2_obj | |
Frame_1 : | |
cuuid : cuid_1_1418346906.3074 | |
name : | |
outer : Frame_0 | |
Locals : | |
0: loc_0_obj | |
1: loc_1_str | |
2: loc_2_obj | |
3: loc_3_int | |
4: loc_4_int | |
5: loc_5_obj | |
6: loc_6_obj | |
Lexicals : | |
0: lex_Frame_1_$!_obj | |
1: lex_Frame_1_$/_obj | |
2: lex_Frame_1_$__obj | |
3: lex_Frame_1_GLOBALish_obj | |
4: lex_Frame_1_EXPORT_obj | |
5: lex_Frame_1_$?PACKAGE_obj | |
6: lex_Frame_1_::?PACKAGE_obj | |
7: lex_Frame_1_$=pod_obj | |
8: lex_Frame_1_!UNIT_MARKER_obj | |
Instructions : | |
00000 checkarity 0, 0 | |
00001 paramnamesused | |
annotation: -e:1 | |
00002 const_s loc_1_str, '$*CTXSAVE' | |
00003 getdynlex loc_2_obj, loc_1_str | |
00004 set loc_0_obj, loc_2_obj | |
00005 isnull loc_3_int, loc_0_obj | |
00006 if_i loc_3_int, label_2(00018) | |
00007 decont loc_2_obj, loc_0_obj | |
00008 const_s loc_1_str, 'ctxsave' | |
00009 can_s loc_4_int, loc_2_obj, loc_1_str | |
00010 unless_i loc_4_int, label_1(00017) | |
00011 decont loc_5_obj, loc_0_obj | |
00012 findmeth loc_2_obj, loc_5_obj, 'ctxsave' | |
00013 prepargs Callsite_1 | |
00014 arg_o 0, loc_0_obj | |
00015 invoke_o loc_2_obj, loc_2_obj | |
00016 goto label_1(00017) | |
label_1: | |
00017 goto label_2(00018) | |
annotation: -e:1 | |
label_2: | |
00018 const_s loc_1_str, '&say' | |
00019 getlexstatic_o loc_0_obj, loc_1_str | |
00020 wval loc_5_obj, 0, 10 | |
00021 decont loc_6_obj, loc_0_obj | |
00022 prepargs Callsite_1 | |
00023 arg_o 0, loc_5_obj | |
00024 invoke_o loc_5_obj, loc_6_obj | |
00025 return_o loc_5_obj | |
Frame_2 : | |
cuuid : cuid_3_1418346906.3074 | |
name : | |
Locals : | |
0: loc_0_str | |
1: loc_1_str | |
2: loc_2_str | |
3: loc_3_obj | |
4: loc_4_obj | |
5: loc_5_obj | |
6: loc_6_obj | |
7: loc_7_obj | |
8: loc_8_obj | |
9: loc_9_obj | |
10: loc_10_str | |
11: loc_11_obj | |
12: loc_12_int | |
Instructions : | |
00000 getcode loc_11_obj, Frame_3 | |
00001 takeclosure loc_11_obj, loc_11_obj | |
00002 checkarity 0, 0 | |
00003 paramnamesused | |
00004 const_s loc_0_str, 'ModuleLoader.moarvm' | |
00005 loadbytecode loc_0_str, loc_0_str | |
00006 const_s loc_1_str, 'nqp' | |
00007 const_s loc_2_str, 'ModuleLoader' | |
00008 gethllsym loc_3_obj, loc_1_str, loc_2_str | |
00009 const_s loc_2_str, 'Perl6::ModuleLoader' | |
00010 decont loc_5_obj, loc_3_obj | |
00011 findmeth loc_4_obj, loc_5_obj, 'load_module' | |
00012 prepargs Callsite_2 | |
00013 arg_o 0, loc_3_obj | |
00014 arg_s 1, loc_2_str | |
00015 invoke_o loc_3_obj, loc_4_obj | |
00016 getcode loc_4_obj, Frame_0 | |
00017 const_s loc_2_str, 'ModuleLoader' | |
00018 getcurhllsym loc_5_obj, loc_2_str | |
00019 const_s loc_2_str, 'CORE' | |
00020 decont loc_7_obj, loc_5_obj | |
00021 findmeth loc_6_obj, loc_7_obj, 'load_setting' | |
00022 prepargs Callsite_2 | |
00023 arg_o 0, loc_5_obj | |
00024 arg_s 1, loc_2_str | |
00025 invoke_o loc_5_obj, loc_6_obj | |
00026 forceouterctx loc_4_obj, loc_5_obj | |
00027 const_s loc_2_str, '61C9069EAD2FEF4AF84D9D502EA124CAC63EB166' | |
00028 createsc loc_5_obj, loc_2_str | |
00029 set loc_8_obj, loc_5_obj | |
00030 const_s loc_2_str, '-e' | |
00031 scsetdesc loc_8_obj, loc_2_str | |
00032 hlllist loc_5_obj | |
00033 create loc_5_obj, loc_5_obj | |
00034 set loc_9_obj, loc_5_obj | |
00035 null_s loc_1_str | |
00036 bootstrarray loc_5_obj | |
00037 create loc_5_obj, loc_5_obj | |
00038 null_s loc_10_str | |
00039 push_s loc_5_obj, loc_10_str | |
00040 const_s loc_10_str, 'Uninstantiable' | |
00041 push_s loc_5_obj, loc_10_str | |
00042 const_s loc_10_str, 'perl6' | |
00043 push_s loc_5_obj, loc_10_str | |
00044 const_s loc_10_str, 'FAA0B0328F495793F372F3451CA0F89F53D038A6-1411014046.10466' | |
00045 push_s loc_5_obj, loc_10_str | |
00046 const_s loc_10_str, 'src/gen/m-BOOTSTRAP.nqp' | |
00047 push_s loc_5_obj, loc_10_str | |
00048 const_s loc_10_str, '65D151939484919B9F638377879E3A5E02B92798-1411014038.5429' | |
00049 push_s loc_5_obj, loc_10_str | |
00050 const_s loc_10_str, 'src/gen/m-Metamodel.nqp' | |
00051 push_s loc_5_obj, loc_10_str | |
00052 const_s loc_10_str, '$_' | |
00053 push_s loc_5_obj, loc_10_str | |
00054 const_s loc_10_str, '$/' | |
00055 push_s loc_5_obj, loc_10_str | |
00056 const_s loc_10_str, '$!' | |
00057 push_s loc_5_obj, loc_10_str | |
00058 const_s loc_10_str, '3E199AC4796908450CED86398DBF556B71B0EF93-1411013870.63217' | |
00059 push_s loc_5_obj, loc_10_str | |
00060 const_s loc_10_str, 'gen/moar/stage2/NQPCORE.setting' | |
00061 push_s loc_5_obj, loc_10_str | |
00062 const_s loc_10_str, '504A22EF22422037FA72BFA87F44E05B22A22274-1411014013.52386' | |
00063 push_s loc_5_obj, loc_10_str | |
00064 const_s loc_10_str, 'src/Perl6/Grammar.nqp' | |
00065 push_s loc_5_obj, loc_10_str | |
00066 const_s loc_10_str, 'hello' | |
00067 push_s loc_5_obj, loc_10_str | |
00068 const_s loc_10_str, 'GLOBAL' | |
00069 push_s loc_5_obj, loc_10_str | |
00070 const_s loc_10_str, 'EXPORT' | |
00071 push_s loc_5_obj, loc_10_str | |
00072 const_s loc_10_str, '!UNIT_MARKER' | |
00073 push_s loc_5_obj, loc_10_str | |
00074 prepargs Callsite_0 | |
00075 invoke_o loc_6_obj, loc_11_obj | |
00076 deserialize loc_1_str, loc_8_obj, loc_5_obj, loc_6_obj, loc_9_obj | |
00077 elems loc_12_int, loc_9_obj | |
00078 unless_i loc_12_int, label_1(00088) | |
00079 const_s loc_10_str, 'ModuleLoader' | |
00080 getcurhllsym loc_6_obj, loc_10_str | |
00081 decont loc_7_obj, loc_6_obj | |
00082 findmeth loc_5_obj, loc_7_obj, 'resolve_repossession_conflicts' | |
00083 prepargs Callsite_3 | |
00084 arg_o 0, loc_6_obj | |
00085 arg_o 1, loc_9_obj | |
00086 invoke_o loc_6_obj, loc_5_obj | |
00087 goto label_1(00088) | |
label_1: | |
00088 const_s loc_10_str, 'GLOBAL' | |
00089 wval loc_5_obj, 0, 0 | |
00090 bindcurhllsym loc_5_obj, loc_10_str, loc_5_obj | |
00091 return_o loc_5_obj | |
Frame_3 : | |
cuuid : cuid_4_1418346906.3074 | |
name : | |
outer : Frame_2 | |
Locals : | |
0: loc_0_obj | |
1: loc_1_obj | |
Instructions : | |
00000 checkarity 0, 0 | |
00001 paramnamesused | |
00002 bootarray loc_0_obj | |
00003 create loc_0_obj, loc_0_obj | |
00004 getcode loc_1_obj, Frame_1 | |
00005 push_o loc_0_obj, loc_1_obj | |
00006 return_o loc_0_obj | |
Frame_4 : | |
cuuid : cuid_5_1418346906.3074 | |
name : | |
Locals : | |
0: loc_0_obj | |
1: loc_1_obj | |
Instructions : | |
00000 checkarity 0, 0 | |
00001 paramnamesused | |
00002 getcode loc_0_obj, Frame_0 | |
00003 decont loc_1_obj, loc_0_obj | |
00004 prepargs Callsite_0 | |
00005 invoke_o loc_1_obj, loc_1_obj | |
00006 return_o loc_1_obj |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment