Camelia, the Perl 6 bug

IRC log for #moarvm, 2013-08-27

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

All times shown according to UTC.

Time Nick Message
00:35 colomon joined #moarvm
01:06 FROGGS joined #moarvm
01:12 benabik joined #moarvm
01:14 jnap joined #moarvm
01:55 dalek MoarVM: c63f4cb | jimmy++ | src/strings/ops.c:
01:55 dalek MoarVM: avoids a MVMROOT
01:55 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/c63f4cb9c9
03:01 diakopter =
03:06 JimmyZ Good morning
03:06 yoleaux 26 Aug 2013 20:39Z <diakopter> JimmyZ: +1 to merge the dyncall build
03:09 diakopter JimmyZ: hi
03:10 JimmyZ hello
03:21 FROGGS joined #moarvm
04:07 diakopter FROGGS: hi
04:11 diakopter JimmyZ: jnthn cloned your dyncall repo to MoarVM/dyncall
04:11 diakopter so you can switch the reference if you like
04:16 foo_bar_baz joined #moarvm
04:20 diakopter foo_bar_baz hi
04:36 FROGGS joined #moarvm
04:53 dalek MoarVM/serialize: 0233ad5 | diakopter++ | src/6model/serialization.c:
04:53 dalek MoarVM/serialize: record a few TODOs of optimization possibility investigations...
04:53 dalek MoarVM/serialize: review: https://github.com/MoarVM/MoarVM/commit/0233ad541b
04:58 diakopter FROGGS: any comment on those optimization notes?
04:59 JimmyZ Didn't jnthn say to avoid base64 decoding?
05:00 FROGGS diakopter: I've seen once a performance optimized base decoder... and it used a jump table
05:00 FROGGS base64*
05:02 * JimmyZ wonders how nqp/jvm avoids base64 decoding
05:39 JimmyZ oh, .serialized file
05:42 FROGGS is it about serializing a source file or about serializing a byteode file?
05:42 FROGGS bytecode*
05:42 JimmyZ bytecode
05:42 JimmyZ I see .serialized file in the jar
05:42 FROGGS and why do we need to do that?
05:43 JimmyZ avoids decode in startup
05:43 FROGGS ?
05:43 FROGGS I mean, why do we need to encode it at all?
05:44 FROGGS can't we store the bytecode as is on disk, and mmap it later?
05:45 JimmyZ good question
05:45 JimmyZ should ask jnthn++ when he is awake :P
05:45 FROGGS k :o)
05:48 diakopter serialization preserves the state of in-memory objects post compilee
05:49 diakopter deserialization is faster than running bytecode to recreate the object graph, probably
05:50 diakopter JimmyZ: he said to avoid base64 decoding in the final solution, but we still need it to start
05:52 JimmyZ in the final solution?
05:52 * JimmyZ can't get it
05:55 FROGGS ahh, so after it got compiled, and the begin blocks were run, All The Stuff(tm) is serialized into the mbc file
05:55 FROGGS JimmyZ: I guess there will be a redesign
05:55 FROGGS at least that is how I understand it now
05:57 JimmyZ well, I see the jvm one base64 decoding when there is .serialized file
05:57 JimmyZ but I can't understand it well
05:57 JimmyZ s/one/one avoids/
05:58 JimmyZ well, I mean deserialization_code() in Compiler.nqp
07:03 not_gerd joined #moarvm
07:03 not_gerd o/
07:03 FROGGS hi
07:03 not_gerd JimmyZ: is there a reason why we don't use _lseeki64 on windows?
07:03 not_gerd would simplify fileops.c
07:05 JimmyZ not_gerd: yes
07:05 JimmyZ not_gerd: _lseeki64 calls SetFilePointer
07:05 JimmyZ and SetFilePointer is faster
07:07 not_gerd JimmyZ: then I'll just move the code to src/platform/io.c
07:07 not_gerd any objections to that?
07:07 JimmyZ not_gerd: +1 to mv
07:09 * FROGGS sings "+1 to mv it mv it, +1 to mv it mv it" from Real2Real
07:10 JimmyZ not_gerd: Is random a blocker for selthosting?
07:10 JimmyZ rand_[i|n]
07:10 not_gerd JimmyZ: not really
07:10 not_gerd as was already mentioned, rand_i/n aren't really used
07:10 JimmyZ then I'd like merge noapr into master firstly
07:11 not_gerd I just want to know if we go with standard type or not before merging tinymt
07:11 JimmyZ tinymt and stdint after it
07:11 not_gerd JimmyZ: jnthn hasn't decided yet on switching to C standard types
07:11 JimmyZ not_gerd: I know, just don't merge tinyMT
07:12 JimmyZ merge noapr :P
07:25 diakopter noapr crashes on linux
07:25 diakopter every nqptest
07:25 FROGGS crash early crash often
07:26 not_gerd diakopter: something caused by my last commit or with yesterday's state?
07:26 not_gerd wait, did I push today yet?
07:26 not_gerd apparently not ,)
07:27 not_gerd diakopter: what about `make test`?
07:27 diakopter I have no idea what caused it; I've never tested that branch
07:28 diakopter a test in slurp.t failed
07:28 diakopter several in socket_open_close failed
07:28 diakopter two in threads.t segfaulted
07:28 diakopter whereas only one segfaults on mac
07:29 not_gerd diakopter: if you have the time, yould you compare that to master?
07:29 not_gerd the threads stuff should be there, and sockets aren't really an issue
07:30 not_gerd I'd like to know if slurp.t is something new
07:30 diakopter ok
07:31 not_gerd diakopter: also, do you get warnings about shifts by greater amounts that an integer type's width?
07:31 not_gerd if so, the nqptest fail might be the same issue I had with libtommath on mingw
07:33 diakopter I'd have to switch branches
07:33 diakopter back again
07:33 diakopter and build again
07:33 JimmyZ I got a warning in MVM_platform_map_file on windows, in size >> 32
07:33 not_gerd JimmyZ: on win32 or win64?
07:35 not_gerd JimmyZ: on win32, the warning can be safely ignored as it's dead code
07:35 JimmyZ looks like on win32
07:36 JimmyZ I didn't got the warning on win64
07:36 not_gerd on win64, size_t is 64-bit, so shifting by 32 bits is ok
07:36 not_gerd on win32, the code path is never entered
07:36 not_gerd one could add an #ifdef to make the warning go away
07:37 diakopter lots of warnings could go away
07:37 diakopter :D
07:38 JimmyZ not_gerd: you, otherwise some people will change the code to avoid warning in the futrue :P
07:41 JimmyZ hmm, I see apr pass 0 to it
07:45 JimmyZ not_gerd: how about using LARGE_INTEGER union?
07:46 not_gerd JimmyZ: feel free to make it so
07:46 JimmyZ ok
07:52 diakopter not_gerd: master fails slurp also
07:53 diakopter but also segfaults only once in threads.t
07:53 diakopter fails 1/2 in slurp
07:53 JimmyZ hmm, I got some warnings in MVM_casptr
07:53 not_gerd JimmyZ: master or noapr
07:53 not_gerd eh
07:53 not_gerd casptr isn't in master
07:53 JimmyZ it returns void *, and compared with unsigned int
07:54 not_gerd JimmyZ: which file/line
07:54 JimmyZ or with int
07:54 not_gerd JimmyZ: if fixed some of those already
07:54 not_gerd might be some I missed
07:54 JimmyZ src\gc\orchestrate.c(40), 51, 211, 239
07:54 JimmyZ src\gc\roots.c(179)
07:56 not_gerd JimmyZ: https://github.com/MoarVM/MoarVM/commit/​aa9695a3a1c8ea9d4bb731d63286733d1b186408
07:58 not_gerd feel free to fix the remaining ones
07:59 dalek MoarVM/noapr: 1ee88dc | jimmy++ | src/platform/win32/mmap.c:
07:59 dalek MoarVM/noapr: [Win32] avoids a warning by using LARGE_INTEGER
07:59 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/1ee88dce20
08:00 not_gerd diakopter: should I wire up NDEBUG sor assert()
08:01 not_gerd *for
08:03 diakopter not_gerd: -1  I don't see a need right now
08:03 diakopter (feel free to show the need)\
08:03 diakopter (please show the need if you can)
08:04 dalek MoarVM/noapr: e027f81 | jimmy++ | src/gc/orchestrate.c:
08:04 dalek MoarVM/noapr: Don't use MVM_casptr() on non-pointers
08:04 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/e027f81d2e
08:06 JimmyZ make nqptest hangs on linux
08:06 JimmyZ from the first test
08:06 JimmyZ on noapr
08:06 not_gerd diakopter already complained ;)
08:10 dalek MoarVM/noapr: 136206e | jimmy++ | build/setup.pm:
08:10 dalek MoarVM/noapr: no need uuid
08:10 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/136206e264
08:11 dalek MoarVM/noapr: 2fe4e6a | jimmy++ | README.markdown:
08:11 dalek MoarVM/noapr: updated README.markdown
08:11 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/2fe4e6adac
08:13 dalek MoarVM/noapr: 12a6013 | (Gerhard R)++ | / (5 files):
08:13 dalek MoarVM/noapr: Handle platform-specifics more gracefully
08:13 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/12a601304c
08:13 dalek MoarVM/noapr: 1290959 | (Gerhard R)++ | / (4 files):
08:13 dalek MoarVM/noapr: Add lseek() platform wrapped for Win32
08:13 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/1290959450
08:15 not_gerd (actually hasn't checked if these work - does so now)
08:16 not_gerd undefined reference to uv_cond_fallback_wait
08:16 not_gerd that's new
08:23 not_gerd JimmyZ, diakopter: could either of you compile and run https://gist.github.com/gerdr/01903​c9c89fddc8940df/raw/df65c1a24190eba​11352a6947da163c53146a339/tomtest.c on linux?
08:26 JimmyZ not_gerd: outputs: 24 16 60
08:29 not_gerd JimmyZ: try again with https://gist.github.com/gerdr/01903​c9c89fddc8940df/raw/cd536d3adb36762​e67e11b1427e66debb813e39c/tomtest.c
08:29 not_gerd s/mp_int/mp_digit/
08:29 not_gerd that's actually the important bit
08:31 JimmyZ open("./NQPCOREMoar.setting.moarvm", O_RDONLY) = 9
08:31 JimmyZ mmap(NULL, 59682, PROT_READ, MAP_PRIVATE, 9, 0) = 0x7f1a50880000
08:31 JimmyZ close(9)                                = 0
08:31 JimmyZ brk(0x9c2000)                           = 0x9c2000
08:31 JimmyZ brk(0x9e3000)                           = 0x9e3000
08:31 JimmyZ futex(0x93e200, FUTEX_WAIT_PRIVATE, 2, NULL
08:31 JimmyZ that's why hangs up on linux
08:33 JimmyZ not_gerd: 8 16 60
08:34 not_gerd JimmyZ: thanks
08:34 not_gerd some bigint tests might fail, but it shouldn't prevent them from running
08:35 not_gerd funny stuff happens if you end up with 4 8 60
08:35 FROGGS is that known? https://gist.github.com/FR​OGGS/0ecf2cddcd1c29517cf4
08:36 not_gerd FROGGS: my fault, very recent
08:36 FROGGS k
08:36 FROGGS no hurry, just wanted to say
08:37 dalek MoarVM/noapr: b8ba638 | (Gerhard R)++ | build/setup.pm:
08:37 dalek MoarVM/noapr: Fix macro definition ( FROGGS++ )
08:37 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/b8ba638b53
08:38 FROGGS not_gerd++ # seems to work
08:38 FROGGS libmoarvm.a(fileops.o): In function `MVM_file_seek':
08:38 FROGGS /home/froggs/dev/MoarVM/src/io/fileops.c:491: undefined reference to `MVM_platform_lseek'
08:38 FROGGS libmoarvm.a(fileops.o): In function `MVM_file_tell_fh':
08:38 FROGGS /home/froggs/dev/MoarVM/src/io/fileops.c:503: undefined reference to `MVM_platform_lseek'
08:39 FROGGS not_gerd: do you want/need that info or do you hack on linux too?
08:41 not_gerd FROGGS: thus far, I've avoided to set up a linux VM
08:41 not_gerd it seems that it might be a good idea, though ;)
08:42 not_gerd oh...
08:42 not_gerd I never included platform/io.h
08:42 JimmyZ :)
08:42 FROGGS so I'll spam you for now :o)
08:43 not_gerd FROGGS: feel free to do so
08:44 not_gerd if I break it, I'll try to fix it
08:46 not_gerd actually including the header didn't fix the io test failures I introduced, though :(
08:47 not_gerd found it
08:48 not_gerd actually passing in the offset instead of always 0 helps
08:49 dalek MoarVM/noapr: 9abcb14 | (Gerhard R)++ | src/ (2 files):
08:49 dalek MoarVM/noapr: Fix MVM_platform_lseek()
08:49 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/9abcb14e2b
08:54 FROGGS build... now building nqp-cc
08:55 not_gerd FROGGS: nqptest should hang
08:55 JimmyZ fixs hang up on linux will be harder, unless you have a good break point
08:56 JimmyZ after open("./NQPCOREMoar.setting.moarvm"
08:56 not_gerd JimmyZ: you could step through MVM_cu_map_from_file()
08:57 JimmyZ ok, got a bt ful: https://gist.github.com/zhuom​ingliang/8f382e99ea2922617c54
08:58 FROGGS JimmyZ: missing parentheses near: after open("./NQPCOREMoar.setting.moarvm"⏏    :P
08:58 JimmyZ :/
08:59 FROGGS ('twas just a joke)
09:00 not_gerd the mutex_lock before the return should be an unlock
09:01 foo_bar_baz joined #moarvm
09:01 not_gerd (in MVM_load_bytecode())
09:01 not_gerd line 20
09:03 JimmyZ aye
09:03 JimmyZ I'm pushing
09:04 dalek MoarVM/noapr: afbb0e2 | jimmy++ | src/core/loadbytecode.c:
09:04 dalek MoarVM/noapr: fixed hang up on Linux
09:04 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/afbb0e24be
09:04 not_gerd JimmyZ++
09:04 JimmyZ .tell diakopter I fixed hang-up on linux
09:04 yoleaux JimmyZ: I'll pass your message to diakopter.
09:05 not_gerd now, please explain why we didn't hang on other platforms ;)
09:05 JimmyZ windows is much comfortable
09:05 JimmyZ like: ie6
09:25 JimmyZ that means, on windows we can lock it again and again and again without unlock
09:28 FROGGS so, nqptest passes except the slurp test, and target test passes except slurp and socket tests...
09:28 FROGGS (on linux x64)
09:29 JimmyZ nqp nqp-moar-cc.nqp t/nqp/63-slurp.t
09:29 JimmyZ 1..1
09:29 JimmyZ ok 1 - File slurped
09:29 JimmyZ on linux
09:31 FROGGS sorry, this one: https://gist.github.com/FR​OGGS/0ecf2cddcd1c29517cf4
09:33 JimmyZ all pass here
09:34 JimmyZ ok 2 - we can open an existing file for writing
09:34 FROGGS I'll debug it in a minute
09:40 JimmyZ make nqptest all passed here ;)
09:41 JimmyZ on linux x64
09:53 diakopter +1 merge
09:53 yoleaux 09:04Z <JimmyZ> diakopter: I fixed hang-up on linux
09:54 FROGGS JimmyZ: that is why is fails: ----------  1 froggs froggs       0 Aug 27 11:34 test-nqp-73
09:54 JimmyZ :(
09:54 JimmyZ remove it and try again
09:54 JimmyZ or you got a bad umasak
09:54 JimmyZ umask
09:54 FROGGS it recreates it that way
09:55 diakopter gotta sudo unlink
09:55 FROGGS no, I can unlink it for some reason
09:55 moritz because the directory is writable to you
09:55 JimmyZ change your default umask, I think
09:56 FROGGS if I do `touch something` I get -rw-rw-r--  1 froggs froggs       0 Aug 27 11:55 something
09:56 FROGGS so, umask should be fine
09:56 FROGGS hmm
09:56 JimmyZ ask masak :P
09:57 FROGGS my umask is 0002, is that right?
09:58 JimmyZ yes, I think
09:59 moritz mine too
09:59 moritz seems to be the default
09:59 tadzik 002 here
09:59 FROGGS 0022 at $work
10:01 FROGGS hmm... MoarVM/src/io/fileops.c:7:#define DEFAULT_MODE 0
10:01 diakopter <- oops
10:01 JimmyZ FROGGS: that's right
10:02 moritz depends on what's being done
10:02 * FROGGS read about uv_fs_open now
10:02 moritz afaict umask calls only ever OR with the old umask
10:02 moritz so having 0 doesn't change anything
10:05 FROGGS mode & ~umask
10:05 FROGGS so, 0 & ~umask results in 0, no?
10:07 FROGGS mode specifies the permissions to use in case a new file is
10:07 FROGGS created.  This argument must be supplied when O_CREAT is
10:07 FROGGS specified in flags; if O_CREAT is not specified, then mode is
10:07 FROGGS ignored.  The effective permissions are modified by the
10:07 FROGGS process's umask in the usual way: The permissions of the
10:07 FROGGS created file are (mode & ~umask).  Note that this mode applies
10:07 FROGGS only to future accesses of the newly created file; the open()
10:07 FROGGS call that creates a read-only file may well return a
10:07 FROGGS read/write file descriptor.
10:07 FROGGS ohh, sorry
10:12 FROGGS this does it: -#define DEFAULT_MODE 0
10:12 FROGGS +#define DEFAULT_MODE 0x0FFF
10:12 FROGGS and note that this is the same value as APR_OS_DEFAULT
10:14 FROGGS JimmyZ: can you test that on your box please?
10:15 colomon joined #moarvm
10:41 diakopter JimmyZ: ping
10:42 diakopter FROGGS: if that solves it on yours I say it's good
10:42 not_gerd joined #moarvm
10:42 * not_gerd back
10:42 FROGGS k
10:42 diakopter not_gerd: hi :)
10:43 not_gerd o/
10:43 not_gerd +1 to merge as well
10:44 * diakopter looks at you
10:44 dalek MoarVM/noapr: 534a312 | (Tobias Leich)++ | src/io/fileops.c:
10:44 dalek MoarVM/noapr: fix default open mode by using the value we used for apr
10:44 dalek MoarVM/noapr: review: https://github.com/MoarVM/MoarVM/commit/534a312c25
10:44 FROGGS so, all passes except threads and sockets (of course)
10:45 not_gerd FROGGS: what was the deault value of APR on win?
10:45 not_gerd I got the one I used from reading libuv source
10:46 FROGGS not_gerd: this: #define APR_FPROT_OS_DEFAULT  0x0FFF
10:46 not_gerd not os-specific, then?
10:46 FROGGS the docs for libuv say that it tries to do the right thing on windows
10:47 FROGGS hmmm, I can test this on windows too
10:47 not_gerd FROGGS: no failures on windows
10:47 not_gerd I was just curious if there was a better default than the one I chose
10:48 FROGGS you patched it? or just pulled?
10:48 diakopter it's possible that nodejs redefines it
10:49 not_gerd FROGGS: I was talking about DEFAULT_MODE in case of _WIN32
10:49 not_gerd I was the one who came up with _S_IWRITE
10:50 FROGGS not_gerd: yeah, I'm talking about that too
10:50 * not_gerd is confused
10:51 FROGGS not_gerd: so my question is, does "no failures on windows" means that you tested it with 0x0FFF too, or just pulled?
10:51 FROGGS because pulling does not affect windows
10:51 not_gerd FROGGS: oh, *that's* what you meant
10:52 not_gerd no, I did not test with 0x0FFF
10:52 FROGGS k
11:00 * not_gerd waits for nqp-cc to compile
11:02 JimmyZ diakopter: pong
11:02 * JimmyZ is home now
11:04 JimmyZ not_gerd: +1 to merge what?
11:04 JimmyZ not_gerd: if you're fine without merge tinyMT, I'd like to merge noapr
11:05 FROGGS hmmm, configure on windows tells that there is a 3rdparty/linenoise/linenoise.lib, but there is none and it ends up in a linker error
11:06 FROGGS hmm, running nmake 3rdparty\linenoise\linenoise.lib by hand helps...
11:07 not_gerd JimmyZ: yes, merging noapr
11:07 not_gerd FROGGS: that's the first time anyone has encounetred that
11:08 not_gerd hm..
11:08 not_gerd need to figure out how to build dyncall on mingw
11:09 JimmyZ not_gerd: copy dyncall fix from nqp
11:09 JimmyZ :P
11:09 not_gerd JimmyZ: the dyncll readme provides instruction
11:10 JimmyZ yes, but we have some fix for dyncall
11:10 not_gerd I may actually have written some of those
11:11 not_gerd the others were by you, if I recall correctly
11:12 JimmyZ not_gerd: so you're fine merge noapr without merging tinyMT?
11:12 not_gerd JimmyZ: yes
11:18 diakopter bye bye apr
11:18 diakopter JimmyZ++ not_gerd++ FROGGS++
11:19 FROGGS ahh, keeping silent for >2 weeks and then commiting a changed line is enough to get karma?
11:19 FROGGS that is easy, I can do that :o)
11:19 FROGGS masak++ # while we are at it
11:20 diakopter diakopter++ too
11:21 FROGGS diakopter++ # true
11:22 FROGGS jnthn++
11:24 dalek Heuristic branch merge: pushed 81 commits to MoarVM by zhuomingliang
11:24 JimmyZ ^^merged
11:24 FROGGS so, we switch to master now?
11:25 JimmyZ yes
11:25 FROGGS awesome
11:25 JimmyZ 520 files changed, 1152 insertions(+), 156956 deletions(-)
11:26 JimmyZ :)
11:26 diakopter heh.
11:26 JimmyZ 1152 insertions is hard
11:27 * not_gerd still looking into dyncall/mingw
11:27 moritz moarvm configured and built (with 3 jobs) in <5s
11:27 diakopter bah, tons of merge conflicts to serialize branch
11:28 JimmyZ diakopter: that's why I want to merge master
11:28 diakopter merge master?
11:29 JimmyZ into master
11:29 diakopter .. but you already did
11:29 JimmyZ so no conflicts again
11:29 JimmyZ :P
11:32 dalek Heuristic branch merge: pushed 110 commits to MoarVM/serialize by diakopter
11:33 JimmyZ not_gerd: looks like missing clean dyncall
11:39 dalek MoarVM/serialize: 56506e0 | jimmy++ | build/setup.pm:
11:39 dalek MoarVM/serialize: fixed setup.pm after merging
11:39 dalek MoarVM/serialize: review: https://github.com/MoarVM/MoarVM/commit/56506e064f
11:43 dalek MoarVM: 429389b | (Gerhard R)++ | / (3 files):
11:43 dalek MoarVM: Start on making dyncall build with MinGW
11:43 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/429389bf00
11:43 not_gerd lunch&
12:39 jnap joined #moarvm
13:14 BenGoldberg joined #moarvm
13:21 JimmyZ not_gerd: how to build with strawberry perl?
13:33 not_gerd JimmyZ: Configure.pl --os mingw32
13:33 not_gerd fails the dyncall build right now
13:33 not_gerd they try to call cc instead of gcc
13:35 JimmyZ not_gerd: what it means start with '-'? i.e: '-compiler =>'
13:38 not_gerd JimmyZ: it's not copied from %defaults to %config
13:38 not_gerd it's internal stuff that cannot be used to substitute @foo@
13:39 JimmyZ hmm, I tought it's a perl syntax
13:40 not_gerd it comes from TCL, I believe
13:42 JimmyZ hehe
13:44 not_gerd CGI.pm uses that convention as well, I believe (it's been a while ;))
13:54 lizmat fwiw, it doesn't break auto-quoting of the fat comma
13:57 dalek MoarVM: 18a4295 | jimmy++ | build/setup.pm:
13:57 dalek MoarVM: making dyncall build with MinGW actually
13:57 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/18a42950f8
13:57 JimmyZ not_gerd: ^^
13:57 not_gerd JimmyZ++
13:58 JimmyZ > mingw32-make -f Makefile.embedded mingw32
13:58 JimmyZ The libs are then directly in its source directories.. e.g. libdyncall_s.a is in dyncall/ etc..
13:58 JimmyZ tests can be built using
13:58 JimmyZ > cd test
13:58 JimmyZ > mingw32-make -f Makefile.embedded mingw32
13:59 JimmyZ well, I got this On Feb 24, 2012 from dyncall author, Daniel
14:00 JimmyZ see README.Windows or README.CMake
14:00 JimmyZ said he
14:06 dalek MoarVM/clangcheck: 95d6a55 | (Gerhard R)++ | / (6 files):
14:06 dalek MoarVM/clangcheck: Add clangcheck makefile target
14:06 dalek MoarVM/clangcheck: review: https://github.com/MoarVM/MoarVM/commit/95d6a55d44
14:06 dalek MoarVM/clangcheck: 69ff3db | (Gerhard R)++ | src/ (8 files):
14:06 dalek MoarVM/clangcheck: Fix some warnings
14:06 dalek MoarVM/clangcheck: review: https://github.com/MoarVM/MoarVM/commit/69ff3db6ae
14:10 dalek MoarVM: 89e4e21 | jimmy++ | build/auto.pm:
14:10 dalek MoarVM: making dyncall build with MinGW on x64 also
14:10 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/89e4e21ab7
14:12 JimmyZ not_gerd: libuv failed on MinGW
14:12 JimmyZ not_gerd: https://gist.github.com/zhuomingliang/6354056
14:13 not_gerd oO it built fine just yesterday
14:13 not_gerd I'll look at it in a minute
14:14 benabik joined #moarvm
14:16 not_gerd JimmyZ: built fine here
14:17 not_gerd I'm using strawberry-perl-5.18.0.1-64bit-portable
14:17 JimmyZ This is perl 5, version 16, subversion 1 (v5.16.1)
14:17 JimmyZ :(
14:21 FROGGS JimmyZ: http://sourceforge.net/mailarchive/forum.​php?thread_name=CALc40c8w%3DbM6pOdKw5368o​L%2BpmmpD6Nq8vP_%3DuaKz5nRMN9JEQ%40mail.g​mail.com&amp;forum_name=mingw-w64-public
14:26 JimmyZ oh
14:27 JimmyZ they are fast
14:32 masak wow, I'm getting a whole lotta karma in this channel for doing something relatively straightforward. :)
14:33 masak I should do more relatively straightforward stuff! :)
14:33 JimmyZ :P
14:33 JimmyZ Cstruct, CArray!
14:35 diakopter if anyone does tackle the dyncall reprs, use carray to start since it's the right-est
14:39 diakopter masak: do you want to tackle them? :)
14:40 colomon joined #moarvm
14:40 masak I could try.
14:40 masak 'd need hand-holding.
14:44 JimmyZ not_gerd: perl Configure.pl --optimize --shared --os mingw32
14:44 JimmyZ not_gerd: link failed
14:45 diakopter masak: well basically you need to port two sets of artifacts from the parrot backend of nqp
14:46 masak diakopter: ok, sounds handleable.
14:46 JimmyZ not_gerd: got a libmoarvm.so, much small than linux one, 2.01M, after strip libmoarvm.so, 1.77M
14:46 diakopter the C* reprs and the nativecall ops
14:46 JimmyZ not_gerd: well on linux is 2.7M
14:46 diakopter wow
14:46 diakopter that's... miniscule
14:47 JimmyZ so It's very weird on linux
14:47 not_gerd JimmyZ: might be nothing more that the wrong file name
14:47 not_gerd gcc doesn't look for .so on windows, I'd expect
14:47 diakopter masak: see nqp\src\vm\parrot\6model\reprs
14:48 diakopter (nqp repo)
14:49 diakopter dyncall_reprs.h and the NativeCall, CArray, CPointer, CStr, and CStruct reprs
14:49 not_gerd also, there needs to be some extra flags passed to gcc to generate the import library
14:49 masak diakopter: oki
14:50 diakopter masak: a simple thing to do to start would be to "stub in" those repr files
14:50 JimmyZ moarvm.dll is 2.17M
14:50 JimmyZ by msvc
14:50 JimmyZ anyway, 1.77M is really small
14:51 JimmyZ ;)
14:51 diakopter masak: you'll want to touch reprs.h, bootstrap.c, and add MoarVM-equivalents of those files
14:51 diakopter with empty function bodies for now
14:51 FROGGS if we get it further down we can put it on a floppy :o)
14:52 diakopter *of those repr files
14:52 diakopter next thing to do is stub in the new ops
14:53 masak diakopter: I'm leaving for $dinner soon, so I won't have time tonight. but maybe tomorrow.
14:55 diakopter oh ok
14:55 diakopter someone else might get to it before you :)
14:56 masak if so, that's fine.
15:08 dalek MoarVM: 390383d | (Gerhard R)++ | build/setup.pm:
15:08 dalek MoarVM: Fix --shared on MinGW
15:08 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/390383d3a1
15:15 benabik Oof.  Converting from directories to submodules is not always a simple process.  Had to go in and delete a bunch of stuff manually.
15:16 benabik Darwin still builds \o/
15:16 JimmyZ not_gerd: yeah, got a 1.77M dll
15:17 JimmyZ not_gerd: after strip moarvm.dll
15:17 * benabik doesn't bother with --shared because he doesn't want to deal with changing environments to run the tests.
15:17 JimmyZ before is 2.01M
15:18 JimmyZ well, you may want perl6.exe
15:18 JimmyZ or your app.exe
15:18 benabik When those are possibilities, I'll spend time trying to deal with it.
15:20 benabik Also, I will never want a .exe  ;-)
15:20 JimmyZ so, 1.77M .dll vs 2.7M .so
15:32 benabik "Open socket failed to connect: permission denied"
15:32 benabik That's new.
15:34 diakopter we're disregarding the socket problems; the tests need removed actually
15:34 benabik oooookay
15:36 dalek MoarVM/clangcheck: 3657c81 | jimmy++ | build/auto.pm:
15:36 dalek MoarVM/clangcheck: making dyncall build with MinGW on x64 also
15:36 dalek MoarVM/clangcheck: review: https://github.com/MoarVM/MoarVM/commit/3657c81446
15:36 dalek MoarVM/clangcheck: 58e62d3 | (Gerhard R)++ | build/ (2 files):
15:36 dalek MoarVM/clangcheck: Generate .clangcheck dirs as needed (ugly hack to make it work on MinGW)
15:36 dalek MoarVM/clangcheck: review: https://github.com/MoarVM/MoarVM/commit/58e62d3f28
15:36 benabik Ignoring *.class?
15:37 diakopter benabik: the existing socket ops have signatures that aren't nqp-standard... I added those simply as proofs of concept
15:37 diakopter what about .class?
15:37 benabik It's getting ignored in .gitignore.  Are we building java?
15:37 diakopter the cross compiler was creating a .class file at one point
15:38 diakopter that can be removed from .gitignore now
15:38 diakopter fake-named .class that is (it was actually .moarvm format)
15:39 benabik Hm.  nqp-cc still seems to generate ModuleLoader.class
15:39 benabik Should I fix that?
15:40 FROGGS benabik: you have to patch nqp for that IIRC
15:40 benabik That sounds like work.  nvm  ;-)
15:40 FROGGS *g*
15:41 dalek MoarVM: 99d2790 | benabik++ | .gitignore:
15:41 dalek MoarVM: Don't need to ignore APR anymore, it's gone
15:41 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/99d27907dc
15:41 dalek MoarVM: a1ff97a | benabik++ | .gitignore:
15:41 dalek MoarVM: Ignore OS X shared library
15:41 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/a1ff97a583
15:51 benabik MoarVM's avatar looks like a sad face with a soul patch.
15:51 benabik https://identicons.github.com/dfc​78a3215db5068bad1ec3f9b80c3d9.png
15:52 diakopter reminds me of a Mr. Yuk sticker
15:58 dalek MoarVM/clangcheck: 89e4e21 | jimmy++ | build/auto.pm:
15:58 dalek MoarVM/clangcheck: making dyncall build with MinGW on x64 also
15:58 dalek MoarVM/clangcheck: review: https://github.com/MoarVM/MoarVM/commit/89e4e21ab7
15:58 dalek MoarVM/clangcheck: 390383d | (Gerhard R)++ | build/setup.pm:
15:58 dalek MoarVM/clangcheck: Fix --shared on MinGW
15:58 dalek MoarVM/clangcheck: review: https://github.com/MoarVM/MoarVM/commit/390383d3a1
15:58 dalek MoarVM/clangcheck: 99d2790 | benabik++ | .gitignore:
15:58 dalek MoarVM/clangcheck: Don't need to ignore APR anymore, it's gone
15:58 dalek MoarVM/clangcheck: review: https://github.com/MoarVM/MoarVM/commit/99d27907dc
15:58 dalek MoarVM/clangcheck: a1ff97a | benabik++ | .gitignore:
15:58 dalek MoarVM/clangcheck: Ignore OS X shared library
15:58 dalek MoarVM/clangcheck: review: https://github.com/MoarVM/MoarVM/commit/a1ff97a583
15:58 dalek MoarVM/clangcheck: c50a705 | (Gerhard R)++ | / (4 files):
15:58 dalek MoarVM/clangcheck: More warning suppression
16:05 dalek MoarVM/clangcheck: db0b8e1 | (Gerhard R)++ | src/6model/reprs.c:
16:05 dalek MoarVM/clangcheck: Make functions static
16:05 dalek MoarVM/clangcheck: review: https://github.com/MoarVM/MoarVM/commit/db0b8e1cc9
16:09 dalek MoarVM/clangcheck: 8bb4982 | (Gerhard R)++ | build/clangcheck.mk.in:
16:09 dalek MoarVM/clangcheck: Remove dependency on clangcheck.[mk|todo] - you can always rm -rf .clangcheck manually
16:09 dalek MoarVM/clangcheck: review: https://github.com/MoarVM/MoarVM/commit/8bb498248e
16:10 not_gerd bye, #moarvm
16:31 donaldh joined #moarvm
18:04 donaldh joined #moarvm
18:10 colomon joined #moarvm
18:14 donaldh joined #moarvm
19:07 donaldh joined #moarvm
19:16 dalek MoarVM: 5027db8 | (Gerhard R)++ | / (7 files):
19:16 dalek MoarVM: Implement clangcheck and gcccheck make targets
19:16 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/5027db8ca0
19:19 dalek MoarVM/warnings: e341b2e | (Gerhard R)++ | src/ (11 files):
19:19 dalek MoarVM/warnings: Fix some warnings
19:19 dalek MoarVM/warnings: review: https://github.com/MoarVM/MoarVM/commit/e341b2e42b
19:52 colomon joined #moarvm
19:57 grondilu joined #moarvm
20:13 dalek MoarVM: 6fcca53 | (Gerhard R)++ | build/setup.pm:
20:13 dalek MoarVM: Fix cleaning dyncall on MinGW
20:13 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/6fcca53c00
20:14 benabik joined #moarvm
20:31 colomon joined #moarvm
20:48 dalek MoarVM: bb8e97e | (Gerhard R)++ | / (3 files):
20:48 dalek MoarVM: Make dyncall build on MinGW more robust
20:48 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/bb8e97e9f5
20:49 colomon joined #moarvm
21:27 colomon joined #moarvm
21:53 jnap joined #moarvm
22:15 jnthn I'll deal with that .class thing soonish :)
22:15 jnthn (no, not tonight ;))
22:18 jnthn On my laptop, I just did a git pull, git clean -fdx, perl Configure.pl, and I get:
22:18 jnthn Updating submodules .................................... FAIL git error: fatal: reference is not a tree: a9e6eec70785f43f63ef17189fc2733d4
22:18 jnthn ceb8446
22:18 jnthn Unable to checkout 'a9e6eec70785f43f63ef17189fc2733d4ceb8446' in submodule path
22:18 jnthn '3rdparty/dyncall'
22:20 colomon joined #moarvm
22:21 FROGGS O.o
22:40 diakopter someone dropped a character in the commit?
22:42 diakopter jnthn: oh, I bet he updated it to refer to the upstream dyncall
22:42 diakopter but didn't pull/push into MoarVM/dyncall
22:43 jnthn diakopter: ok. It's not like I was gonna do anything useful tonight anyways :)
22:49 jnthn 'night
22:49 diakopter o/
22:59 dalek MoarVM: a0d39e9 | (Gerhard R)++ | .gitmodules:
22:59 dalek MoarVM: Point dyncall submodule to MoarVM repository.
22:59 dalek MoarVM:
22:59 dalek MoarVM: Not quite sure why it worked for me before ;)
22:59 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/a0d39e9beb
23:02 colomon joined #moarvm

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