github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
timotimo figured out why lots and lots of smrt_numify and smrt_strify in nqp code weren't being optimized: 02:44
spesh couldn't figure out whether or not BOOTInt, BOOTNum, or BOOTStr could have .Str or .Num called on them
so i put in a cheat saying "no, there's no methods on these types"
and since there were plenty int-to-num-to-ints in there as well, i gave spesh an opt for that 02:45
int-to-num-to-int is safe, whereas num-to-int-to-num isn't, since num can have values larger than int can handle 02:46
and since it's nqp and almost all num usage is accidental, i don't think we need to emulate precision loss at higher numbers
would be interesting to see if it makes Perl6 code unhappy 02:47
could perhaps limit it to places where the HLL is nqp 02:49
many coerce_in (that is, int to num) remain because of deopt usage and such 02:50
but at least we don't have to intify the num any more
it does pass spec tests, so there might be a hole there perhaps 02:58
timotimo oh, neat: gdb has $_regex and $_streq convenience functions available in breakpoint conditions 13:48
brrt \o 14:49
timotimo++ 14:50
(for your late night research)
something that bothers me 14:55
MoarVM uses the name 'num' for floating points
lizmat so does Perl 6
brrt everything else in the world uses 'float' 14:57
which is, to be honest, far more accurate
lizmat was not involved in the naming 15:01
mornfall yes i get regularly bitten by Num :( 15:07
i expect that to be the root of the numerical type hierarchy
specifically i'm prone to write Num as a type constraint and then go wtf do you mean Int is not a Num /o\ 15:09
brrt i wonder what is the top of the number chain 15:10
jnthn The Numeric role 15:12
timotimo oh, Real ly?
lucasb timotimo :D 15:14
timotimo fwiw, javascript, which everybody loves, also calls floats "number" 15:17
brrt well, not everybody loves javascript, tbh 15:18
lucasb it's the only kind of Number JS has :)
brrt also for lua 15:19
and it works well for them, tbh 15:20
jnthn I suspect "make all the basic numeric types 3 letters long" was a design consideration too :)
brrt flt 15:24
oh well :-)
timotimo Cpx
brrt heh, I can even understand that
timotimo ctrl-printscrn-x? emacs users these days ...
brrt \o 16:31
no Geth?
.tell samcv - minilua can be compiled with just '-lm', and it'll work on any platform 16:51
yoleaux brrt: I'll pass your message to samcv.
brrt And that also fixes issue #999 (or at least I believe it ought to)
I'm beginning to think that having size parameters to operands was a bad idea 16:55
timotimo in the jit? 17:50
timotimo say "hello again" to geth 17:57
samcv .tell brrt then we don't need to worry about libraries on the users computer changing? 17:58
yoleaux 16:51Z <brrt> samcv: - minilua can be compiled with just '-lm', and it'll work on any platform
samcv: I'll pass your message to brrt.
timotimo Frame size: 33046 bytes (3318 from inlined frames) 20:41
Specialization took 26781us (total 83586us)
JIT was successful and compilation took 56558us
Bytecode size: 141470 byte
oh 20:42
i have --optimize=0
that will make a difference
the code is doing "save the $_ around this block" apparently 20:43