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 &