diakopter timotimo: there used to be an instruction that encoded that, but (ironically, perhaps?) it might be optimized away 01:24
01:48 ilbot3 joined 06:50 geekosaur joined, domidumont joined 06:55 domidumont joined 07:33 zakharyas joined
jnthn timotimo: On callee side, you can look at the callsite to validate it 07:41
dalek arVM: ca1a21a | jnthn++ | src/core/frame.c:
Fix fragility in VMNulling work registers.

It could potentially use the spesh num_local_types when not using the spesh local_types.
08:15
jnthn Unfortunately, this (well, actually the original patch that it makes more robust) accounts for a huge slowdown 08:18
Well, maybe not huge, but 10s or so on the Rakudo build 08:21
09:40 zakharyas joined 09:41 ingy1 joined 09:42 ilmari_ joined 10:29 Unavowed joined 10:34 domidumont joined 11:35 ggoebel113 joined 11:36 vendethiel joined 11:43 psch joined 12:23 lizmat joined 13:37 orbus_ joined 13:42 domidumont joined
timotimo that's bad :| 13:57
jnthn Yeah, though we'll figure something out on it 13:58
Today I've been digging into the long-awaited invocation/frames re-design.
timotimo sounds exciting :)
jnthn Yeah...I think I can save us a decent bit 13:59
Along various axes
And make that refs_frames thing go away
14:09 mtj_ joined
nwc10 and a pony? 14:15
timotimo refs_pony = 1?
14:18 zakharyas joined
jnthn Well, it maybe prepares for the way for a pony ;) 14:19
14:31 domidumont joined 15:33 ilmari joined 15:35 zakharyas joined 15:41 ggoebel113 joined 15:47 geekosaur joined 15:50 geekosaur joined 16:05 domidumont joined 16:07 domidumont joined 16:30 zakharyas joined 16:49 pyrimidine joined
dalek arVM/reframe: 9103b61 | jnthn++ | src/6model/6model.h:
Add collectable flag for frames.
16:53
arVM/reframe: 3daded3 | jnthn++ | src/core/frame.h:
Give MVMFrame an MVMCollectable header.
arVM/reframe: 95c87b2 | jnthn++ | src/gc/allocation. (2 files):
Add function for GC-allocating a heap frame.
arVM/reframe: 1ce7271 | jnthn++ | src/core/frame. (2 files):
Pull frame destroy out of reference dec.
arVM/reframe: d2591ad | jnthn++ | src/ (19 files):
[WIP] Switch frames to be collectables.

Danger: highly explosive branch; very unlikley to build NQP, though passes all but 2 of the NQP test suite. Pushed simply for backup.
The eventual goal is to manage frames that are not referenced at all by other collectables in their life time using a traditional-style call stack, and promote them to the heap as normal GC-able objects upon escape. As a stepping stone, we'll allocate all frames on the heap, to help uncover missing mark bugs and the like, as well as to break the big change into steps between which stuff should entirely da21d2f | jnthn++ | src/ (3 files): Add some of the missing write barriers.
17:15
jnthn dinner :) &
(btw, I've a list here of stuff to fix still on that branch, plus expect to rebase it further locally) 17:16
Also, I doubt this branch will merge until the stack part is done, as my guess would be that it'll represent a sizable regression. 17:17
(Performance wise)
Until that is in place.
Really dinner. &
timotimo <3 17:18
have a good food!
17:27 lizmat joined
nwc10 jnthn: most recent commit on that branch SEGVs in NQP build (looks like a NULL pointer dereference) 17:48
building previous commit to see how far I get
18:05 zakharyas joined
jnthn nwc10: It'd be a near micracle if it worked, given there's still missing write barriers to add and some places it's not marking frames at all 'cus it got away with it before 18:39
(HEAD, that is) 18:40
The commits leading up to HEAD shoulda been benign refactors though
18:40 leedo joined
nwc10 ASAN "likes" the commit before HEAD 18:42
18:43 cognominal joined 19:07 patrickz joined
arVM/reframe: 17adaa4 | jnthn++ | src/ (3 files):
Fix some missing frame marking.
arVM/reframe: 6f61939 | jnthn++ | src/6model/ (44 files):
Remove now-unused refs_frames.
jnthn Innerestin'. If you disable spesh it passes all the NQP tests now 19:35
heh, and if you enable spesh but not inlining you get more fail
I've a horrible feeling this trail might lead to deopt.c 19:37
nwc10 doesn't build Rakudo, though 19:46
failed to load library 'dynext/libperl6_ops_moar.so' at gen/moar/m-BOOTSTRAP.nqp:1066 (<ephemeral file>:)
...
however, that's the failure. not ASAN
19:57 orbus_ joined, arnsholt joined, _longines joined, jnthn joined, khagan_ joined 20:04 _longines_ joined 20:09 orbus_ joined, arnsholt joined, jnthn joined, khagan_ joined 20:17 jnthn joined, arnsholt joined, khagan joined 20:26 orbus_ joined 20:39 Util_ joined 20:40 arnsholt_ joined 20:44 harrow` joined 20:53 ingy joined 21:41 Util joined 22:11 diakopter joined