github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today
Set by moderator on 5 July 2013.
01:00 FROGGS_ joined 02:00 FROGGS__ joined 06:15 dwoldrich joined 06:52 FROGGS__ joined 08:47 colomon joined 11:12 FROGGS joined 11:49 jlaire joined
dalek arVM/container: 18e62b3 | jnthn++ | src/6model/serialization.h:
Fix a thinko.
12:31
arVM/container: 67ddc77 | jnthn++ | src/core/coerce.c:
Revert "small refactor in coerce.c"

This reverts commit 15a1e63c0c49208011869365168e5c5b41a4c4cc. The original was correct. The refactor takes a pointer into the C stack and keeps hold of it beyond the function returning, which means junk will be found there in the future.
12:32 birdwindupbird joined
JimmyZ \\o/ MoarVM stuff! 12:49
jnthn :) 12:53
12:53 benabik joined
JimmyZ can't understand 67ddc77ab4 :( 12:54
C pitfalls? 12:55
jnthn static int *x; void bar() { int foo; x = &foo; }
The patch did that, basically.
& means "address of" 12:56
If you take the address of a local variable, you get a pointer into the system stack
JimmyZ oh oh
jnthn Which is OK provided that pointer is never used beyond the point the function returns.
But here it was being stored.
So you point to whatever value happens to be on the stack.
JimmyZ: Did you test the container stuff? 13:00
dalek Heuristic branch merge: pushed 37 commits to MoarVM/container by jnthn 13:01
jnthn just brought the branch up to date with latest
hm, I guess not given we're missing a setcontspec op :) 13:02
JimmyZ jnthn: nope, and mutex_container_registry lacks init_mutex, and it may be better to put it to tc->instance, as diakopter said 13:06
jnthn ok
JimmyZ hmm, so init_code_pair_arg_callsite in container should be refacted, just like 67ddc77ab4? 13:10
jnthn yes, just noticed that is wrong too
Hm, various things are wrong in here, though... 13:11
JimmyZ jnthn, how do you think about github.com/MoarVM/MoarVM/commit/15...nt-3427470 13:12
jnthn I guess it's correct-ish, apart from I can't think of any way for that to actually go wrong even if two threads do race there. 13:15
I mean, they're writing the same values to the same places in the same order.
dalek arVM/container: 030d73b | jnthn++ | src/6model/containers.c:
Missing write barriering of assigns.
13:16
jnthn oops 13:17
dalek arVM/container: 7895902 | jnthn++ | src/6model/containers.c:
Missing write barriering of assigns.
jnthn :) 13:18
JimmyZ jnthn: I still can't find where gc_free_data or code_pair_gc_free_data be called, am I lost? :P 13:21
jnthn JimmyZ: Just that freeing STables ins't implemented in the gc yet
JimmyZ ah
jnthn But comments like that end up outlasting such things, then causing confusion in the future. So it's better not to write them :) 13:22
tadzik so, gc is unSTable? :P
jnthn yes :P
dalek arVM/container: 5ea5ff6 | jnthn++ | src/6model/ (2 files):
Container fetch should receive target register.

This should fix the code pair fetch, at least once the decont op is implemented properly.
13:23
jnthn Yes, diakopter++ is right about the cont registry wanting to hang off instance. 13:25
JimmyZ diakopter++
jnthn Will try and sort that out a bit later... :) 13:37
diakopter hi 13:53
JimmyZ hi 14:02
yeah, it's a C pitfalls!
14:06 ggoebel joined
jnthn o/ diakopter 14:32
15:21 itz_ joined 16:18 birdwindupbird joined 16:26 FROGGS joined
diakopter o 19:58
sorear / 20:00
diakopter sorear: :) 20:02
20:15 colomon joined
diakopter considers caching function pointer offsets o_O 20:27
nm. ASLR. 20:28
duh.
well now wait a second. the compiler can do it for us. 20:29
20:37 colomon joined 21:02 itz joined
diakopter jnthn: you still around? 21:06
masak I expect he'll be back soonish. 21:30
21:35 lizmat_ joined
jnthn expected soonisher, but...Swedish railways :) 22:08
diakopter jnthn: howdy 22:10
jnthn o/ 22:11
sorear What about Swedish railways? 22:13
jnthn sorear: My 10 minute journey home became a rather longer one. 22:14
dalek arVM/extops: dac61b4 | diakopter++ | docs/extops.markdown:
incorporate changes/simplifications based on discussion with jnthn++ last week
23:02
diakopter jnthn: ^
er. two weeks ago.. ! 23:05
jnthn Doesn't time fly... 23:27
wow, big diff 23:28
It's probably easier to read the whole thing again :)
diakopter :D
diakopter decommutes&
jnthn It's late her now, will do that tomorrow
*here
23:50 cognominal joined