|
00:57
kjs_ joined
02:37
harrow joined
06:49
avuserow joined
08:14
kjs_ joined
08:24
rurban joined
08:28
FROGGS[mobile] joined
10:32
tgt joined
11:23
kjs_ joined
|
|||
| jnthn | So what trains are we all on tomorrow? | 11:30 | |
| uh, ww | |||
| lizmat | .oO( full fart! ) |
11:34 | |
|
12:35
zakharyas joined
12:41
FROGGS joined
12:43
camelia joined
13:02
FROGGS[mobile] joined
14:23
zakharyas joined
|
|||
| FROGGS | jnthn: +1 to merge github.com/MoarVM/MoarVM/pull/184 after I tested it? | 16:28 | |
| jnthn | I don't like "myeof" :S | ||
| FROGGS | yeah | ||
| jnthn | Doesn't whine on my any of the compilers I've used about this... | 16:29 | |
| FROGGS | but I also know that I was unable to use the name eof on QNX either | ||
| jnthn | Maybe we should underscore it... :) | ||
| FROGGS | that's what my patch did :o) | ||
| gist.github.com/FROGGS/88b75ce683284babe32d | 16:30 | ||
| jnthn | OK, and others in the PR I was happy with | ||
| timotimo | feel free to beat me to fixing the local ref code gen and or tests. will not have access to a pc until late evening | ||
| FROGGS | jnthn: okay, so I'll cherry pick the other and will underscore eof and tell | 16:31 | |
| others* | |||
| jnthn | Thanks; FROGGS++ | ||
| timotimo: I may get chance, if not today then sometime in the coming days. | |||
| FROGGS | ohh, I <3 github... | 16:34 | |
| just append .diff to a commit url and you get what you expect :o) | 16:35 | ||
|
16:42
kjs_ joined
|
|||
| dalek | arVM: 668a207 | cygx++ | src/platform/win32/mmap.c: int* and DWORD* are not compatible types |
16:42 | |
| arVM: 4baefd6 | cygx++ | src/io/syncpipe.c: fix bogus pointer casts |
|||
| arVM: cea53be | cygx++ | src/io/syncfile.c: avoid name clashes with libc functions |
16:53 | ||
| FROGGS | jnthn: I'll also merge github.com/MoarVM/MoarVM/pull/185/files | 16:56 | |
| it will be helpful for fakecutables also | 16:57 | ||
| dalek | arVM: a624f2a | cygx++ | src/moar. (2 files): Add helper functions so embedders won't need to poke into MVMInstance |
||
| arVM: 1fdea93 | FROGGS++ | src/moar. (2 files): Merge pull request #185 from cygx/embed Add helper functions so embedders won't need to poke into MVMInstance |
|||
| jnthn | FROGGS: Yes, my only qualm with that patch is that main.c really shoulda been updated to use those functions too | 18:06 | |
| FROGGS: So we don't have to maintain the same code in 2 places. | 18:07 | ||
| FROGGS | ahh, good point | 18:11 | |
| I hopefully wont forget to do that | |||
| jnthn | mebbe I'll do it | 18:13 | |
| but dinner first :) | |||
|
18:23
cygx joined
|
|||
| cygx | hi | 18:24 | |
| thank for applying the pr | |||
| but by doing so, you broke the code as MinGW also comes with a declaration _CRTIMP int __cdecl _eof(int _FileHandle) | |||
| jnthn | wtf | 18:27 | |
| *sigh* | |||
| Is it just a warning? | 18:29 | ||
| Or actually an error? | |||
| cygx | an actual error at the given warning levels (prototypes don't match) | ||
| to be fair, in C, names with leading underscores are reserved | |||
| jnthn wonders why we don't hit this anywhere else | |||
| Yeah, well, I was fine with it as it was. It's a *static*. It's not even getting made visible under the name. | 18:30 | ||
| cygx | apparently, the MinGW winapi headers are organized a bit differently than the Microsoft ones | ||
| jnthn | And, apparently, the POSIX ones too :) | ||
| Guess we can go with something like mvm_eof and mvm_tell | 18:33 | ||
| Still irritating to have to rename stuff because of weird header organization and a bogus warning. :/ | 18:34 | ||
| cygx | on a related note, both jit and spesh need to be disabled for CORE.setting to compile on MinGW | 18:35 | |
| with jitting enabled, it dies in stage parse with "Internal error: zeroed target thread ID in work pass" | 18:39 | ||
| jnthn | Hm, interesting question then being if that hides the real bug...GC is usually fairly orthogonal | 18:44 | |
| I think FROGGS mentioned getting that error recently in a different context | 18:45 | ||
| dalek | arVM: ce8d59e | jnthn++ | src/io/syncfile.c: Rename to fix the build on MinGW; cygx++. |
18:46 | |
| jnthn | Hopefully that helps. | ||
| (the build issue) | |||
| FROGGS | *sigh* # _tell/_eof | 18:48 | |
| cygx: I've no cygwin atm so I did not check :/ | |||
| cygx | FROGGS: not Cygwin - MinGW (in particular, Strawberry Perl) | 18:49 | |
| I've been thinking about a combined Strawberry Perl/Rakudo Star distribution | 18:50 | ||
| the name Starberry Perl came to mind ;) | |||
| jnthn | ooh :) | 18:51 | |
| (to the idea...the name is...lol :)) | |||
| I had to read it three times to see it didn't say Strawberry | |||
| Would the idea be to include Inline::Perl5 etc, so you can use the two together? | 18:52 | ||
| cygx | jnthn: yes, that was the idea | ||
|
18:53
kjs_ joined
|
|||
| jnthn | Sounds great. | 18:53 | |
| cygx++ | 18:54 | ||
|
19:02
vendethiel joined
19:20
zakharyas joined
|
|||
| FROGGS | it seems like I can install the blackberry IDE this time... which means that I can try again to compile for QNX | 19:24 | |
| timotimo | whats that? | ||
| jnthn | The successor to PNX... :P | 19:26 | |
| FROGGS | it's UNIXoid | 19:27 | |
| timotimo: de.wikipedia.org/wiki/QNX | 19:28 | ||
| timotimo | no the IDE | ||
| cygx | MVM_ext_load() calls MVM_gc_root_add_permanent(), whereas the filenames in loaded_compunits get added in MVM_gc_root_add_instance_roots_to_worklist() | 19:32 | |
| what's the preferred way to register a hash I want to add to instance with the gc? | 19:33 | ||
| jnthn | What's its lifetime? | ||
| cygx | (said hash containing the names of modules that reside in-memory instead of on-disk) | ||
| jnthn: permanent | 19:34 | ||
| jnthn | MVM_gc_root_add_permanent is fine if the object should live as long as the instance | ||
| (Since there's no way to unregister it) | |||
| It's the ended mechanism if you're extending the VM through embedding also | 19:35 | ||
| s/ended/intended/ | |||
| cygx is working on fakecutables | 19:36 | ||
| jnthn | aha :) | 19:37 | |
| Are you aware of the proof-of-concept work on that at groups.google.com/forum/#!searchin...UT1YL2grIJ ? | |||
|
19:39
zakharyas joined
|
|||
| cygx | jnthn: no, but I basically had it working already | 19:40 | |
| but the approach I took (preloading the modules) ran into issues because the deserialization frame gets called before any other frame, so I'd have to sneak in some initialization | |||
| I decided the more proper approach would be to just register such modules somewhere and make load_bytecode memory-aware | 19:41 | ||
| jnthn | Sounds like you're trying to solve a different problem too, which is how to bundle something with its dependencies into a single executable. | ||
| cygx | yes - just embedding the nqp.moarvm already worked | 19:42 | |
| jnthn | aye | ||
| And I think that's as far as the pathces I linked go | 19:43 | ||
| cygx | anyway, I think loading modules as requested is the better approach than just loading them in an essentialy arbitrary order beforehand | 19:45 | |
| jnthn | Yes, indeed. More of an in memory file system appraoch I guess | 19:47 | |
| timotimo | i like the sound of that; and having that work for CompUnitRepo, too | 19:56 | |
| FROGGS | timotimo: it is called momentics, which is an eclipse with the qcc (gcc for qnx) compiler and other blackberry specific bits | ||
| timotimo | ah, i see | ||
|
20:23
japhb joined
|
|||
| cygx | so, I've got a working nqp fakecutable: gist.github.com/cygx/f7eb20d6c73294f72245 | 20:46 | |
|
20:55
japhb joined
|
|||
| timotimo | cool! :) | 21:02 | |
| so nothing is stopping you from getting rakudo to work, too? | 21:04 | ||
| cygx | timotimo: as far as I know, it should work equally well with rakudo | 21:09 | |
| timotimo | great :) | 21:14 | |
| timotimo heads off to bed to get rid of the cold or whatever he got | |||
| take care! :) | |||
| cygx | good night and get well | 21:16 | |
| jnthn | timotimo: Get well! o/ | 21:23 | |
| cygx | pushed and example code updated: github.com/MoarVM/MoarVM/compare/m...akecutable gist.github.com/cygx/f7eb20d6c73294f72245 | 21:40 | |
| dalek | arVM/spesh-value-prop: aa0cc26 | jnthn++ | src/spesh/graph.c: Factor dominance info computation out a little. |
22:47 | |
| arVM/spesh-value-prop: fac3c22 | jnthn++ | src/spesh/graph. (2 files): Add a function for re-computing dominance info. |
|||
| arVM/spesh-value-prop: d5baf85 | jnthn++ | src/spesh/graph. (2 files): Expose graph.c's unreachable BB elimination. This is the first step to eliminating the duplication of this logic with a very similar but incomplete version in optimize.c. |
22:54 | ||
|
23:10
Ven joined
|
|||
| dalek | arVM/spesh-value-prop: d515ea9 | jnthn++ | src/spesh/graph. (2 files): Provide a callback on basic block elimination. This will be used by the optimizer to do any fixup operations needed if we remove a block. |
23:15 | |
| arVM/spesh-value-prop: f1b8c16 | jnthn++ | src/spesh/graph.c: Fix a couple of bugs in basic block elimination. We accidentally failed to eliminate some blocks we should have in one case, and as efficiently as we could in another. |
23:37 | ||
| jnthn | Bah, I played fast and loose with fixing the succ/pred stuff when implementing inlining. | 23:56 | |
| What a succer.. | |||
| eh well, tomorrow... | |||