github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today
Set by moderator on 27 September 2013.
00:23 BinGOs_ joined
jnthn A better first step might be to understand where all the cursors come from :) 00:57
diakopter jnthn: no more of your rationality! 01:05
TimToady he was just floating a point
diakopter my cursor blinks faster than yours 01:06
TimToady it only has to blink once to do that
diakopter jnthn: so how could we have 300,000 cursors to parse 6473 characters 01:07
way more backtracking than we thought was happening? 01:08
TimToady more recursion levels?
too many clones of identical closures?
diakopter too many repetitively redundant restatements? 01:09
TimToady creating cursors for all the intermediate stages of a ratcheted *?
diakopter hm 01:10
TimToady that is, remembering choice points that don't need remembering
jnthn diakopter: How'd you get teh 300,000 ooc? Calls to !cursor_start? 01:11
diakopter yeah
or start_cursor_start or something 01:12
cursor_start_all ? 01:13
jnthn yeah, there's two variants of it 01:14
diakopter cursor_start_cur
that one 01:15
though CAPHASH is called even more oftne
01:16 Ben_Goldberg joined
diakopter waits for jnthn to discover some **3 behavior that should be linear 01:17
jnthn not at 3am ;-)
JimmyZ RFC: when pass -1 length to decode function, the decode function decdoes all :-) 01:18
yoleaux 28 Sep 2013 20:20Z <diakopter> JimmyZ: would you like to make a version of github.com/perl6/nqp/commit/401ed62382 in moarvm platform dir?
jnthn JimmyZ: What decode function? 01:19
And what all? ;-)
JimmyZ MVM_string decode function,
jnthn There is (should be? :)) a _nt (null-terminated) variant 01:20
diakopter jnthn: no, he createed a decode
JimmyZ that encode :{
encode_nt 01:21
no
I'm wrong
jnthn encode takes an MVMString and it'd better know its length :P 01:22
JimmyZ I meant MVM_string_utf8_decode
jnthn I thought there was a MVM_string_utf8_decode_nt too. 01:23
That's the better API design than a magic use of -1, imho :)
JimmyZ well, the length is MVM_string_utf8_decode was computed it self 01:24
diakopter today, my english decode is failing 01:25
JimmyZ hmm, I think I understand something wrong after re-read the code 01:27
TimToady for reference, compiling STD.pm5 with viv, the following numbers of objects are created: gist.github.com/TimToady/6748449 01:30
er, STD.pm6 I mean 01:31
which wc says is: 6341 24084 205627 STD.pm6
so about 1175878 cursors (counting makestr, which it shouldn't) for about 185 per line 01:36
or about 5.7 cursors per character 01:37
diakopter hm 01:38
TimToady so you're doing about 60 per character
well, closer to f7 01:39
57
r: say 300000 / 6473 01:40
46, actually
still, clearly in need of improvement 01:41
so roughly 8 times too man 01:42
*many
jnthn yeah 01:43
Will do some alalisis on it
*analysis
But sleep now :)
'night o/
TimToady o/
02:09 FROGGS joined
dalek arVM: 31e0c67 | jimmy++ | src/ (3 files):
Add MVM_platform_unlink, improved MVM_dir_mkdir
02:35
arVM: 1bc56f1 | jimmy++ | src/ (2 files):
Small fixes
02:40
02:42 foo_bar_baz joined
JimmyZ diakopter: done :-) 02:47
diakopter JimmyZ: cool. :) 03:10
JimmyZ: now move the other platform ifdef stuff in io/ to platform ?
04:28 MikeyG joined
JimmyZ diakopter: I think I don't until jnthn++ add his io vtable ;) 04:54
05:23 yoleaux joined
JimmyZ diakopter: I mereged master into gcorch branch(locally), and make selftest looks like a bit better 05:51
*merged 05:58
06:59 FROGGS joined
diakopter JimmyZ: did you push it? 07:06
JimmyZ diakopter: nope, I can push it if you don't mind 07:11
diakopter JimmyZ: oh, nm, I merged it myself 07:13
pushing
FROGGS JimmyZ: can you please set the original file attrs when the delete didnt succeed? github.com/MoarVM/MoarVM/commit/31...7c4f#L2R77
diakopter JimmyZ: what is jnthn's io vtable?
JimmyZ FROGGS: will do 07:14
FROGGS thanks :o)
dalek Heuristic branch merge: pushed 116 commits to MoarVM/gcorch by diakopter 07:16
JimmyZ FROGGS: the libuv one didn't remove read only but removed delete attr
or add delete attr
FROGGS there is a delete-attr? 07:17
diakopter theres r,a,s,h
iirc
FROGGS and something about tempfiles and not getting indexed 07:18
JimmyZ diakopter: irclog.perlgeek.de/moarvm/2013-08-20#i_7474380 07:19
diakopter hm, oh 07:20
forgot about that :)
JimmyZ FROGGS: see msdn.microsoft.com/en-us/library/wi...85%29.aspx and github.com/joyent/libuv/blob/maste.../fs.c#L686
diakopter JimmyZ: after merging master in, the selftest output is unchanged 07:21
JimmyZ diakopter: I did see it changed , at least the role.t one 07:22
something like "NO TAP" => 'failed 4'
anothter is "NO TAP" => define 13 test but run 2 07:23
dalek arVM/gcorch: 175f39a | diakopter++ | src/gc/orchestrate.c:
renames
07:24
arVM/gcorch: 99381c5 | diakopter++ | .gitignore:
ignore my .sln
07:25
JimmyZ FROGGS: Did you see comment in github.com/perl6/nqp/commit/401ed6...28026952e9
FROGGS JimmyZ: ohh yes, will fix 07:27
diakopter FROGGS: yer awake early?
FROGGS diakopter: no, it is 9:27am here
diakopter oh, heh. 07:29
07:29 cognominal joined
dalek arVM: e0786fd | jimmy++ | src/platform/win32/io.c:
small fixes, FROGGS++
07:34
arVM/gcorch: f791194 | diakopter++ | src/gc/allocation.c:
margins
07:42
08:58 BinGOs joined 09:13 grondilu joined
jnthn o/ 09:44
JimmyZ \\o 09:45
good noon 09:46
jnthn almost is, yes :)
JimmyZ ;)
dalek arVM/relex: d266f69 | jnthn++ | nqp-cc/src/QASTCompilerMAST.nqp:
Contextual leak prevention.
10:19
arVM/relex: 4920d01 | jnthn++ | src/core/frame.c:
Toss looking down the stack for outer.

