|
github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today Set by moderator on 11 May 2018. |
|||
|
01:56
ilbot3 joined
|
|||
| moderator | github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today | ||
|
02:34
Kaiepi joined
07:40
robertle joined
09:25
brrt joined
|
|||
| brrt | good * | 09:25 | |
| ok, so i've tried with both msvc and gcc-msys, and there is a consistent failure in the jit compiler with the jit-stack-walker branch | |||
| (which is now stack walker-less) | 09:26 | ||
| good evidence suggest that we are trying to call into a corrupted frame | 09:34 | ||
| i know no-one who works at MS development tools will *ever* read is, but I have to say, they are awesome | |||
| gdb isn't giving me anything, ms just tells me 'your code is corrupted dude' | 09:35 | ||
| $rax is very much nearly zero | 09:42 | ||
| now, i need a good diff tool for windows. i'm using ediff usually, but it doesn't work per diff not being installed with strawberry perl | 09:44 | ||
| or git | |||
| hmm. i'm totally failing to see what's wrong with the code i'm compiling | 10:45 | ||
| MasterDuke | brrt: i think i've used kdiff3 on windows a long time ago | 10:46 | |
| brrt | i think i'm going to have to set a breakpoint to understand this | 10:47 | |
| ... what if it's just my vms running out of memory though | 10:56 | ||
|
12:10
brrt joined
12:29
zakharyas joined
|
|||
| Geth | MoarVM/jit-moar-ops: db8f7db51f | (Bart Wiegmans)++ | 5 files [JIT] Implement 'SAVE_RV' JIT node as RV mode SAVE_RV would save the return value (rax) of a function to stack. This was necessary to support the (un)boxing of strings in nativecall. However, there already exists a mechanism for dealing with return values in the c-call handler (the 'rv mode'). So this was redundant, and removed with this commit. |
12:32 | |
|
12:46
AlexDaniel joined
13:10
mtj_ joined
13:37
ilbot3 joined
|
|||
| moderator | github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today | ||
|
13:46
wictory[m] joined
14:22
ilmari[m] joined,
AlexDaniel` joined
16:23
dogbert11 joined
18:36
Kaiepi joined
18:56
Kaiepi joined
|
|||
| MasterDuke | there's no env variable to set that will log why something isn't inlined, correct? | 19:29 | |
| huh. what ridiculous mistake am i making? github.com/MoarVM/MoarVM/blob/mast...726-L1727, if i change it to `fprintf(stderr, "Can NOT inline %s (%s) with bytecode size (%d) into %s (%s): %s\\n", c_name_i, c_cuid_i, target_sf->body.spesh->body.spesh_candidates[spesh_cand]->bytecode_size, c_name_t, c_cuid_t, no_inline_reason);` i get a segfault | 19:52 | ||
| the ridiculous mistake was somewhere else, that line is fine | 19:55 | ||
|
19:59
Ven`` joined
20:21
Ven`` joined
|
|||
| MasterDuke | why would rewriting an `if {} elsif {} else {}` into nqp ops almost triple the bytecode size of a sub? | 20:33 | |
|
20:46
vendethiel- joined
|
|||
| jnthn | MasterDuke: Maybe because the blocks were separate frames before? | 20:50 | |
| MasterDuke: Also, there is a #define at the top of optimize.c that turns on some inline logging | |||
|
20:57
AlexDani` joined
21:05
AlexDani` joined
|
|||
| timotimo | yes, it's very likely that using nqp ifs will put all code together in one sub, whereas having curly braces with regular if/elsif/else gives you one frame per piece | 22:01 | |
| Geth | MoarVM: jstuder-gh++ created pull request #857: Add cmp_i and string cmp op exprjit templates |
23:32 | |