|
github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today Set by moderator on 27 September 2013. |
|||
|
01:01
jnap joined
01:54
FROGGS_ joined
03:13
Ben_Goldberg joined
03:22
tokuhirom joined
09:53
foo_bar_baz joined
11:15
cognominal joined
|
|||
| dalek | arVM/relex: 29d681d | jnthn++ | / (8 files): Add (untested so far) capturelex op. |
12:57 | |
| arVM/relex: a4676f0 | jnthn++ | nqp-cc/src/QAST (2 files): Minimal changes to cope with declaration_static. Not actually generating code any differently yet. |
|||
| arVM/relex: eecfe54 | jnthn++ | nqp-cc/nqp-src/NQP.nqp: Sync closure NQP changes into our copy of NQP. |
|||
| arVM/relex: f9563ac | jnthn++ | nqp-cc/src/QAST (2 files): 62f9b6b | jnthn++ | src/ (4 files): This yields 7 new failures in selftest, which will need tracking down. |
|||
| jnthn | The bit dalek missed was: | ||
| Switch QAST -> MAST to new closure model. | |||
| This should hopefully eliminate dependence on prior_invocation. | |||
| FROGGS_ | \\o/ | 13:14 | |
| jnthn | Aww, first attempted fix for one tests breaks everything. | 13:21 | |
| dalek | arVM/relex: 7d3074a | jnthn++ | nqp-cc/nqp-src/NQP.nqp: Some declaration_static fixes from NQP repo. |
13:33 | |
| jnthn | That clears up many of the regressions. | 13:34 | |
| JimmyZ | jnthn++ # doing the hard work | 13:38 | |
| dalek | arVM/relex: cfa220e | jnthn++ | src/core/frame.c: Remove dead decl. |
14:01 | |
| arVM/relex: 5a1ab9e | jnthn++ | src/core/frame.c: Re-instate error check; prevents SEGVs. |
|||
| arVM/relex: 39f695d | jnthn++ | src/core/bytecode.c: Set ->static_code in StaticFrame in bytecode load. |
|||
| arVM/relex: 4cfb37b | jnthn++ | src/core/frame.c: Fix cloned onlystar protoregex case. This unbusts 55-multi-method.t. |
|||
| jnthn | Down to 4 selftest failures total now, all that were busted before anyway. | 14:02 | |
| JimmyZ | nice | 14:03 | |
| jnthn | Especially not bad for changing something so deep... | 14:06 | |
| JimmyZ | yeah | 14:09 | |
| masak .oO( twss ) | 14:24 | ||
|
14:31
grondilu joined
|
|||
| dalek | arVM/relex: ef71881 | jnthn++ | src/core/frame.c: Fix correct-outer test. |
15:38 | |
| arVM/relex: 54fb61d | jnthn++ | nqp-cc/nqp-src/NQP.nqp: MAIN fix from NQP. |
|||
| FROGGS_ build relex | 15:59 | ||
| builds* | |||
| moritz | is that relaxing? | 16:07 | |
|
16:49
diakopter joined
17:00
cognominal joined
17:01
japhb_ joined
|
|||
| FROGGS | hmmm, rethrow fails... gist.github.com/anonymous/14f980ab40b002af97f2 | 17:07 | |
| yoleaux | 02:55Z <BenGoldberg> FROGGS: Ok, the over-eager 'for' bug has been rakudobugged :) | ||
| FROGGS | (I commented out from line 61 to EOF to get a nicer error message) | 17:08 | |
| this is t/nqp/44-try-catch.t | |||
| diakopter | . | 18:02 | |
| FROGGS | no message for you sir :o( | 18:17 | |
| diakopter | . | ||
|
19:48
japhb_ joined
|
|||
| timotimo | relex is there to fix the tough "cannot find outer" bug? | 20:16 | |
| FROGGS | I suppose so | 20:17 | |
| timotimo | neato | ||
| FROGGS | at least it kills prior_invocation which, as I have heard, must die in order to fix that bug | 20:18 | |
| timotimo | interesting | ||
| FROGGS | because 'it was a bad idea' | 20:19 | |
| timotimo | yeah, it's a hack, i read that much. it's interesting that it worked on the other back ends :) | ||
| diakopter | it was a temp hack, known to be a bad idea | ||
| timotimo | but it's also cool that adding more back ends are causing cleanups all over the place | ||
| diakopter | sometimes you have to make sacrifices | ||
| .ask JimmyZ would you like to make a version of github.com/perl6/nqp/commit/401ed62382 in moarvm platform dir? | 20:20 | ||
| yoleaux | diakopter: I'll pass your message to JimmyZ. | ||
| diakopter | I'm kindof at a loss as to how to debug this gc problem. | 20:21 | |
| it's deterministically failing at the same time every run. | |||
| but I still don't know how to trace back where the problem is coming from | |||
| without spending tons of time creating huge hashes of debug-only runtime behavior | 20:22 | ||
| timotimo | have you tried the trick someone mentioned where you leave all old spaces around to trace pointers going between the semispaces or something? is that even relevant at all? | ||
| diakopter | (hashes of addresses) | ||
| hrm | 20:23 | ||
| oh, I see what you're saying | 20:24 | ||
| I didn't remember that as the trick, but I see how that could help | |||
| timotimo | that makes me glad :) | ||
| i'm pretty sure i heard it from somebody related to perl, *maybe* jnthn? don't really know :( | |||
| diakopter | probably Guido | 20:26 | |
| er | |||
| dalek | arVM/gcorch: 0a5244a | diakopter++ | src/gc/ (2 files): another race and off-by-infinity error |
20:41 | |
| FROGGS | somebody at RaNIW said that | 20:46 | |
| timotimo | off-by-infinity? that's a lot | 20:47 | |
| oh is that what you call an accidental infinite loop? | |||
| that's pretty cool | |||
| diakopter | 6 runs in a row without crashing; should I call it fixed? :) | 20:50 | |
| dalek | arVM/gcorch: 890bc81 | diakopter++ | src/gc/orchestrate.c: last few runs must be full collections to get everything... |
20:51 | |
| diakopter | I said that at raniw I htink | ||
| FROGGS | yeah, quite possible :o) | 20:52 | |
|
20:54
foo_bar_baz joined
|
|||
| diakopter | well, interestingly I'm happy with that branch now | 20:55 | |
| who wants to merge master into it for me? :) | |||
| timotimo | it changes the garbage collector orchestration? | 20:56 | |
| diakopter | yeah, dramatically | ||
| timotimo | less overhead? | ||
| oh no | 20:57 | ||
| dalek | arVM/gcorch: 7211170 | diakopter++ | nqp-cc/t/moar/threads.t: replace tests |
20:58 | |
| diakopter | oh no? | ||
| timotimo | i ran test_summary for rakudo.jvm on a quite old checkout of roast | ||
| so i had to start over after what feels like half an hour of waiting ;) | 20:59 | ||
|
21:00
foo_bar_baz joined
|
|||
| diakopter | gist.github.com/diakopter/6746600 | 21:12 | |
| FROGGS: ^ | |||
| timotimo: ^ | |||
| not sure why it's doing that | |||
| FROGGS | master is down to: | 21:15 | |
| t/nqp/24-module.t (Wstat: 256 Tests: 0 Failed: 0) | |||
| t/nqp/44-try-catch.t (Wstat: 139 Tests: 0 Failed: 0) | |||
| t/nqp/56-role.t (Wstat: 139 Tests: 0 Failed: 0) | |||
| t/nqp/78-shell.t (Wstat: 139 Tests: 0 Failed: 0) | |||
| but I guess some of the gcorch fails will vanish when you merge in master | |||
|
21:17
eternaleye joined
21:21
benabik joined
|
|||
| diakopter | well hrm. | 21:25 | |
| argh. | 21:34 | ||
| weird, 11 gc runs just to parse a small nqp file. | 21:35 | ||
| that's a lotta allocations | 21:36 | ||
| FROGGS: no, unfortunately it seems the errors are occurring when a full collection runs | |||
| which doesn't make sense since I thought I changed only things that affected multithreaded case | 21:37 | ||
| and these are multithreaded | |||
| *aren't | |||
| guess how many times cursor_start is called to parse a 160-line .nqp test | 21:43 | ||
| timotimo | hm, like 50 times per line? | ||
| FROGGS | dunno, like >2k times? | ||
| ohh, wow | |||
| diakopter | 300,000 times | ||
| timotimo | oh my | 21:44 | |
| FROGGS | well, that is >2k :P | ||
| timotimo | you were righter than me i guess? | ||
| FROGGS | do we get a price? | 21:45 | |
| a gift I mean | |||
| diakopter | no, but you get 300,000 prizes | ||
| timotimo | oooh, it's my lucky day! | ||
| FROGGS | gnight | 21:48 | |
| timotimo | does that mean we probably really want to have a pool of cursor objects to draw from to make cursor_start play much nicer? | 22:13 | |
| diakopter | timotimo: yes, but they need refcounted, of sorts... this is the optimizaiton jnthn and I were disussing (mostly off-channel) theother day | 22:16 | |
| we need to do escape analysis/tracing | 22:17 | ||
| to save all the allocations, and maintain our own pool | |||
| timotimo | ooooh, that's always fun :o | ||
| diakopter | to do it at the vm level. | ||
| which would be much more efficient than at the user code level | |||
| timotimo | hm | ||
| i'm just wondering how close that pattern you'd end up with is to the "stack" (as it were) and how hard it would be to generate helpful info when building the grammar | 22:18 | ||
| diakopter | no it'd be transparent to the current semantics; nothing there would change | 22:19 | |
| timotimo | that's the goal of course | 22:20 | |
| i'm just thinking of ways to help the VM do its pooling properly/easily | |||
| diakopter | ah yes, the qast compiler would inject hints of registers it's done with | 22:21 | |
| well there's a couple ways to do it | 22:22 | ||
|
22:33
BenGoldberg joined
|
|||