github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today
Set by moderator on 7 June 2013.
00:19 rurban joined 00:46 benabik joined 01:44 JimmyZ joined 04:04 labster joined 04:15 rurban joined 04:32 mrallen1 joined 05:22 cognominal joined
dalek arVM: b532b8a | jimmy++ | / (8 files):
Implement and map nqp::radix.
05:31
arVM: 56f77a4 | jimmy++ | nqp-cc/nqp-src/NQPHLL.nqp:
Uncomment more of NQPHLL.
arVM: bc827a2 | jimmy++ | / (4 files):
Merge branch 'master' of github.com/MoarVM/MoarVM into zhuomingliang/patch-2
arVM: 94da839 | jimmy++ | / (4 files):
swtich radix op back to use int64 since int16 is NYI
arVM: 68e0fbf | (Matthew Wilson)++ | / (10 files):
Merge pull request #14 from zhuomingliang/patch-2

Implement nqp::setencoding
diakopter JimmyZ++
JimmyZ: whatcha working on next? ;) 05:32
JimmyZ I just want to close the pull request because the Merge branch 'master' commit :)
diakopter oh, oops 05:34
meh
JimmyZ diakopter: I'm still looking
;)
diakopter how is int16 not supported? 05:35
the qast->mast compiler should auto-narrow
JimmyZ diakopter: nope
diakopter: coercion is not supported 05:36
sorear whee! progress!
diakopter jnthn: explain what coercion would do, and I'll do it :P 05:37
gah
JimmyZ: ^
oh, jnthn should be landed by now... o_O
JimmyZ I'm not understand what's the different coercion method in QASTCompilerMAST.nqp line 269 and unbox in QASTOperationsMAST.nqp line 334 05:39
s/different/different between/g
diakopter oh 05:41
I just mean
did you try it with it set to int16? ;)
JimmyZ yes
diakopter: see QASTOperationsMAST.nqp line 1181, there is no $MVM_reg_int16 05:42
diakopter: ;)
diakopter what happened when you tried it? 05:43
JimmyZ diakopter: a lot things happend, first in QASTOperationsMAST.nqp, then in QASTCompilerMAST.nqp, and I see the code in interp.c, there is no support for int16 too. 05:45
diakopter github.com/MoarVM/MoarVM/blob/mast...T.nqp#L181
is supposed to fudge that
JimmyZ diakopter: #L1181
05:46 rurban joined
diakopter what do you want me to see about that line 05:48
I mean, I see it only unboxes to int64 05:49
JimmyZ diakopter: I mean I can't use int16 because it can't box ot int16 05:50
hehe
so I switch back to int64
diakopter JimmyZ: because of L181 (I pointed to), you should just need to add the $desired == $MVM_reg_int16 case to the L292 branch of method coercion in Compiler 05:53
JimmyZ diakopter: oh
diakopter JimmyZ: (well, also int32 and int8) 05:54
I put that L181 thing in there so it would automagically narrow once those cases existed 05:55
sorear diakopter: let's assume major jet lag
diakopter yes. :D jnthn will be a long while recovering 05:56
JimmyZ diakopter: I had tried add $desired == $MVM_reg_int16 case to L292, I gave up to do it because other problems 05:57
diakopter JimmyZ: what other problems? I'm glad to help
(now is the right time to fix that) 05:59
JimmyZ diakopter: compile.c complained
diakopter what was its complaint :P 06:01
JimmyZ I can try reprodcue it 06:03
diakopter sorear: flightaware.com/live/flight/SAS926
JimmyZ wait a moment
diakopter ok
I don't like that the "Merge pull request" button on the web still works if commits have been added/modified to the pull request after the webpage describing the pull request was generated 06:09
nwc10 oh, interesting 06:11
I don't like the "merge pull request" button simply because it does a merge commit
sorear diakopter: appears to have arrived?
nwc10 which makes things more messy than they could be
oh, and it doesn't run tests for you
JimmyZ well, it can run tests for you, if you use travis-ci 06:12
diakopter dukeleto volunteered to set that up for us
JimmyZ diakopter: At Frame 79, Instruction 16, op 'radix', operand 1, MAST::Local of wrong type (4) specified; expected 2 06:31
nwc10 in MoarVM, does "precise GC" mean that there is no need for C stack walking? 06:34
jnthn nwc10: yes
nwc10 cool 06:35
jnthn nwc10: You can't just go guessing if things are pointers if you're going to move objects. :)
JimmyZ diakopter: maybe nqp needs my native int16 is repr('P6int') is nativesize(16) { }
nwc10 gah, yes, true, not thought of that :-)
sorear are we planning to (eventually) support pinning? 06:36
sorear wonders if there will be anything left to do on moarvm after he finishes rakudo/jvm stuff :D 06:37
diakopter probably implemented by "promote to gen2 and immediately run gc" or something
sorear the mono native GC supports pinning objects in the nursery
diakopter *smile* well alrighty then :) 06:38
nwc10 hangon, is the MoarVM nursery a semi-space copying thing? 06:39
jnthn yeah 06:40
nwc10 so you can't pin in there?
jnthn Well, the current NativeCall reprs hold the O(1) marshalled C memory at a level of indirection
And that is unmanaged by the GC
So if that's good enough we can punt on pinning. I can't think of another place that'll make us need it.
If we for some reason do, there's GC textbooks... ;) 06:41
nwc10 is that like "if all else fails, read the instructions" ?
jnthn Vaguely ;)
diakopter the only other place I can think of possibly needing it would be some repr that wants to enter some long-running op that doesn't block GC but needs to dig in objects 06:42
[of its own repr]
06:42 tomyan joined
jnthn diakopter: That sounds...undesirable anyway ;) 06:43
Back after a nap...will backlog here properly then.
06:46 rurban joined 07:08 JimmyZ joined 07:20 tomyan_ joined 07:25 JimmyZ joined 07:35 Tene_ joined 07:36 __sri joined 07:49 rurban joined 07:54 JimmyZ joined 08:21 tomyan joined 08:27 flaviusb joined 08:47 flaviusb joined 08:54 rurban joined 09:06 flaviusb joined 09:26 flaviusb joined 09:44 cognominal joined 09:55 rurban joined 10:12 woosley left 10:57 rurban joined 11:24 tgt joined 12:02 rurban joined
JimmyZ jnthn: ping 12:17
jnthn: Does setencoding second arg intends to be int in oplist? or should I chane it to str? 12:20
jnthn JimmyZ: pong 12:22
JimmyZ: It needs to be str if it's going to be used to directly implement the relevant nqp:: op
Also, getstdin and friends can't be nqp:: mapped yet as they have the wrong op signature. There's a reason I didn't put those in.
JimmyZ jnthn: thanks
jnthn Also: 12:23
+# XXX: should be
+# 0x83 attrinited w(int16) r(obj) r(obj) r(str)
No, it should not be. That'd be contradictory with the entire rest of the op set... :)
JimmyZ jnthn: ok, thanks :) 12:24
jnthn The general principle is that operations are done at full width
JimmyZ so no int16? should to be int64?
jnthn The other sizes are there for storage primarily.
In that op, yes.
JimmyZ jnthn: so is in radix op? 12:25
jnthn yeah, the comment should go away there... 12:26
I musta missed that when reviewing the PR 12:27
The extend/trunc ops near the top of oplist are used to go between the sizes. 12:28
JimmyZ jnthn: thanks
jnthn But they really are intended for implementing e.g. my int16 $x; style things. 12:29
JimmyZ jnthn: gist.github.com/zhuomingliang/5743364 Does this make sense? 12:33
12:36 birdwindupbird joined
jnthn if(!encoding_name_init) { 12:36
encoding_name_init = 1;
Should set the flag *after* doing the initialization work or it's certainly a race condition if two threads hit this code.
Also, space between if and ( :) 12:37
JimmyZ jnthn: updated, plz take a look again 12:38
jnthn For bonus points, include the incorrect encoding name in the error message :) 12:39
JimmyZ jnthn: updated ;) 12:47
jnthn yay 12:51
JimmyZ could you merge my pull request so I can push a new request easily? :) 12:52
jnthn Which one? 12:53
diakopter jnthn: you didn't miss the comment, and neither did I before I merged it
it was inserted into the pull request between when it was rendered in my browser and when I clicked merge 12:54
jnthn diakopter: oh...
JimmyZ jnthn: two, so I can revert something and push a new request easily without merge branch commits 12:56
jnthn JimmyZ: Well, but github.com/zhuomingliang/MoarVM/co...fa1fb5a39f maps some ops it should not, so I don't really want to merge that. 12:57
JimmyZ jnthn: oh, I can close this one 12:58
jnthn And P6opaque doesn't actually have an attribute_initialized implementation yet, meaning that if hit, the codepath using it will explode. I can look at that... 12:59
13:02 rurban joined
JimmyZ yay, a new pull request 13:11
jnthn That looks better. 13:14
JimmyZ++
arVM: 308e290 | jimmy++ | / (9 files):
some fixes to setencoding
arVM: 4190ebc | jonathan++ | / (9 files):
Merge pull request #17 from zhuomingliang/patch-3