This was a fallback, but it turns out we depended on it a lot. Now we barely do, so it can go away. We will need a proper auto-close for a handful of rare cases, but removing this approximation of it shows up a couple of places we wrongly depend on such a thing, that need fixes before putting auto-close in.
arVM/relex: 0662004 | jnthn++ | nqp-cc/nqp-src/NQP.nqp:
Make multi subs not depend on auto-close.

Technically, still not quite right, but no worse than before.
10:57
masak jnthn: is "relex" like a cheap Rolex knockoff? :P 10:59
jnthn: what's auto-close? I guess it has to do with closure semantics. is it an operation of some kind? what's "auto" about it? 11:00
jnthn No no, it's a repaired lexington...
masak :P
jnthn It's the thing you gotta do in the 24-module.t case
Where you call something before the scope it was in was ever entered.
masak ah. 11:01
so, hm, "close over this (OUTER) scope now, even though it was never entered" 11:02
it's what I think of as closing over a static scope.
jnthn yes 11:03
masak ok, then I see what's "auto" about it -- it kinda has to be done last-minute. 11:04
dalek arVM/relex: c2c2431 | jnthn++ | src/core/frame.c:
First pass at autoclose.

24-module.t now passes.
12:09
masak \\o/ 12:26
12:26 grondilu_ joined
grondilu_ awesome! 12:29
12:32 grondilu joined
dalek arVM/relex: aef1751 | jnthn++ | src/core/ (2 files):
Greatly simplify rethrow implementation.

