Camelia, the Perl 6 bug

IRC log for #moarvm, 2013-08-26

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

All times shown according to UTC.

Time Nick Message
00:01 diakopter argh, annoying
00:11 dalek MoarVM/tinymt: 90ff4a4 | (Gerhard R)++ | / (12 files):
00:11 dalek MoarVM/tinymt: Import TinyMT and use it for random number generation
00:11 dalek MoarVM/tinymt: review: https://github.com/MoarVM/MoarVM/commit/90ff4a4c5b
00:13 dalek MoarVM/serialize: 661f1cd | diakopter++ | src/6model/serialization.c:
00:13 dalek MoarVM/serialize: lil bit of progress
00:13 dalek MoarVM/serialize: review: https://github.com/MoarVM/MoarVM/commit/661f1cdf08
00:22 diakopter not_gerd: I can't remember.. did you import dyncall? feel free to kill my dyncall branch..
00:23 not_gerd diakopter: I had a branch that integrated dyncall, libuv, linenoise
00:23 not_gerd I guess it's still in my fork
00:23 not_gerd it's out of date, though
00:24 not_gerd I think dyncall integration can wait until we have our other ducks in a row
00:26 diakopter not_gerd: it's [sortof] a dependency of my p5interop project, as it'll be an extension, and I was planning to use a bit of the loading/resolution resolution features.
00:26 diakopter 'course, could use libuv's facility for that until then...
00:29 not_gerd if it's a blocker, I can get it into master
00:29 diakopter I'm curious to see what we've changed in the exported copy in nqp from upstream
00:29 diakopter could you diff from that import?
00:29 diakopter or the latest sync?
00:29 diakopter in the nqp repo
00:30 diakopter I think we "fixed" a few things, but I dunno if they made it upstream
00:30 diakopter b/c I'm curious if we need to update that too
00:30 not_gerd well, I did some build system stuff and sent a bug report
00:30 not_gerd no idea what became of that
00:31 diakopter I'm thinking of the other patches jnthn&crew made in the copy in nqp repo
00:31 diakopter (I'm wondering if we still need them)
00:41 not_gerd I don't see anything that stands out particularly in the diff
00:41 not_gerd if we started from a clean import, upping the warning levels would probably lead to doing the same fixes again ;)
00:41 diakopter oh
00:41 diakopter has upstream changed much since then?
00:42 not_gerd don't think so
00:42 not_gerd build system stuff, mostly
00:46 diakopter not_gerd++ # doing the tiresome work nobody else wants to do
00:46 diakopter hmm, well, this is a problem
00:49 diakopter the context serialization stuff needs to be able to allocate a new MVMContext......
00:49 diakopter OR
00:50 diakopter I can fake it and allocate just 1 at the beginning and re-use it as a temp.
00:50 diakopter or just pass around MVMFrames only
00:50 diakopter and essentially reimplement the MVMContext repr stuff
00:50 diakopter bah.
00:51 diakopter bah, probably should do the latter since it's closer to what the jvm backend does
00:51 diakopter bbiab
01:10 dalek MoarVM/dyncall2: e00b95e | (Gerhard R)++ | 3rdparty/dyncall/ (317 files):
01:10 dalek MoarVM/dyncall2: Import dyncall 0.7 from gerdr/integration
01:10 dalek MoarVM/dyncall2: review: https://github.com/MoarVM/MoarVM/commit/e00b95e226
01:10 dalek MoarVM/dyncall2: 19345a2 | (Gerhard R)++ | build/ (3 files):
01:10 dalek MoarVM/dyncall2: Wire up dyncall build
01:10 dalek MoarVM/dyncall2: review: https://github.com/MoarVM/MoarVM/commit/19345a26a8
01:13 not_gerd good night
01:13 not_gerd o/
01:13 not_gerd left #moarvm
01:35 colomon joined #moarvm
02:18 benabik joined #moarvm
02:34 diakopter .tell not_gerd awesome!
02:34 yoleaux diakopter: I'll pass your message to not_gerd.
02:35 diakopter .ask arnsholt dyncall is now compiling in the dyncall2 branch.. want to stub in the dyncall reprs and ops?
02:35 yoleaux diakopter: I'll pass your message to arnsholt.
02:37 dalek MoarVM/dyncall1: 7bf57e1 | jimmy++ | / (2 files):
02:37 dalek MoarVM/dyncall1: Add dyncall as submodule
02:37 dalek MoarVM/dyncall1: review: https://github.com/MoarVM/MoarVM/commit/7bf57e1f66
02:37 dalek MoarVM/dyncall1: cbaa529 | (Gerhard R)++ | build/ (3 files):
02:37 dalek MoarVM/dyncall1: Wire up dyncall build
02:37 dalek MoarVM/dyncall1: review: https://github.com/MoarVM/MoarVM/commit/cbaa5291b3
02:38 JimmyZ .tell diakopter I added dyncall as submodule in dyncall1 branch
02:38 yoleaux JimmyZ: I'll pass your message to diakopter.
02:39 JimmyZ .tell not_gerd I added dyncall as submodule in dyncall1 branch
02:39 yoleaux JimmyZ: I'll pass your message to not_gerd.
02:39 JimmyZ I have got mirror of dyncall into https://github.com/zhuomingliang/dyncall
03:19 dalek MoarVM/libuv5: 811b455 | jimmy++ | / (4 files):
03:19 dalek MoarVM/libuv5: fixed socket tests
03:19 dalek MoarVM/libuv5: review: https://github.com/MoarVM/MoarVM/commit/811b455e66
05:32 JimmyZ hmm, the sockect test is not easily fixed, I got a libuv bug which was reported a years ago. see https://github.com/joyent/libuv/issues/444
05:35 JimmyZ if we can ignore the socket test, then the branch can be merged into master. I think the socket part will be redesigned by someone after runing rakudo
05:38 dalek MoarVM/libuv5: ea819fe | jimmy++ | nqp-cc/t/moar/socket_send_recv.t:
05:38 dalek MoarVM/libuv5: added a comment to socket_send_recv.t
05:38 dalek MoarVM/libuv5: review: https://github.com/MoarVM/MoarVM/commit/ea819fe423
06:30 dalek MoarVM: 2c21560 | (Gerhard R)++ | / (2 files):
06:30 dalek MoarVM: Don't link 3rdparty libs twice when doing a shared build
06:30 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/2c2156070c
06:33 JimmyZ not_gerd: you're hardworking
06:34 FROGGS joined #moarvm
06:37 JimmyZ not_gerd: I got some warnings when linking moarvm.dll and linking moarvm.exe
06:37 FROGGS morning
06:38 JimmyZ morning, FROGGS
06:50 JimmyZ .tell not_gerd Do you know why --shared link libmoarvm.so is 2.7M and no --shared link moarvm.exe is only 2.0M?
06:50 yoleaux JimmyZ: I'll pass your message to not_gerd.
07:05 JimmyZ .tell not_gerd but on windows the --shared link moarvm.dll is the same 2.26M as no -shared link moarvm.exe
07:05 yoleaux JimmyZ: I'll pass your message to not_gerd.
07:13 not_gerd joined #moarvm
07:13 not_gerd o/
07:13 yoleaux 02:34Z <diakopter> not_gerd: awesome!
07:13 yoleaux 02:39Z <JimmyZ> not_gerd: I added dyncall as submodule in dyncall1 branch
07:13 yoleaux 06:50Z <JimmyZ> not_gerd: Do you know why --shared link libmoarvm.so is 2.7M and no --shared link moarvm.exe is only 2.0M?
07:13 yoleaux 07:05Z <JimmyZ> not_gerd: but on windows the --shared link moarvm.dll is the same 2.26M as no -shared link moarvm.exe
07:13 not_gerd JimmyZ: you need to do a `make realclean` after switching between static and shared builds
07:14 not_gerd oh...
07:14 not_gerd I misunderstood
07:15 not_gerd linking statically means the linker can remove unused code
07:16 not_gerd also, DLLs come with some overhead as they need to do some bookkeeping
07:16 JimmyZ not_gerd: well, on windows they are the same 2.26M, but on linux not the same
07:16 not_gerd JimmyZ: might be because on linux, we generate different code via -fPIC
07:16 JimmyZ .so is about 0.7M bigger than moarvm.exe
07:18 not_gerd JimmyZ: did you try the noapr branch yet?
07:18 JimmyZ not_gerd: I removed PIC, same 2.7M
07:18 not_gerd no idea, then
07:20 JimmyZ not_gerd: are you fine to remove dyncall2 branch?
07:20 JimmyZ I got a dyncall mirror ;)
07:25 not_gerd JimmyZ: go ahead
07:26 not_gerd I thought we might need to pull apart the dyncall build so we can build position-independant code as needed
07:26 not_gerd if I read configure2 correctly, dyncall always compiles position-independent
07:27 not_gerd so it should work out right
07:31 JimmyZ not_gerd: I got a diff https://gist.github.com/zhuo​mingliang/6338854/revisions
07:31 JimmyZ for --shared makefile and --noshared
07:35 not_gerd looks right to me
07:37 dalek MoarVM/noapr: 811b455 | jimmy++ | / (4 files):
07:37 dalek MoarVM/noapr: fixed socket tests
07:37 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/811b455e66
07:37 dalek MoarVM/noapr: ea819fe | jimmy++ | nqp-cc/t/moar/socket_send_recv.t:
07:37 dalek MoarVM/noapr: added a comment to socket_send_recv.t
07:37 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/ea819fe423
07:37 dalek MoarVM/noapr: 65feab8 | (Gerhard R)++ | / (4 files):
07:37 dalek MoarVM/noapr: Merge branch 'libuv5' into noapr
07:37 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/65feab8323
07:41 JimmyZ not_gerd: Did jnthn +1 to tinyMT ?
07:41 not_gerd JimmyZ: no, not yet
07:41 not_gerd also, I'll need the ok/no-go on stdtypes
07:42 JimmyZ so don't merge to noapr, though noapr can't build due to lack random :)
07:43 not_gerd right now, I can't build noapr at all
07:43 not_gerd removing APR messed with the winapi headers
07:43 not_gerd I get redeclarations for winsock stuff
07:44 JimmyZ er
07:44 JimmyZ the .so is bigger is weird
08:05 dalek MoarVM/noapr: c6107fb | (Gerhard R)++ | build/setup.pm:
08:05 dalek MoarVM/noapr: Pass flags for compiling shareable objects down to APR
08:05 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/c6107fbec6
08:05 dalek MoarVM/noapr: 62ed85a | (Gerhard R)++ | build/ (2 files):
08:05 dalek MoarVM/noapr: Add . to library search path
08:06 dalek joined #moarvm
08:06 dalek MoarVM/libuv5: 3df9b42 | (Gerhard R)++ | src/moarvm.h:
08:06 dalek MoarVM/libuv5: Reorder headers so winsock2.h precedes windows.h
08:06 dalek MoarVM/libuv5: review: https://github.com/MoarVM/MoarVM/commit/3df9b42f3d
08:07 benabik joined #moarvm
08:13 dalek MoarVM/noapr: 300ed79 | (Gerhard R)++ | src/io/procops.c:
08:13 dalek MoarVM/noapr: Fake random numbers for now
08:13 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/300ed79267
08:13 dalek MoarVM/noapr: d93006b | (Gerhard R)++ | 3rdparty/apr/ (464 files):
08:13 dalek MoarVM/noapr: Remove 3rdparty/apr
08:13 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/d93006b0b7
08:20 not_gerd JimmyZ: you can now work with noapr instead of libuv5
08:21 FROGGS ETOOMANYBRANCHES
08:21 not_gerd just a dozen
08:21 not_gerd not even a baker's one
08:23 JimmyZ not_gerd: I have done all the work
08:23 JimmyZ except redesign socket part...
08:26 JimmyZ I got a question: Do we need rand_i and rand_n
08:27 not_gerd yes - I don't think we can get awy with just removing them ;)
08:28 FROGGS rakudo uses rand_n and rand_I from what I can see
08:28 JimmyZ yes
08:28 JimmyZ I see it
08:28 JimmyZ but no rand_i
08:29 FROGGS correct
08:29 FROGGS and there is no rand_i in nqp
08:29 JimmyZ so We don't need rand_i in MoarVM
08:30 FROGGS looks like
08:30 not_gerd I'd vote for keeping it
08:30 not_gerd we don't expose it to users *yet*
08:30 not_gerd the functionality is useful
08:31 JimmyZ is useful for who?
08:32 not_gerd I'm sure there are people who want to generate random integers reasonably fast
08:32 not_gerd also, we need to support rand_n anyway
08:32 not_gerd if we use TinyMT, we get  the other one for free
08:32 JimmyZ pull a request when they need it ,or then can write bye themself
08:33 not_gerd JimmyZ: but it' no effort on our part to support it
08:33 not_gerd it would be more effort to remove it
08:35 JimmyZ that makes me think about parrot :P
08:37 JimmyZ but yes, rand_i is useful, if rakudo wants it
08:38 JimmyZ I'm not care other users which is not existed
08:44 JimmyZ It'll be good to s/rand_i/rand_I/ ? :-)
08:45 JimmyZ rakudo needs rand_I
08:46 not_gerd I'd argue that in many cases where we use rand_I right now, rand_i would be the better choice
08:46 not_gerd think about pick() or something
08:47 not_gerd lists will never grow so large that you need bigints to index them
08:48 JimmyZ I think it's about perl6 spec
08:48 JimmyZ not sure
08:48 * timotimo read somewhere that for integer randomness you have to be extra careful not to mess up the distribution of numbers generated
08:48 timotimo as in: just using a modulo on the randomness will give you screwed distributions
08:48 JimmyZ but yes, I like rand_i more than rand_I
08:49 JimmyZ rand_I is using rand()
08:50 timotimo why not rand_r?
08:50 timotimo oh, that's obsolete
08:53 JimmyZ oh, compiling MoarVM is much faster in noapr, not_gerd++
08:54 not_gerd masak++ for getting rid of apr_atomic
08:54 JimmyZ hmm, libmoarvm.so is still 2.7M without apr
08:55 moritz how much was it with apr?
08:55 JimmyZ 2.7M
08:56 donaldh joined #moarvm
08:57 JimmyZ if we ignore rand and socket test, we can merge it :P
08:58 JimmyZ well, these two are only needed for rakudo
08:58 timotimo since the current target is self-hosting nqp, i suppose it doesn't have to work instantly, eh?
08:59 JimmyZ yes, if jnthn++ give a +1 to merge
09:04 not_gerd JimmyZ: so the dll size did not decrease at all?
09:04 not_gerd that's.... curious
09:05 JimmyZ not_gerd: not
09:10 not_gerd my last commit 2c21560 may be wrong
09:12 not_gerd nope, seems to work as expected on windows
09:13 JimmyZ moarvm.dll size is 2338KB on master and 2417KB on noapr :)
09:14 not_gerd how does that work oO
09:16 not_gerd oh, because we're now linking in libuv
09:16 moritz was apr dynamically linked?
09:16 not_gerd moritz: no
09:16 not_gerd JimmyZ: could you compare libuv5 and noapr?
09:16 JimmyZ and on linux, .so is still bigger :(
09:17 grondilu_ joined #moarvm
09:21 JimmyZ not_gerd: libuv5 is 2417KB
09:21 not_gerd exactly the same sizes?
09:22 JimmyZ yes
09:23 not_gerd perhaps the linker already threw out all the APR code we did not use
09:23 not_gerd or something is really wrong ;)
09:25 not_gerd well, on --shared --optimize I get 2445312 for noapr and 2445824 for libuv5
09:25 not_gerd a whopping 512 bytes
09:27 JimmyZ the really weird is about on linux, the .so file :)
09:29 not_gerd master is only 2365440
09:30 timotimo not sure if commit id or file size :P
09:30 not_gerd size of optimized moarvm.dll
09:30 not_gerd feel free if there's any codebase world-wide that has that commit id ;)
09:34 JimmyZ Let's vote, who are +1 to merge noapr into master :P
09:35 * BabsSeed stays silent, unsure. :D
09:54 colomon joined #moarvm
09:54 masak what are the downsides of merging noapr into master?
09:54 timotimo sockets go missing
09:54 masak a few breaking tests?
09:54 masak ah, yes.
09:54 timotimo and rand
09:54 masak then that's a legitimate reason to hold, methinks.
09:55 masak right.
09:55 masak prefer to keep master working.
09:55 masak so -1
09:55 not_gerd masak: keep in mind that we don't really have users to keep happy yet
09:56 not_gerd failing tests in master might motivate someone to fix them ;)
09:56 JimmyZ or mark test tot TOTO if you're happy that
09:56 JimmyZ *to
09:57 masak there's something to be said for establishing sensible workflows early, though.
09:57 masak and I don't like workflows involving the phrases "we don't really have users" and "just mark the previously working tests as TODO".
09:57 JimmyZ socket is low priority
09:58 JimmyZ the good thing for merging it avoid merge conflict
09:58 JimmyZ with time ... master added new things, which will be a conflict to noapr
09:58 timotimo masak: "TODO: nom regression"
09:58 timotimo :3
09:59 masak timotimo: :(
09:59 JimmyZ TODO: noapr regression :)
09:59 masak timotimo: people optimistically promised that that wouldn't happen. it did.
09:59 nwc10 I think that you shouldn't merge it until jnthn says yes
09:59 nwc10 and that really a solution for rand should also happen first
10:00 masak timotimo: and if you don't think that erodes the confidence of users, then exhibit A: chromatic.
10:00 nwc10 and both of those are possible within 24 hours
10:00 JimmyZ rand is only need after got rakudo running on moarvm
10:00 JimmyZ methinks
10:00 nwc10 does removing it right now make tests fail?
10:00 masak regardless, putting the current blockers and TODOs down in written form somewhere would be a good thing.
10:01 nwc10 good point. why didn't I think of that
10:01 not_gerd masak: it's not gone, just returns 42 on every invocation
10:01 nwc10 oh, is there an upstream fix in libuv for that socket bug? Or just a report?
10:01 not_gerd that'S a totally valid random seuqence
10:02 JimmyZ nwc10: it's fixed for posix, but not for windows
10:02 masak not_gerd: that's a totally *cromulent* random sequence. :)
10:03 JimmyZ the other thing is that, socket part needs redesign for async io
10:03 JimmyZ so mark TODO is not bad
10:04 * JimmyZ decommutes
10:05 not_gerd (strawberry perl|mingw)--
10:05 not_gerd no LPOVERLAPPED_ENTRY
10:08 grondilu joined #moarvm
10:13 not_gerd hm..
10:13 not_gerd libuv appears to use Vista API
10:15 not_gerd \o/
10:15 not_gerd first moarvm built on mingw
10:31 nwc10 not_gerd: which implies that it won't work on XP? Is that a problem for the next 8 months?
10:36 donaldh joined #moarvm
10:49 not_gerd well, reportedly xp still has a big install base
10:49 not_gerd the question is, do we care about these people
10:50 FROGGS I'd say yes
10:51 not_gerd uv.gyp: _WIN32_WINNT=0x0600
10:54 flussence make it work, but only if it's not unreasonable extra effort
10:56 not_gerd flussence: we might have to hack libuv
10:57 not_gerd we don't build with strawberry perl right now brcause the bundled mingw version is too old
10:57 flussence well then look at it the other way, no point making it work unless people start complaining :)
10:59 flussence (and I'd guess at least one of jvm/parrot runs on XP, so it's not a total loss for any such users)
11:00 not_gerd actually, I might be wrong there
11:00 * not_gerd tries again to get strawberry-perl to work
11:02 JimmyZ Good evening
11:05 not_gerd now, it actually compiled
11:07 JimmyZ good
11:30 JimmyZ cd
11:33 JimmyZ not_gerd: error while loading shared libraries: libmoarvm.so: cannot open shared object file: No such file or directory
11:33 JimmyZ when make nqptest
11:35 donaldh joined #moarvm
11:38 not_gerd JimmyZ: you'll probably need to set LD_LIBRARY_PATH
11:41 JimmyZ :(
11:41 not_gerd JimmyZ: we don't compile-in path information yet
11:41 JimmyZ oh
11:42 not_gerd we'll probably ask someone who is more firm in their *nix knowledge what the most appropriate approach is
11:42 not_gerd * have to ask
11:42 JimmyZ ok :-)
11:43 JimmyZ hmm, make nqptest  hangup
11:44 JimmyZ in noapr branch
11:44 JimmyZ not sure master
11:51 woolfy joined #moarvm
11:56 not_gerd JimmyZ: hangs here as well
11:56 not_gerd 60-bigint.t nqp::expmod_I test
12:03 JimmyZ_ joined #moarvm
12:04 JimmyZ_ not_gerd: hangs here from 01 test :(
12:13 not_gerd hm...
12:13 not_gerd the string failures look like an off-by-one somewhere
12:14 not_gerd (perhaps not)
12:14 * not_gerd pokes random stuff
12:20 jnap joined #moarvm
12:21 not_gerd hm...
12:22 not_gerd do we have a canonical empty string somewhere?
12:22 not_gerd guesses tc->instance->str_consts->empty
12:46 ggoebel joined #moarvm
13:10 colomon joined #moarvm
13:15 JimmyZ_ another work: port CStruct/CArrray to MoarVM
13:23 nwc10 not_gerd: rpath. You steal the logic from how Perl 5 does it already -)
13:23 nwc10 but, if the plan is to have a libmoar.so (or equivalent) I think that the testing setup needs to be done a bit better than Perl 5 does it
13:24 nwc10 else you with hit problems (in the future) that we've hit with Perl 5
13:24 nwc10 where the perl binary thinks that it wants to load a libperl.so
13:24 nwc10 and you're testing the perl binary locally, so you have to use LD_LIBRARY_PATH etc to force it to load the *un*installed library
13:25 nwc10 which messes up anything in your installed toolchain written in perl
13:25 JimmyZ_ oh, I'd like to s/moarvm.exe/moar.exe/
13:25 not_gerd that sounds... unfortunate
13:25 not_gerd (re nwc10)
13:26 JimmyZ_ moar.exe hello.moar
13:29 nwc10 it is. I think it comes from conflating the design - is one testing an executable, or a library?
13:31 JimmyZ_ parrot had the problem, and finally got installable_parrot :/
13:35 moritz ... which wasn't relocatable, which caused huge problems
13:35 moritz so don't steal parrot's "design"
13:37 nwc10 oh yes. you really ought to be testing the thing that you install
13:38 nwc10 you can't go "relocatable" everywhere. Not every OS give you quite enough information
13:58 moritz you can go relocatable much more than parrot did :-)
13:59 nwc10 yes, Win32, Linux, most *BSDs, Solaris, OS X can all tell you the full path of the current executable
14:00 nwc10 I don't think that it's possible for AIX or HP-UP (at least, as not-root)
14:00 nwc10 er, HP-UX
14:16 JimmyZ_ diakopter: ping
14:18 donaldh joined #moarvm
14:31 dalek MoarVM: 80dc8cd | (Gerhard R)++ | src/strings/ops.c:
14:31 dalek MoarVM: Some fixes to string ops to make t/nqp/59-nqpop.t pass
14:31 dalek MoarVM:
14:31 dalek MoarVM: Note that NQP/Parrot, NQP/JVM and NQP/MoarVM all
14:31 dalek MoarVM: disagree on how nqp::substr() should behave.
14:31 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/80dc8cd19e
14:35 benabik joined #moarvm
14:38 * JimmyZ_ wonders how 59-nqpop.t passed before
14:40 JimmyZ_ not_gerd: have a interest in CStruct.c ;)
14:40 JimmyZ_ ?
14:41 * JimmyZ_ still doesn't know how to cover Parrot_pcc_invoke_from_sig_object to MoarVM
14:42 dalek MoarVM: a1f8b1e | (Gerhard R)++ | src/strings/ops.c:
14:42 dalek MoarVM: Add some missing parens
14:42 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/a1f8b1e8ac
14:42 JimmyZ_ *convert
14:43 JimmyZ_ not_gerd: I don't know why it needs parens
14:44 not_gerd JimmyZ_: doesn't need them
14:44 not_gerd coding style
14:46 lizmat joined #moarvm
14:47 JimmyZ_ oh, I'm ask cause start_pos = ... no parens   ;)
14:49 not_gerd oh, well...
14:49 not_gerd they should be there ;)
14:49 JimmyZ_ hehe
14:50 not_gerd quick vore: parens or no parens?
14:50 not_gerd *vote
14:50 JimmyZ_ no parens, I'd vote
14:52 dalek MoarVM: b5086c3 | (Gerhard R)++ | src/strings/ops.c:
14:52 dalek MoarVM: Revert "Add some missing parens" - JimmyZ++ voted 'no'
14:52 dalek MoarVM:
14:52 dalek MoarVM: This reverts commit a1f8b1e8ac98f552cd076343bd6646a31c7e448e.
14:52 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/b5086c3824
14:55 JimmyZ_ btw, sometimes I think parser is slow because of heavily using substr() :/
14:55 JimmyZ_ which makes me *char++ is faster in C
14:55 JimmyZ_ s/me/me think/
14:56 FROGGS I thought that was planned, at least I remember hearing diakopter++ talking about it
14:56 JimmyZ_ what was planned?
14:57 FROGGS just moving pointers instead of substr-ing
14:57 JimmyZ_ oh
14:57 JimmyZ_ after NFG?
14:57 FROGGS no idea
15:03 JimmyZ_ .ask diakopter time to public the NFG branch? ;)
15:03 yoleaux JimmyZ_: I'll pass your message to diakopter.
15:05 timotimo yeah, the NFG branch is secretly already done and just needs to be pushed to github
15:07 dalek MoarVM: d945262 | (Gerhard R)++ | src/strings/ops.c:
15:07 dalek MoarVM: Add boxing that got lost intranslation
15:07 dalek MoarVM:
15:07 dalek MoarVM: Threads aside, this should make test pass again.
15:07 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/d945262fa0
15:22 dalek MoarVM/noapr: 80dc8cd | (Gerhard R)++ | src/strings/ops.c:
15:22 dalek MoarVM/noapr: Some fixes to string ops to make t/nqp/59-nqpop.t pass
15:22 dalek MoarVM/noapr:
15:22 dalek MoarVM/noapr: Note that NQP/Parrot, NQP/JVM and NQP/MoarVM all
15:22 dalek MoarVM/noapr: disagree on how nqp::substr() should behave.
15:22 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/80dc8cd19e
15:22 dalek MoarVM/noapr: a1f8b1e | (Gerhard R)++ | src/strings/ops.c:
15:23 dalek MoarVM/noapr: Add some missing parens
15:23 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/a1f8b1e8ac
15:23 dalek MoarVM/noapr: b5086c3 | (Gerhard R)++ | src/strings/ops.c:
15:23 dalek MoarVM/noapr: Revert "Add some missing parens" - JimmyZ++ voted 'no'
15:23 dalek MoarVM/noapr:
15:38 diakopter pong
15:38 yoleaux 02:39Z <JimmyZ> diakopter: I added dyncall as submodule in dyncall1 branch
15:38 yoleaux 15:04Z <JimmyZ_> diakopter: time to public the NFG branch? ;)
15:38 diakopter JimmyZ_: no not stable enough yet
15:39 moritz well, if you don't publish it, I can't hack on it
15:39 jnthn Branches don't have to be stable.
15:39 yoleaux 25 Aug 2013 23:15Z <diakopter> jnthn: < diakopter> argh, I'm suspecting only jnthn can do it from here :(
15:39 jnthn :)
15:39 yoleaux 25 Aug 2013 23:32Z <diakopter> jnthn: line 572 of SerializationWriteer.java - staticCode is always null
15:40 FROGGS master is a branch too
15:40 * FROGGS hides
15:40 jnthn :P
15:40 not_gerd diakopter, jnthn: https://github.com/MoarVM/MoarVM/b​lob/d945262fa05f7165fb7c95b08f7337​95c01cd645/src/strings/ops.c#L342
15:40 moritz FROGGS: as long as nom is stable... :-)
15:40 not_gerd new nqp::substr() semantics
15:40 FROGGS *g*
15:40 diakopter jnthn: i was unclear; i meant theres no branch stable enough on which to base it
15:40 not_gerd Parrot and JVM don't agree, so I did what made sense to me
15:41 moritz ... now we have three interpretations :-)
15:41 not_gerd (tests pass)
15:41 diakopter (not renough tests)
15:43 jnthn not_gerd: eek :)
15:43 jnthn not_gerd: Parrot and JVM don't disagree deliberately fwiw :)
15:44 not_gerd jnthn: http://irclog.perlgeek.de/​perl6/2013-08-26#i_7502562
15:44 diakopter jnthn: scrollback here is .. long!
15:44 jnthn I noticed :/
15:44 FROGGS you may need a scrollbreak in between :o)
15:45 diakopter jnthn: to summarize what I concluded: I'll pass around frames and add MVMROOTs everywhere (sigh)
15:46 diakopter commutance&
15:46 FROGGS[mobile] joined #moarvm
15:46 not_gerd jnthn: highlight - the noapr branch, that removes APR
15:47 not_gerd problems: sockets, no random numbers
15:56 colomon joined #moarvm
16:00 dalek MoarVM/noapr: 04be0b2 | (Gerhard R)++ | / (2 files):
16:00 dalek MoarVM/noapr: Better MinGW support
16:00 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/04be0b262a
16:00 dalek MoarVM: ee5a49d | (Gerhard R)++ | / (2 files):
16:00 dalek MoarVM: Better MinGW support
16:00 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/ee5a49d668
16:11 FROGGS joined #moarvm
16:13 diakopter what's the socket problem?
16:14 JimmyZ_ joined #moarvm
16:15 JimmyZ_ not_gerd: re d945262fa0, I think it's not needed MVMROOT, just MVM_repr_set_str(tc, pobj, tc->instance->str_consts->empty);
16:15 JimmyZ_ Good night
16:17 not_gerd diakopter: socket tests fail
16:17 not_gerd also, async IO wants integration with the scheduler
16:20 TimToady sockets aren't necessary to a bootstrap, plus people will be highly motivated to make sure they work later :)
16:20 TimToady async IO is a bit more abstruse though, and likelier to suffer from lack of attention
16:21 TimToady but also probably not needed for bootstrap
16:23 not_gerd also, one of the bigint tests from nqptest hangs in MinGW when using the noapr branch
16:24 not_gerd MSVC build looks good, though
16:25 jnthn diakopter: In the serializer? Do you need to allocate?
16:26 jnthn diakopter: If so you can always do what the deserializer does: flip over to using gen2 direct allocation...which of course never triggers a collect :)
16:26 diakopter jnthn: yeah it allocates iterators and also perhaps contexts
16:27 diakopter though I can cheat and use mutable temps of those
16:27 diakopter since they're not recursive
16:31 diakopter not_gerd: I wouldn't worry about the socket tests; just delete them. :) they were very much POC
16:31 diakopter masak: yes, we have no users. :P the tests are hardly worth anything, also
16:32 diakopter the ops are likely not even the right api
16:32 not_gerd I'm more worried about t\nqp\60-bigint.t hanging ;)
16:54 colomon joined #moarvm
16:55 not_gerd ok, it's just a tommath mis-configuration
16:55 not_gerd we end up with a 32-bit mp_digit, but a DIGIT_BIT of 60
16:56 diakopter not_gerd++
16:58 woolfy1 joined #moarvm
17:10 masak diakopter: I wasn't talking about the number of users, I was talking about using "we have no users" as an excuse to skimp on good practices.
17:14 TimToady fixing things is always good practice, it's just easier when there are fewer users
17:22 woolfy joined #moarvm
17:49 dalek MoarVM/noapr: fb22aee | (Gerhard R)++ | 3rdparty/libtommath/tommath.h:
17:49 dalek MoarVM/noapr: Make libtommath work with MinGW
17:49 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/fb22aee2a7
17:49 dalek MoarVM/noapr: aa9695a | (Gerhard R)++ | src/gc/ (2 files):
17:49 dalek MoarVM/noapr: Don't use MVM_casptr() on non-pointers
17:49 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/aa9695a3a1
17:52 diakopter masak: what's the good practice you didn't want skimped?
17:56 FROGGS good practice is to keep passing tests passing, features in place and the master branch buildable
17:57 not_gerd .oO( let's get a deprecation policy in place )
17:58 not_gerd if anyone's got the time, the noapr branch needs testing
18:03 diakopter FROGGS: right, but the sockets are wrong, wronger, and wrong... they're not features
18:06 japhb__ joined #moarvm
18:12 timotimo .o(the rakudo sockets have some wrongness, too ...)
18:25 not_gerd bye, #moarvm
18:56 colomon joined #moarvm
19:08 cognominal joined #moarvm
19:28 jnap joined #moarvm
20:12 d4l3k_ joined #moarvm
20:13 eternaleye joined #moarvm
20:32 dalek MoarVM/serialize: ed6c529 | diakopter++ | src/6model/serialization.c:
20:32 dalek MoarVM/serialize: li'l' bit more progress
20:32 dalek MoarVM/serialize: review: https://github.com/MoarVM/MoarVM/commit/ed6c529014
20:33 diakopter .tell not_gerd +1 to merge tinymt imho
20:33 yoleaux diakopter: I'll pass your message to not_gerd.
20:34 dalek MoarVM/serialize: 69cf281 | (Gerhard R)++ | / (2 files):
20:34 dalek MoarVM/serialize: Don't link 3rdparty libs twice when doing a shared build
20:34 dalek MoarVM/serialize: review: https://github.com/MoarVM/MoarVM/commit/69cf281bdd
20:34 dalek MoarVM/serialize: ea39381 | (Gerhard R)++ | src/strings/ops.c:
20:34 dalek MoarVM/serialize: Some fixes to string ops to make t/nqp/59-nqpop.t pass
20:34 dalek MoarVM/serialize:
20:34 dalek MoarVM/serialize: Note that NQP/Parrot, NQP/JVM and NQP/MoarVM all
20:34 dalek MoarVM/serialize: disagree on how nqp::substr() should behave.
20:34 dalek MoarVM/serialize: review: https://github.com/MoarVM/MoarVM/commit/ea39381429
20:34 dalek MoarVM/serialize: b235670 | (Gerhard R)++ | src/strings/ops.c:
20:34 dalek MoarVM/serialize: Add some missing parens
20:34 dalek MoarVM/serialize: review: https://github.com/MoarVM/MoarVM/commit/b235670b84
20:34 dalek MoarVM/serialize: 6e4b490 | (Gerhard R)++ | src/strings/ops.c:
20:34 dalek MoarVM/serialize: Revert "Add some missing parens" - JimmyZ++ voted 'no'
20:38 diakopter .tell JimmyZ +1 to merge the dyncall build
20:38 yoleaux diakopter: I'll pass your message to JimmyZ.
20:48 diakopter .tell not_gerd I vote +1 on merging stdtypes.. jnthn?
20:48 yoleaux diakopter: I'll pass your message to not_gerd.
20:50 diakopter .tell not_gerd +1 to merge noapr and delete the socket tests and merge tinymt, and also clean up all the libuv branches
20:50 yoleaux diakopter: I'll pass your message to not_gerd.
21:28 diakopter anyway that should remove all the branches but serialize :)
21:34 jnthn I'm not gonna catch up on backlog tonight... :(
21:35 jnthn Anything I need to comment on? :)
21:35 diakopter jnthn: just whether to merge a ton of branches :)
21:35 jnthn aww crap :)
21:35 jnthn I'm gonna be pretty tied up until Wed, when I will suddenly have free time again :)
21:35 diakopter really just "can we use tinymt for rand"
21:36 diakopter (surely yes)
21:36 diakopter and "can we kill some socket tests for now"
21:36 diakopter (please yes, so noapr can merge and libuv is in)
21:36 jnthn Sockets - does this mean we're not going to have a socket impl at all?
21:36 jnthn (for now)|
21:36 diakopter well there's a libuv bug upstream
21:37 diakopter I haven't looked at it; could be a simple fix
21:37 jnthn Aye, I just mean, we're just saying "we put implementing socket stuff off until later"?
21:37 diakopter not_gerd hasn't looked at it either
21:37 diakopter yes
21:37 jnthn OK, +1
21:37 diakopter the tests and op sigs need redone anyway
21:37 jnthn Right, we should see what NQP JVM settles on in nqp:: ops.
21:37 diakopter k
21:37 jnthn And steal it once the various networking related modules are working against that.
21:38 diakopter other question is the stdtypes branch - whether to remove all the MVM* for C types and replace with standard ones (incl. a .h that adds them to msvc pre-2013)
21:38 jnthn I'd like some more time to ponder that.
21:38 jnthn So don't merge that one yet.
21:38 diakopter k
21:39 jnthn noapr implies merging the rand thing?
21:39 diakopter yeah if you don't want broken rand test
21:39 jnthn *nod*
21:39 jnthn Are you comfortable with it? It's fine license wise too?
21:39 diakopter masak++ got rid of the apr_atomic uses
21:39 diakopter bsd
21:40 diakopter of course, no clue about patent infringement, but then again we probably infringe 50,000 patents we don't know about
21:40 BenGoldberg joined #moarvm
21:40 jnthn yes, well, the best thing to do with software patents is not read any :)
21:40 diakopter <- hasn't read any, that I can recall. ;)
21:41 jnthn OK, let's go for the noapr branch and the rand thing it implies, if you're comfortable with it.
21:41 diakopter k
21:41 jnthn Where is libuv living?
21:41 jnthn In a separate git repo?
21:41 jnthn Submodule?
21:41 diakopter yeah I think so, if not we'll put it there
21:42 diakopter oh also dyncall building merge
21:42 diakopter seems fine
21:42 jnthn Yes, please submodule it.
21:42 diakopter that's submoduled
21:42 jnthn (libuv and dynall
21:42 jnthn )
21:42 masak noapr seems to contain my libuv5+no_apr_atomic, so \o/
21:42 diakopter https://github.com/MoarVM/Moa​rVM/compare/master...dyncall1
21:42 jnthn I can create repos under MoarVM account if needed.
21:42 diakopter masak: yes :D
21:43 masak I'll just go ahead and remove libuv5+no_apr_atomic and apr_to_libatomic_trial_3 now.
21:43 diakopter please create dyncall repo and libuv repo
21:43 diakopter though we might not need the libuv one
21:43 jnthn ok, lemme do that now so nobody blocks on at least that aspect of things I can do :)
21:43 jnthn Wait, should I create them or fork them from somewhere?
21:43 diakopter create blank I think
21:44 diakopter er, well fork
21:44 diakopter fork dyncall from zhuomingliang/dyncall
21:45 jnthn https://github.com/MoarVM/dyncall
21:45 jnthn And libuv? Fork from...?
21:46 jnthn https://github.com/joyent/libuv  ?
21:46 jnthn Or clean repo?
21:46 diakopter nm we don't need libuv
21:46 diakopter pulling that directly from joyent for now
21:46 jnthn oh, can just subodule the joyent one?
21:46 jnthn 1
21:46 jnthn +1 even
21:46 diakopter *shrug* somehow...
21:46 jnthn OK, then my work here is done :)
21:47 diakopter jnthn: well bunches of strange/unknown spec/rakudo behavior in #perl6 log but I'll leave those to masak++
21:48 diakopter strange/unknown to me, anyway.
21:48 diakopter fwiw
21:48 jnthn :)
21:49 jnthn I'll backlog it tomorrow
21:49 diakopter jnthn: do you want the p5interop stuff to live in the MoarVM repo or be a separate repo? doesn't matter to me. can work fine either way.
21:49 jnthn diakopter: Is there a reason for it not to be in the MoarVM repo?
21:50 diakopter eh, not really I guess except tpf would own some of the code..
21:50 jnthn diakopter: the only reasons I can think of for separate repo are (a) enforced loose coupling, and (b) your convenience :)
21:50 jnthn oh, that's a third reason :)
21:50 diakopter but the main one can always pull in the other one as a submodule
21:50 diakopter so whichever
21:51 jnthn No strong feeling either way on my part. I'll leave it for your judgement. :)
21:53 diakopter can you create a repo just in case... mvmp5 I guess
21:53 diakopter or moarp5
21:56 jnthn diakopter: Access just to you, or all who have MoarVM commit bits?
21:56 diakopter all
21:56 jnthn (asking in case TPF connection implies CLA stuff...)
21:56 diakopter oh, hrm
21:56 diakopter dunno
21:57 diakopter well I made it clear the project as a whole wouldn't be tpf, just the code I put in
21:57 diakopter during that time period
21:57 masak I'll backlog it tomorrow as well. :)
21:57 FROGGS your grant got accepted?
21:57 diakopter no
21:57 diakopter not yet
21:58 diakopter maybe this week
21:58 FROGGS cool
21:58 not_gerd joined #moarvm
21:58 diakopter not_gerd: hi
21:58 not_gerd o/
21:58 yoleaux 20:33Z <diakopter> not_gerd: +1 to merge tinymt imho
21:58 yoleaux 20:48Z <diakopter> not_gerd: I vote +1 on merging stdtypes.. jnthn?
21:58 yoleaux 20:50Z <diakopter> not_gerd: +1 to merge noapr and delete the socket tests and merge tinymt, and also clean up all the libuv branches
21:59 diakopter .tell not_gerd jnthn agreed on those except stdtypes (yet)
21:59 yoleaux diakopter: I'll pass your message to not_gerd.
21:59 colomon joined #moarvm
21:59 not_gerd ;)
21:59 yoleaux 21:59Z <diakopter> not_gerd: jnthn agreed on those except stdtypes (yet)
21:59 dalek Heuristic branch merge: pushed 84 commits to MoarVM/tinymt by gerdr
22:00 dalek Heuristic branch merge: pushed 82 commits to MoarVM/stdtypes by gerdr
22:01 jnthn diakopter: https://github.com/MoarVM/moarp5
22:02 diakopter ty
22:03 diakopter not_gerd: don't merge stdtypes yet :P
22:03 diakopter (though it'd clearly be easy to back out that change)
22:04 not_gerd note that when relying on stdint.h, we're no worse off than we are right now as libuv relies on it as well
22:05 not_gerd and we can avoud having to probe for how to print fixed-sized types
22:07 jnthn Time for sleep. Happy libuv-merging. :)
22:07 not_gerd good night
22:07 jnthn 'night
22:08 diakopter 'night
22:08 jnthn btw, will get back to working on NQP self-host on Wed, once I'm back home :)
22:08 jnthn o/
22:08 * diakopter will try to unblock serialization by then
22:08 not_gerd .oO( so I can expect NQP to self-host on Thu morning )
22:10 diakopter can I delete libuv, libuv1, and libuv5 branches?
22:10 not_gerd I believe so
22:11 not_gerd JimmyZ would know for sure
22:11 dalek MoarVM: 7bf57e1 | jimmy++ | / (2 files):
22:11 dalek MoarVM: Add dyncall as submodule
22:11 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/7bf57e1f66
22:11 dalek MoarVM: cbaa529 | (Gerhard R)++ | build/ (3 files):
22:11 dalek MoarVM: Wire up dyncall build
22:11 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/cbaa5291b3
22:11 dalek MoarVM: ab8e468 | (Matthew Wilson)++ | / (5 files):
22:11 dalek MoarVM: Merge pull request #52 from MoarVM/dyncall1
22:11 dalek MoarVM:
22:11 dalek MoarVM: Dyncall1
22:11 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/ab8e468897
22:11 diakopter JimmyZ: ping
22:11 not_gerd I have no idea why he kept libuv and libuv1 around
22:12 diakopter I still have them locally anyway
22:13 diakopter deleted.
22:13 diakopter https://github.com/MoarVM/MoarVM/branches
22:13 diakopter FROGGS: ETOOMANYBRANCHES fixed
22:14 FROGGS *g*
22:15 not_gerd I believe noapr can be merged even without tinymt
22:15 diakopter well jnthn ok'd tinymt too
22:16 not_gerd rand_i/rand_n may not work, but we actually only use rand_I right now
22:16 not_gerd diakopter: I'd like to know for sure if we go with standard types or not before doing that work
22:17 not_gerd otherwise, I'd have to convert tinymt to MVM* types
22:17 diakopter oh
22:17 diakopter I agree with you that rand_i is important for internals and extensions
22:17 diakopter oh, another todo :)
22:17 diakopter extend the hash algorithm to be smart enough to traverse tree strings instead of requiring all strings to be flattened before used as hash keys
22:18 diakopter the machinery to make the traversal modular enough should already mostly be there
22:18 diakopter should I add it as an issue?
22:18 not_gerd does it make sense to cache the hash value?
22:19 diakopter yes
22:19 not_gerd having it around is also useful for eq
22:19 not_gerd do we already do it?
22:19 diakopter don't think so
22:19 diakopter though I might've put a slot in for it
22:19 diakopter another todo:
22:20 diakopter all the string literals in the moarvm source where we construct MVMStrings from C literal strings (without format)... should be cached in a struct that hangs off MVMInstance
22:20 diakopter (and all rooted)
22:21 diakopter (and their constructor calls obviously set to lookup in the cache)
22:21 diakopter parrot has a convenience function for this
22:22 diakopter there are already a few strings cached on Instance like that ->Str , ->Num, ->Empty I think
22:22 diakopter but it needs generalized
22:22 diakopter further generalized would be to find any unchanging/immutable things created by runtime code and make those cached too
22:24 diakopter could even make the .h that stores their slots generated if you use a macro sneakily
22:25 diakopter i'll create issue
22:25 diakopter issues
22:31 diakopter cleaned up: https://github.com/MoarVM/MoarVM/issues
22:32 diakopter not_gerd: are you merging noapr?
22:34 not_gerd diakopter: I can do it, assuming it's fine as-is
22:35 diakopter where does it need testing?
22:35 diakopter I can test macosx
22:35 diakopter or linux or windows
22:35 diakopter all 64
22:35 not_gerd it's tested on win64 msvc+mingw
22:37 diakopter msvc and mingw separately!?
22:37 not_gerd yes
22:37 diakopter ok
22:37 not_gerd you can now use strawberry perl to build moarvm
22:37 diakopter AWESOME
22:37 diakopter both 32 and 64/
22:37 diakopter ?
22:37 diakopter how about cygwin
22:38 not_gerd only tested on 64
22:38 diakopter https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
22:38 diakopter 22:17 < diakopter> oh, another todo :)
22:38 diakopter 22:17 < diakopter> extend the hash algorithm to be smart enough to traverse tree strings instead of requiring all strings to be flattened before used as
22:38 diakopter hash keys
22:38 diakopter 22:18 < diakopter> the machinery to make the traversal modular enough should already mostly be there
22:38 diakopter 22:18 < diakopter> should I add it as an issue?
22:38 diakopter 22:18 < not_gerd> does it make sense to cache the hash value?
22:38 diakopter 22:19 < diakopter> yes
22:38 diakopter 22:19 < not_gerd> having it around is also useful for eq
22:38 diakopter 22:19 < not_gerd> do we already do it?
22:38 diakopter 22:19 < diakopter> don't think so
22:38 diakopter 22:19 < diakopter> though I might've put a slot in for it
22:38 diakopter 22:19 < diakopter> another todo:
22:38 diakopter 22:20 < diakopter> all the string literals in the moarvm source where we construct MVMStrings from C literal strings (without format)... should be cached in a struct that hangs off MVMInstance
22:38 diakopter 22:20 < diakopter> (and all rooted)
22:38 diakopter 22:21 < diakopter> (and their constructor calls obviously set to lookup in the cache)
22:38 diakopter 22:21 < diakopter> parrot has a convenience function for this
22:38 diakopter 22:22 < diakopter> there are already a few strings cached on Instance like that ->Str , ->Num, ->Empty I think
22:38 diakopter 22:22 < diakopter> but it needs generalized
22:39 diakopter 22:22 < diakopter> further generalized would be to find any unchanging/immutable things created by runtime code and make those cached too
22:39 diakopter 22:23 -!- colomon [~colomon@97-95-33-142.dhcp.bycy.mi.charter.com] has quit [Quit: colomon]
22:39 diakopter 22:24 < diakopter> could even make the .h that stores their slots generated if you use a macro sneakily
22:39 diakopter 22:25 < diakopter> i'll create issue
22:39 diakopter 22:25 < diakopter> issues
22:39 diakopter 22:31 < diakopter> cleaned up: https://github.com/MoarVM/MoarVM/issues
22:39 diakopter 22:32 < diakopter> not_gerd: are you merging noapr?
22:39 diakopter 22:34 < not_gerd> diakopter: I can do it, assuming it's fine as-is
22:39 diakopter 22:35 < diakopter> where does it need testing?
22:39 diakopter 22:35 < diakopter> I can test macosx
22:39 diakopter 22:35 < diakopter> or linux or windows
22:39 diakopter [22:35] [diakopter(+i)] [3:freenode/#moarvm(+cnt)] [Act: 2]
22:39 diakopter [#moarvm]
22:39 diakopter 0*$                                                                                                                 mwilson@host06 198.211.109.45 Menu:<F9>
22:39 diakopter erm.
22:39 diakopter sorry.
22:39 not_gerd ;)
22:39 diakopter <- fail
22:39 not_gerd np
22:39 diakopter argh.
22:39 diakopter once again, irssi's paste warning fails me
22:40 not_gerd cygwin isn't supported by libuv
22:40 not_gerd one can probably make it work by using the windows version
22:40 Tene irssi paste warning didn't work for you?
22:40 not_gerd but it might be a bit fiddly
22:40 diakopter Tene: it didn't prompt me
22:41 Tene Huh.  :(
22:41 diakopter PuTTY must outsmart it
22:42 diakopter https://gist.github.com/dia​kopter/239e6bdaec4aed3a1580
22:42 diakopter not_gerd: ^
22:42 Tene Incidentally, I've heard a lot of compliments for KiTTY, a fork of PuTTY, but haven't used it myself: http://kitty.9bis.net/
22:43 diakopter (it's what I'm using actually)
22:44 diakopter my main complaint about KiTTY is it messes up saved sessions
22:44 Tene Ah.  That's unfortunate.
22:44 diakopter so you have to launch PuTTY to edit and save session settings
22:45 diakopter but it's fine otherwise. esp clickable urls
22:45 diakopter that's nice
22:45 diakopter not_gerd: you see that nopaste?
22:48 not_gerd diakopter: that was a static build?
22:48 not_gerd silly question
22:49 not_gerd the gist mentions libmoarvm.a, so yes ;)
22:52 not_gerd wild guessing on my part is that clang's ccmiscflags probably should contain -D_LARGEFILE64_SOURCE as well...
22:53 not_gerd diakopter: could you add that to your Makefiles CFLAGS, make clean && make
22:54 diakopter not_gerd: same error
22:56 diakopter we can't be calling pthread stuff directly without including the pthread header..
22:59 diakopter .. or linking to pthread
23:03 not_gerd we should link to pthread
23:05 not_gerd do a NOISY=1 make and -lpthread should be there
23:07 not_gerd and pthread.h should get included via uv-unix.h
23:07 diakopter how do I do NOISY=1 make?
23:07 diakopter I did    NOISY=1 make... but didn't seem noisy
23:07 not_gerd `make NOISY=1`
23:08 diakopter pthread's not listed
23:08 not_gerd gist yout makefile?
23:10 diakopter https://gist.github.com/dia​kopter/b745536a6dc2f92fd558
23:10 not_gerd thanks
23:10 colomon joined #moarvm
23:14 dalek MoarVM/noapr: 3aeea5e | (Gerhard R)++ | build/setup.pm:
23:14 dalek MoarVM/noapr: Add -lpthread for Darwin
23:14 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/3aeea5e8ac
23:14 not_gerd diakopter: ^^
23:16 diakopter same error
23:19 diakopter not_gerd: ^
23:20 not_gerd diakopter: apparently, there's no lseek64 on darwin - one should just use lseek
23:20 not_gerd so that error is correct
23:21 not_gerd I'm wondering what's up with pthreads, though...
23:22 diakopter well did you include the .h?
23:22 not_gerd diakopter: I did not write that code
23:23 not_gerd but the pthreads header should be pulled in via uv.h
23:23 diakopter does that branch #include the .h? :)
23:23 diakopter not necessarily
23:23 FROGGS joined #moarvm
23:26 diakopter well it's pulled in by unix.h
23:26 diakopter uv-unix.h I mean
23:27 diakopter which supposedly is included by uv.h
23:27 dalek MoarVM/noapr-fix: 0991a60 | (Gerhard R)++ | / (2 files):
23:27 dalek MoarVM/noapr-fix: Use lseek() with _FILE_OFFSET_BITS=64 instead of _LARGEFILE64_SOURCE and lseek64()
23:27 dalek MoarVM/noapr-fix: review: https://github.com/MoarVM/MoarVM/commit/0991a600d0
23:28 diakopter not_gerd: that fixed the lseek thing
23:30 not_gerd http://lists.apple.com/archives/un​ix-porting/2002/Jul/msg00052.html
23:31 not_gerd no pthread_yield on macos
23:31 not_gerd we should add something to platform/ for that
23:31 diakopter ok
23:39 dalek MoarVM/noapr-fix: 6f19745 | (Gerhard R)++ | src/ (2 files):
23:39 dalek MoarVM/noapr-fix: Add platform wrappers for yielding threads
23:39 dalek MoarVM/noapr-fix: review: https://github.com/MoarVM/MoarVM/commit/6f19745393
23:39 not_gerd diakopter: ^^
23:39 diakopter worked
23:42 dalek MoarVM/noapr: 0991a60 | (Gerhard R)++ | / (2 files):
23:42 dalek MoarVM/noapr: Use lseek() with _FILE_OFFSET_BITS=64 instead of _LARGEFILE64_SOURCE and lseek64()
23:42 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/0991a600d0
23:42 dalek MoarVM/noapr: 6f19745 | (Gerhard R)++ | src/ (2 files):
23:42 dalek MoarVM/noapr: Add platform wrappers for yielding threads
23:42 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/6f19745393
23:42 not_gerd that's it from me for today
23:42 not_gerd good night o/
23:43 not_gerd left #moarvm
23:48 Util joined #moarvm
23:49 foo_bar_baz joined #moarvm
23:59 FROGGS joined #moarvm

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