github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
timotimo will this become the "free things in an extra thread" mechanism later, jnthn? 00:04
jnthn No, I don't think it'll ever be that heavily used 00:11
That'd be doing the nursery sweep asyncronously
Though that needs careful checking we can really get away with it :) 00:12
(we'd need to audit all the gc_free methods for assumptions)
That mechanism is just for when you'd use the FSA free at safepoint but didn't allocate with the FSA :) 00:13
timotimo OK 00:20
jnthn 'night 00:24
timotimo gnite jnthn
01:02 ggoebel left 01:48 fake_space_whale joined 01:49 p6bannerbot sets mode: +v fake_space_whale 02:23 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 02:27 lizmat left 05:06 stmuk_ joined 05:07 p6bannerbot sets mode: +v stmuk_ 05:08 stmuk left 05:12 dindon16 joined 05:13 dindon16 left 05:47 brrt joined 05:48 p6bannerbot sets mode: +v brrt
brrt \o 05:48
pmurias: I was under the impression that it had to be GPL fullstop 05:50
but anyway, i'm not so convinced that'd be actually cheaper than writing an ELF file 05:53
06:18 fake_space_whale left
brrt btw, the simplest thing I can do for supporting jump-on-overflow in the expression JIT, is just to have it take a value and yield a flag 06:44
that way, we can do it after any value-yielding expression
it is also most portable. the downside is that we'd have to rely on subexpression elimination to eliminate the redundant ADD 06:45
but the good thing about it is, that on platforms that would not support an overflow flag (no idea if these are popular), this could still be made to work 06:46
whereas if we treat overflow as a 'trap' or conditional statement by itself we could not
07:00 greppable6 joined 07:01 p6bannerbot sets mode: +v greppable6 07:23 brrt left 08:03 zakharyas joined 08:04 brrt joined, p6bannerbot sets mode: +v zakharyas, p6bannerbot sets mode: +v brrt 08:15 lizmat joined 08:16 p6bannerbot sets mode: +v lizmat
brrt on the other hand, actually writing ELF files, on linux, isn't so hard.... 08:31
08:46 brrt left 09:07 lizmat left 09:39 dogbert2 joined 09:40 p6bannerbot sets mode: +v dogbert2 09:42 Guest73014 joined 09:49 Guest73014 left 10:15 jwhisnant16 joined 10:17 jwhisnant16 left 10:55 ZzZombo left 11:22 zakharyas left 12:38 zakharyas joined 12:39 p6bannerbot sets mode: +v zakharyas 13:20 mozzarella29 joined 13:27 mozzarella29 left 14:04 Tools3 joined 14:06 mz`24 joined 14:09 mz`24 left, Tools3 left 14:58 domidumont joined 14:59 p6bannerbot sets mode: +v domidumont 15:03 domidumont left, domidumont joined 15:04 p6bannerbot sets mode: +v domidumont 15:11 AlexDaniel left 15:30 fake_space_whale joined 15:31 p6bannerbot sets mode: +v fake_space_whale 15:36 beuker joined 15:40 beuker left 15:44 richardjohn17 joined 15:48 richardjohn17 left 16:29 fake_space_whale left 16:34 Miklo14 joined, zakharyas left 16:38 Miklo14 left 16:51 ggoebel joined, p6bannerbot sets mode: +v ggoebel 17:04 ggoebel left
japhb testing 17:17
timotimo success
jnthn FAIL
:P
timotimo race'd
japhb It was a success. Needed to see if voice was winning over restrictions. 17:18
(Partially because I noticed that after the system message about restricting new connections, #moarvm and #perl6-dev got really quiet.)
17:19 ggoebel joined, p6bannerbot sets mode: +v ggoebel 17:25 samcv left, camelia left 17:26 camelia joined, mtj_ joined, AlexDaniel joined 17:27 p6bannerbot sets mode: +v mtj_, p6bannerbot sets mode: +v camelia, notable6 left, p6bannerbot sets mode: +v AlexDaniel 17:28 statisfiable6 left, MasterDuke left, releasable6 left 17:30 AlexDaniel left, AlexDaniel joined, barjavel.freenode.net sets mode: +v AlexDaniel, p6bannerbot sets mode: +v AlexDaniel 17:35 samcv joined 17:36 samcv left, samcv joined, p6bannerbot sets mode: +v samcv 18:04 [Coke]_ is now known as [Coke] 18:11 domidumont left 18:16 ChanServ left 18:22 ChanServ joined, cherryh.freenode.net sets mode: +o ChanServ 18:23 p6bannerbot sets mode: +v ChanServ 18:25 releasable6 joined 18:26 p6bannerbot sets mode: +v releasable6, brrt joined 18:27 p6bannerbot sets mode: +v brrt 19:00 brrt left 21:02 AlexDani` joined 21:03 p6bannerbot sets mode: +v AlexDani` 21:04 AlexDaniel left 21:16 AlexDani` is now known as AlexDaniel 21:44 notable6 joined, MasterDuke joined, p6bannerbot sets mode: +v MasterDuke 21:45 MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke, p6bannerbot sets mode: +v notable6 21:59 lizmat joined, p6bannerbot sets mode: +v lizmat 22:08 lizmat_ joined, drakythe joined, drakythe left 22:09 p6bannerbot sets mode: +v lizmat_, lizmat__ joined 22:10 p6bannerbot sets mode: +v lizmat__ 22:11 lizmat left 22:13 lizmat_ left 22:15 lizmat__ is now known as lizmat 22:22 codex2064 joined
Geth MoarVM: ugexe++ created pull request #948:
Update libuv to 1.23.0
22:24
MoarVM/postrelease-opts: eb6110f8b8 | (Jonathan Worthington)++ | 3 files
Correct tracking of log guards at PHI nodes

Previously, we only had them on the facts of the PHI node itself. However, those facts could then be copied and relied on elsewhere. With this change, we now keep a list of the log guards that we depend on for each fact, and at a PHI node we copy all the input lists into a target list. We then, when we depend on or copy facts, just assign the input log guards list and count (which is safe since it's immutable, and we use the region allocator so there's no memory management concerns).
22:25
timotimo oh, so we were not marking facts as "relied upon" when they went through a PHI, and that caused us to leave out guards that were necessary? 22:27
jnthn The original code set the merged log guards flag on a PHI node 22:28
But then the code that marked the facts as used expected that any node with that flag was a PHI node
This caused crashes when it wasn't a PHI node, so I stopped copying it 22:29
But that was also wrong
So now we just keep a list of the log guards that a given fact entry depend on
Merging them at a PHI node
timotimo that sounds sensible
jnthn And then we can carry them as far forward as we need, including through further PHIs 22:30
It's possible that we can carry a fact derived from a log guard through multiple PHI nodes before we reach the point something actually uses it
With this we can track it all the way back
timotimo good
jnthn CORE.setting on my home machine on that branch is now a reliable SEGV rather than sometimes another error...progress? :P 22:31
timotimo \o/
22:31 codex2064 left
[Coke] reliably exploding sounds good. 22:32
jnthn Well, in 2 runs...then I did it with MVM_JIT_DISABLE=1 and it worked, though I'm not entirely sure if that's legit :) 22:34
But I really want a test case that isn't CORE.setting...
Alas, not yet. I thought there was one in test, but it was in the test for a bug I fixed yesterday in MoarVM master 22:40
Not much else in master that looks like it could help, alas 22:41
22:48 Randy12 joined 22:49 p6bannerbot sets mode: +v Randy12
Randy12 | \ l /-----~~" / 22:49
| Y \ /
| | "x______.^
| | \ |
| j / |
| |; ; ; ; ; ; / ,--.........,
| |; ; ; ; ;/ ; .' -='.
| | ; ; ; ; / / .\ '
| | ; ; /` .\ _,==" \ .'
| \; ; ; .'. _ ,_'\.\~" //`. \ .'
| | ; .___~' \ \- | | /,\ ` \ ..'
| ~ ; ; ;/ =="'' |`| | | =="''\.==''
| ~ /; ;/="" |`| |`| ==="`
| ~..==` \\ |`| / /=="`
| ~` ~ /,\ / /= )")
| ~ ~~ _')")
| ~ ~ _,=~";`
| ~ =~"|; ;| Homerbird
| ~ ~ | ; | =========
| ~ ~ |;|\ |
| |/ \|
22:49 ChanServ left
jnthn bah, I try to kick it and ChanServ netsplits before I can get ops 22:50
timotimo it seems to have finished anyway 22:51
jnthn Indeed
Randy indeed.
:P
22:52 Randy12 left
jnthn Ah, got some spectest blowup now 22:55
One of them a SEGV in mp_mul
And only happens when the JIT is enabled
Wonder what I messed up...
23:03 ChanServ joined, cherryh.freenode.net sets mode: +o ChanServ 23:04 p6bannerbot sets mode: +v ChanServ
jnthn Don't see the problem, alas 23:16
23:19 lizmat left
jnthn leaves it for another day 23:21
23:30 fake_space_whale joined 23:31 p6bannerbot sets mode: +v fake_space_whale
jnthn OK, so I failed to stop working on it but did figure it out and it was silly 23:58