Has added advantage of not placing the PC in a random place after the unwind, though I'm not entirely sure how that was happening before. :)
12:33
jnthn Does 78-shell.t explode for everyone after 3 tests, or just me? 12:34
grondilu t/nqp/78-shell.t .. No subtests run 12:37
Test Summary Report
-------------------
t/nqp/78-shell.t (Wstat: 11 Tests: 0 Failed: 0) Non-zero wait status: 11 Parse errors: No plan found in TAP output
grondilu got this after running: prove -e '../moarvm nqp.moarvm' t/nqp/78-shell.t 12:38
JimmyZ Will there be an throw op? 12:43
jnthn There already is 12:44
JimmyZ jnthn: re shell.t, me too. 12:45
jnthn Yeah, looking into it a bit at the moment. 12:47
dalek arVM/relex: 7e2c156 | jnthn++ | src/ (3 files):
According to test suite, shouldn't cache envhash.
13:02
arVM/relex: 343fc46 | jnthn++ | src/io/procops.c:
envhash values should be boxed.
arVM/relex: 9bf783b | jnthn++ | src/io/procops.c:
Missing MVMROOTs.
arVM/relex: 3bd333a | jnthn++ | src/io/procops.c:
Avoid uninit memory SEGV in spawn.
FROGGS jnthn++ # \\o/ 13:08
grondilu: I believe this fails for a few weeks now and never passed more than 3 tests 13:15
dalek arVM: f09f304 | jimmy++ | src/6model/serialization.c:
re-order code to avoids object moving
13:18
FROGGS three fails left, supersweet! 13:30
jnthn bah, we're using uv_spawn wrong 13:31
JimmyZ ah!
FROGGS ohh, test 44 got fixed (except one single test)... need to read the commits 13:32
JimmyZ what's wrong?
jnthn JimmyZ: everything :P 13:40
dalek arVM/relex: 94d62e6 | jnthn++ | src/io/procops.c:
Use uv_spawn correctlier.

Gets 78-shell.t passing, at least.
jnthn I think I know what's with the 44-try-catch.t. 13:43
56-role.t is difficulter.
Anyway, seems at least in this branch we're down to two t/nqp with issues.
I guess that makes the branch better than master, so I could merge it :) 13:45
FROGGS +1 13:46
\\o/
compiling src/io/procops.o
src/io/procops.c: In function 'MVM_proc_spawn':
src/io/procops.c:125:5: error: '_cmd' undeclared (first use in this function)
jnthn huh... 13:47
FROGGS hmmm
jnthn oh...
"works on windows" :P
FROGGS ahh, #ifdef? 13:48
I only see the patch atm, not the file
dalek arVM/relex: 8c8ebd6 | jnthn++ | src/io/procops.c:
Fix (hopefully) non-Windows build.
FROGGS jnthn++ # quickfix
jnthn yeah, was a silly
OK, will look at merging stuff... 13:49
.oO( relex, don't do it, when you want to autoclose it... )
FROGGS /o\\
err
\\o/
(that should look like if I was running around with raised arms) 13:50
jnthn: the echo test of 78-shell is failing here but I guess I can fix that in master then 13:51
jnthn ok 14:02
jnthn wonders why
14:05 dalek joined
dalek Heuristic branch merge: pushed 25 commits to MoarVM by jnthn 14:09
FROGGS switches and builds
jnthn I'm guessing the 78-shell.t fail you have is non-Windows? 14:10
FROGGS jnthn: correct
jnthn walk & 14:16
FROGGS hmmm, something happened while merging... 56-role segfaults 14:19
jnthn Did for me in the branch too 14:20
FROGGS ahh, really?
okay :o)
jnthn yeah...but if you comment out some tests it works out...
So need to figure out what's going on :)
FROGGS yeah
jnthn But we pass more than we did before relex, so... :)
really walk & 14:21
FROGGS yeah, see ya o/
:o)
masak jnthn++ 14:26
(for the merge, not for really taking a walk) :P 14:27
JimmyZ btw: make selftest still all outputs 'Dubious, test returned 5' on x86 14:50
FROGGS it seems like shell on linux doesn't work at all atm 15:05
JimmyZ .tell jnthn looks like 'MVMROOT(tc, env' is not needed 15:09
yoleaux JimmyZ: I'll pass your message to jnthn.
15:33 cognominal joined 15:38 BenGoldberg joined
jnthn JimmyZ: yes it is 15:39
yoleaux 15:09Z <JimmyZ> jnthn: looks like 'MVMROOT(tc, env' is not needed
jnthn Hm, it's needed earlier, I suspect... 15:40
15:54 japhb_ joined
dalek arVM: 811b504 | jnthn++ | src/io/procops.c:
Re-org to eliminate an MVMROOT and correct another
15:58
jnthn JimmyZ: That x86 fail is only on Windows, too? 16:14
JimmyZ jnthn: looks like yes 16:17
jnthn: I don't have linux x86
grondilu has linux x86 in case you need a report 16:22
t/nqp/44-try-catch.t .................. Failed 1/9 subtests
t/nqp/49-regex-interpolation.t ........ Segmentation fault
01 .. 43 are "ok" 16:23
jnthn grondilu: Is that make selftest?
grondilu make nqptest 16:24
should I run make selftest first?
16:24 not_gerd joined
not_gerd o/ 16:24
jnthn make selftest is the intertesting one.
grondilu ok
jnthn uh, interesting
.oO( oddly appropriate typo... )
16:25
o/ not_gerd
not_gerd nqptest - that's so yesterday ;)
not_gerd compiles new NQP
grondilu oh I see, make selftest runs nqp.moarvm, while make nqptest runs the cross compiler I guess
no segfault on 49 with selftest 16:26
jnthn ok, good
56-role.t "should" segfault 16:27
And 44-try-catch.t fail one test (whihc I'm workingish on at the moment)
grondilu my test summary report: gist.github.com/grondilu/6754033
16:27 tadzik joined
grondilu Linux redkey 3.11-1.towo-siduction-686 #1 SMP PREEMPT Mon Sep 16 08:33:20 UTC 2013 i686 GNU/Linux 16:28
jnthn ah, and I guess 78-shell.t needs non-Windows fixes; FROGGS++ already mentioned that :)
TimToady fails try-catch, role, and shell on Linux edo 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux 16:36
grondilu 78 uses '%NQP_SHELL_TEST_ENV_VAR%' which is windows variable, right?
it should be $NQP_SHELL_TEST_ENV_VAR on linux, I suppose. 16:37
grondilu feels like making the modification manually, to see if it works 16:38
jnthn iirc, the test is assuming Windows then falling back to Linux
Or something
:)
grondilu oh yeah, my bad 16:40
dalek arVM: de4d6ff | jnthn++ | tools/update_ops.p6:
Fix regex syntax.
16:41
grondilu notices that after running "touch tmp", I don't get the "fail to open file" error. 16:43
rather I got: 16:44
t/nqp/78-shell.t (Wstat: 0 Tests: 5 Failed: 2) Failed tests: 4-5
(and the tmp file is empty) 16:45
not_gerd jnthn: checking for st->REPR != NULL in MVM_6model_stable_gc_free() fixes the role.t segfault 16:49
should I do so or does it just hide a different problem
jnthn not_gerd: It shouldn't be null...
not_gerd: I think that it is means that something is hosed elsewhere... :( 16:50
not_gerd yeah, that'S what I suspected
jnthn Unfortunately, likely some distance away.
not_gerd an STable without REPR seems dubious
jnthn yeah
I mean, we're destroying the STable at the time.
But it shouldn't be damaged yet :) 16:51
dalek arVM: d3dacef | jnthn++ | / (9 files):
Add a way to get exception handler block results.
16:52
arVM: ee878ac | jnthn++ | nqp-cc/src/QASTOperationsMAST.nqp:
Fix nqp::handle code-gen result handling.

Fixes the remaining broken test in 44-try-catch.t.
not_gerd jnthn: note that the STable in question is completely zero, not only the REPR member 16:55
diakopter o_O
oh, I fixed some things with that in the gcorch branch 16:56
not_gerd how close is that to being mergeable?
jnthn Even if you fix that, though, something is still busted in 56-role.t 16:57
not_gerd: All null sounds even moar like corruption...
not_gerd or we somehow lost an STable we allocated but never used 16:58
diakopter not_gerd: well, threads.t hasn't failed at all 16:59
since I fixed the last thing
but
some other single-threaded tests are failing
jnthn o.O
diakopter but I suspect it's ones that make it to a major collection
but I'm not sure why, since I didn't think I changed stuff with that 17:00
diakopter looks at the branch diff online
FROGGS nqp::shell() returns 127 whatever it should execute on linux 17:10
and google told me that this is "command not found"
so, shell() can spawn a process, but the process fails to execute /bin/sh -c 17:11
grondilu FROGGS: you're on 32bits? 17:15
FROGGS grondilu: no 17:16
grondilu asked this because he notices that there is a .i64 in +3157 src/core/interp.c 17:17
17:17 benabik joined
FROGGS btw, the args that go into the to-be-created process are fine 17:18
for example: cmd='/bin/sh' args='-c 1' cwd='/home/froggs/dev/MoarVM/nqp-cc' env[0]='LIBOVERLAY_SCROLLBAR=0'
grondilu you've checked that with gdb? 17:22
FROGGS grondilu: no, because it does not crash
I've just printf'd the cmd, args, ... 17:23
jnthn FROGGS: Try seeing if the 127 comes from the initial uv_spawn call or is the exit code set in the callback? 17:32
FROGGS jnthn: it is the exit code of the callback 17:33
jnthn hmm 17:34
grondilu notices that there is a uv-unix.h header and wonder if it has been included
jnthn wonders why it'd fail to find /bin/sh 17:35
FROGGS jnthn: I fixed it right now 17:36
args[0] must be "/bin/sh" too, additionally to _cmd
like the first example shows here: nikhilm.github.io/uvbook/processes.html 17:37
jnthn oh :) 17:38
.oO( why?! :) )
FROGGS and why does that work on windows then?
grondilu and args[1] is '-c'? 17:39
FROGGS yes 17:40
grondilu then what do you do with the next line (out of the #if): args[1] = cmdin? 17:41
shouldn't cmdin be args[2]?
FROGGS correct 17:42
I am pushing in a sec
grondilu then it must be put in the #if, otherwise it won't work on windows, I guess.
FROGGS true 17:43
that's the diff btw gist.github.com/anonymous/dc281d876349ff9763ac 17:45
grondilu looks fine too me. 17:46
grondilu is excited because if this works, there will be only one non-passing test left 17:47
dalek arVM: 6d957ca | (Tobias Leich)++ | src/io/procops.c:
fix nqp::shell()

args[0] for uv_spawn must be the shell, at least on unixes.
17:48
FROGGS grondilu: I only see one red light now :o) 17:49
grondilu :)
diakopter grondilu: what's the non-passing test 17:51
not_gerd 56-role.t 17:52
diakopter oh, well there's the ones in threads.t commented out
thread.t
threads.t
that are "fixed" in my branch 17:53
but with unwanted side effects
not_gerd the stable gets zeroed by collect.c:115, btw 17:56
make of that what you will ;)
diakopter not_gerd: I've fixed that 17:57
(try it in gc_orch)
jnthn Is that individual fix stealable?
diakopter probably with effort, yes 17:58
it'd take a while to remember exactly which thing..
it just is too burdensome to switch branches and make small commits and switch back and merge back 17:59
esp when there is a large commit pending 18:00
that can't be broken up really
timotimo this is not a justification for the way of doing it, but args[0] is supposed to be the name used to find the binary for cases like busybox, where it's just one binary that decides what to do based upon which of the symlinks were used 18:03
like, the busybox packet provides a whole bunch of tools in a single binary and spreads symlinks throughout the system or something like that 18:04
FROGGS ahh, interesting
and I guess this is not needed for windows, which explains why it works there 18:05
timotimo probably just not possible on windows ;)
because UNIX MASTER RACE ;) ;) ;)
diakopter also, divine right. 18:06
jnthn: I'm very willing to be convinced that my perception of the over-burden is off...
(if someone shows me how easy it is)
jnthn FROGGS: Still works on Windows with your patch :) 18:08
FROGGS jnthn: that is what I expected :o) 18:09
but I'm currently building it on windows anyway
jnthn cooks
grondilu fwiw I can confirm FROGGS++'s patch makes 78-shell work on linux 18:20
FROGGS and I can confirm that it still works on windows :o) 18:21
nwc10 selftest looks rather good now 18:39
(everyone who is not me)++
dalek Heuristic branch merge: pushed 33 commits to MoarVM/gcorch by diakopter 18:40
diakopter
.oO( you know velocity is fast when you can barely keep up with merging master into your branch... )
18:41
18:41 FROGGS joined
jnthn om nom 18:48
FROGGS there is nothing interesting in my fridge :o( 18:49
jnthn There wasn't much in mine until I went to the shop earlier ;) 18:50
nwc10 mine still has beer and coffee
jnthn Well, there was much...lots of beer :)
But you can't make dinner with that. :)
nwc10 Guiness, on the other hand... 18:51
FROGGS here is no shop nearby that has opened on sundays
jnthn ...is dinner.
FROGGS: ouch
Sweden has really good Sunday opening
And, well, just good opening all the time really :)
FROGGS yeah, I guess this can be nice
nwc10 jnthn: this limited opening days is a strange thing to get used to when you've come from the UK 18:52
masak FROGGS: I think it's 'cus Germany is more Catholic than Sweden.
jnthn nwc10: Hadn't the UK used to be similar? :)
masak but I might be wrong on that.
nwc10 jnthn: yes, but long enough ago that I wasn't dealing with logistics
it was SEP back then
FROGGS masak: you are correct
jnthn
.oO( more addicted to cats? :) )
nwc10: Yeah, same for me... :)
diakopter my fridge has ... I don't know; I haven't looked in it today 18:53
nwc10 what's even weirder here is that Saturday can be a public holiday, and shops have shut, just to confuse me
diakopter cats aren't the best tasting
very chewy
masak diakopter: unless someone took their Fourier transform first. 18:54
not_gerd
.oO( or if your name is ALF )
18:55
diakopter that just makes them even more elongated
jnthn Other good news: all but 56-role.t also pass with --optimize 19:01
diakopter how many times in a row? :)
jnthn :P
the one time I ran it. I'm building a debug one again now to look at 56-role.t a bit :) 19:02
diakopter wonders if jnthn builds with NOISY every time
jnthn No :) 19:03
hm, does it in 17s on my box with --optimize too
That's without any kind of parallel running
diakopter does what
jnthn make selftest 19:04
not_gerd: How'd you figure out it was collect.c:115 ? 19:12
diakopter ugh, I merged master again and nothing runs 19:14
not_gerd jnthn: it turns out there was only one STable added to stables_to_free 19:20
I just set a watchpoint on that
(using gdb) 19:21
jnthn ah
but if it's in that chunk of memory then it came from an out-of-date pointer...
19:25 colomon joined
jnthn if (MVM_decr(&tc->instance->gc_ack) == 2) { 19:30
diakopter: I hope magic numbers are gone in the branch :P
oh...fail... 19:35
I see why it's busted.
MVM_gc_collect_free_nursery_uncopied(other, tc->gc_work[i].limit); runs after finish_gc
19:36 colomon joined
jnthn Meaning that the pointers are old by the next time around. 19:36
dalek arVM: f282aa9 | jnthn++ | src/gc/orchestrate.c:
Reap STables in current run, not next one.

By then, the pointers are in a new tospace.
19:39
19:50 japhb_ joined
not_gerd jnthn++ 19:50
FROGGS ohh, do we get a bit further now? 19:52
at least it dies differently
jnthn Yeah, first 3 of 56-role.t now pass
Trying to work out why the outer of the instantiated method bodies are messed up 19:53
FROGGS cool!
jnthn as in, missing... 19:54
These things are always a bit of a pain to hunt down...
hmm 19:55
19:55 foo_bar_baz joined
jnthn oh... 19:55
:cuuid(self.unique('frame_cuuid_'))); 19:56
d'oh
we're meant to get taht from le block's cuid :)
FROGGS ohh, there is something missing
jnthn Otherwise it won't correlate over the boundary...
If this is all that's wrong I'm gonna be happy
FROGGS ohh, and not just you 19:57
jnthn looks like that may have been in...confirmation soon... 19:59
nwc10 jnthn++ # 56-role.t no longer SEGVs 20:00
dalek arVM: 133ec91 | jnthn++ | src/6model/reprs/MVMCode.c:
Bring coderef clone inline with other backends.

