jnthn diakopter: I lied, I'm stubbing another piece... :) 00:00
.oO( approaching the balmer peak backwards... )
00:01
dalek arVM: 5315ec6 | jnthn++ | src/6model/reprs/MVMContext.c:
MVMContext refs frames, so mark it as such.

Could fail to mark things we need to if it's the only frame referent and it gets promoted to gen2.
00:15
arVM: 84a0004 | jnthn++ | / (5 files):
Add MVMContinuation REPR.

Just references the top frame; this may well be all we need it to do.
arVM: 653a53a | jnthn++ | src/ (3 files):
Bootstrap a BOOTContinuation.
00:33 lizmat joined
diakopter jnthn: heh. 00:47
dalek arVM: b039b34 | jnthn++ | / (5 files):
Partial continuation reset implementation.

Does not yet persist/clear the tag, just runs the specified block.
00:49
diakopter jnthn: is a null tag allowed?
jnthn yeah
diakopter ok 00:50
jnthn And it seems if you control with a null tag, it means "nearest"
[Coke] wonders how jnthn is still awake!
diakopter too
jnthn [Coke]: Curry! Imperial stouts!
diakopter [Coke]: maybe he's actually asleep, but still coding
and chatting
jnthn diakopter: afaict from the tests, we can only ever have one tag per frame...did you figure the same? 00:51
diakopter from the tests yeah
jnthn Well, I can't see how you could get it otherwise...
diakopter if you reset/control from the same frame.. 00:52
jnthn Since we invoke a block inside the rest...
*reset
But...the tag isn't valid after the reset, no?
oh, wait... 00:53
diakopter nqp-jvm: nqp::continuationreset(0,{1}); nqp::continuationcontrol(nqp::null,nqp::null,nqp::null) 00:54
camelia nqp-jvm: OUTPUTĀ«java.lang.NullPointerExceptionā¤ in (/tmp/JMOZkWlStD:1)ā¤ in (gen/jvm/stage2/NQPHLL.nqp:1100)ā¤ in eval (gen/jvm/stage2/NQPHLL.nqp:1086)ā¤ in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1292)ā¤ in command_eval (gen/jvm/stage2/NQPHLL.nqp:1196)ā¤ in command_lineā€¦Ā»
diakopter well, there's that
jnthn But every control is in the static dynamic scope of a reset in the tests, afaict. 00:55
diakopter nqp-jvm: nqp::continuationreset(0,{1}); nqp::continuationcontrol(4,3,{2}) 00:56
camelia nqp-jvm: OUTPUTĀ«Exception in thread "main" java.lang.RuntimeException: control operator crossed continuation barrierā¤ at org.perl6.nqp.runtime.ExceptionHandling.dieInternal(ExceptionHandling.java:48)ā¤ at org.perl6.nqp.runtime.ExceptionHandling.dieInternal(ExceptionHandling.java:ā€¦Ā»
diakopter should catch that one 00:57
(also the null pointer)
diakopter waits for jnthn to sleep 300000 00:59
jnthn diakopter: Yeah, gonna get some rest now :) 01:04
diakopter any pushes to apear?
jnthn Nope :)
I'm pretty sure MVMContinuation also needs a resume_addr in it, though :) 01:05
diakopter a bytecode pointer? 01:06
or frame?
jnthn Frame is already there
Bytecode pointer 01:07
diakopter how to set the thing to clear the tag
jnthn special_return, special_return_data, and set the flag to mark the special return data.
And clear it in the callback.
Happy hacking. :) o/ 01:10
diakopter o/ 01:12
[Coke] ok, new daily run is going to grab everything once up front, so no more last minute moar commits. :) 01:18
01:59 ssutch_ joined
dalek arVM: 166595c | jimmy++ | src/ (2 files):
free filename
02:01
02:04 jnap joined
diakopter JimmyZ++ 02:08
02:11 sorear joined 02:30 jnap joined 02:57 FROGGS[mobile] joined 04:20 cognominal joined 04:22 jnap joined 05:10 FROGGS joined 05:23 jnap joined 07:02 FROGGS[mobile] joined 07:15 cognominal joined 07:24 jnap joined 07:52 FROGGS joined 08:25 jnap joined 08:26 FROGGS[mobile] joined
FROGGS I can build rakudo using -O3 again, but I get the following after compiling the setting: 08:35
./perl6-m --target=mbc --output=lib/Test.moarvm lib/Test.pm
Cannot find method 'at_key': no method cache and no .^find_method
here is the bt: gist.github.com/FROGGS/ec70de48a665888135cf 08:37
08:55 odc joined 09:26 jnap joined
nwc10 slow testing is slow. 09:56
still not quite sure why one thing blew up with SIGBUS, but ran it overnight in gdb to find out why and it didn't
not sure if that's "I'm running in gb"
09:56 FROGGS[mobile] joined
nwc10 or simply that I updated the moar binary underneath the previous one, and actually Linux doesn't like that 09:57
FROGGS nwc10: I had that too the it worked fine under gdb but segfaulted otherwise 10:16
nwc10 this was SIGBUS. That's unusual. Usually means that the C stack is exhausted 10:18
10:26 jnap joined
jnthn oh hai o/ 10:28
FROGGS hai jnthn
I hope you got some sleep :/
jnthn Some. Worked out better than the night before, at least... 10:30
diakopter: Can I steal back the continuation bit now? :) 10:31
diakopter yah 11:03
(he says to the past) :)
11:27 jnap joined 12:28 jnap joined 13:13 V_S_C joined
[Coke] jnthn: you'll be happy today. 13:24
jnthn [Coke]: oh? :) 13:25
[Coke] did a run overnight to test changes to the daily test suite.
(which should make it run slightly faster) 13:26
(and caught some changes to rakudo.moar)
13:29 jnap joined
jnthn Did we come to some conclusion on the 01-qregex.t failure in NQP? 13:31
iiuc, "Unicode changed"
Does this suggest the test should also change to match latest? 13:32
diakopter it's hard to be more black and white than non-whitespace versus whitespace 13:38
(I say this not knowing whether the character has any markings)
nwc10 gah. the filesystem on the machine hosting my e-mail has hung 13:39
in that, ssh connections onwards from it are still trucking
FROGGS jnthn: about the qregex fail, I asked about that here on channel... 13:44
jnthn: the fix would be to strip that from a \s+ test, but this vowel separator still got matched by \h, and I don't know if that is right or not
dalek arVM: 110400d | (Tobias Leich)++ | src/6model/reprs/P6 (2 files):
strip redundent checks for int/num bit size, jnthn++
13:46
diakopter FROGGS: re "right" it'll be hard to "fix" that if it's wrong, since all the unicode stuff is completely autogenerated from spec. 13:47
well.
need to be careful with each of those last 4 words
"completely" "autogenerated" "from" "spec" 13:48
thar I fixed it
masak :P 13:49
diakopter "careful"
"4"
masak "words" 13:50
"fixed"
diakopter *gigglefit*
FROGGS diakopter: I just want to get an answer to my question before I make tests pass that might are not supposed to
masak beats diakopter repeatedly with a goose feather
diakopter hopefully not a planet-sized goose feather
FROGGS .oO( ... 6 geese a laying ... ) 13:51
masak it's not even goose-sized!
diakopter 5 golden eggs
FROGGS :o) 13:52
[Coke] I think the tests need to know which version of unicode we're working with. 14:01
does perl 6 have a setting somewhere that indicates which unicode we mean? 14:02
(could then key the tests off that.)
FROGGS [Coke]: I believe that this is either specced or was at loast discussed some day on #perl6 14:11
I think TimToady++ even wanted to let the user choose the unicode version
[Coke] I don't know about choose, but at least figure out what they've got. 14:13
jnthn I can imagine doing something like this in spectest, but the NQP tests exist to check you have a working NQP rather than checking if it has exhaustive unicode support..
[Coke] jnthn: mmm. 14:14
FROGGS the situation is still that we fail tests in nqp and in roast about MVS not being whitespace anymore and I don't know if it is correct to only adjust the failing test 14:16
jnthn in roast - not sure. In NQP, I don't think our whitespace matching tests are trying all the possible whitespace chars. They're just trying a handful to see if things seem reasonably correct. If one of the handfull we'd picked was not MVS, we'd not have the issue. 14:22
So for the purposes of the NQP tests, just not using this character, which is unstable over Unicode versions, seems fair enough. 14:23
FROGGS k 14:24
nwc10 jesse wanted Perl 5 to offer the choice of Unicode version based on the Perl (5) version it was delivering 14:28
but the internals of Perl 5 are so not set up to offer more than one Unicode variant
let alone the SMOP that we don't even have *one* working bug free
Perl 6 stands a much better chance of this
but, walk before attempting running 14:29
diakopter nwc10: ok, but bug-free is just something without a bug tracker or submission form
actually it can have a submission form :) 14:30
jnthn That doesn't mean it's bug free, it's just bug report free. :P 14:31
nwc10 you didn't ask for advice, but here goes... 14:32
track current Unicode only, until 1.0
then, if it's level 3 conformant (or whatever the maxed out is called), and only then consider whether it's viable to spread out and offer more than one. 14:33
FROGGS I don't have an application where I'd need to choose a unicode version, but I guess this could become interesting within the next decade or so
diakopter I was making the point that there aren't any bugs until there are bug reports, and there are always spurious ug reports
nwc10 and manybe by then the Unicode consortium will have worked out what /(s)(s)/i is supposed to capture
jnthn nwc10: +1
FROGGS reports a diakopter spello report :P
diakopter files a rug beport 14:34
nwc10: sgtm 14:35
FROGGS bbiab 14:37
14:39 jnap joined
dalek arVM: 4120d32 | jnthn++ | src/ (8 files):
First crack at continuationcontrol.
15:41
[Coke] moarvm already running! 15:42
15:43 FROGGS joined 15:46 grondilu joined
dalek arVM: accb7ba | jnthn++ | src/ (5 files):
First crack at continuationinvoke.

