github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today
Set by moderator on 25 July 2013.
dalek arVM/p5interop: 06449c9 | diakopter++ | src/6model/reprs. (2 files):
make repr_register public
00:25
arVM/p5interop: 372aaa2 | diakopter++ | / (4 files):
refactor the makefile dramatically to shrink size hugely. only windows nmake for now. needs generalized to gmake also.
arVM/p5interop: 6c7b79b | diakopter++ | src/6model/reprs.c:
just so it builds
JimmyZ diakopter: ping 01:13
01:56 woosley joined
dalek arVM: 9e2e61d | jimmy++ | nqp-cc/tools/build/Makefile.in:
cross-compile QASTRegexCompilerMAST.nqp
02:23
diakopter JimmyZ: pong 03:12
JimmyZ diakopter: per extops.markdown, do you suggest remove BANK and reorder ops as natural order like 1...65535? I think this should make 'my int $sum; my int $i = 0; while($i < 100000) { $sum += $i }; ' about 40% faster 03:18
diakopter why do you think it would be that much faster? 03:19
did you try it and measure it? :) 03:20
(I just suggested trying it and measuring it)
JimmyZ diakopter: It reduces about 40% cpu opcode with -O2 optimizantion 03:23
diakopter JimmyZ: could you gist a diff? 03:25
JimmyZ diakopter: anyway, it's a good advice to measuring it
diakopter: I do not have a diff yet
hmm, not that much, should be 20% 03:33
timotimo JimmyZ: that sum thing is totally an infinite loop :) 03:34
so 20% faster will still take infinitely long :D
JimmyZ s/$i </$i++ </
timotimo :)
diakopter heh.
timotimo bedtime now
diakopter o/
JimmyZ: did you see that last commit I pushed? 03:35
made the makefile like 80% smaller
on windows, anyway.
JimmyZ at least, it reduce case and *(cur_op)++, in MVM_interp_run
diakopter need to generalize it to gmake.
JimmyZ diakopter: yes, I saw 03:36
diakopter: I'm using nmake, du to apr doesn't supprot gmake in windows
diakopter ok
04:48 birdwindupbird joined
JimmyZ diakopter: ping 05:47
diakopter JimmyZ: pong 05:48
JimmyZ diakopter: gist.github.com/zhuomingliang/6102349
I golfed a bug, could you help me please? 05:49
TimToady
.oO(乒乓)
JimmyZ it outputs cannot box a void register
I chaned ' nqp::splice(@all_ins, $arg.instructions, +@all_ins, 0) 05:50
I changed nqp::splice(@all_ins, $arg.instructions, +@all_ins, 0) unless $constant_operand; to unless $constant_operand { nqp::splice(@all_ins, $arg.instructions, +@all_ins, 0) ; } , it compiles 05:51
diakopter wat
JimmyZ hmm, looks there are some bug in if/unless op definition 06:53
masak oh? 07:30
JimmyZ masak: you can help me ? :P 07:33
07:34 FROGGS joined
masak do you have a failing test? :) 07:34
JimmyZ or FROGGS :P
masak: gist.github.com/zhuomingliang/6102349 07:35
FROGGS morning o/ 07:36
JimmyZ FROGGS: morning 07:37
the problem is why it want splice returns MVM_reg_obj 07:46
FROGGS reads backlog 07:49
07:52 Alpha64 joined 07:53 Alpha64 left
FROGGS JimmyZ++ \\o/ # added pushcompsc, popcompsc op 07:59
benabik++ # whitespace removal :o)
JimmyZ now block on unless compile, which I'm not good at 08:00
:(
FROGGS .tell diakopter: can you fix it please? I'm not so sure what to do: irclog.perlgeek.de/moarvm/2013-07-28#i_7378950 and irclog.perlgeek.de/moarvm/2013-07-28#i_7378959 08:35
yoleaux FROGGS: What kind of a name is "diakopter:"?!
FROGGS .tell diakopter can you fix it please? I'm not so sure what to do: irclog.perlgeek.de/moarvm/2013-07-28#i_7378950 and irclog.perlgeek.de/moarvm/2013-07-28#i_7378959 08:36
yoleaux FROGGS: I'll pass your message to diakopter.
FROGGS thanks
JimmyZ FROGGS: I think I fixed it already 08:39
FROGGS JimmyZ: this too? irclog.perlgeek.de/moarvm/2013-07-28#i_7378950
JimmyZ FROGGS: yes 08:40
FROGGS: github.com/MoarVM/MoarVM/commit/23...3f2#L2R366 08:41
FROGGS JimmyZ: but there is no &instance->clargs in line 380 08:42
JimmyZ FROGGS: I can't follow you 08:43
FROGGS and the other think diakopter mentioned implies putting clargs in another MVMROOT (of instance?), but I'm not sure about that thing 08:44
he said: diakopter
it should add &instance->clargs instead, after it's assigned
JimmyZ FROGGS: yes, I did it in line 378
FROGGS: good news: the left cross-compile files is MASTCompiler.nqp 08:51
and MASTTesting.nqp 08:52
FROGGS JimmyZ: I believe diakopter ment: 08:53
-MVM_gc_root_add_permanent(tc, (MVMCollectable **)instance->clargs);
+MVM_gc_root_add_permanent(tc, (MVMCollectable **)&instance->clargs);
JimmyZ FROGGS: oh, I lost & 08:55
so my english is really poor 08:56
dalek arVM: 4c07b18 | jimmy++ | src/io/procops.c:
small fixes, FROGGS++
08:57
FROGGS .tell diakopter nvm, everything is good :o) 08:58
yoleaux FROGGS: I'll pass your message to diakopter.
FROGGS *g*
thanks JimmyZ
JimmyZ thanks FROGGS :P
FROGGS <--- coffee
09:18 crab2313 joined
dalek arVM: 4e914c7 | (Tobias Leich)++ | nqp-cc/src/QASTOperationsMAST.nqp:
make clear that nqp::splice is void
10:20
FROGGS JimmyZ: ^^, this should fix your bug
<--- off to lunch
10:26 colomon joined 10:27 yoleaux joined
JimmyZ FROGGS: it does, but the patch is wrong 11:16
FROGGS: see irclog.perlgeek.de/moarvm/2013-07-29#i_7382253 11:17
FROGGS but I thought void ops need to get third arg=0 here github.com/MoarVM/MoarVM/commit/4e914c7d72 11:18
JimmyZ FROGGS: not really, third arg can be 1, 2, 3 too, see github.com/MoarVM/MoarVM/blob/mast...T.nqp#L279 11:26
FROGGS: the patch did fix splice, but didn't other ops, so it's a cheat for splice 11:27
s/didn't/didn't fix/ :P
11:28 colomon joined
JimmyZ it should be fixed by avoids coercion when there is no bind/assign 11:30
FROGGS yeah, I know about the other possible values, so I think the way to go is to check the op list, and pass the proper third arg for all ops 11:37
JimmyZ FROGGS: as it can be compiled by nqp/parrot, I look into nqp/parrot, bu no idea how nqp on parrot/jvm avoids it
FROGGS: please don't do that 11:38
FROGGS: pass a third arg means there will be register to be frozen 11:40
FROGGS: I suggest ask jnthn firstly after he is home 11:41
FROGGS k
JimmyZ FROGGS: do you have any other plans?
:P 11:42
FROGGS not atm
JimmyZ an easy fix is to change to 'unless $constant_operand { nqp::splice(@all_ins, $arg.instructions, +@all_ins, 0) ; }' 11:43
;)
dalek arVM: 9a2b79c | jimmy++ | nqp-cc/src/QASTOperationsMAST.nqp:
Revert "make clear that nqp::splice is void"

This reverts commit 4e914c7d720b65484df5f5fad2551ba73f46f0cd.
11:45
11:47 colomon joined 12:10 crab2313 joined 12:20 crab2313 joined 12:26 crab2313 joined 12:32 colomon joined 12:48 yoleaux joined
diakopter JimmyZ: hi 13:41
JimmyZ diakopter: hello 13:42
diakopter also clargs needs to be in a new MVMROOT after it's created, while it adds stuff it 13:43
*to it
er. 13:44
somehow it appeared 13:45
without a dalek notice
JimmyZ diakopter: Do you know how to fix my gist bug? 13:52
diakopter JimmyZ: I couldn't see what was wrong 13:54
JimmyZ nqp nqp-moar-cc.nqp --target=mbc --setting=NQPCOREMoar --no-regex-lib --output=QASTOperationsMAST.moarvm src\\QASTOperationsMAST1.nqp 13:55
diakopter: just compile it
FROGGS "nqp::splice(@arr1, @arr2, 0, 0) unless 1" dies, while "unless 1 { nqp::splice(@arr1, @arr2, 0, 0) }" works 14:02
JimmyZ the wrong thing is that it can't got $*WANT 14:04
looks like %*WANT is lost somewhere
I see $*WANT is not lost in nqp on parrot/jvm 14:06
diakopter hrm 14:07
I'm still not grasping how this snippet reproduces the problem
JimmyZ diakopter: you mean you didn't see the compile error? 14:08
diakopter I've never used nqp-moar-cc.nqp 14:10
O_O
JimmyZ ...
diakopter :D
probably means I should build the cross compiler
14:22 benabik joined 14:31 crab2313 left 14:34 crab2313 joined 14:35 colomon joined
diakopter JimmyZ: did you try it with the unless in the same line? 15:31
FROGGS diakopter: I tried and it dies 15:32
diakopter why do you think the problem is with something having to do with void return
oh, because if/unless requires it 15:33
what happens if you do if !
instead of unless
well we need to decide what type/object should result from if statements like those that are void 15:34
FROGGS diakopter: since using 'if' dies too, 'if !...' would die also 15:35
diakopter ... or is want void?
oh
why does JimmyZ say $*WANT is lost
where is it last set?
JimmyZ the wrong thing is that it can't got $*WANT
FROGGS $*WANT is undefined in most cases, and that might be wrong 15:36
JimmyZ I see $*WANT is not lost in nqp on parrot/jvm
FROGGS btw, $*WANT is not defined for the "unless { nqp::splice(...) }" case too 15:40
JimmyZ FROGGS: I have compared nqp/parrot 15:41
FROGGS is it defined there in that case?
JimmyZ and I'm sure is $*WANT is not lost and $*WANT='v'
I aslo compared the pir and moarvmdump, to make sure $*WANT='v' there in nqp/parrot 15:46
TimToady $*WANT seems like the wrong way to do context, since you only ever want to know your immediate context, and dynamic variables propagate downward "too far" 15:48
JimmyZ diakopter: $*WANT is set in Compiler.nqp on parrot and QASTCompilerMAST.nqp
there is also CPS :$want args 15:49
sometimes it losts in continue pass
diakopter I know, I added it.. but clearly not completely 15:50
JimmyZ Good night 16:01
masak 晚安,卓明亮 16:05
16:29 FROGGS[mobile] joined 16:48 FROGGS joined, FROGGS[mobile] left 17:28 colomon joined 17:41 FROGGS joined 18:01 benabik joined 18:46 Alpha64 joined 19:07 benabik joined 20:59 benabik joined 21:20 masak joined 21:53 linkedinyou joined 22:01 FROGGS joined 22:30 benabik joined 22:36 FROGGS joined 22:46 colomon joined 23:58 Tene joined