Or at least, the JVM one.
20:01
arVM: f2c8224 | jnthn++ | nqp-cc/src/QASTCompilerMAST.nqp:
Take cuid from the QAST::Block.

Those in the generated bytecode must match up, otherwise fixups fail. This fixes 56-role.t.
FROGGS ? 20:02
FROGGS builds and hopes
jnthn Should do it.
FROGGS wow
jnthn++
jnthn Does here, at least.
FROGGS it will take a while till I see it
jnthn yeah, that was is fairly early in the change. 20:03
*chain
So, there we are. Next challenge will be t/serialization/ 20:04
And then we'll be in place to make an attempt at bootstrap
FROGGS YESS!!! 20:05
it passes here too!
jnthn++
not_gerd I can also confirm 'All tests successful.' 20:07
jnthn Great
Successful hacking weekend was successful :)
FROGGS indeed 20:08
nwc10 now drink beer.
jnthn :D
nwc10 it was only a suggestion. Not an instruction :-) 20:09
not_gerd btw, does 'role R { say(42) }; class C does R {}' make sense at all? 20:10
fails on both parrrot and moarvm
jnthn That's liable to fail in NQP on any backend. 20:11
Rakudo should get it right. It tries harder.
nwc10 jnthn++ # All tests successful. 20:15
nqptest still fails 3
grondilu it probably does not matter, does it?
jnthn Nah, nqptest doesn't matter
nwc10 ah OK. I didn't know that
jnthn nqptest is testing the cross-compiler 20:16
From Parrot to MoarVM
nwc10 aha
jnthn Which only has to be good enough to get us a stage0
selftest is the one that matters for bootstrap
grondilu so what now? compiling rakudo?
jnthn No, no
We need to get nqp on MoarVM able to build NQP first :)
nwc10 "drink beer"
grondilu oh yeah
jnthn We have selfhost, next is bootstrap. At this point we'll move the backend code into the NQP repo proper. 20:17
FROGGS prove -e "../moarvm nqp.moarvm" t/serialization/ # this must succeed first
jnthn There is one orthogonal task that I'd *very* happily delegate
nwc10 "drink beer", "brush teeth", "rest", "drink coffee" *then* do the next thing
jnthn We're gonna need a make install for MoarVM
grondilu you meen with autoconf stuff?
not_gerd well, as long as it's not install-dev 20:18
our headers are not in an installable state
jnthn grondilu: no, just the ability to type "make install" and have it shove MoarVM somewhere.
grondilu ok
jnthn not_gerd: We won't need those for NQP at least.
not_gerd: Rakudo needs ops writing though... 20:19
FROGGS jnthn: do you mean it should create a ../nqp/src/vm/moarvm/ and put its stuff there, or do you mean the `make install` that we will have within the nqp repo? 20:21
jnthn FROGGS: I mean a make install in MoarVM's (top-level) Makefile 20:22
FROGGS: What's in nqp-cc now will be moved into the NQP repo
FROGGS: So I'm talking about an install target for the VM itself. 20:23
FROGGS jnthn: so, like parrots make install target? 20:24
jnthn Right
FROGGS so it would copy the nqp.moarvm besides other things to PREFIX or so?
jnthn no no
The vm 20:25
Not NQP
nqp-cc will go away
FROGGS ahh, yeah
not_gerd no, that would be handled by ConfigureMoar.pl in the nqp repo
jnthn Right
not_gerd basically, cp moarvm.exe moarvm.dll $(PREFIX)
FROGGS so, moarvm[.exe] + dlls/so
jnthn Right 20:26
Plus lib/ libraires I guess
MAST ops and MAST nodes
FROGGS if my brain is in a fit state tomorrow, I will try to do that
everybody else is invited to do that if he/she wants... I wouldn't be too sad :o) 20:30
not_gerd ;)
if it becomes a blocker, I can do it as well
diakopter not_gerd: you could work on implementing the extops.md 21:02
(since rakudo will need it)
(as jnthn wrote)
jnthn: glad to see you found my "XXX should these next two really be copied?" :) 21:03
jnthn: (usually my XXX notes are directed toward you) 21:04
not_gerd diakopter: I'll see what I can do about that 21:09
anyway, good night and/or happy hacking 21:11
diakopter not_gerd: you leaving? 21:13
not_gerd o/
diakopter 'nite
not_gerd yes, right now
21:13 not_gerd left
diakopter g'n' 21:13
jnthn gn, ng :) 21:14
dalek arVM/gcorch: f282aa9 | jnthn++ | src/gc/orchestrate.c:
Reap STables in current run, not next one.

By then, the pointers are in a new tospace.
21:16
arVM/gcorch: 133ec91 | jnthn++ | src/6model/reprs/MVMCode.c:
Bring coderef clone inline with other backends.

Or at least, the JVM one.
MoarVM/gcorch: f2c8224 | jnthn++ | nqp-cc/src/QASTCompilerMAST.nqp:
MoarVM/gcorch: Take cuid from the QAST::Block.
diakopter jnthn: idea for Match/Cursor preservation 21:27
create a linked list of them... and cache the last used one for a particular depth of routine descent.. so when you descend again, there's already one there from the last time you descended to that level.. it just might need re-initialized a bit 21:28
.. so you'd want to clear out its bstack/cstacks when ascending 21:30
er, when fail-ascending
er, s/conversation/preservation/ 21:31
er.
s/preservation/conservation/
(sigh*
*sigh)
*sigh*
jnthn diakopter: We can only re-use those that failed and didn't end up in the tree overall, mind... 21:32
diakopter right
but that's a lot of them
jnthn: well, we can reuse them when they are removed from the tree when their whole branch fails.. 21:33
well, I guess that really is just the same as pushing to a stack when you're done with a cursor, and simply getting from that stack when you need a new one 21:35
so it's really just a normal pool idea.
so, fwiw.
jnthn: have you tried just a super-simple pool like that? 21:43
jnthn diakopter: not yet 21:45
Though I guess it could live in $!shared and it'd get the right type then... 21:46
22:07 benabik joined 22:34 BenGoldberg joined
BenGoldberg .ping 22:58
yoleaux There is no ping command; nor can this be construed as a response.
BenGoldberg This is probably a very silly question, but would it be possible to have the irc log at irclong.perlgeek.de translate mirc color control codes into html colors? 23:00
:)