Camelia, the Perl 6 bug

IRC log for #moarvm, 2013-06-09

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:19 rurban joined #moarvm
00:46 benabik joined #moarvm
01:44 JimmyZ joined #moarvm
04:04 labster joined #moarvm
04:15 rurban joined #moarvm
04:32 mrallen1 joined #moarvm
05:22 cognominal joined #moarvm
05:31 dalek MoarVM: b532b8a | jimmy++ | / (8 files):
05:31 dalek MoarVM: Implement and map nqp::radix.
05:31 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/b532b8acf7
05:31 dalek MoarVM: 56f77a4 | jimmy++ | nqp-cc/nqp-src/NQPHLL.nqp:
05:31 dalek MoarVM: Uncomment more of NQPHLL.
05:31 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/56f77a4f32
05:31 dalek MoarVM: bc827a2 | jimmy++ | / (4 files):
05:31 dalek MoarVM: Merge branch 'master' of https://github.com/MoarVM/MoarVM into zhuomingliang/patch-2
05:31 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/bc827a2aad
05:31 dalek MoarVM: 94da839 | jimmy++ | / (4 files):
05:31 dalek MoarVM: swtich radix op back to use int64 since int16 is NYI
05:31 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/94da839749
05:31 dalek MoarVM: 68e0fbf | (Matthew Wilson)++ | / (10 files):
05:31 dalek MoarVM: Merge pull request #14 from zhuomingliang/patch-2
05:31 diakopter JimmyZ++
05:32 diakopter JimmyZ: whatcha working on next? ;)
05:32 JimmyZ I just want to close the pull request because the  Merge branch 'master' commit :)
05:34 diakopter oh, oops
05:34 diakopter meh
05:34 JimmyZ diakopter: I'm still looking
05:34 JimmyZ ;)
05:35 diakopter how is int16 not supported?
05:35 diakopter the qast->mast compiler should auto-narrow
05:35 JimmyZ diakopter: nope
05:36 JimmyZ diakopter: coercion is not supported
05:36 sorear whee! progress!
05:37 diakopter jnthn: explain what coercion would do, and I'll do it :P
05:37 diakopter gah
05:37 diakopter JimmyZ: ^
05:37 diakopter oh, jnthn should be landed by now... o_O
05:39 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 JimmyZ s/different/different between/g
05:41 diakopter oh
05:41 diakopter I just mean
05:41 diakopter did you try it with it set to int16? ;)
05:41 JimmyZ yes
05:42 JimmyZ diakopter: see QASTOperationsMAST.nqp line 1181, there is no $MVM_reg_int16
05:42 JimmyZ diakopter: ;)
05:43 diakopter what happened when you tried it?
05:45 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 https://github.com/MoarVM/MoarVM/blob/mast​er/nqp-cc/src/QASTOperationsMAST.nqp#L181
05:45 diakopter is supposed to fudge that
05:45 JimmyZ diakopter: #L1181
05:46 rurban joined #moarvm
05:48 diakopter what do you want me to see about that line
05:49 diakopter I mean, I see it only unboxes to int64
05:50 JimmyZ diakopter: I mean I can't use int16 because it can't box ot int16
05:50 JimmyZ hehe
05:50 JimmyZ so I switch back to int64
05:53 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
05:54 diakopter JimmyZ: (well, also int32 and int8)
05:55 diakopter 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
05:56 diakopter yes. :D jnthn will be a long while recovering
05:57 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
05:59 diakopter (now is the right time to fix that)
05:59 JimmyZ diakopter: compile.c complained
06:01 diakopter what was its complaint :P
06:03 JimmyZ I can try reprodcue it
06:03 diakopter sorear: http://flightaware.com/live/flight/SAS926
06:03 JimmyZ wait a moment
06:03 diakopter ok
06:09 diakopter 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:11 nwc10 oh, interesting
06:11 nwc10 I don't like the "merge pull request" button simply because it does a merge commit
06:11 sorear diakopter: appears to have arrived?
06:11 nwc10 which makes things more messy than they could be
06:11 nwc10 oh, and it doesn't run tests for you
06:12 JimmyZ well, it can run tests for you, if you use travis-ci
06:12 diakopter dukeleto volunteered to set that up for us
06:31 JimmyZ diakopter: At Frame 79, Instruction 16, op 'radix', operand 1, MAST::Local of wrong type (4) specified; expected 2
06:34 nwc10 in MoarVM, does "precise GC" mean that there is no need for C stack walking?
06:34 jnthn nwc10: yes
06:35 nwc10 cool
06:35 jnthn nwc10: You can't just go guessing if things are pointers if you're going to move objects. :)
06:35 JimmyZ diakopter: maybe nqp needs my native int16 is repr('P6int') is nativesize(16) { }
06:35 nwc10 gah, yes, true, not thought of that :-)
06:36 sorear are we planning to (eventually) support pinning?
06:37 * 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
06:37 sorear the mono native GC supports pinning objects in the nursery
06:38 diakopter *smile* well alrighty then :)
06:39 nwc10 hangon, is the MoarVM nursery a semi-space copying thing?
06:40 jnthn yeah
06:40 nwc10 so you can't pin in there?
06:40 jnthn Well, the current NativeCall reprs hold the O(1) marshalled C memory at a level of indirection
06:40 jnthn And that is unmanaged by the GC
06:40 jnthn So if that's good enough we can punt on pinning. I can't think of another place that'll make us need it.
06:41 jnthn If we for some reason do, there's GC textbooks... ;)
06:41 nwc10 is that like "if all else fails, read the instructions" ?
06:41 jnthn Vaguely ;)
06:42 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 diakopter [of its own repr]
06:42 tomyan joined #moarvm
06:43 jnthn diakopter: That sounds...undesirable anyway ;)
06:43 jnthn Back after a nap...will backlog here properly then.
06:46 rurban joined #moarvm
07:08 JimmyZ joined #moarvm
07:20 tomyan_ joined #moarvm
07:25 JimmyZ joined #moarvm
07:35 Tene_ joined #moarvm
07:35 Tene_ joined #moarvm
07:36 __sri joined #moarvm
07:49 rurban joined #moarvm
07:54 JimmyZ joined #moarvm
08:21 tomyan joined #moarvm
08:27 flaviusb joined #moarvm
08:47 flaviusb joined #moarvm
08:54 rurban joined #moarvm
09:06 flaviusb joined #moarvm
09:26 flaviusb joined #moarvm
09:44 cognominal joined #moarvm
09:55 rurban joined #moarvm
10:12 woosley left #moarvm
10:57 rurban joined #moarvm
11:24 tgt joined #moarvm
12:02 rurban joined #moarvm
12:17 JimmyZ jnthn: ping
12:20 JimmyZ jnthn: Does setencoding second arg intends to be int in oplist? or should I chane it to str?
12:22 jnthn JimmyZ: pong
12:22 jnthn JimmyZ: It needs to be str if it's going to be used to directly implement the relevant nqp:: op
12:22 jnthn 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.
12:22 JimmyZ jnthn: thanks
12:23 jnthn Also:
12:23 jnthn +# XXX: should be
12:23 jnthn +# 0x83    attrinited          w(int16) r(obj) r(obj) r(str)
12:23 jnthn No, it should not be. That'd be contradictory with the entire rest of the op set... :)
12:24 JimmyZ jnthn: ok, thanks :)
12:24 jnthn The general principle is that operations are done at full width
12:24 JimmyZ so no int16? should to be int64?
12:24 jnthn The other sizes are there for storage primarily.
12:24 jnthn In that op, yes.
12:25 JimmyZ jnthn: so is in radix op?
12:26 jnthn yeah, the comment should go away there...
12:27 jnthn I musta missed that when reviewing the PR
12:28 jnthn The extend/trunc ops near the top of oplist are used to go between the sizes.
12:28 JimmyZ jnthn: thanks
12:29 jnthn But they really are intended for implementing e.g. my int16 $x; style things.
12:33 JimmyZ jnthn: https://gist.github.com/zhuomingliang/5743364 Does this make sense?
12:36 birdwindupbird joined #moarvm
12:36 jnthn if(!encoding_name_init) {
12:36 jnthn encoding_name_init   = 1;
12:36 jnthn Should set the flag *after* doing the initialization work or it's certainly a race condition if two threads hit this code.
12:37 jnthn Also, space between if and ( :)
12:38 JimmyZ jnthn: updated, plz take a look again
12:39 jnthn For bonus points, include the incorrect encoding name in the error message :)
12:47 JimmyZ jnthn: updated ;)
12:51 jnthn yay
12:52 JimmyZ could you merge my pull request so I can push a new request easily? :)
12:53 jnthn Which one?
12:53 diakopter jnthn: you didn't miss the comment, and neither did I before I merged it
12:54 diakopter 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...
12:56 JimmyZ jnthn: two, so I can revert something and push a new request easily without merge branch commits
12:57 jnthn JimmyZ: Well, but https://github.com/zhuomingliang/MoarVM/comm​it/72ec849ea553930d29779e38eba538fa1fb5a39f maps some ops it should not, so I don't really want to merge that.
12:58 JimmyZ jnthn: oh, I can close this one
12:59 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...
13:02 rurban joined #moarvm
13:11 JimmyZ yay, a new pull request
13:14 jnthn That looks better.
13:14 jnthn JimmyZ++
13:14 dalek MoarVM: 0ee506b | jimmy++ | src/ (4 files):
13:14 dalek MoarVM: Implement nqp::setencoding
13:14 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/0ee506b2cf
13:14 dalek MoarVM: 308e290 | jimmy++ | / (9 files):
13:14 dalek MoarVM: some fixes to setencoding
13:14 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/308e29098e
13:14 dalek MoarVM: 4190ebc | jonathan++ | / (9 files):
13:14 dalek MoarVM: Merge pull request #17 from zhuomingliang/patch-3
13:14 dalek MoarVM:
13:14 dalek MoarVM: Implement nqp::setencoding
13:14 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/4190ebc1f0
13:17 dalek MoarVM: 51dcc44 | jimmy++ | src/io/socketops.c:
13:17 dalek MoarVM: error msg improvement to socketops
13:17 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/51dcc4440e
13:17 dalek MoarVM: 4da8e37 | jonathan++ | src/io/socketops.c:
13:17 dalek MoarVM: Merge pull request #18 from zhuomingliang/patch-3
13:17 dalek MoarVM:
13:17 dalek MoarVM: error msg improvement to socketops
13:17 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/4da8e37cea
13:19 JimmyZ jnthn: if the op are using int64, should the function args also should be int64? for example: flag args in  MVM_radix
13:20 jnthn JimmyZ: That probably saves us some casts.
13:21 JimmyZ jnthn: ok, thanks, I will keep it in mind
13:21 JimmyZ ;)
13:37 vm joined #moarvm
13:42 diakopter I suspect my setencoding preceded nqp's
13:43 jnthn yes
13:44 jnthn 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 ;)
13:44 diakopter being wrong
13:46 jnthn No, not being able to see into the future is a common limitation ;)
13:53 diakopter gah
13:54 diakopter Also, I wasn't even trying to do that, merely make standins
13:59 lizmat joined #moarvm
14:03 rurban joined #moarvm
14:08 rurban joined #moarvm
15:41 dalek MoarVM: 535a9a2 | jimmy++ | src/io/fileops. (2 files):
15:41 dalek MoarVM: change return type of MVM_file_set_oshandle_encoding to void
15:41 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/535a9a2e48
15:41 dalek MoarVM: 03bee22 | jonathan++ | src/io/fileops. (2 files):
15:41 dalek MoarVM: Merge pull request #19 from zhuomingliang/patch-1
15:41 dalek MoarVM:
15:41 dalek MoarVM: change return type of MVM_file_set_oshandle_encoding to void
15:41 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/03bee22ff9
16:02 rurban joined #moarvm
16:04 tomyan joined #moarvm
16:05 rurban joined #moarvm
16:57 rurban joined #moarvm
17:13 tgt joined #moarvm
17:23 rurban joined #moarvm
17:51 tgt joined #moarvm
18:23 rurban joined #moarvm
18:25 rurban1 joined #moarvm
18:54 benabik joined #moarvm
19:05 Guest1337 joined #moarvm
19:24 tomyan joined #moarvm
20:05 mrallen1 joined #moarvm
20:10 tomyan joined #moarvm
20:38 dalek MoarVM: eb18d8e | jnthn++ | src/6model/reprs/MVMIter.c:
20:38 dalek MoarVM: Fix copy-pasto.
20:38 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/eb18d8e23e
21:10 Guest1337 joined #moarvm
21:18 lizmat joined #moarvm
22:08 tgt joined #moarvm
22:12 rurban joined #moarvm
22:57 tomyan joined #moarvm
22:59 dalek MoarVM: 88f5ea1 | (Chris 'BinGOs' Williams)++ | build/Config/BuildEnvironment.pm:
22:59 dalek MoarVM: Add build environment for FreeBSD
22:59 dalek MoarVM:
22:59 dalek MoarVM: Tested on FreeBSD 9.1 (i386) with both clang and gcc
22:59 dalek MoarVM:
23:00 dalek joined #moarvm
23:03 tomyan joined #moarvm
23:03 diakopter aww, poor dalek killed'd itself
23:34 rurban joined #moarvm
23:38 rurban joined #moarvm

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary