Skip to content

Instantly share code, notes, and snippets.

@MasterDuke17
Last active April 11, 2021 14:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MasterDuke17/8988a89ded2bbaa51e0518f7a0a5370b to your computer and use it in GitHub Desktop.
Save MasterDuke17/8988a89ded2bbaa51e0518f7a0a5370b to your computer and use it in GitHub Desktop.
Thread 1 "moar" hit Breakpoint 1, MVM_interp_run (tc=0x555555559de0, initial_invoke=0x0, initial_invoke@entry=0x7ffff79a0e40 <toplevel_initial_invoke>, invoke_data=0x0, invoke_data@entry=0x7ffff79a0e40 <toplevel_initial_invoke>,
outer_runloop=0x555555e1f0ea, outer_runloop@entry=0x0) at src/core/interp.c:1657
1657 GET_REG(cur_op, 0).o = MVM_string_split(tc,
(gdb) p *GET_REG(cur_op, 2).s
$22 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, owner = 1, flags1 = 0 '\000', flags2 = 2 '\002', size = 48}, st = 0x5555555b1a60}, body = {storage = {blob_32 = 0x555555e7f8b0,
blob_ascii = 0x555555e7f8b0 "abc,def", blob_8 = 0x555555e7f8b0 "abc,def", strands = 0x555555e7f8b0, any = 0x555555e7f8b0}, storage_type = 2, num_strands = 0, num_graphs = 7, cached_hash_code = 0}}
(gdb) p *GET_REG(cur_op, 4).s
$23 = {common = {header = {sc_forward_u = {forwarder = 0x0, sc = {sc_idx = 0, idx = 0}, st = 0x0}, owner = 1, flags1 = 0 '\000', flags2 = 2 '\002', size = 48}, st = 0x5555555b1a60}, body = {storage = {blob_32 = 0x555555e7f8d0,
blob_ascii = 0x555555e7f8d0 "ghasdfi", blob_8 = 0x555555e7f8d0 "ghasdfi", strands = 0x555555e7f8d0, any = 0x555555e7f8d0}, storage_type = 2, num_strands = 0, num_graphs = 7, cached_hash_code = 0}}
(gdb) list
1652 GET_REG(cur_op, 0).s = MVM_string_tc(tc,
1653 GET_REG(cur_op, 2).s);
1654 cur_op += 4;
1655 goto NEXT;
1656 OP(split):
1657 GET_REG(cur_op, 0).o = MVM_string_split(tc,
1658 GET_REG(cur_op, 2).s, GET_REG(cur_op, 4).s);
1659 cur_op += 6;
1660 goto NEXT;
1661 OP(join):
(gdb) call MVM_dump_backtrace(tc)
at -e:1 (<ephemeral file>:<mainline>)
from gen/moar/stage2/NQPHLL.nqp:1946 (/home/dan/Source/perl6/nqp/NQPHLL.moarvm:eval)
from gen/moar/stage2/NQPHLL.nqp:2056 (/home/dan/Source/perl6/nqp/NQPHLL.moarvm:)
from gen/moar/stage2/NQPHLL.nqp:2055 (/home/dan/Source/perl6/nqp/NQPHLL.moarvm:command_eval)
from gen/moar/stage2/NQPHLL.nqp:2036 (/home/dan/Source/perl6/nqp/NQPHLL.moarvm:command_line)
from gen/moar/stage2/NQP.nqp:4174 (nqp.moarvm:MAIN)
from gen/moar/stage2/NQP.nqp:1 (nqp.moarvm:<mainline>)
from <unknown>:1 (nqp.moarvm:<main>)
from <unknown>:1 (nqp.moarvm:<entry>)
(gdb) call MVM_dump_bytecode(tc)
00000 checkarity 0, -1
00001 param_sp loc_0_obj, 0
00002 paramnamesused
00003 const_s loc_2_str, '$*CTXSAVE'
00004 getdynlex loc_3_obj, loc_2_str
00005 set loc_1_obj, loc_3_obj
00006 isnull loc_4_int, loc_1_obj
00007 if_i loc_4_int, label_1(00017)
00008 decont loc_3_obj, loc_1_obj
00009 const_s loc_2_str, 'ctxsave'
00010 can_s loc_5_int, loc_3_obj, loc_2_str
00011 unless_i loc_5_int, label_1(00017)
00012 decont loc_6_obj, loc_1_obj
00013 findmeth loc_3_obj, loc_6_obj, 'ctxsave'
00014 prepargs Callsite_0
00015 arg_o 0, loc_1_obj
00016 invoke_o loc_3_obj, loc_3_obj
annotation: -e:1
label_1:
00017 const_s loc_2_str, ','
00018 hllboxtype_s loc_6_obj
00019 box_s loc_6_obj, loc_2_str, loc_6_obj
00020 const_s loc_2_str, 'abc,def'
00021 const_s loc_8_str, 'ghasdfi'
00022 split loc_6_obj, loc_2_str, loc_8_str
00023 iter loc_6_obj, loc_6_obj
00024 set loc_7_obj, loc_6_obj
label_2:
00025 decont loc_6_obj, loc_7_obj
00026 unless_o loc_6_obj, label_3(00036)
00027 osrpoint
00028 shift_o loc_6_obj, loc_7_obj
00029 set loc_9_obj, loc_6_obj
annotation: -e:1
00030 getlex_no loc_6_obj, '&say'
00031 decont loc_6_obj, loc_6_obj
00032 prepargs Callsite_0
00033 arg_o 0, loc_9_obj
00034 invoke_v loc_6_obj
00035 goto label_2(00025)
label_3:
00036 null loc_6_obj
00037 return_o loc_6_obj
(gdb)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment