github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today
Set by moderator on 17 September 2013.
00:38 wsri joined 00:55 jnap joined 01:19 _sri joined 01:49 benabik joined 02:08 d^_^b joined 02:26 jnap joined
dalek arVM: e2fb9f6 | jimmy++ | src/6model/reprs/P6bigint.c:
s/mp_toradix_n/mp_toradix/, (Ben Goldberg)++
02:42
arVM: 4db966e | jimmy++ | src/6model/reprs/P6bigint.c:
fixed a bug
02:44
03:36 foo_bar_baz joined
dalek arVM/gcorch: f832f13 | diakopter++ | src/ (4 files):
wip9
05:05
arVM: b1efd97 | (Gerhard R)++ | src/core/oplist:
Fix op annotation docs
05:24
05:24 not_gerd joined
not_gerd o/ 05:25
yoleaux 19 Sep 2013 06:51Z <JimmyZ> not_gerd: I can't get 5172c20deb758cfc95f5745556595c21c788eb67
not_gerd JimmyZ: what's the problem with that commit? 05:26
diakopter o/ 05:28
JimmyZ not_gerd: I don't know where is double freed 05:36
yoleaux 05:17Z <BenGoldberg> JimmyZ: Thank you very much! :)
05:17Z <BenGoldberg> JimmyZ: Here's the result of branching and making a pull request: github.com/BenGoldberg1/libtommath...17bdf8c31a
not_gerd JimmyZ: MVM_HASH_DESTROY() already calls free() on the hash entries 05:42
I manually did so again
a nice recipe for memory corruption
JimmyZ not_gerd: oh 05:43
I thought MVM_HASH_DESTROY didn't 05:44
not_gerd that was my assumption as well before I actually looked at its definition ;)
JimmyZ hehe 05:47
diakopter: Is there any reason ch'uv_thread_t thread' to 'uv_thread_t *thread'? 05:48
s/ch/to change/
05:49 benabik joined
diakopter JimmyZ: yes... because surely libuv keeps a pointer to that struct 05:50
... but our gc moves that memory
JimmyZ It could be a good commit message 05:51
diakopter yeah, when the branch is done
not_gerd diakopter: using uv_thread_t directly instead of by pointer should be fine, imo 05:58
both pthreads and winapi back them by opaque types with value semantics
diakopter why
oh
yeah 05:59
but
JimmyZ pthreads uv_thread_t is actually a int type ? 06:00
where winapi is HANDLE
not_gerd I believe POSIX required pthread_t to be an arithmetic type, but no longer does so 06:01
regardless, value semantics should hold as they get passed around by value in the API
diakopter In the iSeries implementation of Pthreads, the thread ID is a 64-bit integral value and the pthread_t is an abstraction (structure) that contains that value and others. 06:04
JimmyZ hmm, I didn't see libuv keeps a pointer all the time. if we doesn't do alloc, it's fine 06:05
diakopter but it looks like the pthread functions take pthread_t by value not pointer
JimmyZ diakopter: WinAPI doesn't too 06:06
not_gerd exactly (except for eg create where it's an out parameter)
JimmyZ WinAPI take handle as value
diakopter not_gerd: we need an efficient portable semaphore abstraction.. from pthreads I'm sure, where we have that 06:16
and I'm sure there are quite a few in windows available
seems we'll need to include pthreads.h 06:18
pthread.h
not_gerd: er, oops 06:25
seems libuv has it
not_gerd diakopter: is there a reason why MAST nodes come with DUMP() instead of dump()? 06:51
it breask --target=mast
diakopter I don't know 06:54
change it if you like
it doesn't "break
"break" anything
it was created without any knowledge of --target at all
not_gerd ;)
06:58 FROGGS joined
diakopter not_gerd: adapt it to --target if you like :) 06:59
not_gerd diakopter: just renaming it makes it work
I can push that
FROGGS o/
not_gerd \\o
diakopter not_gerd: even though it strongly begs to be refactored/redone, don't spend time fixing DUMP_lines :) 07:00
FROGGS .tell JimmiZ Re e2fb9f6214, please let us stay in line with nqp@parrot if they share identical code 07:01
yoleaux FROGGS: I'll pass your message to JimmiZ.
JimmyZ FROGGS: why? 07:05
FROGGS not_gerd: you would need to rename it to dump for nqp itself too, no?
JimmyZ: because if you have the chance to have identical codepaths, it makes it easier to maintain 07:06
diakopter FROGGS: well, to be precise, would rather match the jvm impl
FROGGS JimmyZ: I mean, let us use bn_mp_toradix on nqp@parrot too
JimmyZ FROGGS: it didn't change anything, just faster 07:07
FROGGS diakopter: that is weird
JimmyZ: so why not do that on nqp@parrot too, to stay in sync?
JimmyZ: I am testing this already fwiw
JimmyZ OK, personally, I don't want to maintain nqp@parrot 07:08
not_gerd FROGGS: I don't follow - HLL::Compiler expects a method called dump
MAST nodes come with DUMP, which we could just rename 07:09
FROGGS not_gerd: I have seen DUMP in nqp repo too, that is my point
ohh, hmm
not_gerd: can't find it anymore...
not_gerd ;) 07:10
FROGGS nvm then :o)
07:23 krunen joined 07:24 jimmy_ joined
JimmyZ jimmy_: test 07:24
07:48 donaldh joined 07:53 odc joined 08:55 sorear joined 08:56 JimmyZ joined
dalek arVM: f073719 | (Gerhard R)++ | / (3 files):
Rename DUMP to dump to make --target=mast work
09:01
arVM: 2f01fa9 | (Gerhard R)++ | lib/MAST/Nodes.nqp:
Improve readability of --target=mast
FROGGS nice 09:11
not_gerd sadly, it din't help me figuring out why `try nqp::die(42)` returns a code object instead of NQPMu 09:31
FROGGS :/ 09:32
I failed to understand that one too 09:33
not_gerd note that we don't implement the handled op, which might or might not be related 09:46
reading the docs, probably not 09:50
I figured out why 56-role.t fails 11:22
see gist.github.com/gerdr/babe2cbd5d85c9170dec
not sure yet how to best fix it
FROGGS not_gerd: jnthn's plan is to refactor out the prior_invocation thing btw 11:37
not_gerd I don't really see how we can locate the correct outer if we haven't made the code object into a closure... 11:44
../moarvm nqp.moarvm -e 'role Foo { say(42) }; class Bar does Foo {}' 11:58
No lexical found with name '&say' 11:59
JimmyZ :/ 12:05
FROGGS :/ 12:13
13:02 jnap joined 13:24 benabik joined
not_gerd bye, #moarvm 13:39
13:39 not_gerd left 13:50 tokuhirom joined 13:51 yoleaux joined 14:10 benabik joined 14:40 colomon joined
diakopter commutafarianism& 16:24
16:54 wsri joined 17:42 tba joined 18:14 flussence joined 18:16 FROGGS joined 19:09 benabik joined 19:40 benabik joined 21:10 cognominal joined 21:50 foo_bar_baz joined 21:51 colomon joined