Implement nqp::setencoding
arVM: 51dcc44 | jimmy++ | src/io/socketops.c:
error msg improvement to socketops
13:17
arVM: 4da8e37 | jonathan++ | src/io/socketops.c:
Merge pull request #18 from zhuomingliang/patch-3

error msg improvement to socketops
JimmyZ jnthn: if the op are using int64, should the function args also should be int64? for example: flag args in MVM_radix 13:19
jnthn JimmyZ: That probably saves us some casts. 13:20
JimmyZ jnthn: ok, thanks, I will keep it in mind 13:21
;)
13:37 vm joined
diakopter I suspect my setencoding preceded nqp's 13:42
jnthn yes 13:43
A bunch of the IO bits preceded the nqp:: ops, so there's some alignment work to do. 13:44
diakopter so I won't feel too badly about it beint wront ;)
being wrong
jnthn No, not being able to see into the future is a common limitation ;) 13:46
diakopter gah 13:53
Also, I wasn't even trying to do that, merely make standins 13:54
13:59 lizmat joined 14:03 rurban joined 14:08 rurban joined
dalek arVM: 535a9a2 | jimmy++ | src/io/fileops. (2 files):
change return type of MVM_file_set_oshandle_encoding to void
15:41
arVM: 03bee22 | jonathan++ | src/io/fileops. (2 files):
Merge pull request #19 from zhuomingliang/patch-1

change return type of MVM_file_set_oshandle_encoding to void
16:02 rurban joined 16:04 tomyan joined 16:05 rurban joined 16:57 rurban joined 17:13 tgt joined 17:23 rurban joined 17:51 tgt joined 18:23 rurban joined 18:25 rurban1 joined 18:54 benabik joined 19:05 Guest1337 joined 19:24 tomyan joined 20:05 mrallen1 joined 20:10 tomyan joined
dalek arVM: eb18d8e | jnthn++ | src/6model/reprs/MVMIter.c:
Fix copy-pasto.
20:38
21:10 Guest1337 joined 21:18 lizmat joined 22:08 tgt joined 22:12 rurban joined 22:57 tomyan joined
dalek MoarVM: 88f5ea1 | (Chris 'BinGOs' Williams)++ | build/Config/BuildEnvironment.pm: 22:59
MoarVM: Add build environment for FreeBSD
MoarVM:
MoarVM: Tested on FreeBSD 9.1 (i386) with both clang and gcc
MoarVM:
23:00 dalek joined 23:03 tomyan joined
diakopter aww, poor dalek killed'd itself 23:03
23:34 rurban joined 23:38 rurban joined