Created
October 29, 2010 13:27
-
-
Save masak/653552 to your computer and use it in GitHub Desktop.
what happens when 'my $num = 1' is executed?
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=PIR -e 'my $num = 1' | |
.loadlib 'perl6_ops' | |
.HLL "perl6" | |
.namespace [] | |
.sub "_block74" :anon :subid("64_1288358784.81728") | |
.param pmc param_93 :slurpy | |
.annotate 'line', 0 | |
.const 'Sub' $P79 = "65_1288358784.81728" | |
capture_lex $P79 | |
.annotate 'line', 1 | |
.local pmc true | |
true = get_hll_global 'True' | |
.lex "__CANDIDATE_LIST__", $P76 | |
get_hll_global $P77, "!UNIT_START" | |
.const 'Sub' $P79 = "65_1288358784.81728" | |
capture_lex $P79 | |
.lex "@_", param_93 | |
$P94 = $P77($P79, param_93) | |
.return ($P94) | |
.const 'Sub' $P99 = "67_1288358784.81728" | |
.return ($P99) | |
.end | |
.HLL "perl6" | |
.namespace [] | |
.sub "_block78" :anon :subid("65_1288358784.81728") :outer("64_1288358784.81728") | |
.param pmc param_88 :optional | |
.param int has_param_88 :opt_flag | |
.annotate 'line', 1 | |
.local pmc true | |
true = get_hll_global 'True' | |
.lex "__CANDIDATE_LIST__", $P80 | |
find_lex_skip_current $P81, "$_" | |
$P82 = new ['Perl6Scalar'], $P81 | |
setprop $P82, "rw", true | |
.lex "$_", $P82 | |
find_lex_skip_current $P83, "$/" | |
$P84 = new ['Perl6Scalar'], $P83 | |
setprop $P84, "rw", true | |
.lex "$/", $P84 | |
find_lex_skip_current $P85, "$!" | |
$P86 = new ['Perl6Scalar'], $P85 | |
setprop $P86, "rw", true | |
.lex "$!", $P86 | |
new $P87, "Perl6Scalar" | |
setprop $P87, "rw", true | |
setprop $P87, "scalar", true | |
.lex "$num", $P87 | |
if has_param_88, optparam_69 | |
new $P89, "Integer" | |
assign $P89, 0 | |
set param_88, $P89 | |
optparam_69: | |
.lex "$MAIN", param_88 | |
$P0 = find_dynamic_lex "$*CTXSAVE" | |
if null $P0 goto ctxsave_done | |
$I0 = can $P0, "ctxsave" | |
unless $I0 goto ctxsave_done | |
$P0."ctxsave"() | |
ctxsave_done: | |
$P0 = get_hll_global "@!recapture" | |
recapture_loop: | |
unless $P0 goto recapture_loop_end | |
$P1 = shift $P0 | |
fixup_outer_ctx $P1 | |
goto recapture_loop | |
recapture_loop_end: | |
find_lex $P90, "$num" | |
new $P91, "Int" | |
assign $P91, 1 | |
$P92 = "&infix:<=>"($P90, $P91) | |
.return ($P92) | |
.end | |
.HLL "perl6" | |
.namespace [] | |
.sub "" :load :init :subid("post68") :outer("65_1288358784.81728") | |
.annotate 'line', 1 | |
.const 'Sub' $P79 = "65_1288358784.81728" | |
.local pmc block | |
set block, $P79 | |
$P0 = find_name "!UNIT_OUTER" | |
unless null $P0 goto have_perl6 | |
load_language "perl6" | |
have_perl6: | |
"!UNIT_OUTER"(block) | |
.end | |
.HLL "perl6" | |
.namespace [] | |
.sub "_block95" :load :init :anon :subid("66_1288358784.81728") | |
.annotate 'line', 1 | |
$P97 = "!fire_phasers"("CHECK") | |
.return ($P97) | |
.end | |
.HLL "perl6" | |
.namespace [] | |
.sub "_block98" :load :anon :subid("67_1288358784.81728") | |
.annotate 'line', 1 | |
.const 'Sub' $P100 = "64_1288358784.81728" | |
$P101 = "!UNIT_START"($P100) | |
.return ($P101) | |
.end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment