Zoffix | What's dispatch:<var> used for? | 00:02 | |
Ah $foo."meth-name" | 00:04 | ||
Oh wait no, misread the regex. | |||
jnthn | $foo.$var() | 00:05 | |
Zoffix | Ah | ||
jnthn | Time for me to go rest. And off for vacation tomorrow. Good luck with the releases; back on Wednesday. :-) | ||
o/ | |||
Zoffix | Right, that's what handles $foo.&meow | ||
\o | |||
AlexDaniel` | samcv: that got me thinking. Whateverable also builds moarvm for every commit, and every build (compressed) is ≈3.5 MB | 03:46 | |
say 3.5 × 600 | |||
evalable6 | 2100 | ||
AlexDaniel` | that's assuming that all intermediate commits are buildable :) | ||
and all that what for… | 03:47 | ||
bloatable6: releases | |||
bloatable6 | AlexDaniel`, No! It wasn't me! It was the one-armed man! Backtrace: gist.github.com/ccceeb85ab5de83fa8...2d44d01a0a | ||
AlexDaniel` | :S | ||
oh I see | 03:53 | ||
bloatable6: releases | 04:07 | ||
bloatable6 | AlexDaniel`, gist.github.com/68c51dabe931605592...5f07819a20 | ||
samcv | AlexDaniel`, thinking about what? is bloatable6 what does the moar releases? | 04:11 | |
AlexDaniel` | thinking that this merge of 600 commits had a drastic impact on the tiny ssd my server has :) | 04:12 | |
AlexDaniel` looks. “6.7G free” | |||
samcv | heh | 04:13 | |
i'm sure! | |||
AlexDaniel` | never thought that this kind of stuff can work: | 04:19 | |
c: 2017.09..HEAD say 42 | |||
boom | 04:20 | ||
c: 2017.09..HEAD say 42 | |||
committable6 | AlexDaniel`, gist.github.com/ce1b313d45b37e5744...f4903ff0db | 04:23 | |
samcv | nice | 04:29 | |
AlexDaniel` | samcv: fwiw I'm still looking at some modules. I'll let you know when it starts looking safe from my side | 04:51 | |
samcv | awesome, thanks! | ||
AlexDaniel` | ok so Test::Scheduler no longer passes its tests | 05:34 | |
created this issue for now: github.com/jnthn/p6-test-scheduler/issues/3 | 05:39 | ||
samcv | thanks AlexDaniel` | ||
AlexDaniel` | OO::Actors is failing too github.com/jnthn/oo-actors/issues/6 | 05:50 | |
Geth | rakudo/nom: 2262cc477c | usev6++ | src/core/Match.pm Fix JVM build (re-add removed sigil to 'match') The sigils have been removed (unintentionally, for sure) with commit dd880cad42. Because this code was part of a '#? if !moar' branch, it didn't explode while building Moar. |
06:39 | |
AlexDaniel` | good catch | 06:59 | |
Geth | rakudo/nom: 7277aa5470 | (Aleks-Daniel Jakimenko-Aleksejev)++ | tools/build/NQP_REVISION Pre-release NQP_REVISION bump |
07:10 | |
rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....g4494e7049 d10d697748 | (Aleks-Daniel Jakimenko-Aleksejev)++ | docs/ChangeLog Deliberately not logged: 7cf5ce7e fece49cf 312cac78 9a137598 ba718f45 |
|||
nqp: 4494e70496 | (Aleks-Daniel Jakimenko-Aleksejev)++ | tools/build/MOAR_REVISION Pre-release MOAR_REVISION bump |
|||
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...-g19523568 | |||
AlexDaniel` | hm, how does Inline::Perl decide what libperl.so version it wants? | 07:48 | |
samcv | you can install multiple perl's like that? | ||
and not in separate directories? | 07:49 | ||
AlexDaniel` | well, problem is that releasable fails on Inline::Perl5 tests | 07:50 | |
it wants libperl.so.5.20 and I don't have it | |||
now I'm wondering why it was working in the past | |||
samcv | because you had 5.20 before? | ||
AlexDaniel` | I guess I really had v5.20 before, yeah | ||
samcv | idk i have /usr/lib64/libperl.so.5.24 /usr/lib64/libperl.so.5.24.1 and /usr/lib64/libperl.so | 07:51 | |
AlexDaniel` | so how do I use it with, say, v5.24? | ||
samcv | well it loads the module for me. idk i have a Gentoo based os | ||
AlexDaniel` | ooh | 07:54 | |
I see something | |||
samcv | my constant $p5helper = %?RESOURCES<libraries/p5helper>.Str; | ||
AlexDaniel` | alright, I filed this ticket: RT #132343 | 08:38 | |
synopsebot | RT#132343 [new]: rt.perl.org/Ticket/Display.html?id=132343 [REGRESSION] better-sched and other async improvement ecosystem fallout | ||
AlexDaniel` | if somebody has more information on these issues please let me know | ||
AlexDaniel` lunch & | |||
samcv | night & | 08:42 | |
AlexDaniel` | good night o/ | 08:49 | |
[Tux] | This is Rakudo version 2017.09-487-gd10d69774 built on MoarVM version 2017.09.1-614-g19523568 | 09:23 | |
csv-ip5xs 1.214 - 1.241 | |||
test 12.255 - 12.594 | |||
test-t 3.283 - 3.388 | |||
csv-parser 12.696 - 13.172 | |||
lizmat | Files=1229, Tests=75766, 316 wallclock secs (14.77 usr 5.27 sys + 2181.17 cusr 213.29 csys = 2414.50 CPU) | 09:33 | |
lizmat doesn't see any commits that would explain the drop in test-t timing | 09:34 | ||
AlexDaniel` | github.com/rakudo/rakudo/compare/2...gd10d69774 | 09:44 | |
that's for the 3.101→3.283 change | |||
Geth: ver github.com/rakudo/rakudo/commit/67...95b30fe9bb | 09:46 | ||
Geth | AlexDaniel`, version bump brought in these changes: github.com/perl6/nqp/compare/2017....6-g252fd89 | ||
AlexDaniel` | Geth: ver github.com/perl6/nqp/commit/252fd8...405d029e89 | ||
Geth | AlexDaniel`, version bump brought in these changes: github.com/MoarVM/MoarVM/compare/2...9-g1a9be0a | ||
lizmat | AlexDaniel`: my personal benchmarks show no detoriation | 10:01 | |
gfldex | m: my @a = (^10).list; @a = @a.hyper(:batch(5)).map({ LAST say "last"; „∅“ }); | 10:03 | |
camelia | ( no output ) | ||
gfldex | are LAST meant to be executed at the end of a batch? | ||
I would need that or something similar to provide progress indication when working with large lists. | 10:04 | ||
jnthn: please take note of ^^^ | 10:06 | ||
AlexDaniel` | gfldex: file a ticket if you want that to be noted | ||
gfldex | RT doesn't take my e-mails anymore | ||
gfldex tests if RT likes him again | 10:08 | ||
AlexDaniel` | gfldex: ok, open a ticket here then: github.com/rakudo/rakudo/issues | ||
gfldex | AlexDaniel`: I will if my RT test fails. | 10:09 | |
AlexDaniel` | buggable: tags | 10:12 | |
buggable | AlexDaniel`, Total: 1628; 6.D: 2; 9999: 9; @LARRY: 28; ANNOYING: 8; BOGUSTEST: 1; BOOTSTRAP: 4; BUG: 587; BUILD: 12; CONC: 39; DOCS: 1; EXOTICTEST: 5; FLAP: 1; GLR: 3; IO: 19; JVM: 48; LHF: 7; LTA: 178; MATH: 6; META: 2; MOAR: 2; MOLD: 233; NATIVECALL: 21; NYI: 58; OO: 13; OPTIMIZER: 8; OSX: 2; PARSER: 5; PERF: 27; POD: 19; PRECOMP: 15; REGEX: 46; | ||
AlexDaniel`, REGRESSION: 38; REPL: 6; RFC: 61; RT: 2; SECURITY: 2; SEGV: 30; SINK: 1; SITE: 1; SPESH: 1; STAR: 7; TESTCOMMITTED: 12; TESTNEEDED: 38; TODO: 13; UNI: 27; UNTAGGED: 283; WEIRD: 2; WINDOWS: 4; See fail.rakudo.party/ for details | |||
AlexDaniel` | gfldex: sorry for the issues with RT. I feel your pain. | 10:16 | |
and yes, I did open rakudo/issues. My justification is here: github.com/rakudo/rakudo/issues/11...-338466171 | 10:24 | ||
Geth | roast/6.c-errata: a63f653374 | (Jonathan Worthington)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S02-types/WHICH.t HyperWorkBuffer is going away This was the only mention of it in the whole test suite. It was an implementation details of the previous hyper/race mechanism, which is being replaced. |
10:30 | |
AlexDaniel` | lizmat: hello. It seems that this commit should be cherry-picked to 6.c-errata github.com/perl6/roast/commit/be53...b01b797L23 | 10:34 | |
lizmat: but I don't really understand what's going on there, any chance for a more verbose explanation? :) | 10:35 | ||
also, “valuek” | 10:36 | ||
lizmat | AlexDaniel`: first of all, I don't think these tests have a place in roast as they're really rakudo specific | ||
having said that, the change I made in the BUILDALL autogen, is that if the default value of an attribute is a compile-time value | |||
(such as "foo" or 42) | 10:37 | ||
it will store that value in the Attribute.build_closure slot | |||
which before only contained something Callable (even if the value was compile-time only) | |||
the $*FOO // 42 forced the initializer to be a code closure (like before) | 10:38 | ||
so that the test didn't need change | 10:39 | ||
in the other case, I did *not* change the default value, so now we need to check for that value, rather than being a callable thing | |||
does that make sense to you? | |||
the alternative would have been to add an attribute to the Attribute class | 10:40 | ||
(and yes, it's turtles all the way down :-) | |||
AlexDaniel` | yeah, it makes sense, although I don't see the resolution for the issue yet :) | 10:41 | |
I mean, do I just cherry-pick it, or do we move it to rakudo and say that these test shouldn't've been in roast at all? | 10:42 | ||
greppable6: \.build | |||
greppable6 | AlexDaniel`, Sorry, can't do that | ||
AlexDaniel` attempts to fix greppable6 | 10:43 | ||
LOL | 10:45 | ||
that's a blocker I think | 10:46 | ||
≠ op is broken | |||
I should really pay more attention to whateverables. | |||
lizmat | I would say, cherry pick for now | 10:47 | |
AlexDaniel` | m: say (0 != 0 | 1 or 0 != 0) | 10:48 | |
camelia | False | ||
AlexDaniel` | m: say (0 ≠ 0 | 1 or 0 ≠ 0) | ||
camelia | True | ||
AlexDaniel` | my problem with using whateverable as a reliable canary is that we won't release anything for months if we wait for rakudo issues to be fixed so that the bots work again :) | 10:49 | |
for example, right now some test files get stuck in the middle. No idea what's going on, I can't bisect bisectable unfortunately. | 10:50 | ||
bisect: say (0 ≠ 0 | 1 or 0 ≠ 0) | 10:51 | ||
bisectable6 | AlexDaniel`, Bisecting by exit code (old=2015.12 new=d10d697). Old exit code: 1 | ||
AlexDaniel`, bisect log: gist.github.com/a54ba13b52b3353237...7b9787ee89 | |||
AlexDaniel`, (2017-03-05) github.com/rakudo/rakudo/commit/d2...45de7a6703 | |||
AlexDaniel` | oops that's a wrong range | ||
bisect: old=2017.09 say (0 ≠ 0 | 1 or 0 ≠ 0) | |||
bisectable6 | AlexDaniel`, Bisecting by output (old=2017.09 new=d10d697) because on both starting points the exit code is 0 | ||
AlexDaniel`, bisect log: gist.github.com/dd059148d35e3fd4d5...9c6498b5df | |||
AlexDaniel`, (2017-09-25) github.com/rakudo/rakudo/commit/1a...26389ecf05 | |||
lizmat | AlexDaniel`: I think it's known that some commits caused hangs in the test-suite, so why not in a particular piece of code? | ||
so, you should give a commit only X resources, and kill it if it doesn't finish in time | 10:52 | ||
no> | |||
right ? | |||
AlexDaniel` | right, but bisectable hangs in its own code | ||
IIRC when trying to fuzzy-match tag names and shas | |||
bisectable6: old=DEAD say 42 | 10:53 | ||
bisectable6 | AlexDaniel`, Cannot find revision “DEAD” (did you mean “HEAD”?) | ||
AlexDaniel` | like here ↑ | ||
my wild guess is that it is running out of handles, or something like that, and it could very well be my mistake | 10:54 | ||
at the same time no handles are needed for fuzzy-matching things? I really don't know actually. | |||
commit: 1af2a745fcd^,1af2a745fcd say (0 ≠ 0 | 1 or 0 ≠ 0) | 10:55 | ||
committable6 | AlexDaniel`, ¦1af2a745fcd^: «False» ¦1af2a74: «True» | ||
AlexDaniel` | commit: 2017.09,1af2a745fcd^,1af2a745fcd,HEAD say (0 ≠ 0 | 1 or 0 ≠ 0) | ||
committable6 | AlexDaniel`, ¦2017.09,1af2a745fcd^: «False» ¦1af2a74,HEAD(d10d697): «True» | ||
AlexDaniel` | okay: RT #132346 | 10:59 | |
synopsebot | RT#132346 [new]: rt.perl.org/Ticket/Display.html?id=132346 [REGRESSION] ≠ is not identical to != in some cases (0 ≠ 0 | 1 or 0 ≠ 0) | ||
Zoffix | AlexDaniel`: when are you releasing? | 11:01 | |
lizmat | hmmm... I'm not sure we are in agreement on the behaviour of phasers in hypered blocks | 11:02 | |
AlexDaniel` | Zoffix: not any time soon. samcv++ is resting and the moarvm changelog is not ready yet I think | ||
lizmat | I was thinking of outlawing them in this release while we figure out the semantics in the coming releases | ||
AlexDaniel` | Zoffix: it should also be decided if what we see in jnthn's modules is very wrong or just a little bit wrong | ||
or maybe not wrong at all | 11:03 | ||
Zoffix | Which is what? | ||
AlexDaniel` | releasable6: status | ||
releasable6 | AlexDaniel`, Next release will happen when it's ready. 2 blockers. 485 out of 487 commits logged | ||
AlexDaniel`, Details: gist.github.com/bab260db219b8aab65...84769207c1 | |||
AlexDaniel` | RT #132343 | ||
synopsebot | RT#132343 [new]: rt.perl.org/Ticket/Display.html?id=132343 [REGRESSION] better-sched and other async improvement ecosystem fallout | ||
AlexDaniel` | I did not have any time yet to golf these things | 11:04 | |
and just the fact that the tests are failing does not tell much | |||
Geth | roast/6.c-errata: b7252b0c7b | (Elizabeth Mattijsen)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S12-introspection/attributes.t Adapt tests to new possible Attribute.build values Detailed explanation by lizmat++: First of all, I don't think these tests have a place in roast as they're really rakudo specific. ... (10 more lines) |
11:09 | |
AlexDaniel` | lizmat: I hope you don't mind ↑ :) | ||
lizmat | AlexDaniel`: no pb :-) | ||
AlexDaniel` | greppable6: \.build | ||
greppable6 | AlexDaniel`, gist.github.com/5b1779b3c7d6c77327...4dd95e9890 | ||
Zoffix | AlexDaniel`: "not for a while" is what? Like a week before jnthn++ can get back and fix the scheduler problesm if there are any? | 11:10 | |
Trying to figure out what I should push into nom and what into post-release branch | |||
AlexDaniel` | Zoffix: sorry for the inconvenience. It really depends, it's possible that some things may simply be reverted and jnthn++ will not be needed. We will see how it goes. Or maybe one of the mere mortals will find a way to fix it :) I think it's ok to push to post-release branch by default, I'll merge it after the release (and will take care of merge conflicts if there are any) | 11:14 | |
you can use committable with any branch | |||
although it's a bit inconvenient that you'll have to specify the sha | |||
for example | 11:15 | ||
commit: 738908be4 say 42 | |||
see, that works great. | |||
commit: 738908be4 say 42 | |||
committable6 | AlexDaniel`, ¦738908b: «Cannot find this revision (did you mean “456c439”?)» | ||
AlexDaniel` | :( | ||
Zoffix | don't worry about it | ||
AlexDaniel` | Zoffix: the fix for ≠, if there is one, I'm hoping to see in master :) | 11:18 | |
Zoffix | Working on it ATM | 11:19 | |
AlexDaniel` | Zoffix++ | ||
commit: 738908be4d79f1472821cd363ec82a1ef0bc3f32 say 42 | 11:24 | ||
committable6 | AlexDaniel`, ¦738908b: «Cannot find this revision (did you mean “50c24a8”?)» | ||
AlexDaniel` | bah. The build is right there, but committable6 is refusing to use it | 11:25 | |
AlexDaniel` will be away for ≈2 hours | 11:41 | ||
Geth | rakudo/nom: a042fd927c | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals/HyperRaceSharedImpl.pm Make phasers in hyper/race throw an NYI Which will allow us to shake out the semantics of phasers like LAST until the next release, without getting code out there that may depend on the current semantics (which will probably change) |
12:03 | |
lizmat | afk for a few hours& | 12:11 | |
Zoffix | The (0 ≠ 0 | 1 or 42) thing isn't a regression. It was implemented this way originally, until it was rewritten in a13bad9 and now 1af2a745fcd551 reverted that and it's broken again | 12:28 | |
Something with optimization with junctions | |||
"Negated operators are special-cased when it comes to autothreading. $a !op $b is rewritten internally as !($a op $b)" | 12:29 | ||
I'm guessing this isn't being done for ≠ which is what the bug's about | |||
AlexDaniel | I thought it was working in 2017.09 | 12:31 | |
Zoffix | No, there was a bug | 12:38 | |
m: $ = (1 ≠ 1|2 or 42) for ^100_000; say now - INIT now | 12:53 | ||
camelia | 1.509733 | ||
Zoffix | m: $ = (1 != 1|2 or 42) for ^100_000; say now - INIT now | ||
camelia | 0.01753618 | ||
Zoffix | m: say 1.509733/.0175 | ||
camelia | 86.270457 | ||
Zoffix | *sigh* | 12:55 | |
Gonna fix it with messy-but-easy way | |||
the capture slipping doesn't get folded, which causes both the 86x slowage and apparently the semantic differences | 12:56 | ||
or maybe semantic diff is still there for != case too when its args can't be folded | 13:00 | ||
(nope, doesn't look like it) | 13:01 | ||
timotimo | oh, the problem with ≠ was in the junction optimizer? | 14:13 | |
Zoffix | m: ["{.file}:{.line}", .signature].say for &infix:<!=>.candidates | 14:14 | |
camelia | No such method 'file' for invocant of type 'Any' in block <unit> at <tmp> line 1 |
||
Zoffix | anotehr bug | ||
timotimo: there's more than one problem. The fix for 86x perf drop doesn't handle all the cases either. | 14:15 | ||
Gonna just duplicate the ≠, ≤, and ≥ candidates in source, for now. Don't fully know how to swap these to ASCII equivalents in the Grammar/Actions, since we also have to take care to swap it only when they'd resolve to core ops. And we could make a rule that ALL Texas operators are just in-source aliases for ASCII versions and swap all of them that way | 14:17 | ||
AlexDaniel` back | 14:41 | ||
Geth | roast/6.c-errata: 57eada3912 | TimToady++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S32-exceptions/misc.t overspecific test disallows eject in correct spot |
14:51 | |
roast/6.c-errata: f4c2ad4a50 | (Zoffix Znet)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S32-io/pipe.t Fix broken Proc piping test .close on a pipe returns the Proc and sunk Proc awaits the process to finish. This causes proc1 in the test to finish off before the second proc had a chance to grab its pipe. The only reason this test was passing in the past is due to a bug where only the .close on the last open handle actually returned a Proc |
|||
AlexDaniel` | Zoffix: interestingly, your original commit message claimed “The test is not part of 6.c-errata.” :) | ||
Zoffix | AlexDaniel`: what test? | ||
AlexDaniel` | github.com/perl6/roast/commit/220e...e0726ade82 | ||
Zoffix | I went by RT number | 14:57 | |
But in the past it was passing only 'cause of a bug where sunk proc didn't wait for anything | |||
Man, the one thing I immediatelly notice with rakudo's Issues is I get notifications about them all the time. With RT, they only go to email and I read them a few times a week | 15:00 | ||
AlexDaniel` | Zoffix: what about github.com/settings/notifications ? | 15:01 | |
you can turn off web notifications there | 15:02 | ||
Zoffix | they're global settings | ||
And also, you can't unmark notifications as read. On email I could. | 15:04 | ||
I don't even get github email | |||
Geth | rakudo: usev6++ created pull request #1201: [jvm] Fix p6bindattrinvres for native attributes |
15:05 | |
Zoffix | ZofBot: it's different and I don't like things that are different! | 15:12 | |
ZofBot | Zoffix, But above all they contain a bottomless reserve of cheap labour | ||
Zoffix | m: say 'x' | 15:15 | |
camelia | x | ||
Zoffix | m: say 'x'#x | 15:16 | |
camelia | x | ||
Zoffix | m: use Test; is-deeply (0 ≠ 0 | 1 or 42), 42, 'Junctions with ≠ works like for negated ops'#x | ||
camelia | not ok 1 - Junctions with ≠ works like for negated ops # Failed test 'Junctions with ≠ works like for negated ops' # at <tmp> line 1 # expected: 42 # got: Bool::True |
||
Zoffix | Weird. In a file the missing semicolon is complained about | ||
Geth | rakudo/nom: 6ad06fad9f | (Zoffix Znet)++ | 11 files Make ≤, ≥, and ≠ work like ASCII versions Fixes RT#132346: rt.perl.org/Ticket/Display.html?id=132346 Alt Fix for RT#131626: rt.perl.org/Ticket/Display.html?id=131626 The previous fix did not catch all the cases even with core ops and did not (on purpose) resolve issues when user defined their own ... (6 more lines) |
15:21 | |
synopsebot | RT#132346 [new]: rt.perl.org/Ticket/Display.html?id=132346 [REGRESSION] ≠ is not identical to != in some cases (0 ≠ 0 | 1 or 0 ≠ 0) | ||
synopsebot | RT#131626 [open]: rt.perl.org/Ticket/Display.html?id=131626 [PERFTEST][PERF] ≥ and ≤ are 36x slower than Texas version; ≠ is 15x slower | ||
Geth | roast: e039bab7c5 | (Zoffix Znet)++ | S03-operators/misc.t Test junctions with ≠ RT#132346: rt.perl.org/Ticket/Display.html?id=132346 Rakudo fix: github.com/rakudo/rakudo/commit/6ad06fad9f |
||
AlexDaniel` | Zoffix++ | 15:23 | |
timotimo | ah, it's because we special-case negated ops | 15:31 | |
oh nice | 16:42 | ||
bartolin | Zoffix: the other day I stumbled above this todo'ed test for RT #121940: github.com/perl6/roast/blob/e039ba...ay19.t#L21 | ||
synopsebot | RT#121940 [resolved]: rt.perl.org/Ticket/Display.html?id=121940 [@LARRY] say True but False # should be 'True' (advent2010-day19) | ||
timotimo | m: loop (my $i = 0.0; $i < 100_000.0; $i += 0.1) { }; say now - INIT now | ||
camelia | 2.049006192 | ||
bartolin | Zoffix: you closed the ticket, explaining that the current behaviour is correct. should we adjust the test? | 16:43 | |
timotimo | the #3 most time consuming part of that was DON'T_DIVIDE_NUMBERS, by rewriting it with ?? !! and nqp::p6bindattrinvres i got it down to the #4 spot with a comfortable margin | ||
that one alone had 552ms before and 242ms afterwards | |||
bartolin | timotimo++ :-) | 16:44 | |
timotimo | maybe it's still something for after the release? | ||
i'll stresstest it | 16:45 | ||
Zoffix | bartolin: yeah, should be changed, since Bool.Str relies on Bool.Bool's value, which is changed by the role | ||
bartolin | I'll do that, thanks | 16:46 | |
timotimo | i'm now investigating whether giving Rat and FatRat their own numerator and denominator accessor methods is worth doing | 17:01 | |
nope. not worth anything | 17:04 | ||
m: say 2813 / 3352 | 17:07 | ||
camelia | 0.839200 | ||
timotimo | that's from making DON'T_DIVIDE_NUMBERS faster | ||
well, this is with profiler enabled | |||
which might skew the results | |||
Geth | roast: eb3b95e9c4 | usev6++ | integration/advent2010-day19.t Fix test for 'True but False' cmp. RT #121940 |
17:23 | |
synopsebot | RT#121940 [resolved]: rt.perl.org/Ticket/Display.html?id=121940 [@LARRY] say True but False # should be 'True' (advent2010-day19) | ||
bartolin | Zoffix: ^^ I hope, that's matching your explanation | 17:24 | |
MasterDuke | timotimo: think github.com/perl6/nqp/pull/376 is worthwhile? | 17:29 | |
timotimo | hm, is it safe to remove the declaration? | 17:31 | |
also: weird! we have a hash in there, but it has an @ sigil | |||
as default value i mean | |||
nqp-m: say(nqp::elems(@*nosuchvar)) | 17:32 | ||
camelia | 0 | ||
timotimo | nqp-m: nqp::push(@*nosuchvar, 1) | ||
camelia | ( no output ) | ||
MasterDuke | i think the declaration is from before it got turned into a dyn var | ||
timotimo | OK, so there's still something that holds a declaration for it? | 17:33 | |
MasterDuke | hm, not sure | ||
timotimo | in that case it's probably nice to have. we'll be calling add_comp_line_directive like 50 times? | ||
MasterDuke | but line numbers still work after thechange | ||
timotimo | that's what gives us proper line numbers for inside the core setting, right? | ||
might want to have it after the release | 17:34 | ||
MasterDuke | yeah, saves 621 Ns in the dyn var log | ||
sure, no reason it has to go in before | |||
timotimo | BBL | 17:36 | |
i wonder how to stress DIVIDE_NUMBERS a little bit to see if rewriting the final part just like DON'T_DIVIDE_NUMBERS makes a good difference here, too | 18:12 | ||
ah, just add 1/30 over and over instead of 0.1 | 18:13 | ||
oh, haha | 18:15 | ||
that gets the denominator to be "the same" right away | |||
cool, this benchmark has DIVIDE_NUMBERS at the top | 18:18 | ||
it does degenerate into num at some point, though, which is unfortunate for benchmarking reasons | |||
using FatRat is probably more representative | 18:19 | ||
yikes | |||
this benchmark now has gcd as its most expensive operation m( | 18:23 | ||
found one that spends 24% of its time in divide_numbers and only 3% in gcd | 18:28 | ||
m: say 2.8 / 3 | 18:29 | ||
camelia | 0.933333 | ||
Geth | rakudo/microoptimize_dont_divide_numbers: 332e34d3b9 | (Timo Paulssen)++ | src/core/Rat.pm microoptimize (DON'T_)DIVIDE_NUMBERS |
18:44 | |
timotimo | passes stresstest and such just fine, but i'd still rather have it after the release | ||
dogbert17 | timotimo: does this tell you anything? gist.github.com/dogbert17/909a5661...93af9c9d4f | 18:46 | |
timotimo | this is about joining threads? | 18:47 | |
dogbert17: could you get the perl6 ops compiled with debug symbols, too? | 18:50 | ||
it's part of the rakudo build process | |||
dogbert17 | github.com/perl6/roast/blob/master...ead.t#L106 | ||
is it an option to rakudo's make ? | 18:51 | ||
timotimo | hm, i'm not sure | ||
line 437 in my local makefile has it | |||
$(M_PERL6_OPS_DLL): $(M_PERL6_OPS_SRC) $(M_PERL6_CONT_SRC) | |||
this is the directive | 18:52 | ||
dogbert17 | hmm, moar was not compiled with --no-optimize | ||
timotimo | you'll want to have -g in the M_CC as well as the M_LD calls | ||
actually, there's just a single capturelex call in that function | |||
so i actually know which line it corresponds to | 18:53 | ||
dogbert17 | could it be a missing MVM_ROOT ? | ||
timotimo | actually ... MVM_frame_capturelex probably allocates, right? | 18:55 | |
if it does that, p6_code_obj might move? | |||
it doesn't look like the local variable p6_code_obj is ever written to? | 18:56 | ||
so could "just" assign reg 2's .o to reg 0's .o | 18:57 | ||
can you try that? | |||
dogbert17 | which line | ||
timotimo | the last line | 18:59 | |
i wonder why it'd leave the original value of the target register untouched if the first check causes an early return? | |||
dogbert17 | I'm a moron. I've already reported this as github.com/MoarVM/MoarVM/issues/728. On the other hand the asan output is slightly different | 19:00 | |
timotimo | hmpf. but what is 20 bytes into the tc? | 19:16 | |
on my machine locally 20 bytes into the tc is between two fields :\ | 19:17 | ||
dogbert17 | and if you pretend to be using a 32 bit system what then ? | 19:28 | |
timotimo | oh! | ||
hm, is that where the nursery_fromspace pointer lives or something? | 19:30 | ||
could you print offsetof(MVMThreadContext, nursery_fromspace) in gdb or something? | |||
dogbert17 | let me try | 19:36 | |
(gdb) p offsetof(MVMThreadContext, nursery_fromspace) | 19:39 | ||
$1 = (void **) 0x14 | |||
Geth | roast: 2ac82855b6 | usev6++ | 2 files [jvm] Fudge some newly added tests |
19:40 | |
timotimo | well, 0x14 is 20, so that's what | ||
so the thread is falling apart from under the code running on it | 19:41 | ||
dogbert17 | that sounds quite bad :) | 19:42 | |
is there some place where the tc itself needs to be rooted? | 19:44 | ||
timotimo | i'm not sure how exactly the thread gets ended | 19:46 | |
first i'll have dinner though :) | |||
dogbert17 | have a nice meal | ||
Geth | rakudo/nom: 3f595acfbd | (Elizabeth Mattijsen)++ | docs/ChangeLog Add phaser in hyper/race NYI commit to ChangeLog |
22:12 | |
samcv is still working on mvm changelog :P | 23:11 | ||
timotimo | does that mean my latest change to make MVM_SPESH_LOG not segfault can make it into the release! :3 | 23:13 | |
samcv | yes | 23:18 | |
timotimo | cool | 23:19 | |
that would have been quite the blunder | |||
samcv | maybe i should get brrt to write the changelog for his stuff... | 23:22 | |
hah | |||
i mean since it's a new thing that's introduced. all the small commits are not really changes from last month | |||
timotimo | you think we need much more than one line about the new jit in there? | ||
samcv | since it's wholey new | ||
timotimo | exactly |