github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today
Set by moderator on 18 October 2013.
01:47 _ilbot joined
moderator github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today
02:48 FROGGS joined 07:16 FROGGS joined
FROGGS .tell jnthn about the stagestats bug: it works when I close the handles after writing to it, but I am unable to close the ones that were written to in gc_free of MVMOSHANDLE or in tc_destroy 08:03
yoleaux FROGGS: I'll pass your message to jnthn.
FROGGS .tell jnthn though I can walk the handles easily in tc_destroy fwiw 08:04
yoleaux FROGGS: I'll pass your message to jnthn.
08:23 donaldh joined
FROGGS /dev/MoarVM$ ./moar --version 08:52
This is MoarVM version 2013.10
dalek arVM: e8d29fc | (Tobias Leich)++ | / (3 files):
enable `moar --version
09:00
arVM: 3e9a1f2 | (Tobias Leich)++ | build/Makefile.in:
whitespace cleanup
FROGGS moar --version
This is MoarVM version 2013.10-2-g3e9a1f2
btw, it defines MVM_VERSION, MVM_VERSION_MAJOR, MVM_VERSION_MINOR and MVM_VERSION_PATCH too 09:01
afaics we'd only need to query it for the make-utility which was used, then we can have --gen-moar in nqp 09:02
moritz: ^^
moritz FROGGS: thanks 09:45
jnthn FROGGS++ # version 10:42
BinGOs $ ./moar --version 10:46
This is MoarVM version 2013.10-2-g3e9a1f2
could do with a 'built for blahblah' there too. 10:48
jnthn Where blabblah is? 10:49
Architecture? OS?
BinGOs that type of thing yes
dalek Heuristic branch merge: pushed 62 commits to MoarVM/ext by jnthn 10:56
jnthn Branch ext updated
dalek arVM/ext: 028e727 | jnthn++ | docs/extops.markdown:
Updates to extops doc.

Aligning it with VM changes and what's implemented so far.
11:20
FROGGS BinGOs: yes, I thought about showing the architecture and $*OS too # TimToady, that was for you :P 11:45
dalek arVM/ext: 4425ff7 | jnthn++ | lib/MAST/Nodes.nqp:
Add a place to register extops with signatures.
11:47
moritz fwiw for regex codegen it mouch be much easier if index() offset out of range didn't complain, but simply returned -1 11:48
would it be OK if I patched it? 11:49
jnthn moritz: Is that bringing the smantics inline with nqp::index on Parrot/JVM?
*semantics
moritz jnthn: on parrot at least
nqp-jvm: say(nqp::index('abc', 'a', 42))
camelia nqp-jvm: OUTPUT«-1␤»
jnthn nqp-msay(nqp::index('abc', 'a', 42)): 11:50
nqp-m: say(nqp::index('abc', 'a', 42)):
camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say(nqp::i"␤panic␤»
jnthn nqp-m: say(nqp::index('abc', 'a', 42))
camelia nqp-moarvm: OUTPUT«(signal SEGV)index start offset out of range␤frame_name_0␤»
jnthn Yeah, patch it
dalek arVM: 81c654e | moritz++ | src/strings/ops.c:
return -1 from index_s with start out of range

this brings it in line with parrot and JVM, and easier for regex codegen
11:53
arVM/ext: befdf23 | jnthn++ | lib/MAST/Nodes.nqp:
More MAST infrastructure for extops.
12:06
FROGGS jnthn++ # extops 12:23
dalek arVM/ext: 8b05dfa | jnthn++ | build/Makefile.in:
Missing Makefile header dep.
12:40
arVM/ext: 8d4a27d | jnthn++ | / (2 files):
Update MAST node headers for MAST::ExtOp, etc.
arVM/ext: 3827834 | jnthn++ | src/mast/driver.c:
Grab ExtOp type in MAST compiler driver.
arVM/ext: 9c11e4f | jnthn++ | nqp-cc/src/ (3 files):
Pass MAST::ExtOp along to assembler.
13:52 Ulti joined, diakopter joined 14:27 cognominal joined 14:42 FROGGS joined 14:48 colomon joined
jnthn OK, between the ext branches of MoarVM and NQP we now have enough to mention extops in the compile/assembly process. 15:22
Still not yet writing the op name/sigs out into the bytecode file yet 15:23
s:2nd/yet//
Nor do we have the stuff in place to build a C library in Rakudo for the extop implementations. If somebody fancies taking that bit on, it'd be great. :) 15:24
15:49 grondilu joined 15:52 colomon joined
dalek arVM/ext: ca555e1 | jnthn++ | src/mast/compiler.c:
Emit MAST::ExtOp instructions.
16:35
arVM/ext: 2aa241b | jnthn++ | / (6 files):
Implement settypecheckmode.
arVM/ext: 1251d72 | jnthn++ | / (8 files):
setdispatcher and takedispatcher ops
16:51
arVM/ext: 4776fdd | jnthn++ | / (8 files):
Implement 2 missing capture-related ops.
17:25
jnthn Hah, now we're at the point where progress on Rakudo on Moar depends on being able to *execute* an extop... 17:35
timotimo extop inside a BEGIN block?
jnthn yah, I guess so
Given we're in BOOTSTRAP
Hm, the scary thing about being in BOOTSTRAP is what comes after it :P 17:36
nwc10 build of Moar's ext branch fails on Linux: 17:48
3rdparty/dyncall/dynload/libdynload_s.a(dynload.o): In function `dlLoadLibrary':
/home/nicholas/Perl/MoarVM/3rdparty/dyncall/dynload/dynload_unix.c:43: undefined reference to `dlopen'
3rdparty/dyncall/dynload/libdynload_s.a(dynload.o): In function `dlFindSymbol':
/home/nicholas/Perl/MoarVM/3rdparty/dyncall/dynload/dynload_unix.c:49: undefined reference to `dlsym'
3rdparty/dyncall/dynload/libdynload_s.a(dynload.o): In function `dlFreeLibrary':
/home/nicholas/Perl/MoarVM/3rdparty/dyncall/dynload/dynload_unix.c:55: undefined reference to `dlclose'
I assume that there's a -ldl missing
did it work for someone else on *nix?
jnthn Presumably not gerd 17:49
uh
Presumably not_gerd
:)
moritz what's an extop? 17:50
an op that's defined outside of moar?
jnthn Yeah
Think dynops
apart from we ended up calling them extops 17:51
And no .ops file :)
arnsholt Come to think of it, it's weird that the libdyncall build starts failing out of the blue... 17:57
FROGGS nwc10: I've got the same issues 17:58
jnthn nwc10: Try gist.github.com/jnthn/7059268/raw/...tfile1.txt 17:59
arnsholt: Don't think we were actually depending on it until now 18:00
arnsholt Ah, right
jnthn bbl 18:07
nwc10 jnthn: yes, that is working 18:16
18:17 FROGGS joined
nwc10 jnthn: with ext in MoarVM and nqp, and moar-support in Rakudo I get to this: 18:24
Bytecode validation error at offset 866, instruction 140:
invalid extension opcode 1024 - should be less than 1024
frame_name_0
make: *** [blib/Perl6/BOOTSTRAP.moarvm] Error 112
nwc10 hopes that this is what you would expect
diakopter so.. 19:11
jnthn: I haven't looked at it.. how closely did you follow that .markdown
diakopter goes to look at the commits 19:16
jnthn diakopter: Not in the exact naming/factoring, but very much the same in spirit.
diakopter: not_gerd's bits follow even clsoer 19:17
diakopter: We got rid of op banks since the doc was written; I did some updates related to that but there's more to come.
diakopter what about gerd's branch
dalek arVM/ext: a772991 | jnthn++ | build/setup.pm:
Fix build on Linux; nwc10++ for reporting.
jnthn diakopter: I updated gerd's branch and have been adding to it 19:18
diakopter: That is, my work is in addition to what he did, adding the next bits.
diakopter oh; I thought he had a different branch
jnthn nwc10: Yes, that is the exact error I get
diakopter: ext was the one that seemed to contain the work I remembered him having done :) 19:19
And it looked correct :)
diakopter oic :)
jnthn Well, apart from where it looked wrong... :) 19:23
But that was details. :)
20:13 benabik joined 21:17 ggoebel8 joined 21:23 ggoebel9 joined 21:32 woolfy left 21:34 woolfy joined 23:18 BenGoldberg joined
BenGoldberg r: utf8.!methods.say 23:18
camelia rakudo e55c66: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/swE0XaRZoJ␤Confused␤at /tmp/swE0XaRZoJ:1␤------> [32mutf8.[33m⏏[31m!methods.say[0m␤ expecting any of:␤ postfix␤ dotty method or postfix␤» 23:19
BenGoldberg r: utf8.^methods.say
camelia rakudo e55c66: OUTPUT«decode encoding new elems bytes chars Numeric Int list subbuf unpack contents of Str at_pos Bool Stringy gist perl␤»
BenGoldberg Oops, wrong channel