Works for a single invocation of the continuation.
16:11
jnthn Pass 8 out of 22 so far.
diakopter :)
jnthn: the root is just a cache? 16:14
er, shortcut?
jnthn diakopter: Mostly so we can tweak caller appropriately on it. 16:15
diakopter jnthn: I can't remember what we decided on whether a frame could be resumed on a different thread from its original 16:17
jnthn diakopter: For what I'm doing right now, no, but we can revisit it.
Walk first, then run... :) 16:18
diakopter mostly I meant b/c I didn't see a check in there for that yet
jnthn Aye
diakopter I just noticed every time you alter tc->cur_frame you don't decrement the refcount, implying you're assuing you'll definiteliy switch back to it eventually.. but what if you don't 16:19
jnthn We'll leak 16:20
diakopter decrement the refcount of what was there before I mean
jnthn Yeah, that needs doing
diakopter I think it's safe to do that, since you're incrementing it when you refer to it from the the continuation object
jnthn Trying to figure out why the second invocation doesn't work out at the moment... 16:21
diakopter frame marked return?
returned?
jnthn Oh, maybe something along those lines... 16:22
diakopter I was hoping that stab in the dark was approximately close...
jnthn heh, cute bug :) 16:24
diakopter doodlebug?
jnthn If we're really lucky, it's an easy fix. 16:26
ah, it isn't that simple, though a quick workaround to check it is what you suggsted gets us passing 1..18 16:33
diakopter \o/ 16:34
FROGGS hmmm, I still got that: 16:38
./perl6-m --target=mbc --output=lib/Test.moarvm lib/Test.pm
Cannot find method 'at_key': no method cache and no .^find_method
is that expected?
diakopter did you realclean and reconfigure?
FROGGS reconfigure yes, realclean no
I am going to try -O1 16:40
dalek arVM: 69396d3 | jnthn++ | src/core/ (3 files):
Unbust re-use of continuations.
16:42
jnthn OK, 4 tests to go. Probably the hardest 4 by an order of magnitude... 16:43
FROGGS only 4?
jnthn There's 22 continuation tests, we pass 18 so far 16:45
diakopter jnthn: did you see I added it to t\moar in nqp?
FROGGS hmm, now it builds again 16:51
diakopter yeah :( should've asked you to save a copy of the whole tree to do a diff 16:52
so we can identify the missing makefile dependencies
FROGGS I don't think there is a diff in makefile deps 16:55
diakopter I mean in the generated files 16:58
there must've been a diff somewhere
FROGGS hmmm 16:59
either that or moar does weird stuff at runtime using -O3
dalek arVM: 77a07de | jnthn++ | src/core/continuation.c:
Be more careful from frame refcounts; diakopter++.
17:06
arVM: ac9b2aa | jnthn++ | src/core/continuation.c:
Fix off-by-one in root frame.
17:19
jnthn OK, so at this point 19 blows up 'cus continuationclone is NYI 17:20
And n-queens callcc example fails for an unknown reason (just gets wrong answer)
But the final two tests ("gather example works" and "take from handler works") pass 17:21
FROGGS yay! :o)
jnthn I'll get the callcc one is broken 'cus I didn't get protect right yet, and it's the only thing that depends on it. 17:22
*bet
diakopter remind me what protect is 17:31
jnthn Leaves reset in place, so the handler can replace the continuation
FROGGS I still don't get it: 17:38
perl6-m -e 'use Test; nok 0 ~~ 1, ""' # ok 1 -
perl6-m -e 'use Test; nok 0 ~~ 1, "a"' # not ok 1 - a
brb
timotimo diakopter: were you able to find out why the unicode tests are all failing? 17:39
diakopter I didn't know any were failing 17:40
timotimo: since I upgraded it to 6.3?
jnthn diakopter: Lots of char prop tests in Rakudo on Moar fail, but nothing worked at all before you did the upgrade, etc. :)
diakopter: But there's lots of passing tests to be had if you fancy looking into it. 17:41
timotimo ah, ok
but yeah, after the upgrade i believe.
diakopter timotimo: I also added the thing where it uses the u1name if the main name is blank or <control>
(which is more than perl5, which doesn't use the u1name if the main name is blank, but does if it's <control>) 17:43
nwc10: ^
(but I noticed there were some with u1names but blank main names)
(inexplicably)
timotimo so, what can the continuation implementation do so far? 17:58
or rather: what do i have to run to play with something/anything? 17:59
dalek arVM: 490df17 | jnthn++ | src/core/ (5 files):
First pass at continuationclone.

Doesn't pass the test that depends on it yet, sadly.
18:03
jnthn timotimo: Just grab, configure and build latest Moar and NQP, and do make test 18:05
You should see that t\moar/01-continuations.t fails 19 and 20, but passes the rest of the file
18:06 V_S_C joined
timotimo all right 18:06
V_S_C I just built nqp-cc 18:09
Should I put the make test/nqptest results in a gist or someplace?
timotimo t/moar/01-continuations.t ............. Failed 2/22 subtests - \o/
nqp-cc isn't necessary any more, it's not been touched in a long time 18:10
no clue if it's still going to work
V_S_C I just followed the readme on github 18:12
timotimo oh, let me go over the readme and fix the outdatedness
the moar port has moved crazy fast
V_S_C & made adjustments for Win64 on my own whenever I got stuck 18:13
timotimo er, what repository and branch are you on?
V_S_C okay, how do I use moar?
timotimo oh, it's in moarvm, not in nqp
duh :)
V_S_C default master, I guess
timotimo grab yourself a checkout of nqp and perl Configure.pm --backend=moar --prefix=the_same_prefix_you_used_in_moarvm_configure
V_S_C okies :) thnx 18:14
timotimo if you want to have a rakudo, too, check out the moar-support branch
FROGGS V_S_C: the best thing you can do is to get rakudo, checkout moar-support branch, and do: perl Configure.pl --backend=moar --gen-nqp=master --gen-moar=master
V_S_C yes I'll do that. 18:15
timotimo should i remove the nqp-cc folder from git at the same time as updating the readme?
i'd strike the whole nqp-cc section from the readme
FROGGS this will build rakudo, nqp and moar
timotimo and if you need the nqp-cc you can always grab it from the history
jnthn timotimo: Yes, we can toss the nqp-cc directory now too 18:18
timotimo: Its useful life has expired.
[Coke] r: say 26576 / 28453
camelia rakudo-parrot 8a486a, rakudo-jvm 8a486a: OUTPUTĀ«0.934032ā¤Ā»
V_S_C FROGGS: I'll do it & be back with update. thnx. :)
18:19 V_S_C left
[Coke] kicks off the 'borts run. 18:20
[Coke] uploads feather.perl6.nl/~coke/moar.out for folks until the daily run completes. 18:21
dalek arVM: 8561e23 | (Timo Paulssen)++ | / (173 files):
toss the nqp-cc and update the REAMDE.
18:25
18:27 jnap joined
[Coke] Ah. looks like "Killed" is actually more common that I thought. Fixing the script... 18:27
timotimo puts a die into the GatherIter implementation to get a number of tests that rely on GatherIter and are currently using the cheating implementation 18:34
that just causes tests to infiniloop 18:38
timotimo grabs cokes ulimit'd perl6-m 18:41
[Coke] \o/ 18:43
timotimo hum. the time limit doesn't seem to want to kill this test run 18:49
FROGGS jnthn: can you give a hint where I could start looking into this? 18:52
perl6-m -e 'sub ok(*@a) { say @a.perl }; ok (0 ~~ 1), "1"' # Array.new("1", "1")
perl6-m -e 'sub ok(*@a) { say @a.perl }; ok (0 ~~ 1), "0"' # Array.new("0", "0")
hmm, that smart match result should print False btw 18:54
[Coke] timotimo: something os specific, meb? 18:57
FROGGS: gist.github.com/coke/8250608 updated.
benabik FROGGS: Well, it also seems to be giving you a string instead of a boolean.
[Coke] largest cause of test failures appears to be "slowness". :)
FROGGS benabik: exactly, odd is that 0 ~~ 1 alone gives a boolean 18:58
[Coke]: thank you!
benabik FROGGS: Looks like a binder problem to me.
FROGGS that was my guess too
benabik FROGGS: Still get it using distinct vars instead of a slurpy array?
FROGGS benabik: it is the same with two vars 18:59
benabik That is not the answer I expected, I will admit. 19:00
FROGGS :o)
[Coke] one of the Infiloops is just: '$*VM.perl' 19:01
FROGGS I guess the way we construct the ast for a smartmatch brings this up
(my problem, not the infiniloop)
timotimo i can see somet,hing 19:02
there's a $cur_pos_arg that doesn't seem to get ++'d anywhere
oh, wrong 19:03
FROGGS ohh
:/
timotimo that's only if there's a |capture parameter
FROGGS timotimo: where are you looking ooc?
[Coke] here's another infiloop:
'my @a=(1..Inf); @a[1..10002] = @a[9..10010]' 19:04
timotimo Perl6/Metamodel/BOOTSTRAP.nqp 19:05
[Coke] r: my @a=(1..Inf); @a[1..10002] = @a[9..10010]; 19:09
camelia ( no output )
..rakudo-parrot 8a486a: OUTPUTĀ«(timeout)Ā»
[Coke] go jvm! 19:10
so that's just a delay. I guess I should consider opening up the timer a bit for moarvm. 19:11
(done, will let it go for 3m instead of 1.5 on tomorrow's run) 19:14
19:39 ssutch joined
jnthn Turns out that gather/take using the continuations doesn't quite work out... 19:42
jnthn finally got it down to a small test case 19:44
FROGGS humm, locallifetime breaks it 19:54
haha! 20:01
a single letter!
jnthn FROGGS: Hm, I thought we didn't do anything with locallifetime on Moar so far... 20:02
FROGGS a bloody single letter!
jnthn FROGGS: What'd you find?
FROGGS jnthn: and that kinda is the problem
jnthn I think I figured out the continuations bug :)
FROGGS for the smart match, we give it a qast::stmt, and two other vars, one is the result var
for parrot and more we just hand over the stmt to .as_mast
should be a QAST::Stmts instead, ehh? :o) 20:03
either that, or .as_mast should do something better with a QAST::Stmt
jnthn Well, QAST::Stmt is a hint about temporaries and their lifetime. 20:04
FROGGS but but...
is it supposed to return a value?
jnthn Yes
FROGGS meh
:(
jnthn ooh, I just got gather.t to pass
FROGGS \o/ 20:05
jnthn++
jnthn well, with the one skip that is skipped on every backend.
FROGGS takes a look at .as_mast
jnthn Well, lemme try a spectest before we get too excited... :)
FROGGS sure
[Coke] jnthn++ 20:06
dalek arVM: 14b36bd | jnthn++ | src/ (3 files):
Fix interaction of continuations and handlers.
20:10
FROGGS a spectest within five minutes?
jnthn no, the spectest is for pushing the Rakudo switch to use continuations for gather/take 20:11
nwc10: Don't suppose you had a moment to dig up the OSX patch? 22:19
nwc10 no, sorry, somewhat chaotic still
jnthn ok, np
nwc10 and in bed but really should be asleep 22:20
23:06 cognominal joined
[Coke] rakudo.moar,2014-01-08,93.40%,9a340b1,26576,1750,603,1440,30368,28495, 23:09
23:13 ssutch joined 23:29 krunen joined