01:19 tokuhiro_ joined 01:29 colomon joined 01:34 colomon joined 01:45 tokuhirom_ joined 02:15 tokuhiro_ joined 02:43 tokuhirom_ joined 02:44 colomon joined 02:57 colomon joined 03:13 dalek joined 05:29 tokuhirom_ joined 06:42 Ven joined 06:48 FROGGS joined
dalek arVM/even-moar-jit: 473f005 | brrt++ | 3rdparty/dynasm:
Fix another miscompile

Of OPTREX bytes there should also be just one.
07:23
07:51 ShimmerFairy joined 07:57 kjs_ joined 08:06 Ven joined 08:07 kjs_ joined 08:17 brrt joined
brrt good * 08:17
the previous commits should almost fix autocasting, but we still get a segv
also
timotimo hey brrt
i've recently had big integer arithmetic on my mind a little bit
brrt i don't really think we need to autocast consts; we may just propagate sizes
tell me about it :-) 08:18
timotimo how's our plan currently looking? 08:19
i guess we can sort-of easily get to "only actually allocate an Int object at the very end" from where we are now
just using spesh
can we generate good fast-path code that just holds the smallbigints directly in integer registers and does computations on them with a lot of (probably cheap) checks to make it jump into a full-blown bigint computation path? 08:20
does that even seem worthwhile?
i may be a bit incoherent; sickness is keeping me on very little sleep - none in today's case :( 08:21
brrt that seems very worthwile 08:27
worthwhile
timotimo also, i really shouldn't have dropped work on deoptimization bridges instantly like i did when i last thought about that 08:28
brrt however, the thing that makes it a jitty-thing, is that the c-languages don't export overflow flags
timotimo yeah
brrt i.e. there is no way to do a calculation and have it say 'oops this overflowed, need to switch to bigint semantics'
timotimo that's where the checks come in
brrt well, those checks are jit checks, is the thing 08:29
timotimo we'd have to look-before-you-leap
last i checked our smallbigints are 32bit integers, right?
so addition and subtraction will give us easy overflow checks if we do the arithmetic itself in 64bit ints
division shouldn't be able to underflow on int-int cases 08:30
and for multiplication i think all you have to do is add up the most significant bit's position of both operands?
modulus trivially works fine
shifts are easy to check, too 08:31
a good benchmark for this stuff would be interesting; there's also still the stepping-stone of directly emitting the smallbigint calculation code into the jitted code rather than calling to the C functions all the time
we'd been planning to get that anyway 08:32
i'll try to sleep again, hopefully getting a bit of rest now 08:40
i also feel a bit frustrated from the even-moar-jit effort not really letting me contribute much any more :| 08:43
brrt sorry, was off for a bit 08:52
oh, well, *ahem*
that is my fault, of course
i've left it in a 'almost-working-but-broken-state'
can you tell me how that would work, add up the msb of both operands..... 08:53
08:53 Ven joined
brrt hmmmm 08:53
ok, i see what you mean
i see how that is simpler than my naive plan 09:01
(fwiw, my naive plan would be: clone the graph and rewrite bigint ops into int ops, and have them check for overflow *after* the calculations 09:02
timotimo: if you want, i can probably figure out a way for you to contribute :-) 09:07
have you seen the new tile-writing documentation
i've been busy trying to rewrite / refactor the tiler-table-generator into Understandable Perl
and one of the things i want to do is mark tiles with the 'parameters' that should be passed to the function 09:17
the thing is, most of what needs to be done is currently plumbing 09:20
09:22 Ven joined 09:24 kjs_ joined
brrt and debugging 09:37
(to the tune of ballmer: debuggers debuggers debuggers debuggers... xx 100)
09:39 edehont joined 09:45 FROGGS joined
brrt wonders if dynasm has turned into more of a loss than a gain now 09:53
10:14 rarara_ joined 10:21 kjs_ joined 10:42 FROGGS joined
FROGGS :S 11:15
brrt well, it's not that serious. it's just that we're using it in a pessimal case 11:16
11:19 Ven joined
FROGGS well, but you can always improve on it no? 11:20
brrt no, that's not what i mean
dynasm is basically ideal if you have long sequences and you fill in a few bits here and there
FROGGS I mean, sometimes it is important to get a good onramp effect before thinking about the most optimal solution
brrt we have all sorts of small, short sequences that have to be extensively modified in practice
FROGGS hmmm
brrt but yeah, i can see how we could create an interface-compatible clone some day in the feature 11:21
future
FROGGS so we are not dynasms target audience
brrt haha
no
not anymore
FROGGS I see :o)
brrt anyway, i hope to have even-moar-jit mergeable by Christmas 11:27
i'd hoped to have it mergable by halloween, but that seems unlikely 11:28
11:30 tokuhirom_ joined 11:47 Ven joined 12:13 kjs_ joined 12:45 tokuhirom_ joined 13:05 zakharyas joined 13:13 Ven joined 13:59 tokuhirom_ joined 14:03 Ven joined
hoelzro o/ #moarvm 14:32
nwc10 \o hoelzro 14:33
hoelzro o/ nwc10 14:40
14:57 ggoebel2 joined 15:00 diakopte1 joined 15:01 zakharyas joined 15:14 _longines_ joined 15:15 colomon joined
[Coke] Hey. Um. is there a moarvm release this month yet? 15:26
Can anyone other than jnthn++ do that?
15:39 kjs_ joined
lizmat I think FROGGS can ? 15:44
15:46 tokuhiro_ joined
[Coke] ok. that's a blocker on a birthday release. 15:48
15:50 dalek joined, colomon joined
lizmat if nobody can do a MoarVM release, then I guess we'll have to wait until next week :-( 15:57
16:11 Ven joined 16:47 synbot6 joined, tokuhiro_ joined 16:56 zakharyas joined 17:03 tokuhirom_ joined 17:21 ggoebel joined 17:24 leont joined 17:27 FROGGS joined 18:17 vendethiel joined 18:34 kjs_ joined
[Coke] so, the instructions seem super easy; anyone have access to upload a tarball? 18:34
diakopter, do you have access for that? 18:35
FROGGS ohh ups 18:47
still nobody can AFAIK 18:48
dalek arVM: 4f9d381 | coke++ | docs/ChangeLog:
Add changelog entries for last month
[Coke] SFAIK, the only thing that actually needs the uploaded tarball is macports. 18:49
18:49 tokuhiro_ joined
[Coke] NQP just needs a tag. 18:49
so, I'm just going to pull the trigger, we can get the tarball uploaded after the fact.
dalek arVM: 429ce74 | coke++ | VERSION:
prep for 2015.10 release
19:03
FROGGS [Coke]++ 19:06
19:19 tokuhirom_ joined 19:47 flussence joined 19:53 zakharyas joined 20:47 kjs_ joined 20:50 tokuhiro_ joined 21:50 tokuhirom_ joined 21:57 zakharyas joined 22:18 tokuhiro_ joined 23:10 tokuhirom_ joined