|
github.com/moarvm/moarvm | IRC logs at irclog.perlgeek.de/moarvm/today Set by moderator on 13 July 2013. |
|||
| dalek | arVM/dyncall: e1de106 | diakopter++ | / (4 files): avoid using recursive delete with wildcards |
00:17 | |
| arVM/dyncall: 5275a09 | diakopter++ | / (2 files): restore .gitignore add a done echo message |
00:25 | ||
| arVM/dyncall: cb0958e | diakopter++ | / (2 files): more removes |
00:42 | ||
| arVM/dyncall: 5f6d615 | diakopter++ | build/Makefile.in: fixes |
00:46 | ||
| diakopter | not done... still wip; still fixing; lemme fix it :) | 00:48 | |
|
01:44
FROGGS_ joined
|
|||
| diakopter | whee. :) | 02:54 | |
| ergh, how did I break apr | 02:57 | ||
|
03:04
colomon joined
|
|||
| dalek | arVM/dyncall: ca164e8 | diakopter++ | .gitignore: more gitignore |
03:12 | |
| arVM/dyncall: 1034afc | diakopter++ | .gitignore: another try |
03:15 | ||
| arVM/dyncall: 791ec58 | diakopter++ | / (2 files): more attempts |
03:22 | ||
| arVM/dyncall: 81a7219 | diakopter++ | build/Makefile.in: *sigh* more |
03:27 | ||
| arVM/dyncall: 9967163 | diakopter++ | build/Makefile.in: *double sigh* more |
03:37 | ||
| diakopter | *finally* | 03:42 | |
| now for mac os .... O_O | 03:43 | ||
| whoa; worked perfectly first try | 03:48 | ||
| oh yeah. | |||
|
03:57
crab2313 joined
|
|||
| dalek | arVM/dyncall: f3025f4 | diakopter++ | / (2 files): sort the .gitignore *sigh* make the root realclean also realclean the cross compiler (everything but nqp) |
04:05 | |
| arVM/dyncall: f35e1f0 | diakopter++ | build/ (3 files): try harder to have the Makefile delete itself on windows |
04:39 | ||
|
04:43
birdwindupbird joined
|
|||
| dalek | arVM/dyncall: 8e2bd4a | diakopter++ | build/Makefile.in: sigh. |
04:46 | |
| diakopter | there. | 04:49 | |
| finally ready to move on to *actually* *porting* | |||
|
06:18
FROGGS_ joined
|
|||
| diakopter | jnthn: ping | 06:48 | |
| FROGGS_ | gmorning diakopter | ||
| diakopter: looks like you made some progress with dyncall? | 06:49 | ||
| diakopter | .ask jnthn as soon as you have 3 min, could you tersely explain how to call a 6model method from an op | ||
| yoleaux | diakopter: I'll pass your message to jnthn. | ||
| diakopter | FROGGS_: yeah, seems good now | ||
| getting buried in the actual porting now :D | |||
| FROGGS_ | diakopter: so it builds? I guess you need to glue it to moarvm now, right? | 06:50 | |
| diakopter | yeah | ||
| seems to build/link fine for me on win64, linux64, mac64 | |||
| FROGGS_ | that is awesome | 06:51 | |
| diakopter | now to figure out where jnthn hid the invoke-bytecode-from-C example.. | 06:53 | |
| was it..... | 06:54 | ||
| something to do with MVMIter? | |||
| FROGGS_ | I have no idea | ||
| diakopter | FROGGS_: do you have time to go through my p5interop scheme? (google doc?) | 06:56 | |
| (at least an hour) | |||
| FROGGS_ | ohh, I am at work right now | ||
| diakopter | nooooooooooooooo | ||
| FROGGS_ | I can read through it, though | 06:57 | |
| but an 1-hour intense chat is not that possible :o) | |||
| dalek | arVM/dyncall: bb63d6a | diakopter++ | src/6model/reprs.h: prep dyncall reprs |
07:25 | |
| diakopter officially complains that an 'of' method on NativeCall types is overkill; would a simple attribute do? | 07:36 | ||
| FROGGS_: I remembered where it was ... boolification | 07:37 | ||
| diakopter decides to make a generic callback mechanism (simply generalizing BoolMethReturnData slightly) | 07:46 | ||
| ergh; well that won't do | 07:47 | ||
| *sigh* the "sane" (read: "lazy") solution is good ol' CPS-ish thingies | 07:48 | ||
| I mean, it's ok for boolification b/c it's only ever called directly from the interpreter. | 07:49 | ||
| sorear | is moarvm stackless? | 07:50 | |
| diakopter | as stackless as perl5 | 07:51 | |
| but here we have the repr op ->allocate invoking a 6model method ("of") on the type object... and allocate can be called from any depth of nested C calls | 07:52 | ||
| sorear | perl5 has call_sv though | 07:53 | |
| diakopter | yeah, but it still recurses in the C callstack | 07:56 | |
| (jnthn's hope was to avoid such a thing) | 07:57 | ||
| sorear | sleep& | 08:01 | |
| diakopter | hrm. | 08:06 | |
| jnthn: u around? | |||
|
09:00
crab2313 joined
|
|||
| diakopter | whoa; found super-cheap flight to Kiev | 09:28 | |
| FROGGS_ | cool | 09:29 | |
| diakopter | $2078 for 3 legs (SFO->JFK->CDG->KBP), A/C power in the seat the entire way | 09:41 | |
| Virgin America & Air France | |||
| tadzik | 3 legs?? I thought "extra leg room" is just for tall people | 09:43 | |
| diakopter | o)o | 09:44 | |
| arnsholt | diakopter: Gimme a prod if you have NativeCall related questions, BTW | 09:58 | |
| diakopter | arnsholt: hi | 10:02 | |
| 'of' method called from fill_repr_data (called from allocate) | |||
| arnsholt | Which REPR? | 10:03 | |
| But that's the API for things like Positional, which might be why jnthn went for that option | 10:04 | ||
| diakopter | CArray | 10:07 | |
| arnsholt: well what I'm wondering is if it's okay to run the 'of' method sometime other than first-run of allocate | |||
| (like, during compose) | |||
| arnsholt | Compose is probably a better time, I agree | 10:08 | |
| That code dates to before we actually had a compose step | |||
| diakopter | ahhh | 10:10 | |
| arnsholt | Heck, that information might be more appropriately passed via the data sent in on compose anyways | 10:11 | |
| diakopter | okay, I'll tentatively do that, since compose is always [hopefully!?!] called from only the interpreter, we can make it a possibly-non-local-returning op | ||
| arnsholt | Which'll kill of the method call entirely | ||
| Sounds like a good refactor to me | |||
| diakopter | photoshop doesn't want to open my 15k x 15k pixel jpeg, but Paint.NET will...! | 10:12 | |
| arnsholt | Hooray for Paint.NET then =) | 10:13 | |
| I suspect Gimp would open it as well, but then you'd have to use Gimp =) | |||
| dalek | arVM: 0521916 | (Tobias Leich)++ | / (4 files): added nqp::tonum_I |
||
| diakopter | it's vastly cheaper to fly to Kiev through europe than through japan/china/korea from US west coast | 10:18 | |
| *nothing* seems to fly across siberia...... they all fly south through the middle east | |||
| tadzik | weird | 10:20 | |
|
10:56
cognominal joined
10:57
lizmat joined
11:00
cognominal joined
11:05
colomon joined
|
|||
| dalek | arVM: be78091 | (Tobias Leich)++ | src/core/interp.c: correct pointer type, filences warning |
11:21 | |
| Heuristic branch merge: pushed 57 commits to MoarVM/dyncall by diakopter | 11:45 | ||
| diakopter | FROGGS_: would you mind testing the dyncall branch? | ||
| (just pushed) | 11:46 | ||
| well, I thought I did. dalek? | |||
| tadzik | 1345 dalek | Heuristic branch merge: pushed 57 commits to MoarVM/dyncall by diakopter | 11:49 | |
| looks pushed | |||
| FROGGS_ | diakopter: should I just build it? | 11:58 | |
| diakopter | I guess | 12:00 | |
| FROGGS_ | diakopter: looks good | 12:01 | |
| builds fine, and there are no related warnings | 12:02 | ||
| diakopter | FROGGS_: awesome, thanks | 12:07 | |
| dalek | Heuristic branch merge: pushed 35 commits to MoarVM/dyncall by diakopter | 12:09 | |
| diakopter | sigh. | ||
| it kept duplicating commits. | |||
| git gui fail-- | |||
|
13:13
colomon joined
14:52
benabik joined
15:18
colomon joined
|
|||
| dalek | arVM: 0cbee1f | (Tobias Leich)++ | / (4 files): added and mapped nqp::fromnum_I |
16:41 | |
|
17:04
FROGGS joined
17:23
colomon joined
18:07
ggoebel joined
19:14
colomon joined
|
|||
| dalek | arVM: 674b15f | (Tobias Leich)++ | / (4 files): added and mapped nqp::base_I |
19:29 | |
| diakopter | jnthn: ahoy | 19:46 | |
| jnthn | o/ | ||
| diakopter | jnthn: did you see my conversation above with arne | 19:47 | |
| jnthn | no | ||
| Didn't backlog here yet | |||
| diakopter | it's short | ||
| :) | |||
| jnthn | < diakopter> 'of' method called from fill_repr_data (called from allocate) | 19:48 | |
| ..that sounds wrong. It should be done with compose_repr these days passing the data that is needed to repr compose. | |||
| Not method calls from the REPR itself. | |||
| diakopter | :D | 19:50 | |
| (keep reading?) | |||
| I was just talking about how it's done in nqp on parrot | |||
| jnthn | Yeah, we could get away with it there. :) | 19:52 | |
| But ther'es no reason for it to keep being done that way there either. | |||
| jnthn can probably look into fixing that so it's an easier port. | 19:53 | ||
| I guess CStruct is already doing things the Right Way | |||
| diakopter | oh. | ||
| k | |||
| jnthn | You don't know where allocate will be called from in general, so there's no way to do the CPS thing. | ||
| You gotta know you'll wind up back in the interp. | |||
| diakopter | that's what I was saying | ||
| jnthn | Yeah. | 19:54 | |
| ooh, not long until copenhagen... | |||
| diakopter | what's copenhagen | 19:57 | |
| FROGGS | Copenhagen (IPA /ĖkoŹpÉnheÉŖÉ”Én/ or /ĖkoŹpÉnhÉĖÉ”Én/; Danish: KĆøbenhavn [kʰøbĢ„mĢ©ĖhÉŹĢÆĖn] (About this sound listen)) is the capital of Denmark and its most populous city, with an urban population of 1,230,728 and a metropolitan population of 1,954,411 (as of 1 April 2013). Copenhagen is situated on the eastern coast of Zealand and stretches across part of Amager. A number of bridges and tunnels connect the parts of the | 19:58 | |
| city together, and the cityscape is characterized by promenades and waterfronts. | |||
| jnthn | Right. :) | 19:59 | |
| Then I will hopefully nom something, then continue on home :) | |||
| FROGGS | and denmark is in the middle of the triangle britain-germany-sweden | ||
| nom++ | |||
| jnthn | yeah, a little hungry :) | 20:02 | |
| diakopter | FROGGS: I meant what's at Copenhagen | 20:10 | |
| FROGGS | diakopter: ahh | 20:11 | |
| well, people and houses and streets I guess | |||
| but I dont know what jnthn is up to :o) | |||
| dalek | arVM: 3df7ed7 | (Tobias Leich)++ | / (8 files): added and mapped div_In |
20:13 | |
| diakopter | FROGGS: :) | 20:14 | |
|
20:19
colomon joined
20:20
d4l3k_ joined
|
|||
| diakopter | arnsholt: how excited are you about helping me port the dyncall stuff | 20:21 | |
|
20:26
donaldh joined
|
|||
| arnsholt | diakopter: I could probably pitch in | 21:06 | |
| I'm also working on the JVM side of this, so my tuit supply is somewhat limited, but the two tasks aren't entirely unrelated I think =) | |||
| diakopter | arnsholt: well dyncall is building/linking fine, so.. | 21:08 | |
| there you go! :) | |||
| arnsholt | ^_^ | ||
| One thing you might find relevant from my JVM work is that I'm working on adding a few tests to the NQP testsuite to exercise the NativeCall functionality | 21:09 | ||
| diakopter | are you using JNI or something else? | ||
| arnsholt | JNA | 21:10 | |
| diakopter | JNA? | ||
| arnsholt | That way I can get away with only writing Java (and NQP/JVM doesn't have to sprout C code) | ||
| diakopter | oh ok. | 21:11 | |
| arnsholt | It's a pretty clever wrapper around libffi | ||
| diakopter | cool | ||
| arnsholt | With quite a bit of functionality similar to NativeCall actually, although I'll probably end up not using much of that | ||
| diakopter | who's this Wall person | ||
| arnsholt | That's a good question =) | 21:12 | |
| FROGGS | he's always so negative... .oO( gcc -Wall ) | 21:13 | |
| dalek | arVM: 9253005 | (Tobias Leich)++ | src/ (5 files): silence warnings |
21:15 | |
| arnsholt | diakopter: At any rate, I wouldn't min helping out. It's a good chance to get into MoarVM | 21:20 | |
| Two questions before I head bedwards: What's the state of things ATM, and what's your general plan for the | 21:21 | ||
| *time being (premature CRLF) | |||
| dalek | arVM: 0a6c88d | (Tobias Leich)++ | / (4 files): added and mapped nqp::rand_I |
21:36 | |
| arVM: bf5aacc | (Tobias Leich)++ | / (3 files): added and mapped nqp::isprime_I |
21:47 | ||
| arVM: f5b724c | (Tobias Leich)++ | src/core/interp.c: hotfix for isprime_I, write to the correct register |
21:55 | ||
| FROGGS | jnthn: is that hard to do? "Method new_type not found in cache, and late-bound dispatch NYI" | 21:57 | |
| diakopter | FROGGS: I've never known (or asked, really) what late-bound dispatch will look like | 21:59 | |
| new_type should be implemented if it's not | |||
| jnthn | Maybe just a missing method cache setup somewhere...I'd have to see the way it's coming up | ||
| FROGGS | my $bi_boxer := NQPClassHOW.new_type(:name('TestPerl6Int'), :repr('P6opaque')); | 22:00 | |
| NQPClassHOW has a method new_type | |||
| this works fwiw: my $knowhow := nqp::knowhow(); my $bi_type := $knowhow.new_type(:name('TestBigInt'), :repr('P6bigint')); | 22:01 | ||
| diakopter | NQPClassHOW might not be found correctly | 22:02 | |
| FROGGS | ahhh | 22:05 | |
| diakopter++ | |||
| you might be right, I had to coment out 'use nqpmo' | |||
| so I just need to get that working... | 22:06 | ||
| I guess I can do that | |||
| jnthn | try "use nqp-mo" maybe | ||
| FROGGS | hmm, why does that work? | ||
| diakopter | b/c that's what it's called here? :) | 22:07 | |
| jnthn | I think 'cus it ended up with a different name somehow...d'oh... | ||
| Can consistentize it when getting the code into the nqp repo proper, after bootstrap. | |||
| FROGGS | so I shouldnt change it now? | 22:08 | |
| jnthn | no, leave it for now | ||
| FROGGS | k, I'll just XXX the test file | ||
| thanks diakopter++ and jnthn++ | 22:09 | ||
| diakopter tries to think of "distinctives" for the top of my resume | 22:21 | ||
|
23:17
cognominal joined
|
|||