Skip to content

Instantly share code, notes, and snippets.

Differences between my prototype (alorito) and m0-spec
* Arguments to calling new contexts is an RPA
-> This could be quite beneficial to JIT since it's explicit in the argument lists, where as
setting registers inside another context seems difficult to optimize for
-> Also, I'm not a fan of messing with other people's (or function's) stuff.
-> Regardless, this is a feature that could be easy to ignore for the time being
* Registers are 256 of the same type
-> It sounds reasonable to make 1 table of 256 register slots that all 4 types share
-> It seems like the way to go is have a per-interp table that contains the PMC headers
-> I have concerns about the size of each type is no consistent and how to handle that sanely
@atrodo
atrodo / Callgrind
Created May 11, 2011 00:57
benchmarks
--------------------------------------------------------------------------------
Profile data file 'callgrind.out.20378' (creator: callgrind-3.6.0.SVN-Debian)
--------------------------------------------------------------------------------
I1 cache:
D1 cache:
L2 cache:
Timerange: Basic block 0 - 56133700
Trigger: Program termination
Profiled target: ./winxed benchmarks.winxed (PID 20378, part 1)
Events recorded: Ir
/tmp/S6uhfXRi3c/bin/parrot perl6.pbc --target=pir --output=Test.pir Test.pm
src/gc/gc_gms.c:2230: failed assertion 'Dead object found!'
Backtrace - Obtained 32 stack frames (max trace depth is 32).
/tmp/S6uhfXRi3c/lib/libparrot.so.3.5.0(Parrot_print_backtrace+0x3a) [0x400fb25a]
/tmp/S6uhfXRi3c/lib/libparrot.so.3.5.0(Parrot_confess+0x9a) [0x400fb21a]
/tmp/S6uhfXRi3c/lib/libparrot.so.3.5.0 [0x4010bbb4]
/tmp/S6uhfXRi3c/lib/libparrot.so.3.5.0(Parrot_gc_mark_PMC_alive_fun+0x5e) [0x4010060e]
/tmp/S6uhfXRi3c/lib/libparrot.so.3.5.0 [0x4020636f]
/tmp/S6uhfXRi3c/lib/libparrot.so.3.5.0 [0x4010bbfc]
/tmp/S6uhfXRi3c/lib/libparrot.so.3.5.0(Parrot_gc_mark_PMC_alive_fun+0x5e) [0x4010060e]
file=0x4028f42b "src/gc/gc_gms.c", line=2230) at src/exceptions.c:561
#1 0x4010f5e4 in gc_gms_validate_pmc (interp=0x8052e10, pmc=0x919b69c)
at src/gc/gc_gms.c:2230
#2 0x4010403e in Parrot_gc_mark_PMC_alive_fun (interp=0x8052e10,
obj=0x919b69c) at src/gc/api.c:147
#3 0x40208daf in Parrot_Object_mark (interp=0x8052e10, _self=0x8baca90)
at src/pmc/object.c:2690
#4 0x4010f62c in gc_gms_validate_pmc (interp=0x8052e10, pmc=0x8baca90)
at src/gc/gc_gms.c:2238
#5 0x4010403e in Parrot_gc_mark_PMC_alive_fun (interp=0x8052e10,
# Current Source Filename 'fib.pir'
# get_params_pc PMC_CONST(1), P0
# set_i_p I1,P0
# set_i_ic I2,28
# le_i_ic_ic I1,1,L1
# set_i_p_kic I2,P0[1]
#L1: set_args_pc PMC_CONST(0), I2
# set_p_pc P1,PMC_CONST(3)
# invokecc_p P1
# get_results_pc PMC_CONST(0), I0
@atrodo
atrodo / gist:1103397
Created July 25, 2011 01:52
Reflex Proxy?
#!/usr/bin/env perl
#sub POE::Kernel::TRACE_EVENTS () { 1 };
use strict;
use warnings;
use v5.10;
{
Test Summary Report
-------------------
t/spec/S02-types/bool.t (Wstat: 6 Tests: 48 Failed: 0)
Non-zero wait status: 6
Parse errors: Bad plan. You planned 51 tests but ran 48.
t/spec/S16-filehandles/filestat.t (Wstat: 0 Tests: 13 Failed: 1)
Failed test: 8
t/spec/S32-temporal/local.rakudo (Wstat: 256 Tests: 22 Failed: 16)
Failed tests: 7-22
Non-zero exit status: 1