00:08
woosley joined
01:35
colomon joined
01:58
FROGGS_ joined
02:03
woosley joined
02:25
donaldh joined
|
|||
nwc10 | Stage start : 0.000 | 05:47 | |
Stage parse : 5493.118 | |||
Stage syntaxcheck: 0.037 | |||
Stage ast : 0.048 | |||
Stage optimize : 4285.018 | |||
Stage mast : 25445.270 | |||
Stage mbc : 424.588 | |||
swap dropped from 475616 (K) to 35628 | 05:48 | ||
All tests successful. | 05:55 | ||
Files=22, Tests=271, 371 wallclock secs ( 2.02 usr 0.40 sys + 344.21 cusr 14.34 csys = 360.97 CPU) | 05:56 | ||
Result: PASS | |||
and the total build time | |||
real 634m20.712s | |||
user 113m48.770s | |||
sys 18m31.920s | |||
tadzik: no, it's swapping to the attached external HD | 06:03 | ||
06:09
JimmyZ_ joined
|
|||
JimmyZ_ | nwc10++ # It's a hard bug | 06:09 | |
nwc10 | $ grep DWord /proc/cpu/alignment | 06:43 | |
DWord: 4555449 | |||
yes, long long is hitting a kernel fixup handler | |||
which is why we're still trucking | |||
07:06
zakharyas joined
07:14
FROGGS joined
|
|||
dalek | MoarVM/nwc10++: 3eea1e7 | nicholas++ | src/strings/utf8.c: | 07:27 | |
MoarVM/nwc10++: Remove BOM-discarding code from MVM_string_utf8_decode() | |||
MoarVM/nwc10++: | |||
MoarVM/nwc10++: This code is unreachable on a platform where char is signed, because there | |||
MoarVM/nwc10++: utf8[0] will be between -128 and and 127 inclusive, and hence never equal to | |||
07:28
dalek joined
|
|||
nwc10 | and at the end of NQP we had reached: | 07:39 | |
DWord: 24936669 | |||
it was rebooted before this run | |||
FROGGS | I am not sure I understand what that means :o) | 07:44 | |
nwc10 | almost 2.5 millon CPU aborts caused by reading 64 bit integers from aligned addresses, trapped by the kernel and fixed up | 07:45 | |
"spendy" seems like the relevant slang | |||
FROGGS | ohh | 07:47 | |
07:50
LLamaRider joined
|
|||
moritz | nwc10: s/aligned/unaligned/ ? | 08:00 | |
nwc10 | yes | 08:08 | |
ENOCOFFEE | |||
08:26
LLamaRider joined
|
|||
JimmyZ_ | It's really a goooood branch name :P | 08:48 | |
It may fix my build problem too | 08:49 | ||
timotimo | it's really a good branch name i think | ||
09:20
LLamaRider joined
|
|||
masak | hehe, way to hack the karma system ;) | 09:24 | |
at least until dalek gets kick'd. | 09:25 | ||
FROGGS | nwc10: nqp m-test, perl6-m m-test and m-spectest is successfull on linux x86 and x86_64 | 09:44 | |
nwc10: currently testing 32bit windows | |||
nwc10 | which didn't use to work? | ||
and you can then test 64bit windows? and that would mean all 3 known good platforms are still good, and we have a 4th? | 09:45 | ||
(OK, yes, I know that OS X x86_64 is working, and probably x86 if someone tries) | |||
FROGGS | I can answer "yes" to all | 09:48 | |
I'll test Win7 64bit in a few hours though | |||
nwc10: Win32_x86 test summary: gist.github.com/FROGGS/611321ffafb37fa0bdda (nqp's and rakudo's sanity tests are fine) | 10:30 | ||
I removed the S17 fails now btw | 10:32 | ||
I think I've seen that S02 fail on perl6-p already | 10:34 | ||
okay, I am testing on wWin7 x64 now and it seems the fails are windows specific, I've seen them there already perhaps | 10:47 | ||
nwc10: I also added the Win7 x64 output: gist.github.com/FROGGS/611321ffafb37fa0bdda | 11:13 | ||
I rerun the failing tests not with moar-master | 11:15 | ||
nwc10: moar-master fails the same way | 11:19 | ||
I'd say +1 to merge | |||
the fails are like this: | 11:20 | ||
not ok 4 - Current directory is 't' subfolder (absolute) | |||
# got: 'C:\rakudo/t' | |||
# expected: 'C:\rakudo\t' | |||
nwc10 | oh, fun :-/ | 11:58 | |
or is that | |||
fun :-\ | |||
anyway, I'd prefer it properly evaluated to rush-merged | 11:59 | ||
as I'm running on a local branch anyway | |||
also, this is needed to unblock building a Moar-star MSI for Win32? | |||
FROGGS | I already built that moar-star yesterday | 12:07 | |
13:39
jnap joined
13:42
domidumont joined
13:45
btyler joined
14:13
jnap joined
14:25
donaldh joined
14:36
domidumont joined
15:56
lizmat joined
|
|||
nwc10 | jnthn: yes, technially this is "Read the fine source code", but is freshly compiled in-memory bytecode run through the validator? | 15:56 | |
ie, does MoarVM trust its compiler? | 15:57 | ||
jnthn | No, it doesnt trust its compiler | 15:58 | |
'cus MAST is pretty close to the bytecode | |||
And you could slip something invalid into there if you were being malicious. | |||
nwc10 | OK | ||
jnthn | And I didn't really want to implementation validation in two places. | ||
nwc10 | from disk bytecode is memory mapped. Presumably freshly compiled is from malloc(). How does it know what to free? | 15:59 | |
that's possibly "look at this file..." | |||
jnthn | MVMCompUnit.c will be the place, but I'm really not sure how well that's handled yet. | 16:00 | |
jnthn checks | |||
oh, apparently it isn't. D'oh. | 16:01 | ||
nwc10 | at all? it leaks? | ||
jnthn | Probably. | 16:03 | |
But I'm not entirley sure SCs are properly redeemed either | |||
"Make sure eval is really non-leaky" has been on my todo list for a while. | 16:04 | ||
It's just that the current level of leakiness isn't actually hurting anything afaik. | |||
So it didn't get too close to the top yet. | |||
SCs have some curious weakhash arrangement that I'm not 100% comfortable with at present either, or at least couldn't yet convince myself is right or wrong. | 16:05 | ||
nwc10 | OK, and SCs will be holding onto frames of bytecode? meaning that if SCs are leaking, even well behaved bytecode won't clean up? | 16:06 | |
jnthn | Right. | ||
So it's fine to fix MVMCompUnit to know the state of its bytecode | |||
But I don't think it alone will mean we ain't leaking there. | 16:07 | ||
nwc10 | OK, just wanted to be consistent | ||
jnthn | I've somtimes pondered holding two pointers in there | ||
but that's mahybe not enough | |||
I'm now wondering if it wants an enum BytecodeState of mmaped, generated, and transformed. | 16:08 | ||
And if it's in the latter two we know it needs freeing. | |||
nwc10 | is there any real difference between generated and transformed? | 16:09 | |
jnthn | Hm, probably not... | ||
Depends if we make src/mast/compiler.c spit out bytecode in current-endian format when we're going to use it right away. | |||
nwc10 | I think compiler should spit out in current-endian format | ||
and fixing should be done on writing | 16:10 | ||
that ensures only one place needs to fix | |||
jnthn | Hmmm | ||
nwc10 | but yes | ||
16:10
lizmat_ joined
|
|||
nwc10 | it does mean that the writer needs to do the same as validate | 16:10 | |
jnthn | aye | 16:15 | |
but "transform at the boundaries" is usually sane design | |||
nwc10 | I was working on the assumption of "transform at the boundaries" | 16:16 | |
so validation of from-disk bytecode | |||
and writing out of bytecode to disk | |||
mmm, should also check what happens to bytecode on platforms that can't mmap | 16:17 | ||
jnthn | Heck knows... | 16:19 | |
Think the code currently assumes mmap 'cus we didn't yet go somewhere without it. :) | 16:20 | ||
What notable places can't mmap, ooc? | |||
nwc10 | oh, Win32 is happy to mmap? | ||
jnthn | Well, it provides the functionality | 16:22 | |
Just not under the name mmap | |||
src/platform/win32/mmap.c has the gory details | |||
cognominal__ | jnthn, can a (parametric) role be imported from another compulation unit? | 16:24 | |
cognominal | If so, there must be a lot of magic. | 16:26 | |
jnthn | wow, my brain fixed that spelling to "copulation unit" :P | ||
Well, you can put "is export" on it... | 16:27 | ||
So yeah, don't see why not | |||
bbi10 | |||
cognominal | sorry for the typo :) | 16:28 | |
16:30
lizmat joined
|
|||
cognominal | may be it is an horizontal transfer of gene, but it is a digital one, not one involving bacteria, or missionary position | 16:33 | |
nwc10 | jnthn: is prepare_and_verify_static_frame in frame.c supposed to be static? | 16:39 | |
jnthn | nwc10: yes | 16:51 | |
I'm kinda surprised it isn't | |||
Should probably some day get a list of symbols we export to spot similar accidents | |||
nwc10 | medium term define a public API, and where possible use linker scripts to enforce that only API symbols are exported | 16:53 | |
but there can be things that are needed in different files internally, that aren't supposed to escape | |||
would be hard(er) to spot those | |||
jnthn | MVM_PUBLIC is already existing to do that. | 16:54 | |
Though so far "public API" is "I needed it in Rakudo ext ops" :) | |||
dalek | arVM: 3eea1e7 | nicholas++ | src/strings/utf8.c: Remove BOM-discarding code from MVM_string_utf8_decode() This code is unreachable on a platform where char is signed, because there utf8[0] will be between -128 and and 127 inclusive, and hence never equal to 4150d51 | (Tobias Leich)++ | src/io/fileops.c: steal P5's unlink magic for windows, clear readonly flag when needed When are file is meant to be deleted, and when we are have the privilegues to clear the readonly flag, then we do that first before attempting to delete the file. In case the file was not deleted we restore the original file flags. |
17:05 | |
jnthn | Was happy with all, verified them on Win64 also. | ||
17:05
dalek joined
|
|||
jnthn | (The experimental patch wasn't included.) | 17:06 | |
nwc10 | yes, it had a massive great XXX | 17:08 | |
and the local copy has been --amended | |||
timotimo | i love the sound of commits in the evening :) | 17:10 | |
jnthn | Evening plan: 1) dinner, maybe at Mexican place. 2) Drink a porter. 3) Code if time. :) | 17:11 | |
17:12
benabik joined
|
|||
timotimo | m: say so time | 17:14 | |
7F1AAEDN9 | rakudo-moar 1ccc4d: OUTPUTĀ«Trueā¤Ā» | ||
camelia | rakudo-moar 1ccc4d: OUTPUTĀ«Trueā¤Ā» | ||
timotimo | ^- :) | ||
jnthn | so optimism :) | 17:15 | |
timotimo | :D | ||
moritz | who or what is 7F1AAEDN9 | 17:19 | |
? | |||
nwc10 | moritz: seemingly, a Camelia | 17:21 | |
Day changed to 03 May 2014 | |||
08:11 -!- camelia is now known as 7F1AAEDN9 | |||
benabik | m: say 1 | 17:22 | |
camelia | rakudo-moar 1ccc4d: OUTPUTĀ«1ā¤Ā» | ||
7F1AAEDN9 | rakudo-moar 1ccc4d: OUTPUTĀ«1ā¤Ā» | ||
jnthn | dinner & | ||
benabik | That's... less than optimal. | ||
moritz | and now we have two of them? | 17:23 | |
nwc10 | if we ask it to solve the halting problem, will it ping out? | 17:24 | |
moritz | usually not. | ||
17:27
domidumont joined,
camelia joined
17:28
FROGGS joined
|
|||
moritz | killed. | 17:29 | |
nwc10 | camelia: say 42 | ||
er | |||
m: use more 'coffee'; | 17:30 | ||
camelia | rakudo-moar 1ccc4d: OUTPUTĀ«===SORRY!===ā¤Could not find more in any of: /home/p6eval/.perl6/2014.04-185-g1ccc4d3/lib, /home/p6eval/rakudo-inst-1/languages/perl6/site/lib, /home/p6eval/rakudo-inst-1/languages/perl6/vendor/lib, /home/p6eval/rakudo-inst-1/languages/perl6/libā¤Ā» | ||
FROGGS | ahh, the branch got merged, nice :o) | ||
jnthn: I am about to make the windows spectest clean this evening | 17:31 | ||
nwc10 | branch was merged but not yet deleted? | 17:34 | |
17:39
domidumont joined
17:45
ggoebel111113 joined
17:47
ggoebel111114 joined
|
|||
FROGGS | - [deleted] nwc10++ | 17:52 | |
done | |||
17:54
japhb joined
18:27
benabik joined
18:30
raiph joined
|
|||
raiph | FROGGS: what's the latest on nativecall on 32 bit? | 18:33 | |
FROGGS | raiph: are there issues? | 18:35 | |
raiph | don't know. someone said the latest they'd heard was that nativecall didn't work on 32 bit systems. | 18:36 | |
www.perlmonks.org/?parent=1085145;node_id=3333 | |||
FROGGS | hmmm, I'll check that | 18:37 | |
raiph | thx | 18:39 | |
18:51
ggoebel111115 joined
|
|||
nwc10 | jnthn: the "boundary" approach to endian-ness probably doesn't work. All the serialisation code, to read and to write, is tightly coupled to endian swapping | 19:01 | |
19:04
FROGGS joined
|
|||
jnthn | nwc10: As far as the bytecode format is concerned, the serialization blob is just, well, a blob. | 19:14 | |
nwc10: It doesn't care about it any deeper than a bunch of bytes | |||
FROGGS: Some NativeCall tests apparently fail on r-m in 32-bit. | 19:15 | ||
FROGGS: Something to do with sized ints. | |||
FROGGS | jnthn: ahh, of course, I remember | ||
[Coke] | raiph: when was that comment posted? (I don't see anything obvious on the monks page indicating it) | ||
FROGGS | [Coke]: today | 19:17 | |
May 06, 2014 at 08:06 UTC | |||
[Coke] | FROGGS: I am bummed that that appears nowhere on that page. | 19:18 | |
FROGGS | [Coke]: see www.perlmonks.org/?node_id=1085133 | 19:20 | |
it is at the bottom somewhere | |||
nwc10 | jnthn: OK. Looking at the code, the bytecode part of the bytecode blob/file could take the same approach as the serialisation blob | 19:24 | |
19:33
lizmat joined
19:39
lizmat joined
19:49
raiph joined
|
|||
raiph | [Coke] sorry, I posted a somewhat bogus link (right content but no post date). it was posted this morning. | 19:51 | |
by grondilu | |||
FROGGS: would you be happy to post a reply on perlmonks about 32 bit or would you prefer I do that? | 19:58 | ||
FROGGS | raiph: you can post there, that would be nice | 20:00 | |
fact is, there are failing tests about int/int32 usage, but NativeCall is still usable (would need a --force to install though) | |||
or a --notests | 20:01 | ||
raiph | FROGGS: is that just r*m or r*j / r*p too? | ||
FROGGS | r-m* only AFAIK | 20:02 | |
though, I can't build r-j* atm on that kind of platform | |||
20:05
brrt joined
20:08
camelia joined
|
|||
20:18
FROGGS joined
|
|||
brrt | \o #moarvm | 20:21 | |
jnthn | o/ brrt | 20:22 | |
dalek | MoarVM/spesh_trace: a41515d | jnthn++ | / (6 files): | ||
MoarVM/spesh_trace: Add lexical lookup lifetime hinting ops. | |||
MoarVM/spesh_trace: | |||
MoarVM/spesh_trace: Allow us to convey that a given lexical lookup can be relied on to | |||
MoarVM/spesh_trace: always resolve to the same thing, or can be relied on to resolve to | |||
timotimo | o brrt | ||
jnthn | hope nobody had a checkout of spesh_trace 'cus I just rebase and -f'd it. :) | 20:23 | |
brrt | hows it here | ||
20:23
dalek joined
|
|||
brrt | not checked out, no | 20:23 | |
jnthn figured it was a safe bet :) | |||
Or an especially safe bet nobody else was patching it :) | |||
brrt | we should have stats on relative commit / loc contributions | 20:25 | |
github probably has these | |||
git pull fixed it all for me :-) | |||
FROGGS | hi brrt | 20:26 | |
brrt | hi FROGGS | ||
hoelzro | what's the purpose of the annotation segment in a MoarVM bytecode file? | 20:35 | |
brrt | optimization hints, i'm guessing | 20:37 | |
20:37
colomon joined
|
|||
jnthn | hoelzro: line/file info | 20:37 | |
hoelzro | oh, duh | ||
brrt | :-) | ||
hoelzro | it says right here =/ | ||
jnthn | bytecode.md or so :) | ||
hoelzro | I see a bunch of entries where the bytecode offset and line number are 0 | 20:38 | |
and the filename is a crazy hex string | |||
FROGGS | base64? | ||
do we do that kind of crazyness still? | |||
jnthn | doubtful, I thought it was just references into the string heap | 20:39 | |
hoelzro | hang on | 20:40 | |
I'll pull one up | |||
Annotation.new(bytecode-offset => 0, filename => "903A5CBF1ABDC8EE51C11A21DCBD082D502A98F6", line => 0) | |||
that filename is from the string heap | |||
jnthn | ah, hmm :) | ||
interesting :) | |||
That looks like like an SC handle than a filename... | 20:41 | ||
*more like | |||
hoelzro | what's "SC" stand for, anyway? | 20:42 | |
[Coke] | serialization context | 20:43 | |
(though it means something else entirely at $dayjob, and it always confuses me here. :) | |||
hoelzro | ah ha | ||
20:52
FROGGS joined
21:20
ilbot3 joined
21:33
FROGGS joined
22:28
benabik joined
|
|||
dalek | arVM: 61f9cdb | (Tobias Leich)++ | / (10 files): implement op execname, which stores the path of the runner We can set the path to the runner in the runner scripts itself, store that information and retrieve that later through nqp::execname. moritz++ |
22:43 | |
23:03
lizmat joined
23:11
lizmat joined
|