Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by Zoffix on 27 July 2018.
SqrtNegInf m: my $a = ('a' x 200).comb; $a ~~ s:g/<ws>// 12:08
camelia JIT ERROR: Negative offset for dynamic label 32
JIT ERROR: Negative offset for dynamic label 32
SqrtNegInf Seeing this in a number of programs since yesterday (currently running build 2018.09-70-gab83b9d82) 12:10
Not a fatal error, but disconcerting...
jnthn SqrtNegInf: Already reported and being investigated 12:11
jnthn Thanks for the nice short example, though; I think that may be shorter than the previous repro 12:13
brrt SqrtNegInf: this was previously a more silent warning. Agreed that it isn't good, which is why the warning is now more noisy 12:14
Geth roast: MorayJ++ created pull request #479:
Fix typo
12:32
roast: 6c77d3cc82 | MorayJ++ | S17-supply/syntax.t
Fix typo

Whatever changed to whenever
12:37
roast: dc6e79622a | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | S17-supply/syntax.t
Merge pull request #479 from MorayJ/typo

Fix typo
rakudo: tbrowder self-assigned implement pod config V<#> for :numbered alias override github.com/rakudo/rakudo/issues/2339
107477b41a | (Jonathan Worthington)++ | src/core/Array.pm6

We don't need to set the value of a Scalar to its default if we're immediately going to assign to it. Sure this is the slow path, but we might as well make it a bit faster where possible.
12:53
dogbert2 jnthn: are you on an optimizing spree again :) 13:38
jnthn Actually having a look at github.com/MoarVM/MoarVM/issues/975 first 13:43
dogbert2 cool 13:46
jnthn OSR issue, it seems :S 13:47
dogbert2 difficult? 13:52
jnthn Well, it gets stranger: it only SEGVs sometimes and at the spesh limit where it seems to start 13:54
*start doing so
But that isn't for something doing OSR
It's actually the specialization of bless
dogbert2 it doesn't have anything to do with github.com/MoarVM/MoarVM/issues/782 I guess 13:55
jnthn And of course, under GDB it doesn't at all 13:56
dogbert2 hmm
jnthn No
jnthn tries a debug/asan build 13:57
bah, that only found me a leak :P 13:59
dogbert2 I still get it, same as in the report, i.e. static_frame=0x0 (running on 32 bit atm)
jnthn It's odd, I get it reliably if I remove the spesh limit 14:00
dogbert2 in gdb as well? 14:01
jnthn Probably, got an ASAN trace 14:03
lizmat commute to Amsterdam.PM 14:05
&
jnthn It's a bit odd....it's the fastinvoke that is blowing up 14:09
I wonder where it gets its code object from...
Yeah, null static frame 14:11
The code object is happily in gen2, so it's not some nursery oddness 14:15
Geth rakudo/js: 232454ab56 | (Paweł Murias)++ | 3 files
[js] Use less intrusive #?js: NFG comment instead of #?if js...#?endif
14:19
dogbert2 jnthn: so it's still a mystery 14:21
jnthn Yeah...very much so 14:22
However, the pieces do fit together somewhat
dogbert2 what about the connection to the bisected commit? 14:23
jnthn In so far as we're in the specialized `bless` that the spesh bissect pointed to
As the point we SEGV
So the pieces go together...I just dunno what's happening :)
dogbert2 have you managed to catch it in gdb yet? 14:26
jnthn Yeah 14:27
dogbert2 but it doesn't help ... 14:28
jnthn Well, it confirms we're in the specialized bless when it goes wrong
Oh my... 14:32
fastinvoke is meant to be passed a VM-level code ref 14:33
But instead it's being passed a high level code object...but it just indexes it as if it were the VM-level code ref 14:34
So the NULL static_frame is actually the empty mixin slot for a P6opaque
jnthn Next question: what on earth does it think it's doing... :) 14:34
travis-ci Rakudo build failed. Jonathan Worthington 'Do a little less work in ASSIGN_POS_SLOW_PATH 14:38
travis-ci.org/rakudo/rakudo/builds/436144364 github.com/rakudo/rakudo/compare/a...7477b41afd
buggable [travis build above] ☠ All failures are due to: failed make test (6 failures). Across all jobs, 2 unique test files failed. 14:38
dogbert2 sounds like you're getting close to a solution 14:40
jnthn I have a fix, I just want to understand how the situation happens. 14:41
ahh...think I found a logic error 14:46
Yeah, better, it seems 14:48
dogbert2 big thinko or cut and paste error? 14:53
jnthn Thinko, but oddly quite a long time ago 14:54
Surprised it took this long for it to crop up
dogbert2 is it a code path which hasn't been used then 14:55
jnthn Apparently not much :) 14:56
OK, now I can get back to optimizing :P
dogbert2 yay
who knows, you might have fixed other bugs as well with this fix 14:58
Geth nqp: 86362f5c3c | tison++ | 21 files
src whitespace
15:08
nqp: 8e9b97f945 | tison++ | 94 files
*.t even not executable, use prove to test
nqp: 28b043db7e | tison++ | t/nqp/063-slurp.t
063-slurp should depend on a stable file
nqp: 29228d394b | tison++ | t/nqp/046-charspec.t
nqp-p not support now, re-enable test
15:18
lizmat jnthn: have you considered just assigning the default values in object creation, and then let any specification overwrite that ? 16:00
jnthn No, because the default value might not be a value :) 16:02
It might be a computation, which might cost something or (horrors) have side-effects 16:03
lizmat ah, ok, yeah, right
lizmat jnthn: how about an integer that serves as a bitmap to mark values being set, and each attribute having an offset 16:07
jnthn Yeah, but how do you know when it's being set? 16:08
lizmat generate it in the QAST to (re)set that bit
basically: at compile time generate a bitmap with all bits set of attributes that have default values
jnthn On every attribute bind, given BUILD could potentially call any method? Or static analysis to cope with that? 16:09
And just try and transform the methods that need it?
lizmat ah, yes, BUILD :-(
jnthn (This could potentially work, until somebody is too clever for their own good, I guess :))
We do absolutely forbid any attribute access from outside of the class though 16:10
So we can potentially do a static analysis and call it good enough
lizmat my idea would only work if there is no BUILD
but that's what we're talking about anyway, right?
jnthn No, BUILD factors in to this also
I'm just saying we might be able to cope with BUILD too 16:11
lizmat grrr
lizmat arriving& 16:25
AlexDaniel Geth: ver github.com/rakudo/rakudo/commit/ac...8fe2de9aa7 19:47
Geth AlexDaniel, version bump brought in these changes: github.com/perl6/nqp/compare/2018....1-ga911a64
AlexDaniel Geth: ver github.com/perl6/nqp/compare/2018....1-ga911a64
gah
Geth: ver github.com/perl6/nqp/commit/a911a6...e6c1ac7746
Geth AlexDaniel, version bump brought in these changes: github.com/MoarVM/MoarVM/compare/2...6-g80397b2
AlexDaniel ok then that's something to do with brrt's changes 19:48
Skarsnik++ for accidental find:
m: say run <echo 0>.exitcode
camelia JIT ERROR: Negative offset for dynamic label 8
No such method 'exitcode' for invocant of type 'List'
in block <unit> at <tmp> line 1
brrt no panic folks 19:54
this is why you're running development versions
AlexDaniel :) 20:08