|
github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today Set by moderator on 19 October 2013. |
|||
|
01:14
FROGGS joined
01:46
FROGGS joined
02:02
FROGGS joined
02:19
jnap joined
02:28
colomon joined
04:17
FROGGS joined
06:39
woolfy1 left
|
|||
| FROGGS | .tell jnthn now it fails on linux like: Missing method cache; late-bound dispatch NYI | 07:29 | |
| scalar_attr | |||
| so, seems to behave exactly like on windows, which is nice :o) | 07:30 | ||
| lue | FROGGS: I don't believe yoleaux is here. | 07:35 | |
| FROGGS | lue: I don't believe so too :o) | ||
| but jnthn will read this anyway | |||
|
09:08
lizmat joined
|
|||
| jnthn | FROGGS: OK, good that Linux is caught up now :) | 09:14 | |
| Well, Rakudo Moar on Linux, that is :P | |||
| FROGGS | hehe, exactly *g* | 09:15 | |
| dalek | arVM: 63537d4 | (Tobias Leich)++ | Configure.pl: improve backslash handling on windows |
09:26 | |
|
10:04
camelia joined
10:34
woolfy joined
11:26
colomon joined
|
|||
| dalek | arVM: 330d921 | jnthn++ | src/ (6 files): Implement late-bound method lookup. |
12:10 | |
|
12:29
cognominal joined
12:54
FROGGS[mobile] joined
|
|||
| dalek | arVM: 473c7dd | jnthn++ | src/6model/reprs/P6bigint.c: Add P6bigint.deserialize_stable_size. |
12:57 | |
| arVM: ee86416 | (Dagur Valberg Johannsson)++ | src/mast/compiler.c: operands are uninitialized if we have none, check for it |
13:25 | ||
| arVM: b21f027 | jonathan++ | src/mast/compiler.c: Merge pull request #63 from dagurval/crash-on-no_op operands are uninitialized if we have none, check for it |
|||
| arVM: b2a9d55 | jnthn++ | src/6model/6model.c: Catch a common null error. Need a more general approach, but this one is handy to catch now. |
13:32 | ||
|
14:27
lue joined
|
|||
| FROGGS | jnthn: the filename at src/core/loadbytecode.c:67 is somehow borken... I can't even convert it to a C string to pring it... | 15:26 | |
| print* | |||
| hmmm, the string is 'blib/Perl6/BOOTSTRAP.moarvm', and figure_filename seems to break it | 15:28 | ||
|
15:43
camelia joined
|
|||
| FROGGS | hmmm, it helps when I do: | 15:50 | |
| -result = orig | |||
| +result = MVM_string_utf8_decode(tc, tc->instance->VMString, orig_cstr, orig_len); | |||
| jnthn: this is the patch that helps, but I don't think it is sane gist.github.com/FROGGS/603692fde738639fc0d3 | 16:13 | ||
| now it segfaults here :/ | 16:14 | ||
| Program received signal SIGSEGV, Segmentation fault. | |||
| 0x00007ffff79e6319 in process_worklist (tc=0x6033b0, worklist=0x29ccb40, wtp=0x7fffffffccd0, gen=0 '\\000') at src/gc/collect.c:171 | |||
| no, now it does: | 16:36 | ||
| Cannot invoke null object | |||
| returnless_past | |||
| camelia: help | 16:52 | ||
| camelia | FROGGS: Usage: <(rakudo-jvm|nqp-jvm|star|pugs|std|niecza|p5-to-p6|nqp-parrot|b|rakudo-parrot|nqp-moarvm|nom|rnP|r|nPr|rPn|Prn|j|nqp-m|Pnr|nqp-mvm|nqp-j|nr|p6|n|p56|rj|perl6|nqp|r-j|P|rn|rakudo|r-jvm|nqp-p|nrP|p|r-p|rp)(?^::\\s) $perl6_program> | ||
| FROGGS | nqp: say(nqp::getcomp('qast')) | ||
| camelia | nqp-moarvm: OUTPUTĀ«Unhandled exception: Bytecode segment overflows end of streamā¤Ā» | ||
| ..nqp-jvm: OUTPUTĀ«java.lang.NullPointerException⤠in (gen/jvm/stage2/NQPCORE.setting:672)⤠in print (gen/jvm/stage2/NQPCORE.setting:671)⤠in say (gen/jvm/stage2/NQPCORE.setting:678)⤠in (/tmp/ihCgTevKen:1)⤠in (gen/jvm/stage2/NQPHLL.nqp:1098)⤠in eval (gen/jvm/staā¦Ā» | |||
| ..nqp-parrot: OUTPUTĀ«Null PMC access in get_string()ā¤current instr.: '' pc 768 (gen/parrot/stage2/NQPCORE.setting.pir:355) (gen/parrot/stage2/NQPCORE.setting:665)ā¤Ā» | |||
| FROGGS | nqp: nqp::getcomp('qast') | 16:53 | |
| camelia | ( no output ) | ||
| ..nqp-moarvm: OUTPUTĀ«Unhandled exception: Bytecode segment overflows end of streamā¤Ā» | |||
| FROGGS | nqp: use QAST; say(nqp::isnull(nqp::getcomp('qast'))) | 16:58 | |
| camelia | nqp-jvm, nqp-parrot: OUTPUTĀ«1ā¤Ā» | ||
| ..nqp-moarvm: OUTPUTĀ«Unhandled exception: Bytecode segment overflows end of streamā¤Ā» | |||
| FROGGS | err | 16:59 | |
| nqp: use QAST; say(nqp::isnull(nqp::getcomp('QAST'))) | |||
| camelia | nqp-moarvm: OUTPUTĀ«Unhandled exception: Bytecode segment overflows end of streamā¤Ā» | ||
| ..nqp-jvm, nqp-parrot: OUTPUTĀ«0ā¤Ā» | |||
| FROGGS | okay, works locally for nqp-m too | ||
| nqp: use QAST; say(nqp::getcomp('QAST').operations.HOW.name(nqp::getcomp('QAST').operations)) | 17:02 | ||
| camelia | nqp-parrot: OUTPUTĀ«QAST::Operationsā¤Ā» | ||
| ..nqp-moarvm: OUTPUTĀ«Unhandled exception: Bytecode segment overflows end of streamā¤Ā» | |||
| ..nqp-jvm: OUTPUTĀ«QAST::OperationsJASTā¤Ā» | |||
| FROGGS | k, works locally too | 17:03 | |
| ahh, we are laking method is_inlinable | 17:06 | ||
| jnthn | yeah, I was just gonna steal it too :) | 17:39 | |
| jnthn builds to see the next error... :) | |||
| FROGGS | it calls another nonexistent method, at least that is how I understand it | ||
| something along line 44, trait_mod:<is> | 17:40 | ||
| moritz | are you two working on rakudo/moar-support? | ||
| FROGGS | currently I try to make the msg "Cannot invoke null object" nicer, so we know the method name | ||
| moritz: yes | |||
| jnthn | FROGGS: Yes, that needs some very careful handling :) | 17:41 | |
| For a simple-looking thing there's a few ways to get it wrong... :) | |||
| In the case we .^find_method we need to set up the continuation trick to check for the non-foundness, I think... | 17:42 | ||
| Hmmm...that redeclaration error is weird, though. | 17:44 | ||
| Almost like it doesn't consider that multi a multi | 17:45 | ||
| FROGGS | I was guessing that the redeclaration is about the exception class... | ||
| benabik | FROGGS: nitpick on your Configure commits: You say "on Linux", but you really coded "not Windows" which includes OS X at the very least. (That said, I think everything you added works on OS X. We'll see in a minute.) | 17:46 | |
| FROGGS | okay, the MVM_frame_find_invokee which throws is in coerce.c around line 60 (the else block) | 17:47 | |
| benabik: you are right :/ | |||
| jnthn | Line 2329 is where it throws | 17:48 | |
| FROGGS: Yeah, but we need to fix method lookup, I think. :) | |||
| nqp: nqp::findmethod(NQPMu, 'invalid') # does this blow? | 17:49 | ||
| camelia | ( no output ) | ||
| ..nqp-moarvm: OUTPUTĀ«Unhandled exception: Bytecode segment overflows end of streamā¤Ā» | |||
| ..nqp-parrot: OUTPUTĀ«Method 'invalid' not found for invocant of class 'NQPMu'ā¤current instr.: '' pc 44 ((file unknown):40504472) (/tmp/dDdqC7WTsB:1)ā¤Ā» | |||
| FROGGS | jnthn: no, does not throw locally | ||
| jnthn | hm, nqp-jvm doesn't blow up on that, but nqp Parrot does | ||
| Right, I know it doesn't | |||
| FROGGS | ahh, k | ||
| jnthn | I'm saying it should, I just didn't want to do it before checking what nqp::findmethod wants | 17:50 | |
| Turns out it throws | |||
| At least on Parrot, which means we're not relying it not blowing up elsewhere | |||
| So I think we make it explode on Moar too and treat nqp-jvm as the non-conformatn one. | |||
| As for the real reason we fail, I think it's because I didn't make nqp::can handle late-found calls yet | 17:51 | ||
| And actions.pm 2320 relies on that | |||
| FROGGS | s/found/bound/ ? | ||
| moritz | currently I get "Unhandled exception: failed to load library 'dynext/libperl6_ops_moar.so'" while compiling the setting | ||
| is that expected? | |||
| FROGGS | moritz: you compiled MOarVM with --shared? | ||
| jnthn | FROGGS: yes | 17:52 | |
| moritz | FROGGS: no. Should I? | ||
| FROGGS | moritz: yes | ||
| dunno if we should replace the --shared by a --static option, and flip the defaults | |||
| I guess it makes sense | |||
| moritz | if the main customer needs it, it should be default. | 17:53 | |
| benabik is going to try to push those OS eq/ne 'win32' into build/setup.pm with the rest of the platform options. | |||
| +1 | |||
| jnthn | +1 | 17:54 | |
| benabik | undef ld == use cc for linking? | 17:57 | |
| moritz | it seems that 'make clean' doesn't clean 3rdparty/libuv | 17:58 | |
| FROGGS | realclean does | ||
| moritz | which is a problem if you built without --shared, and then reconfigure with shared | ||
| FROGGS | right? | ||
| dalek | arVM: 371e714 | jonathan++ | src/6model/6model.c: Partial fix for method not found errors. Still need to do the late-bound case. |
||
| moritz | FROGGS: at least it says it does | 17:59 | |
| I'll know soon | |||
| yep, worked | |||
| dalek | arVM: 495d641 | (Tobias Leich)++ | Configure.pl: replace --shared by --static |
18:00 | |
| FROGGS | ahh | 18:11 | |
| Error while constructing error object:Cannot find method 'specialize' | |||
| Error while compiling, type X::Redeclaration | |||
| symbol: routine | |||
| symbol: trait_mod:<is> | |||
| line 44 | |||
| dinner & | |||
| dalek | arVM: c8b5ed3 | jonathan++ | src/ (3 files): Refactors in prep for non-cache nqp::can handling. |
18:17 | |
| jnthn | Descending; guess I'll have to vanish soon :) | 18:18 | |
| dalek | arVM: 8303bb3 | benabik++ | / (2 files): [Configure] Move rpath into platform options We hvae all these nice platform hashes in build/setup.pm. Let's use those instead of a hand-coded conditional. |
||
| arVM: 80f0e1a | benabik++ | / (2 files): [Configure] Move lib names and dir into platform config This eliminates the last `eq 'win32'` checks in the main Configure code. |
|||
| benabik | There. Now all the platform specific stuff is in the platform configure hashes. :-D | 18:19 | |
| jnthn | bah, took my earphones out and drunk guy behind me is still drunk and still singing... | 18:21 | |
| dalek | arVM: 9114651 | jonathan++ | src/6model/6model.c: Implement non-cache case of nqp::can. |
18:27 | |
| jnthn | and next up, "extension op 'p6bool' not registered" | 18:29 | |
| That's LHF, but I seem to be on a LFP by now...so later :) & | |||
| moritz | jnthn: maybe you should give dagurval a commit bit :-) | 18:33 | |
| or diakopter, or whoever hands out MoarVM commit bits | 18:34 | ||
|
18:43
benabik joined
18:47
benabik joined
|
|||
| diakopter | moritz: not I | 19:00 | |
| benabik | I seem to have a working nqp-m! \\o/ | 19:13 | |
| FROGGS | \\o/ | ||
| \\m/ | |||
| benabik | Actually, nqp-m is currently the only nqp that passes all the tests on my computer... | 19:18 | |
| Installing fails though: make: *** No rule to make target `/Users/brian/dev/perl6/nqp/temp/usr/local/lib/MAST/Ops.nqp', needed by `gen/moar/stage1/MASTOps.moarvm'. Stop. | |||
| moritz | benabik: nqp-p passed all its test earlier today on my machine | ||
| benabik | moritz: I'm having some problem with icu4u I think. Parrot fails a few of its tests as well. | 19:19 | |
| icu4c, I mean. | |||
| Wait... Why does building stage1 depend on my prefix? | 19:20 | ||
| Oh. Because it's looking for my moarvm install. | |||
|
19:26
woolfy joined
|
|||
| benabik | Ah. If $(PREFIX) includes $(DESTDIR), it's inappropriate to use in build rules. | 19:39 | |
| jnthn | ah, nice :) | 20:36 | |
| It's warm enough to sit outside on an evening to hack and I have a beer. :) | 20:37 | ||
| FROGGS | jnthn: btw, the multi does not find its proto | ||
| diakopter | jnthn: so can I claim the continuations port task for 1.5 days? | ||
| jnthn | FROGGS: I fixed that with the can patch :) | 20:38 | |
| FROGGS | hmmm | ||
| jnthn | Oh, wait, I half fixed it. It blocks on p6bool too. | ||
| FROGGS | jnthn: I stubbed p6bool | ||
| jnthn | Yes but it needs to work :) | 20:39 | |
| FROGGS | and now the 'specialize' and redecl message popped up again | ||
| gah | |||
| :P | |||
| jnthn | Thankfully, tha should be easy... :) | ||
| FROGGS | if you say so :o) | 20:40 | |
| I don't even know how to get the argument | |||
| diakopter | jnthn: ...? | ||
| jnthn | diakopter: Yes, go ahead :) | 20:41 | |
| We don't block on it for a while yet. | |||
| FROGGS | it will be needed for gather/take, right? | 20:42 | |
| jnthn | Right | ||
| FROGGS | k | ||
| jnthn | We don't rely on gather/take to get a loadable setting afaik | ||
| At least, didn't in the JVM times :) | |||
| diakopter | oh. | ||
| diakopter is scared to search the setting for 'gather' | 20:43 | ||
| jnthn | But think make test needs it :) | ||
| FROGGS | there are a lot of 'gather's in the setting :/ | 20:44 | |
| 27 times :o) | |||
| first one is at line 5909 | 20:45 | ||
| jnthn | You don't need it to work to compile a gather/take though ;) | 20:50 | |
| diakopter | 'splain? | ||
| FROGGS listens | |||
| diakopter | you mean just emit NYI opcodes or something? | 20:51 | |
| jnthn | Well, it calls into a GATHER call | ||
| FROGGS | you need it to run it I guess | ||
| jnthn | You only have a problem at runtime when that GATHER call needs to do something useful ;) | ||
| FROGGS | and since none of the gathers is in a BEGIN block, we are safe :o) | 20:52 | |
| until... | |||
| diakopter | jnthn: what then could I do that's on the rakudo critical path | 20:54 | |
| (sooner) | 20:55 | ||
| jnthn | diakopter: tbh, making the NQP continuations tests pass is the easiest isolated thing to take on. I'm only saying "a while" 'cus I'm hedging on how fast we'll get to it being a blocker... ;) | ||
| Other bits are the container stuff, binder stuff (that needs probably me to look at it, though)...and probably loads of little pieces | 20:56 | ||
| [Coke]'s list of ops we're missing on Moar but have on Parrot/JVM is another good source of todos. | |||
| dalek | arVM: 6eaf71f | jonathan++ | src/ (2 files): Some more additions to the public API. |
21:12 | |
| diakopter | jnthn: do you happen to know how I can find that list of todops? | 21:13 | |
| jnthn | diakopter: Not short of searching for coke and a gist within the last few days | 21:14 | |
| diakopter | heh; last I remember it was weeks ago | 21:16 | |
| jnthn | Feels recenter than that to me. | ||
| FROGGS | diakopter: gist.github.com/coke/6799633 | 21:24 | |
| ahh, getlexouter is next | 21:26 | ||
| diakopter is tempted to suggest claiming them in the commets | 21:29 | ||
| comments | |||
| er, *comments | 21:31 | ||
| I mean | |||
| I didn't comment there yet | |||
| [Coke]: why are the continuation ones in the need docs section, but not in the "missing in moar" section? | 21:32 | ||
| .ask [Coke] why are the continuation ones in the need docs section, but not in the "missing in moar" section? | |||
| .. oh, b/c it's not documented? :S | 21:35 | ||
| jnthn: see the comment I added to that gist | 21:40 | ||
| FROGGS: u2 :) | |||
| jnthn | sorry, got distracted doing night photos :) | ||
| but this is vacation... :) | |||
| diakopter | *comment updated | 21:41 | |
| hmm, seems that list is out of date some | 21:42 | ||
| jnthn | captureexistsnamed | ||
| capturehasnameds | |||
| I did thsee two very recently | |||
| diakopter | how can we not implement wval | ||
| or scgetcode | |||
| jnthn | setdispatcher | ||
| takedispatcher | |||
| Those also | |||
| Here are my suggestions for those who want something to hack on: | 21:43 | ||
| chain | |||
| xor | |||
| srand | |||
| sprintfdirectives | |||
| getlexrel | |||
| getlexreldyn | |||
| getlexrelcaller | |||
| inf | |||
| nan | |||
| neginf | |||
| bitand_s | |||
| bitor_s | |||
| bitxor_s | |||
| Those should all be approachable, isolated, and we'll hit 'em sooner rather than later :) | 21:44 | ||
| diakopter | yay :) thanks jnthn :D | ||
| diakopter starts from the bottom | |||
| jnthn | I suspect FROGGS will know exactly what to do with sprintfdirectives :) | 21:45 | |
| diakopter | *comment updated | ||
| jnthn: should we still add to the bottom of oplist? | |||
| FROGGS | jnthn: already mapping it :o) | ||
| diakopter | or add them all at once in one commit in decent places? | 21:46 | |
| eh, I guess add them at the bottom, duh.. | 21:47 | ||
| jnthn | At the bottom | 21:48 | |
| The comment at the top says so ;-) | |||
| Though I was just about to add one too | 21:49 | ||
| diakopter | jnthn: git question: how do I kill merge commits (I seem to have several ready to push) :( | 21:50 | |
| FROGGS | git status shows you | ||
| git reset HEAD <file> | |||
| jnthn | diakopter: How did you get them? Pulling when you had a local commit? | 21:51 | |
| diakopter | git status shows me what? | ||
| jnthn: yes I guess | |||
| tadzik | git rebase -i maybe | ||
| diakopter | (without rebase, accidentally) | ||
| tadzik: how? | |||
| tadzik | I don't know, but I know people do that :) | ||
| diakopter | FROGGS: what does git status show me? | ||
| FROGGS | diakopter: git status shows me how to unstage it | ||
| jnthn | If you have, like, your commit <- merge <- merge, then count the merges and try get reset --hard HEAD~2 # where 2 is number of merge commits | ||
| tadzik | just git rebase -i and try to play along, I guess | ||
| jnthn | And then git pull --rebase | ||
| diakopter | jnthn: hm, oh, but I have stashes in there too | 21:52 | |
| jnthn | stashes are orthogonal | ||
| Hmm, but I wonder if HEAD~2 will go weird also... | |||
| diakopter: oh, easier | |||
| If you have what I described | |||
| diakopter | yes | ||
| jnthn | Get the sha-1 of the last commit you made, before the merge commits | ||
| Then git reset --hard that-sha-1 | 21:53 | ||
| And then git pull --rebase | |||
| diakopter finds a large number of abandoned stashes | 21:55 | ||
| FROGGS | jnthn: MVM_frame_find_lexical_by_name is almost what we need for getlexouter, right? | 21:56 | |
| the only diff I see is that getlexouter does not take the type | 21:57 | ||
| jnthn | FROGGS: Yeah, I'm working on that one atm :) | ||
| FROGGS | I thought so :o) | 21:58 | |
| (because it is missing in the todo list above) | |||
| diakopter | ugh, I forgot about this; when solving conflicts from stash merges, REMOTE and LOCAL are switched, ish | ||
| FROGGS: where is it missing? | 21:59 | ||
| FROGGS: it's in the list | |||
| in my comment | |||
| FROGGS | diakopter: it is missing in jnthn's suggestions | 22:00 | |
| diakopter | oh that :) | 22:02 | |
| dalek | arVM/hllprof: 2890baa | diakopter++ | build/test.txt: updated test message |
22:04 | |
| arVM/hllprof: fe79f4c | diakopter++ | / (72 files): Merge branch 'master' of github.com:MoarVM/MoarVM |
|||
| arVM/hllprof: b8a1a81 | diakopter++ | / (12 files): Merge branch 'master' of github.com:MoarVM/MoarVM |
|||
| diakopter | erm | ||
| dalek | arVM/hllprof: e3565a2 | diakopter++ | / (12 files): hllprof wip |
||
| diakopter | oops | ||
| diakopter | well they went into that branch. argh. | ||
| FROGGS | nqp: nqp::seed(42) | ||
| -.- | 22:05 | ||
| diakopter | hah | ||
|
22:06
camelia joined
|
|||
| camelia | ..nqp-moarvm: OUTPUTĀ«Can't exec "./nqp": No such file or directory at lib/EvalbotExecuter.pm line 185.ā¤exec (./nqp /tmp/DqklMLvlPN) failed: No such file or directoryā¤Server error occurred! Closing Link: host07.perl6.com (Quit: camelia)ā¤Lost connection to server irc.freenode.org.ā¤Ā» | 22:07 | |
|
22:07
BinGOs joined
|
|||
| tadzik | wow, that was fast | 22:07 | |
| diakopter wonders if someone deleted it | |||
| evalbot control restart | 22:10 | ||
|
22:10
camelia joined
|
|||
| diakopter | nqp-m: 1 | 22:10 | |
| camelia | ( no output ) | 22:11 | |
| diakopter | nqp-m: say(nqp::now - nqp::now); | ||
| camelia | nqp-moarvm: OUTPUTĀ«No registered operation handler for 'now'ā¤compile_opā¤Ā» | ||
| diakopter | nqp-m: say(nqp::now_n - nqp::now_n); | ||
| camelia | nqp-moarvm: OUTPUTĀ«No registered operation handler for 'now_n'ā¤compile_opā¤Ā» | ||
| diakopter | nqp-m: say(nqp::time_n - nqp::time_n); | 22:12 | |
| camelia | nqp-moarvm: OUTPUTĀ«-0ā¤Ā» | ||
| diakopter | nqp-m: say(nqp::time_n - nqp::time_n); | ||
| camelia | nqp-moarvm: OUTPUTĀ«-0ā¤Ā» | ||
| diakopter | nqp-m: my $a = nqp::time_n; say(nqp::time_n - $a); | ||
| camelia | nqp-moarvm: OUTPUTĀ«Assignment ("=") not supported in NQP, use ":=" instead at line 2, near " nqp::time"ā¤panicā¤Ā» | ||
| diakopter | nqp-m: my $a := nqp::time_n; say(nqp::time_n - $a); | ||
| camelia | nqp-moarvm: OUTPUTĀ«0.000002ā¤Ā» | ||
| diakopter | ugh | ||
| ok, better | |||
| nqp: my $a := nqp::time_n; say(nqp::time_n - $a); | 22:13 | ||
| camelia | nqp-moarvm: OUTPUTĀ«0.000001ā¤Ā» | ||
| ..nqp-parrot: OUTPUTĀ«9.5367431640625e-07ā¤Ā» | |||
| ..nqp-jvm: OUTPUTĀ«0ā¤Ā» | |||
| diakopter | jnthn: lol ^ | ||
| FROGGS | Just In no Time :o) | ||
| diakopter | so moar is impercipbly slower than parrot there... and infinitely slower than jvm ;) | 22:14 | |
| *imperceptibly | |||
|
22:16
Ulti joined
|
|||
| diakopter | jnthn: erm, nqp seems to be building MUCH faster than when last I looked.... o_O | 22:16 | |
| dalek | arVM: 7948d19 | (Tobias Leich)++ | / (7 files): s/seed/srand/ |
||
| diakopter | FROGGS: why not just map it..? | 22:17 | |
| well, I guess if you don't change the order, it's fine.. | |||
| FROGGS | diakopter: it would be the first op where the mapping differs AFAIK | 22:18 | |
| diakopter | there's bunches | ||
| where they're just renames | |||
| .. unless someone cleaned them all up and I didn't notice | 22:19 | ||
| FROGGS | hmmm, well, at least there is not one more :o) | ||
| jnthn: can I change an op from void to return something without breaking backcompat? | 22:25 | ||
| diakopter | oh, not if it's used in the bootstrap | 22:27 | |
| but I doubt it is... | |||
| well, who knows :) | |||
| FROGGS | can't be used, since I renamed the op :o) | 22:28 | |
| diakopter | evalbot control rebuild nqp-moarvm | ||
| jnthn | FROGGS: Return something? What, ooc? | 22:29 | |
| FROGGS: It's not just a case where the result is one of the arguments? | |||
| FROGGS | jnthn: it is the case, yes | ||
| srand(n) returns n | 22:30 | ||
| jnthn | Yes, we don't change the op for that | 22:31 | |
| You just add , 0 when mapping it | |||
| And it uses the 0th argument as the result | |||
| FROGGS | ahh, allright | ||
| even better :o) | |||
|
22:31
BinGOs joined
|
|||
| diakopter | jnthn: it's really strange, I don't remember implementing that ,0 thing, but I feel I had to have been the one.... :S | 22:32 | |
| jnthn: hm, why doesn't it LTO moar.dll | 22:33 | ||
| jnthn | I think it does here... | 22:34 | |
| At least, it takes ages over it :) | |||
|
22:34
colomon joined
|
|||
| diakopter | weird | 22:34 | |
| jnthn | You passed, --optimize, I assume? | 22:36 | |
| diakopter | yeah | 22:37 | |
| diakopter tries again in case I had a seizure or something during it | |||
| oh, maybe | 22:38 | ||
| moar.exe is now dynamically linked to moar.dll? | |||
| FROGGS | yes | ||
| diakopter | wow, ok | ||
| jnthn | Needed for extops | 22:41 | |
| dalek | arVM: 3442b93 | jonathan++ | / (8 files): Add and implement getlexouter op. |
||
| jnthn | No registered operation handler for 'p6bindsig' | 22:42 | |
| *groan* :) | |||
| FROGGS | diakopter: an you strip srand, sprintfdirectives and getlexouter from your comment? that would be sweet | ||
| can* | |||
| diakopter | oh yeah, the unimplemented rakudo ops | ||
|
22:42
BenGoldberg joined
|
|||
| diakopter | FROGGS ok | 22:42 | |
| FROGGS: ok | |||
| FROGGS | jnthn: damn, now it is not a surprise anymore :o) | 22:43 | |
| diakopter | *updated | ||
| FROGGS builds anyway | |||
| jnthn | :P | ||
| FROGGS | diakopter++ # thanks | ||
| diakopter | FROGGS: maybe I'll look at chain, unless you already are | 22:44 | |
| jnthn | I wonder if the need for that means we have hit the BEGIN block... | ||
| FROGGS | diakopter: I'm not, I am thinking about snoring a bit like all the other lifeforms do here | 22:45 | |
| diakopter | "..it's just me and some lifeforms, sir." | ||
| FROGGS | *g* | ||
| diakopter | jnthn: how does one implement a custom rakudo op for moar | 22:47 | |
| FROGGS: or you, of course | |||
| the moar-support branch I know.. | |||
| ah well, I can find it | 22:48 | ||
| FROGGS | diakopter: see rakudo/src/vm/moar/ops/perl6_ops.c | ||
| jnthn | What FROGGS said and also see src/vm/moar/Perl6/Ops.nqp | 22:49 | |
| But please leave p6bindsig for me | |||
| diakopter | how many unimplmented ones are there there? | 22:50 | |
| how many unimplmented ones are there? | |||
| (anyone know offhand?) | |||
| FROGGS | se | 22:51 | |
| sec | |||
| 48 are defined for jvm | 22:52 | ||
| and three are done | |||
| jnthn | "done" :) | 22:53 | |
| FROGGS | yeah | ||
| jnthn | jnthn.net/tmp/by-night.jpg # ok-ish night photo of where I'm hacking from :) | 22:54 | |
| FROGGS | very nice | ||
| jnthn | Look forward to seeing how it looks in daylight :) | ||
| diakopter | jnthn: wow! | 22:55 | |
| FROGGS | tomorrow is hackathon? | ||
| timotimo | ooooh pretty | 22:56 | |
| jnthn | Probably more like walkathon in the daylight hours :) | ||
| I got some nice restaurant tips too :) | |||
| But yeah, evening plan is beer and hack :) | 22:57 | ||
| FROGGS | have fun guys, I go to bed | ||
| o/ | |||
| jnthn | 'night, FROGGS | ||
| diakopter | \\\\\\\\\\\\\\ | 22:58 | |
| \\ | |||
| \\\\ | |||
| argh | |||
| jnthn | wtf :D | 23:00 | |
| diakopter is now working on chain | 23:07 | ||
| bug: rakudo's Configure.pl doesn't allow relative paths for --prefix, but nqp allows it | 23:15 | ||
| jnthn: when nqp-m.exe exits from an exception, I'm not sure it's setting %ERRORLEVEL%, otherwise nmake wouldn't continue | 23:18 | ||
| jnthn | diakopter: Yeah, I've seen some oddness there... | ||
| diakopter | oh, I mean | 23:19 | |
| not nqp | |||
| jnthn | If we exit(non-zero) all should, in theoyr, be fine... | ||
| diakopter | when moar.exe is running perl6.moarvm | ||
| which I'm shocked exists already | |||
| jnthn | yeah | ||
| ;-) | |||
| Darn progress | |||
| diakopter | jnthn: are unhandled exceptions in child threads going to kill the vm? | 23:25 | |
| (seems to me they should) | 23:30 | ||
| (should effectively force all exceptions to be handled) | 23:31 | ||
| jnthn: if more than one thread is running, and one of them calls nqp::exit(1), does it interrupt the others a la a gc run or whatever and then shutdown the vm? | 23:35 | ||
| shutdown gracefully? | |||
| jnthn | (exceptions) yeah, seems reasonable | 23:38 | |
| (exit) I don't think it does anything nice wrt threads yet. | |||
| but it should. | |||
| sleep time...'night | 23:39 | ||
| diakopter | *sigh* I know what it does/doesn't do now.. I was asking what it should do | ||
| BenGoldberg | Do we have a way to gracefully kill a thread from another thread? | 23:42 | |
| timotimo | that is never possible, ever :P | ||
| diakopter | BenGoldberg: like notify? | 23:43 | |
| BenGoldberg | Probably | ||
| if more than one thread is running, and one thread calls nqp::exit, then that thread should notify all of the other threads that the vm is shutting down, and then that thread should exit. As each of the other threads receive that notification, it should shut itself down. The last thread alive could then do additional cleanup. | 23:46 | ||
| diakopter | a la the JVM, we would have each thread throw a Really Systemy Exception | 23:52 | |
| BenGoldberg | I'm not sure if throwing a System Shutting Down exception would be a good idea... something might catch it and choose not to die, or fail to catch it and accidentally not clean something up | 23:57 | |
| diakopter | X::FatalError | 23:59 | |