Camelia, the Perl 6 bug

IRC log for #moarvm, 2013-07-26

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

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

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary