|
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
|
|||