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