|
github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today Set by moderator on 25 July 2013. |
|||
| JimmyZ | What? the assign bug is not I don't know how to fixes asigin? | 01:16 | |
| *assign | 01:17 | ||
| well, not really, the bug still exists :P | 02:09 | ||
| the test didn't cover that | 02:10 | ||
|
02:20
benabik joined
04:44
birdwindupbird joined
04:49
crab2313 joined
06:32
FROGGS joined
07:19
itz joined
07:25
jlaire joined
07:26
odc joined
08:07
crab2313 left
|
|||
| FROGGS | jnthn: | 09:08 | |
| $ nqp nqp-moar-cc.nqp --target=mbc --setting=NQPCOREMoar --no-regex-lib --output=MASTNodes.moarvm nqp-src/QASTNodes.nqp | |||
| $ ll MASTNodes.moarvm | |||
| -rw-rw-r-- 1 froggs froggs 97568 Jul 26 11:07 MASTNodes.moarvm | |||
| jnthn | Well. That was easy :P | 09:09 | |
| FROGGS | hehe, yeah | ||
| jnthn | uh, wait | ||
| Taht's nqp-src/QASTNodes.nqp. We already compile that | |||
| :) | |||
| I meant the MAST nodes. | |||
| The stuff in lib/MAST/ | 09:10 | ||
| Along with the ops :) | |||
| FROGGS | ahh, there | ||
| nqp nqp-moar-cc.nqp ../lib/MAST/Nodes.nqp | 09:11 | ||
| Merging GLOBAL symbols failed: duplicate definition of symbol CompileTimeValue | |||
| JimmyZ | does MAST means MoarVM Post? | ||
| or just another ast? | |||
| or Is there a way NQP => MAST, instead of NQP => QAST => MAST ? | 09:12 | ||
| jnthn | It's the thing that we build MoarVM bytecode out of. | 09:13 | |
| FROGGS: Probably it needs its "use" fiddling with | |||
| FROGGS: To lesat QASTNodesMoar or so | |||
| FROGGS | yeah, I'm working on that already | 09:14 | |
| jnthn | cool | 09:20 | |
| FROGGS | jnthn: when trying to compiler lib/MAST/Nodes.nqp, it explodes like: "To compile on the MoarVM backend, QAST::VM must have an alternative 'moar' or 'moarop'" | 09:56 | |
| jnthn: does this QAST::VM node come from nqp? | |||
| jnthn | FROGGS: Unless there's a pir:: in there, maybe? | 09:57 | |
| FROGGS | there is one, yes | 09:58 | |
| k | |||
| FROGGS submits LTA bug :P | |||
| dalek | arVM: bc5f2cb | jnthn++ | / (5 files): Add MVMException REPR. |
10:01 | |
| FROGGS | ohh nice | ||
| JimmyZ | \\o/ Exception! | 10:02 | |
| FROGGS | okay, both MAST/Ops and MAST/Nodes compile... the pirop was just a helper for .DUMP | ||
| jnthn | Well, some way to go, but yes, I'm making a little more exception progress :) | 10:03 | |
|
10:13
colomon joined
|
|||
| dalek | arVM: 79b0d13 | jnthn++ | src/6model/bootstrap.c: Cleanup; fix boolification modes. |
10:19 | |
| arVM: e92bab3 | jnthn++ | src/ (2 files): Create BOOTException type. |
|||
|
10:30
cognominal joined
|
|||
| dalek | arVM: a066e60 | jnthn++ | src/core/exceptions.h: Add some missing exception categories. |
10:50 | |
| arVM: 9ce607f | jnthn++ | src/core/exceptions.c: Improve reporting of unhandled control exceptions. |
|||
| arVM: eb904f7 | jnthn++ | src/6model/reprs/MVMException.h: Size fix, optimize memory layout. |
11:16 | ||
| arVM: 9b3b9c8 | jnthn++ | src/core/ (3 files): Wire nqp::die(...) into the exception system. This means that it now does a handler search, though nqp::handle is NYI so there's no way to write a CATCH block in NQP just yet. |
|||
|
11:17
colomon joined
11:35
crab2313 joined
11:47
crab2313 left
11:52
colomon joined
|
|||
| dalek | arVM: 86adc22 | (Tobias Leich)++ | / (7 files): added and mapped objprimspec, a pir replacement |
13:01 | |
| arVM: 2671948 | jimmy++ | src/6model/reprs.c: typo |
13:06 | ||
| arVM: 48a49ec | jnthn++ | src/core/interp.c: Implement object throwing ops. |
13:40 | ||
| arVM: 132a657 | jnthn++ | lib/MAST/Nodes.nqp: Add extra handler category types. |
|||
| arVM: 4cf3d25 | jnthn++ | nqp-cc/src/QASTOperationsMAST.nqp: Basic code-gen for nqp::handle(...). Relies on NYI things in MoarVM so far, but the generated code survives being assembled into bytecode at least. |
|||
| FROGGS | lets throw objects \\o/ | 13:48 | |
| jnthn | Before, we could only throw cats! | 13:49 | |
| FROGGS | true :/ | ||
|
13:56
benabik joined
|
|||
| JimmyZ | FROGGS: you got /lib/MAST/Nodes.nqp complied? | 14:01 | |
|
14:03
yoleaux joined
14:04
benabik joined
|
|||
| dalek | arVM: 113a0fc | (Tobias Leich)++ | nqp-cc/tools/build/Makefile.in: cross-compile MAST::Ops and MAST::Nodes becasue we can |
14:11 | |
| FROGGS | JimmyZ: yes | 14:12 | |
| JimmyZ | FROGGS++ | ||
| FROGGS | JimmyZ: I just changed a few lines :o) | 14:14 | |
| JimmyZ | still a nice progress | 14:15 | |
| dalek | arVM: 2f9f596 | jnthn++ | / (4 files): Need unwind location for invoke handlers too. |
14:34 | |
| arVM: 93795ba | jnthn++ | src/core/exceptions.c: Stub handler invocation. |
|||
| JimmyZ | jnthn: gist.github.com/zhuomingliang/6089489 does it make sense? | 14:52 | |
| jnthn | fecth is a typo :) | 14:54 | |
| Think it'll work...does it pass tests? | |||
| JimmyZ | yeah | 14:55 | |
| jnthn | May be able to do similar cleanup in coerce.c :) | 15:03 | |
| dalek | arVM: 51833ce | jimmy++ | src/6model/ (3 files): type consistency |
15:11 | |
| arVM: cf8a9cc | jimmy++ | src/ (4 files): small cleanup |
|||
| JimmyZ | so we don't check callsite is init or not everytime | 15:12 | |
|
15:16
benabik joined
|
|||
| jnthn | > nqp nqp-moar-cc.nqp -e "try { nqp::die('oh noes'); CATCH { say('caught') } }; say('ok')" | 15:18 | |
| caught | |||
| ok | |||
| JimmyZ | jnthn++ | 15:19 | |
|
15:20
bronco_creek joined
|
|||
| jnthn | Unhappy discovery: tc->cur_usecapture wasn't being marked | 15:23 | |
| FROGGS | marked? what do you mean? | 15:24 | |
| ohh cool! # caught | |||
| jnthn++ | |||
| jnthn | FROGGS: for gc | 15:25 | |
| TimToady | surely finding a GC bug is a happy discovery :) | 15:27 | |
| dalek | arVM: abaee20 | jimmy++ | src/ (2 files): small refactor to avoid a MVMROOT |
15:28 | |
| jnthn | TimToady: well, in the sense that now it's known and can be fixed, yes :) | 15:29 | |
| dalek | arVM: 7853e7e | jnthn++ | src/mast/compiler.c: Fix bytecode gen for invoke handlers. |
15:40 | |
| arVM: 7f95716 | jnthn++ | src/ (7 files): Get basic case of try/CATCH working. Also contains a fix for a missing bit of GC marking, discovered while making sure that active exception objects get marked. |
|||
| FROGGS | src/6model/reprs.o: In function `MVM_repr_initialize_registry': | 15:43 | |
| /home/froggs/dev/MoarVM_/src/6model/reprs.c:251: undefined reference to `MVMException_initialize' | |||
| *cough* | 15:44 | ||
| :P | |||
| benabik | Need to reconfig to compile a new .c ? | ||
| FROGGS | benabik++ | 15:45 | |
| jnthn: I'm sorry :o) | |||
| jnthn | ;) | 15:46 | |
| jnthn does get the odd thing rightish :) | |||
| benabik | Usually if the function is really missing, the compiler will complain instead of the linker. Although I suppose there could be a declaration and no implementation. :-/ | 15:47 | |
| jnthn | There are a handful of exception related ops that are now no-op-ish. | ||
| oops | 15:48 | ||
| That are how LHF-ish :) | |||
| FROGGS | awesome :o) | ||
| jnthn | (The ones to get/set message, payload...) | ||
| I didn't do stuff like resumption yet. | |||
| FROGGS knows what to do this evening/night | |||
| jnthn | But I don't think we rely on that to get bootstrapped... | ||
| Hopefully this unblocks a little more progress while I'm away, anyways. | 15:49 | ||
| I wonder if I can get us a very basic first cut of eval-a-MAST-tree functionality. | |||
| Which would unblock other things. | |||
| Want y'all to have the appropriate amount of fun while I vacation :P | 15:50 | ||
| arnsholt | Are English people allowed to say "y'all"? =D | 15:51 | |
| FROGGS | and the good thing: it really is fun | ||
| JimmyZ | jnthn: I see cur_usecapture was init twice, one in moarvm.c:66 and other in threadcontext.c:40 | 15:59 | |
| jnthn: I think moarvm.c:66 can be removed? | 16:01 | ||
|
16:02
FROGGS[mobile] joined
|
|||
| jnthn | JimmyZ: I think there's a comment saying why. | 16:09 | |
| JimmyZ | oh, got it | 16:16 | |
| good night, 00:16am here :P | |||
|
16:19
FROGGS joined
|
|||
| jnthn | ;) | 16:22 | |
| night | |||
| dalek | arVM: 3396016 | jnthn++ | src/6model/reprconv. (2 files): REPR convenience methods for boxing. |
17:08 | |
| arVM: 940d665 | jnthn++ | src/ (3 files): Refactor type checking. |
|||
| arVM: 88a392d | jnthn++ | src/mast/nodes_moarvm.h: MoarVM version on MAST nodes header. Doesn't quite get the MAST compiler building yet, but it's a big step towards it. |
|||
| diakopter | jnthn++ | 17:27 | |
| benabik | jnthn++++ | 17:28 | |
| timotimo | that sounds dangerously close to self-hosting; is it? | 17:29 | |
| diakopter | not terribly | 17:30 | |
| timotimo | ok | 17:31 | |
| i still appreciate it jnthn++ :) | |||
| jnthn | First 1000 lines seem to compile with local patches... | 17:37 | |
| dinner, bbiab | |||
|
17:51
crab2313 joined
|
|||
| flussence | .oO( we're flying half-MAST ) |
20:17 | |
| FROGGS | *g* | 20:29 | |
| dalek | arVM: a08239b | jnthn++ | / (4 files): Get the MAST compiler into the MoarVM build. It's not yet exposed in any way, but at least it now builds. |
20:56 | |
| FROGGS | jnthn: if you have a sec... gist.github.com/FROGGS/d8960e3a60e94eacf90b | 21:07 | |
| I'm trying to return an array, containing one string (the backtrace)... | |||
| jnthn | Moar ops don't tend to contain underscores in the middle save type suffixes... :S | 21:08 | |
| FROGGS | the output starting with ">>" is debug stuff | ||
| k | |||
| jnthn | Also, don't set tc->cur_frame in initialize | ||
| Should probably be done as part of throw. | |||
| FROGGS | k | 21:09 | |
| jnthn | And you can't just assign frames; the ref count needs a bump too :) | ||
| FROGGS | k | ||
| :o) | |||
| jnthn | See MVMContext for example | ||
| FROGGS | but why cant | ||
| 't I say() it? | |||
| jnthn | The get_boxed_ref looks wrong too | ||
| You already checked that repr you have, just go ahead and cast it to the right thing in C and index into it | 21:10 | ||
| FROGGS | k | ||
| jnthn | I'm not sure just doing allocate gets you something valid, tends to need initialize too | 21:11 | |
| There's an MVM_repr_alloc_init for that. | |||
| lizmat | jnthn: please remember there is a "is default(*)" specced for matives | ||
| natives | |||
| that would *not* initiialize | 21:12 | ||
| FROGGS | ahh, hold on, now I can say(nqp::backtracestrings($!)[0]), only newlinces are missing | ||
| stringifying an array might be NYI? | |||
| I'll clean it up now according to your advices | 21:13 | ||
| jnthn | You can't do that in NQP anyway | ||
| Hm, it's meant to be a bunch of strings | |||
| lizmat: I've no idea how we're going to do traits on natives... | |||
| FROGGS | I just compared it to nqp@parrot | ||
| jnthn | What does it do there? | ||
| Pretty sure it won't stringify on NQP JVM... | 21:14 | ||
| I think that the array is meant to have one string per call stack entyr, though | |||
| FROGGS | it gives 1 for say(nqp::backtracestrings($!)), and the bt for say(nqp::backtracestrings($!)[0]) | ||
| jnthn | Not just one string containing the whole backtrace... | ||
| FROGGS | that does "parrot's" nqp::backtrace($!) IMO | ||
| jnthn | :/ | 21:15 | |
| I sure hope not... | |||
| FROGGS | ahh, no | ||
| it has 12 elements, hashs | |||
| jnthn | :) | ||
| Well, be careful | |||
| There's two ops | |||
| FROGGS | so, backtracestrings should have lines too | 21:16 | |
| jnthn | one that gives an array of hashes, and another that gives an array of strings. | ||
| FROGGS | right, ::backtrace is the one with the hashes | ||
| meh, it is hot and I'm tired | 21:20 | ||
| I might just push it how it is now when jnthn++ is on the alps :P | |||
| jnthn | meh, it's hot and I have to get up at 5am and I'm not tired :P | ||
| FROGGS | gnight! | ||
| hehe | |||
| jnthn | 'ngiht | 21:21 | |
|
21:29
colomon joined
22:08
colomon joined
22:18
FROGGS joined
|
|||
| jnthn | OK, I won't get the MAST comp integrated, but if anybody wants to do it, see how JVM does things... :) | 22:21 | |
| vacation; bbiaweek & | |||