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... |