-
-
Save MasterDuke17/9b8db2fb2a0d618e9ee2b660f76f62a4 to your computer and use it in GitHub Desktop.
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
$ gdb --args /home/dan/Source/perl6/install/bin/moar --libpath="blib" --libpath="/home/dan/Source/perl6/install/share/nqp/lib" --libpath="/home/dan/Source/perl6/install/share/nqp/lib" perl6.moarvm --nqp-lib=blib --setting=NULL --ll-exception --optimize=3 --target=mbc --stagestats --output=CORE.setting.moarvm gen/moar/CORE.setting | |
GNU gdb (Ubuntu 8.0.1-0ubuntu1) 8.0.1 | |
Copyright (C) 2017 Free Software Foundation, Inc. | |
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> | |
This is free software: you are free to change and redistribute it. | |
There is NO WARRANTY, to the extent permitted by law. Type "show copying" | |
and "show warranty" for details. | |
This GDB was configured as "x86_64-linux-gnu". | |
Type "show configuration" for configuration details. | |
For bug reporting instructions, please see: | |
<http://www.gnu.org/software/gdb/bugs/>. | |
Find the GDB manual and other documentation resources online at: | |
<http://www.gnu.org/software/gdb/documentation/>. | |
For help, type "help". | |
Type "apropos word" to search for commands related to "word"... | |
Reading symbols from /home/dan/Source/perl6/install/bin/moar...done. | |
(gdb) b MVM_exception_throw_adhoc | |
Function "MVM_exception_throw_adhoc" not defined. | |
Make breakpoint pending on future shared library load? (y or [n]) y | |
Breakpoint 1 (MVM_exception_throw_adhoc) pending. | |
(gdb) r | |
Starting program: /home/dan/Source/perl6/install/bin/moar --libpath=blib --libpath=/home/dan/Source/perl6/install/share/nqp/lib --libpath=/home/dan/Source/perl6/install/share/nqp/lib perl6.moarvm --nqp-lib=blib --setting=NULL --ll-exception --optimize=3 --target=mbc --stagestats --output=CORE.setting.moarvm gen/moar/CORE.setting | |
[Thread debugging using libthread_db enabled] | |
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". | |
[New Thread 0x7ffff6354700 (LWP 26724)] | |
Stage start : 0.000 | |
Stage parse : | |
Thread 1 "moar" hit Breakpoint 1, MVM_exception_throw_adhoc (tc=0x555555758c40, messageFormat=messageFormat@entry=0x7ffff7793a0e "Cannot invoke null object") at src/core/exceptions.c:861 | |
861 void MVM_exception_throw_adhoc(MVMThreadContext *tc, const char *messageFormat, ...) { | |
(gdb) bt | |
#0 MVM_exception_throw_adhoc (tc=0x555555758c40, messageFormat=messageFormat@entry=0x7ffff7793a0e "Cannot invoke null object") at src/core/exceptions.c:861 | |
#1 0x00007ffff7692e8d in MVM_frame_find_invokee_multi_ok (tc=0x555555758c40, code=<optimized out>, tweak_cs=<optimized out>, args=<optimized out>, was_multi=<optimized out>) at src/core/frame.c:1713 | |
#2 0x00007ffff767675b in MVM_interp_run (tc=tc@entry=0x555555758c40, initial_invoke=0x0, invoke_data=0x7fffffffd9d8) at src/core/interp.c:982 | |
#3 0x00007ffff7752fa5 in MVM_vm_run_file (instance=0x555555758260, filename=<optimized out>) at src/moar.c:401 | |
#4 0x00005555555554c0 in main (argc=13, argv=0x7fffffffdd68) at src/main.c:256 | |
(gdb) |
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
OP(sp_findmeth): { | |
/* Obtain object and cache index; see if we get a match. */ | |
MVMObject *obj = GET_REG(cur_op, 2).o; | |
MVMuint16 idx = GET_UI16(cur_op, 8); | |
if ((MVMSTable *)tc->cur_frame->effective_spesh_slots[idx] == STABLE(obj)) { | |
GET_REG(cur_op, 0).o = (MVMObject *)tc->cur_frame->effective_spesh_slots[idx + 1]; | |
cur_op += 10; | |
} | |
else { | |
/* May invoke, so pre-increment op counter */ | |
MVMString *name = MVM_cu_string(tc, cu, GET_UI32(cur_op, 4)); | |
MVMRegister *res = &GET_REG(cur_op, 0); | |
cur_op += 10; | |
MVM_6model_find_method_spesh(tc, obj, name, idx, res); | |
} | |
goto NEXT; | |
} |
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
==================================== | |
append label: 18 | |
Cannot handle DEOPT_ONE (ins=sp_decont) | |
append_ins: <sp_decont> | |
append invokish control guard | |
append label: 19 | |
Build tree out of: [sp_findmeth, ] | |
Starting dump of JIT expression tree | |
==================================== | |
digraph { | |
n_0017 [label="TC"]; | |
n_0018 [label="ADDR(0x1b0)"]; | |
n_0018 -> n_0017; | |
n_0021 [label="LOAD(0x8)"]; | |
n_0021 -> n_0018; | |
n_0024 [label="ADDR(0x78)"]; | |
n_0024 -> n_0021; | |
n_0027 [label="LOAD(0x8)"]; | |
n_0027 -> n_0024; | |
n_0014 [label="CONST(0xf, 0x2)"]; | |
n_0030 [label="IDX(0x8)"]; | |
n_0030 -> n_0027; | |
n_0030 -> n_0014; | |
n_0004 [label="LOCAL"]; | |
n_0005 [label="ADDR(0x50)"]; | |
n_0005 -> n_0004; | |
n_0008 [label="LOAD(0x8)"]; | |
n_0008 -> n_0005; | |
n_0034 [label="ADDR(0x10)"]; | |
n_0034 -> n_0008; | |
n_0037 [label="LOAD(0x8)"]; | |
n_0037 -> n_0034; | |
n_0040 [label="EQ"]; | |
n_0040 -> n_0030; | |
n_0040 -> n_0037; | |
n_0000 [label="LOCAL"]; | |
n_0001 [label="ADDR(0x48)"]; | |
n_0001 -> n_0000; | |
n_0043 [label="TC"]; | |
n_0044 [label="ADDR(0x1b0)"]; | |
n_0044 -> n_0043; | |
n_0047 [label="LOAD(0x8)"]; | |
n_0047 -> n_0044; | |
n_0050 [label="ADDR(0x78)"]; | |
n_0050 -> n_0047; | |
n_0053 [label="LOAD(0x8)"]; | |
n_0053 -> n_0050; | |
n_0056 [label="CONST(0x1, 0x8)"]; | |
n_0059 [label="ADD"]; | |
n_0059 -> n_0014; | |
n_0059 -> n_0056; | |
n_0062 [label="IDX(0x8)"]; | |
n_0062 -> n_0053; | |
n_0062 -> n_0059; | |
n_0066 [label="STORE(0x8)"]; | |
n_0066 -> n_0001; | |
n_0066 -> n_0062; | |
n_0070 [label="CONST(0x7f86ae3fddc0, 0x8)"]; | |
n_0073 [label="TC"]; | |
n_0074 [label="CARG(0x5)"]; | |
n_0074 -> n_0073; | |
n_0077 [label="CARG(0x5)"]; | |
n_0077 -> n_0008; | |
n_0080 [label="CONST(0x7f86ae4725d0, 0x8)"]; | |
n_0083 [label="TC"]; | |
n_0084 [label="CARG(0x5)"]; | |
n_0084 -> n_0083; | |
n_0087 [label="CU"]; | |
n_0088 [label="CARG(0x5)"]; | |
n_0088 -> n_0087; | |
n_0011 [label="CONST(0x2a6, 0x4)"]; | |
n_0091 [label="CARG(0x3)"]; | |
n_0091 -> n_0011; | |
n_0094 [label="ARGLIST"]; | |
n_0094 -> n_0084; | |
n_0094 -> n_0088; | |
n_0094 -> n_0091; | |
n_0099 [label="CALL(0x8)"]; | |
n_0099 -> n_0080; | |
n_0099 -> n_0094; | |
n_0103 [label="CARG(0x5)"]; | |
n_0103 -> n_0099; | |
n_0106 [label="CARG(0x3)"]; | |
n_0106 -> n_0014; | |
n_0109 [label="CARG(0x5)"]; | |
n_0109 -> n_0001; | |
n_0112 [label="ARGLIST"]; | |
n_0112 -> n_0074; | |
n_0112 -> n_0077; | |
n_0112 -> n_0103; | |
n_0112 -> n_0106; | |
n_0112 -> n_0109; | |
n_0119 [label="CALLV"]; | |
n_0119 -> n_0070; | |
n_0119 -> n_0112; | |
n_0122 [label="IFV"]; | |
n_0122 -> n_0040; | |
n_0122 -> n_0066; | |
n_0122 -> n_0119; | |
} | |
End dump of JIT expression tree | |
==================================== |
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
/home/dan/Source/perl6/install/bin/moar --libpath="blib" --libpath="/home/dan/Source/perl6/install/share/nqp/lib" --libpath="/home/dan/Source/perl6/install/share/nqp/lib" perl6.moarvm --nqp-lib=blib --setting=NULL --ll-exception --optimize=3 --target=mbc --stagestats --output=CORE.setting.moarvm gen/moar/CORE.setting | |
Stage start : 0.000 | |
Stage parse : Cannot invoke null object | |
at gen/moar/Metamodel.nqp:1098 (blib/Perl6/Metamodel.moarvm:find_method) | |
from gen/moar/BOOTSTRAP.nqp:1434 (blib/Perl6/BOOTSTRAP.moarvm:) | |
from gen/moar/BOOTSTRAP.nqp:1662 (blib/Perl6/BOOTSTRAP.moarvm:) | |
from gen/moar/Metamodel.nqp:2535 (blib/Perl6/Metamodel.moarvm:specialize_with) | |
from gen/moar/Metamodel.nqp:2517 (blib/Perl6/Metamodel.moarvm:) | |
from gen/moar/stage2/NQPCORE.setting:1039 (/home/dan/Source/perl6/install/share/nqp/lib/NQPCORE.setting.moarvm:protect) | |
from gen/moar/Metamodel.nqp:2499 (blib/Perl6/Metamodel.moarvm:specialize) | |
from gen/moar/Metamodel.nqp:2716 (blib/Perl6/Metamodel.moarvm:specialize) | |
from gen/moar/Metamodel.nqp:2282 (blib/Perl6/Metamodel.moarvm:specialize) | |
from gen/moar/Metamodel.nqp:3071 (blib/Perl6/Metamodel.moarvm:compose) | |
from gen/moar/Metamodel.nqp:1344 (blib/Perl6/Metamodel.moarvm:generate_mixin) | |
from gen/moar/Metamodel.nqp:1295 (blib/Perl6/Metamodel.moarvm:mixin) | |
from gen/moar/Perl6-Actions.nqp:3758 (blib/Perl6/Actions.moarvm:routine_def) | |
from gen/moar/stage2/QRegex.nqp:1624 (/home/dan/Source/perl6/install/share/nqp/lib/QRegex.moarvm:!cursor_pass) | |
from src/Perl6/Grammar.nqp:2842 (blib/Perl6/Grammar.moarvm:routine_def) | |
from <unknown>:1 (blib/Perl6/Grammar.moarvm:routine_declarator:sym<sub>) | |
from gen/moar/stage2/QRegex.nqp:1721 (/home/dan/Source/perl6/install/share/nqp/lib/QRegex.moarvm:!protoregex) | |
from <unknown>:1 (blib/Perl6/Grammar.moarvm:routine_declarator) | |
from <unknown>:1 (blib/Perl6/Grammar.moarvm:term:sym<routine_declarator>) | |
from gen/moar/stage2/QRegex.nqp:1721 (/home/dan/Source/perl6/install/share/nqp/lib/QRegex.moarvm:!protoregex) | |
from src/Perl6/Grammar.nqp:4009 (blib/Perl6/Grammar.moarvm:termish) | |
from gen/moar/stage2/NQPHLL.nqp:883 (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:EXPR) | |
from src/Perl6/Grammar.nqp:4055 (blib/Perl6/Grammar.moarvm:EXPR) | |
from src/Perl6/Grammar.nqp:1335 (blib/Perl6/Grammar.moarvm:statement) | |
from src/Perl6/Grammar.nqp:1267 (blib/Perl6/Grammar.moarvm:statementlist) | |
from gen/moar/stage2/NQPHLL.nqp:1113 (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:LANG) | |
from src/Perl6/Grammar.nqp:1709 (blib/Perl6/Grammar.moarvm:FOREIGN_LANG) | |
from src/Perl6/Grammar.nqp:1231 (blib/Perl6/Grammar.moarvm:comp_unit) | |
from src/Perl6/Grammar.nqp:532 (blib/Perl6/Grammar.moarvm:TOP) | |
from gen/moar/stage2/QRegex.nqp:2330 (/home/dan/Source/perl6/install/share/nqp/lib/QRegex.moarvm:parse) | |
from gen/moar/stage2/NQPHLL.nqp:1881 (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:parse) | |
from gen/moar/stage2/NQPHLL.nqp:1797 (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:execute_stage) | |
from gen/moar/stage2/NQPHLL.nqp:1830 (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:run) | |
from gen/moar/stage2/NQPHLL.nqp:1833 (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:) | |
from gen/moar/stage2/NQPHLL.nqp:1819 (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:compile) | |
from gen/moar/stage2/NQPHLL.nqp:1519 (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:eval) | |
from gen/moar/stage2/NQPHLL.nqp:1774 (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:evalfiles) | |
from gen/moar/stage2/NQPHLL.nqp:1699 (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:command_eval) | |
from src/Perl6/Compiler.nqp:42 (blib/Perl6/Compiler.moarvm:command_eval) | |
from gen/moar/stage2/NQPHLL.nqp:1625 (/home/dan/Source/perl6/install/share/nqp/lib/NQPHLL.moarvm:command_line) | |
from gen/moar/main.nqp:47 (perl6.moarvm:MAIN) | |
from gen/moar/main.nqp:38 (perl6.moarvm:<mainline>) | |
from <unknown>:1 (perl6.moarvm:<main>) | |
from <unknown>:1 (perl6.moarvm:<entry>) | |
Makefile:498: recipe for target 'CORE.setting.moarvm' failed | |
make: *** [CORE.setting.moarvm] Error 1 |
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
(template: sp_findmeth! | |
(ifv | |
(eq (^spesh_slot $3) (^stable $1)) | |
(store $0 (^spesh_slot (add $3 (const 1 int_sz))) ptr_sz) | |
(callv (^func &MVM_6model_find_method_spesh) | |
(arglist | |
(carg (tc) ptr) | |
(carg $1 ptr) | |
(carg (^cu_string $2) ptr) | |
(carg $3 int) | |
(carg $0 ptr))))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment