FROGGS | cool, that unicode stuff seems to do something | 00:08 | |
jnthn | :)) | 00:12 | |
jnthn not having much fun finding this exception reporting regression | |||
FROGGS | gnight | 00:21 | |
jnthn | Got it... | 00:22 | |
'night, FROGGS | |||
timotimo | \o/ | 00:24 | |
00:32
FROGGS[mobile] joined
|
|||
jnthn | Pushed the various bits I've done. | 01:08 | |
Got my cleanest spectest run yet | 01:09 | ||
Didn't hang anywhere \o/ | |||
timotimo | that's darn cool! :) | ||
jnthn | If anybody wants something to look into: wordcase seems busted, affecting a couple of test files. S32-str/capitalize.rakudo.moar is probably the best one to see | ||
Time for some rest; night o/ | 01:26 | ||
timotimo | gnite! | 01:27 | |
02:23
FROGGS joined
|
|||
diakopter | hi | 03:26 | |
04:13
cognominal__ joined
05:40
brother joined
|
|||
moritz | S32-str/lc.t has an interesting failure | 05:54 | |
not ok 13 - lower-casing of greek Sigma respects word-final special case | |||
# got: 'ĻĻĻ' | |||
# expected: 'ĻĻĻ' | |||
is 'Ī£Ī£Ī£'.lc, 'ĻĻĻ', 'lower-casing of greek Sigma respects word-final special case'; | |||
who decided that implementing Unicode things without a library in moarvm was a good idea? :-) | 05:55 | ||
06:41
FROGGS[mobile] joined
|
|||
arnsholt | moritz: At least we have tests that tell us that things broke =) | 07:30 | |
07:43
FROGGS joined
08:11
lizmat joined
08:33
odc joined
|
|||
nwc10 | jnthn: I attempted to make an ƶl pun on the shopping list a few weeks ago | 09:09 | |
09:29
FROGGS[mobile] joined
|
|||
nwc10 | slow thing is still slow | 09:33 | |
7977 nicholas 30 10 285m 262m 14m R 99.6 0.3 1444:05 moar | |||
JimmyZ | jnthn: re github.com/MoarVM/MoarVM/commit/c1ab28dd1a, I thought MVM_gc_root_add_permanent is not needed after MVM_gc_allocate_gen2_default_set? | 09:39 | |
09:43
FROGGS[mobile] joined
|
|||
FROGGS | ENODALEK | 10:14 | |
nwc10 | write a new one in Perl 6? | 10:15 | |
FROGGS | :/ | 10:16 | |
ETOOMUCHTODO | |||
jnthn | JimmyZ: They do orthogonal things. | 10:34 | |
eeks, the code-gen wasn't doing anything with void context really | 11:10 | ||
Checking for it in various places, but not passing it on. | |||
omgz | 11:14 | ||
Fixing that seems to have meant we generate sufficiently better code that CORE.setting compilation goes measurably faster | 11:15 | ||
Aww, darn. Didn't get me sink context, though... | |||
Ah...I see...I think. | 11:18 | ||
FROGGS | :o) | 11:25 | |
jnthn | Clears up various failures. | 11:37 | |
nwc10 | questhub.io seems to be for things one proposed to do oneself | 11:39 | |
is there anything for "SEP projects"? :-) | |||
jnthn | "Somebody Else Please..."? | 11:40 | |
nwc10 | that's somewhat politer than what I was really meaning | 11:41 | |
hitchhikers.wikia.com/wiki/Somebody...blem_field | |||
also, for some reason I've been comparing various things to "lemon-soaked paper napkins" recently -- hitchhikers.wikia.com/wiki/Frogstar_World_B | 11:42 | ||
timotimo | hah | 11:44 | |
on questhub you can create a quest and "drop out" and say "someone else can do it" | |||
jnthn | perl6-m -e "say Bool.roll(30)" | 11:52 | |
True True True True True True True True True True True True True True True True True True True True True True True True True True True True True True | |||
...unlikely :P | |||
The roll tests on various types fail. | 11:53 | ||
timotimo | i could look into that for a little bit | ||
need to build current things first, though | |||
did the void context thing make a drastic difference? | 11:54 | ||
jnthn | Seems it fixed a range of things | 11:55 | |
timotimo | ah, test fixes | ||
jnthn | And stage parse fell to 68s here | ||
timotimo | that's good, too | ||
jnthn | Was around 78s before | ||
nwc10 | is that a MoarVM only improvement? Or all backends? | ||
timotimo | oh that's not bad :D | ||
moarvm only | |||
jnthn | nwc10: MoarVM only. The other backends are already doing sink context right...otherwise we'd know about it :) | ||
nwc10 | ah OK | 11:56 | |
slow thing is still somewhere in stage parse, after about 27 hours | 11:57 | ||
jnthn | r: say 2.rand for 1..10 | ||
camelia | rakudo-parrot f614e5: OUTPUTĀ«0.365268836910161ā¤0.564055266866738ā¤1.92259827227635ā¤0.438273427333264ā¤1.58254501732878ā¤0.272373119642616ā¤1.36210254308587ā¤1.01151375424235ā¤1.94483478239408ā¤0.506384388110369ā¤Ā» | ||
..rakudo-jvm f614e5: OUTPUTĀ«1.0080365396270556ā¤0.29770801268032865ā¤1.6501561681619104ā¤1.9817874191804223ā¤1.8108484226410284ā¤0.7550679563410723ā¤0.8563296906474187ā¤1.9931871459625206ā¤1.1211630444843945ā¤1.656239266223772ā¤Ā» | |||
jnthn | On MoarVM, those all come out between 0 and 1 :) | ||
Uh, < 1 | |||
nwc10 | so, unscaled | ||
jnthn | nqp-m: say(nqp::rand_n(2)) while 1 | 11:58 | |
camelia | nqp-moarvm: OUTPUTĀ«(signal XFSZ)0.406725ā¤0.878274ā¤0.947417ā¤0.207722ā¤0.03578ā¤0.900015ā¤0.675006ā¤0.574342ā¤0.845325ā¤0.645564ā¤0.128721ā¤0.357287ā¤0.668499ā¤0.265478ā¤0.664169ā¤0.446007ā¤0.102744ā¤0.772941ā¤0.677871ā¤0.035837ā¤0.231929ā¤0.737316ā¤0.69049ā¤ā¦Ā» | ||
jnthn | Ah, there we are | ||
timotimo | /home/timo/build/rakudo/install/bin/nqp-m --target=mbc --output=blib/Perl6/BOOTSTRAP.moarvm --encoding=utf8 \ --vmlibs=dynext/libperl6_ops_moar.so=Rakudo_ops_init src/gen/m-BOOTSTRAP.nqp | 11:59 | |
Segmentation fault (core dumped) | |||
well, that's not good :\ | |||
jnthn | :/ | ||
Oh, darn...the MoarVM rand op doesn't actually scale at all | 12:01 | ||
As in, doesn't even take an arg | |||
timotimo | %) | 12:03 | |
this is a --optimize=3 moarvm | 12:04 | ||
so i don't actually have any debug symbols >_> | |||
jnthn | Ah, maybe that's the issue... | ||
jnthn heard some other mumbling about "bust on -O3" recently... | |||
timotimo | i'll try -O1 instead | 12:05 | |
well, that immediately helped | 12:06 | ||
nwc10 | aliasing? | 12:07 | |
does -O3 enable aliasing based optimisations on gcc? | |||
timotimo | don't know | ||
Stage parse : 75.045 - oh well :\ | 12:08 | ||
oh wait, you meant the compile time for stage mast, didn't you? | |||
jnthn | timotimo: No, it was stage parse that shrunk here | 12:09 | |
timotimo | Stage mast : 69.475 - i remember it being this slow before as well :\ | ||
OK | |||
jnthn | timotimo: You did build latest NQP? | ||
timotimo | yeah | ||
jnthn | hm | ||
timotimo | wait, maybe i didn't give it the right prefix | ||
jnthn | Well, if your resulting perl6-m doesn't sink, you know you missed my fix :) | ||
timotimo | hm. i built moarvm -o3 again and it segfaulted at the same point again :| | 12:15 | |
-O2 dies, too | |||
jnthn | Could be aliasing based opts...I'm quite sure we're not safe in that regard. | ||
timotimo | OK | 12:16 | |
i'm not sure how you would have to treat C code to make sure those opts are safe | |||
Stage parse : 78.873 - hum | 12:18 | ||
timotimo is not fully awake yet and not sure how to try to sink something | 12:20 | ||
jnthn | r: 42 but role { method sink() { say 'sunk' } }; say 42 | 12:21 | |
camelia | rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUTĀ«sunkā¤42ā¤Ā» | ||
jnthn | If it doesn't say "sunk", you're missing the fix | ||
timotimo | sunk | 12:22 | |
42 | |||
i got the fix, but no happy performance yet | |||
there'll be plenty performance improvements in the future, though :) | |||
jnthn | bah, all the reduce tests we fail are involving && | 12:23 | |
uh | |||
^^ | |||
not ok 324 - |"10"| reduce [^^] true string variable test #8 | |||
not ok 325 - |"10"| reduce [^^] true string variable test #9 | |||
etc | |||
timotimo | so maybe it's our ^^ and not our reduce that's busted? | ||
did i ask this already? should i look into making rand scale on moar? | |||
jnthn | r: say ([^^] 0, 42) | ||
camelia | rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUTĀ«42ā¤Ā» | ||
timotimo | it's not much more than multiplying the result with the scale, right? | 12:24 | |
jnthn | timotimo: I already fixed rand scaling :) | ||
timotimo | oh! :) | ||
jnthn | damm, miss dalek... | ||
timotimo: Yes, I'm very sure it's our && | |||
dammit | |||
^^ | |||
timotimo | :) | ||
jnthn | Yeah, we get Nil | 12:25 | |
oh...it's a silly one | 12:26 | ||
timotimo is looking forward to the diff :) | |||
jnthn | yeah | 12:27 | |
It just doesn't decont for testing for truth in the code-gen. | |||
So it ends up checking if the Scalar itself, which is true by virtue of not being a type object. | |||
timotimo | hehe :) | ||
jnthn | yeah, 'twas that | 12:43 | |
timotimo | i may not ever have the necessary intuition to figure out when a thing we get needs to get decont'd or not | 12:44 | |
jnthn | Well, when you use nqp::ops they largely do the right thing for you | 12:47 | |
timotimo | right. but if i *implement* nqp::ops, i have to do the right thing for them :) | 12:48 | |
jnthn | timotimo: I'll be heading out soon, but if you want something to look at that probably clears up a couple of other tests too: S32-num\rounders.t | 13:07 | |
Down to around 90 test files that need attention in my latest run. | 13:11 | ||
timotimo | wow :) | 13:13 | |
i can have a quick look, sure | |||
jnthn | oh, also that spectest run happened in 1261s, while last night's took 1568s... | 13:19 | |
timotimo | \o/ | 13:34 | |
now i can have a look at those tests | |||
... except i'm still struggling to get randscale_n up and running >_< | 13:38 | ||
jnthn | bbl & | ||
timotimo | now it works and i can look at the tests | 13:48 | |
[Coke] slept instead of doing a night time moar run. daily run will kick off shortly anyway. | 13:53 | ||
timotimo | i think the rounding trouble has to do with Rats | 13:54 | |
this could be due to div behaving like parrot | 13:56 | ||
-9 div 10 is 0 on moar | |||
AIUI that's wrong | 13:57 | ||
moritz | yes | ||
timotimo | i'll fix it in moar if i can. | ||
moritz | parrot has the same bug, it seems | ||
timotimo | yes | ||
see also src/core/Rational.pm where it explicitly complains about parrot's div being wrong | 13:58 | ||
though trying to work around it in the rational implementation of floor rather than special-casing negative div on parrot feels iffy to me | |||
13:58
FROGGS[mobile] joined
|
|||
timotimo | moar just implements that as result = operand_1 / operand_2 | 14:00 | |
so i suppose that should be (operand_2 < 0 ? operand_2 - 1 : operand_2)? | |||
how big do i need to go to get a big int? above 64 bits i think? | 14:02 | ||
r: say (2 ** 70) | |||
camelia | rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUTĀ«1180591620717411303424ā¤Ā» | ||
timotimo | r: say (2 ** 70 - 1) div (2 ** 70) | ||
camelia | rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUTĀ«0ā¤Ā» | ||
timotimo | maybe that's already correct, due to being implemented by libtommath? | ||
hm. just subtracting 1 may go wrong if the number is right at the edge of becoming a big integer | 14:04 | ||
oops, i need to check if the *numerator* is < 0, not the denominator | 14:07 | ||
silly me | |||
still getting some Not OKs, huh | 14:34 | ||
14:37
FROGGS[mobile] joined
|
|||
timotimo | that test above was bogus, aha! | 14:37 | |
r: say (-(2 ** 70)) div (2 ** 70 - 1) | |||
camelia | rakudo-jvm f614e5: OUTPUTĀ«-2ā¤Ā» | ||
..rakudo-parrot f614e5: OUTPUTĀ«-1ā¤Ā» | |||
timotimo | r: say (-(2 ** 70)) div ((2 ** 70) - 1) | 14:38 | |
camelia | rakudo-jvm f614e5: OUTPUTĀ«-2ā¤Ā» | ||
..rakudo-parrot f614e5: OUTPUTĀ«-1ā¤Ā» | |||
timotimo | ... huh | ||
i suppose i could MVM_bigint_cmp the numerator to 0 and if it comes up negative (-1, that is) i need to subtract one with MVM_bigint_sub? | 14:40 | ||
ah, there's MP_EQ and such | |||
Cannot call 'Real'; none of these signatures match: | 14:45 | ||
:(Mu:U \v: Mu *%_) | |||
wow, i must have done some pretty impressive mistake | |||
diakopter | moritz: jnthn did, but I agreed. yep need to add that special case if it's part of Unicode | 14:56 | |
otherwise shoukd be in hll | 14:57 | ||
timotimo | i made -0.5 not work any more >_< | 14:58 | |
ah, maybe because i didn't change div_In | 15:00 | ||
... nope | 15:02 | ||
i need to take a nap. if somebody would like to investigate the negative_integer_division branch of MoarVM against t/spec/S32-num/rounders.t, be my guest | 15:10 | ||
15:37
grondilu joined
|
|||
FROGGS holds his breath while rakudo compiles | 15:43 | ||
moritz tickles FROGGS | 15:44 | ||
FROGGS | (>.<) | 15:45 | |
damn, I made it worse... | 15:50 | ||
FROGGS tries again | |||
16:47
FROGGS[mobile] joined
|
|||
[Coke] | feather.perl6.nl/~coke/moar.out updated with today's run. | 16:50 | |
r: say 26962 / 28454 | 16:51 | ||
camelia | rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUTĀ«0.947564ā¤Ā» | ||
[Coke] | r: say 28454*.95-26962 | 16:52 | |
camelia | rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUTĀ«69.3ā¤Ā» | ||
diakopter | heh. | 16:55 | |
again, as jnthn pointed out, I did un-skip some in properties-derived, so that'll skew the vs-parrot numbers some | 16:56 | ||
[Coke] | diakopter: you keep saying that, but you unskipped them for -moar-. if anything, moar should be doing better. | 16:58 | |
diakopter | FROGGS[mobile]++ FROGGS++ reading my baby Perl code in ucd2c.pl | ||
[Coke] | (and today it was. doesn't explain the weird drop eysterday) | 16:59 | |
FROGGS | diakopter: one test file only fails three tests now (>100 before), but the others fail more... | ||
diakopter | [Coke]: right, but jnthn meant it skews the vs-parrot numbers if we're wanting to track progress toward matching parrot | ||
haha {"Ancient_Greek_Numbers",6},{"AncientGreekNumbers",6},{"ancientgreeknumbers",6}, {"Ancient_Greek_Numbers",6},{"AncientGreekNumbers",6},{"ancientgreeknumbers",6} | 17:01 | ||
FROGGS: seems you need some de-duping | |||
[Coke] | gist.github.com/coke/8250608 updated. | 17:02 | |
we have a segfault again. | |||
no timeouts, though! | |||
diakopter | halting problem solved! | ||
[Coke] | biggest source of moar failures is now S05-mass/* | 17:03 | |
diakopter | everyone marvel at the beautiful generated binary search algorithm in MVM_codepoint_to_row_index in raw2.github.com/MoarVM/MoarVM/0098...icode_db.c | 17:04 | |
[Coke] | r: say 720/1176 # %age of failures in S05 total. | 17:05 | |
camelia | rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUTĀ«0.612245ā¤Ā» | ||
diakopter | ouch | ||
FROGGS | I am working on that and hope that I can push in a few hours | 17:06 | |
[Coke] | FROGGS++ | ||
r: say (26962+720)/28454 # if FROGGS++ fixes all the s05 bugs: | 17:07 | ||
camelia | rakudo-parrot f614e5, rakudo-jvm f614e5: OUTPUTĀ«0.972868ā¤Ā» | ||
[Coke] | I wish I had time to actually fix bugs rather than cheer from the sides here. :) | ||
diakopter: there's actual code in that file? ... oh, there it is. | |||
diakopter | [Coke]: yeah lots of recursively generated code | 17:08 | |
[Coke] | all I see is a giant set of data, then about 40 lines at the end. | 17:09 | |
diakopter | well, a few hundred | ||
[Coke] | oh, there's more above that. | ||
diakopter | manually bit-packed columns | 17:10 | |
[Coke] | that segfault seems dodgy. I was golfing it down, and it's vanished. (even where it was segfaulting before) | 17:16 | |
ooh, and then I got: Internal error: Unwound entire stack and missed handler | 17:21 | ||
FROGGS | [Coke]: you are a great help though | 17:34 | |
I have a problem... ASCIIHexDigit has a property_code of 25, but it fails to resolve the property_value_code | 17:49 | ||
and later, when it gets the value code of the code point to compare it against the property_value_code, the value code is 1 so the cmp fails | 17:50 | ||
:/ | |||
it can resolve the property_value_code of ASCII though | 18:00 | ||
hmmm, so ASCIIHexDigit is just missing in unicode_property_value_keypairs? | 18:03 | ||
I guess that is another place where we need to care about aliases... | 18:04 | ||
/home/froggs/dev/MoarVM/UNIDATA/PropertyAliases.txt:130:AHex ; ASCII_Hex_Digit | |||
/home/froggs/dev/MoarVM/UNIDATA/PropertyValueAliases.txt:57:# ASCII_Hex_Digit (AHex) | |||
okay, I think I understand, though, need more brane to fix it | 18:37 | ||
diakopter throws you three brane | 18:38 | ||
grondilu notices that perl6-m returns creates Blob wih negative values: | 18:43 | ||
./perl6-m -e 'say Blob.new: (^256).roll: 5;' | |||
Buf:0x<-3a 73 -1 -14 -33> | |||
benabik | grondilu: Well, that makes sense if Buf is full of signed 8bit values. | 18:47 | |
jnthn | I think it just doesn't handle uint8 righ tyet | 18:50 | |
Just an NYI | |||
grondilu | ok | ||
jnthn | We've a handful of those still :) | 18:51 | |
19:11
ssutch joined
|
|||
FROGGS | that is my diff btw, with debug output, but one should see how it looks up blocks like in <:InArabic> | 19:11 | |
gist.github.com/FROGGS/b39bb6ed35370d763c91 | |||
though, <:Digit> drives me nuts atm | 19:12 | ||
bbiab | |||
diakopter | FROGGS: yeah, I kinda deferred much of Digit iirc | ||
er | 19:13 | ||
maybe I didn't | |||
FROGGS[mobile] | the problem seems to be that the property value code for Digit is resolved as the one of Numeric | 19:27 | |
but Digit is just a part of Numeric | |||
19:56
jnap joined
20:10
dalek joined
20:23
jnap left
|
|||
timotimo | no one had a look at my integer division code? i bet it's easy to figure out if you've seen the multiprecision arithmetic code a few times before :| | 20:27 | |
20:31
FROGGS[mobile] joined
20:44
jnap joined
20:56
FROGGS[mobile] joined
|
|||
jnthn eliminates 2 more of the errors from the [Coke] gist | 21:38 | ||
[Coke] | \o/ | 21:49 | |
FROGGS: any luck with unicode? | 21:50 | ||
jnthn | btw, I probably won't have many tuits at all during the next 5-6 days. | 21:52 | |
(But tuit supply looks good again after that.) | 21:53 | ||
21:55
FROGGS[mobile] joined
|
|||
timotimo | jnthn: if you have just a moment, want to check out my integer division branch? | 22:04 | |
it makes code like -0.5 fail :( | 22:05 | ||
timotimo gotta run | 22:09 | ||
[Coke] | moar: 94.76% | 22:22 | |
jnthn | timotimo: Will take a look | 22:29 | |
wait, which repo? | |||
timotimo | i hope the mistake is simple and silly | ||
mvm | |||
22:29
jnap left
|
|||
jnthn | mp_sub_d(ib, 1, ib); | 22:31 | |
Here you are mutating the original (supposedly immutable) Int | |||
Need to put the ib - 1 into another temporary, use it in the calc, then clear it | 22:33 | ||
timotimo | oh! | 22:34 | |
i canbfix that inbabout half an hour | |||
got enough code in the vicinity to cargo-cult | |||
23:23
FROGGS[mobile] joined
|
|||
timotimo | meh. after that change i still get Cannot call 'Real'; none of these signatures match: | 23:23 | |
oh, wait. i'm not even using temp_b for the calculation %) | 23:27 |