Geth rakudo: e509c1a9fd | (Zoffix Znet)++ | 2 files
Propagate `--optimize` flag to EVAL code [+ Tests]

Fixes github.com/rakudo/rakudo/issues/1382
00:16
rakudo: 376d98800e | (Zoffix Znet)++ | t/05-messages/02-errors.t
Add clarification on how the test works
00:18
travis-ci Rakudo build failed. usev6 'Chain negated operators on MoarVM only 01:22
travis-ci.org/rakudo/rakudo/builds/326997286 github.com/rakudo/rakudo/compare/b...20f3091126
buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
Geth rakudo: f02606cea4 | (Zoffix Znet)++ | 2 files
Fix useless useless-use warning with phasers [+Tests]

Fixes github.com/rakudo/rakudo/issues/1319
Since the block's return value is used to decide whether the phaser fires, it's never useless, even if sunk. Disable warnings in those cases.
... (5 more lines)
03:47
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Don't allow binding into a List, period 04:20
travis-ci.org/rakudo/rakudo/builds/327024101 github.com/rakudo/rakudo/compare/e...d54caef5fd
Rakudo build passed. Zoffix Znet 'Propagate `--optimize` flag to EVAL code [+ Tests] 05:12
travis-ci.org/rakudo/rakudo/builds/327050964 github.com/rakudo/rakudo/compare/e...09c1a9fdd5
Rakudo build passed. Zoffix Znet 'Add clarification on how the test works' 06:23
travis-ci.org/rakudo/rakudo/builds/327051262 github.com/rakudo/rakudo/compare/e...6d98800e2d
Rakudo build passed. Zoffix Znet 'Fix useless useless-use warning with phasers [+Tests] 07:11
travis-ci.org/rakudo/rakudo/builds/327089777 github.com/rakudo/rakudo/compare/3...2606cea4d4
lizmat Files=1231, Tests=75919, 344 wallclock secs (14.96 usr 5.44 sys + 2369.56 cusr 245.75 csys = 2635.71 CPU) 09:22
yoleaux 01:14Z <Zoffix> lizmat: you had some interest in the module. The first baby version got released as CoreHackers::Q: github.com/zoffixznet/q
Geth rakudo: 7230b76514 | (Jonathan Worthington)++ | src/core/Supply.pm
Slightly speed up adding of `whenever`s
11:19
dogbert2_ m: say Any.skip(*-1) # is this something that should be fixed or should I change the docs? 11:46
camelia Cannot resolve caller tail(Any: Int); none of these signatures match:
(Any:D $: *%_)
(Any:D $: $n, *%_)
in block <unit> at <tmp> line 1
lizmat feels like a bug to me: Any should be considered a 1 element list in that context 11:50
so please make an issue
|Tux| Rakudo version 2017.12-156-g7230b7651 - MoarVM version 2017.12-22-gc2de234c4
csv-ip5xs1.095 - 1.102
csv-ip5xs-2012.792 - 12.837
csv-parser12.171 - 12.188
csv-test-xs-200.425 - 0.443
test11.271 - 11.352
test-t2.794 - 2.833
test-t --race1.151 - 1.235
test-t-2050.230 - 51.373
test-t-20 --race16.922 - 17.859
11:53
dogbert2_ lizmat: coming up ...
test-t below 2.8, cool 11:55
lizmat: github.com/rakudo/rakudo/issues/1384 11:58
lizmat dogbert2_ 12:00
ack
:-)
Geth rakudo: 773d2b9e7b | (Jonathan Worthington)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp
Refactor to bring Block.clone below inline limit

Mostly by moving a rarely needed path out into a separate method.
12:59
lizmat jnthn: would there be more places in the Bootstrap that could benefit from this type of modification ? 13:05
jnthn Can't immediately think of any 13:11
El_Che Any?
:)
jnthn Note that the change I put into MoarVM to allow some cross-HLL inlining helps all of them though
lizmat looks like this nibbles a few msecs of test-t
jnthn Every little helps :) 13:14
lizmat: I'm assuming you bumped your MoarVM before measuring also? :) 13:27
(Since that patch will barely help at all otherwise)
lizmat ah, no, i didn't
jnthn ah, so perhaps there will be more improvement :) 13:30
Geth nqp: 16db266e21 | (Zoffix Znet)++ | tools/build/MOAR_REVISION
[MoarVM Bump] Brings 2 commits

MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...4-gdb706bb db706bb Allow some cross-HLL inlining ac123bb Refuse to make release with dirty work tree
13:53
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...4-gdb706bb
rakudo: 8c5af9b979 | (Zoffix Znet)++ | tools/build/NQP_REVISION
[NQP Bump] Brings 5 commits

NQP bump brought: github.com/perl6/nqp/compare/2017....9-g16db266 16db266 [MoarVM Bump] Brings 2 commits 0423d29 [js] Mention that we have some code adapted from iconv-lite dd15d19 Add tests for nqp::encoderep and the windows-1252 encoding fc728ac [js] Improve encoding support ... (5 more lines)
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2017....9-g16db266
jnthn Aww, that missed the latest commit :) 13:57
travis-ci NQP build failed. Zoffix Znet '[MoarVM Bump] Brings 2 commits 14:08
travis-ci.org/perl6/nqp/builds/327238667 github.com/perl6/nqp/compare/0423d...db266e21ce
timotimo Error while compiling op encoderep (source text: "nqp::encoderep('åfooåbar', 'ascii', 'XXX', $buf8.new)"), no registered operation handler 14:11
didn't that just get fixed or implemented or something?
ah, tests for js were added 14:13
Geth nqp: 657a9514f6 | pmurias++ | 2 files
[jvm] Implement nqp::encoderep
14:37
pmurias timotimo: sorry, forgot to push the commit implementing it on the JVM 14:38
timotimo ah! :)
Geth nqp: dfa8a234ca | (Zoffix Znet)++ | tools/build/MOAR_REVISION
[MoarVM Bump] 1e2a3fb Place facts on a `clone` op

MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...5-g1e2a3fb
15:06
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...5-g1e2a3fb
rakudo: a0486e5481 | (Zoffix Znet)++ | tools/build/NQP_REVISION
[NQP Bump] Brings 2 commits

NQP bump brought: github.com/perl6/nqp/compare/2017....1-gdfa8a23 dfa8a23 [MoarVM Bump] 1e2a3fb Place facts on a `clone` op 657a951 [jvm] Implement nqp::encoderep
MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...5-g1e2a3fb
rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2017....1-gdfa8a23
fa136be2ca | (Zoffix Znet)++ | src/Perl6/Actions.nqp

Fixes 131502: rt.perl.org/Public/Bug/Display.html?id=131502
Not 100% sure this is the right place for the want, since ticket affects only WhateverCode's code in the args and, say,
  `-> $ { }(* == 42, -> $a { $a == 70 })` will warn only about
the `==` in WhateverCode, not the one in the block.
travis-ci NQP build failed. Zoffix Znet '[MoarVM Bump] 1e2a3fb Place facts on a `clone` op 15:26
travis-ci.org/perl6/nqp/builds/327268319 github.com/perl6/nqp/compare/657a9...a8a234ca62
Zoffix What's the second argument in `wanted` used for? Just an annotation if we ever need to track what wants a thing? 15:36
failed nqp is "t/concurrency/03-semaphore.t" flop in one of the runs 15:40
jnthn Grr, will have to try and reproduce that 15:55
It'll probably turn out to be a faulty test
dogbert2_ Zoffix: seems to be test #12 in the file you mentioned
Geth roast: 754e377b53 | (Zoffix Znet)++ | S02-types/whatever.t
Unfudge now-passing useless-useless warning

RT#131502: rt.perl.org/Public/Bug/Display.html?id=131502 Rakudo fix: github.com/rakudo/rakudo/commit/fa136be2ca
16:09
synopsebot RT#131502 [open]: rt.perl.org/Ticket/Display.html?id=131502 [BUG] Incorrect useless use warning when WhateverCode is passed as arg to Callable
Geth rakudo: 6e13bfa29b | (Jonathan Worthington)++ | src/core/Array.pm
Try to factor fast path out of ASSIGN-POS

This gets it much closer to the inline size limit, though still a bit over.
16:14
lizmat jnthn: would getting rid of a stmts block help ? 16:33
pmurias jnthn: do you think \x[FFFFFF] is something that should be valid? 16:38
jnthn lizmat: No 16:39
lizmat: It doesn't compile into anything 16:40
It's just a grouping construct
pmurias: That's out of range, I'd think
lizmat ok
jnthn m: say "\xFFFFFF"
camelia Error encoding UTF-8 string: could not encode codepoint 16777215 (0xFFFFFF), codepoint out of bounds. Cannot encode higher than 1114111 (0x10FFFF)
in block <unit> at <tmp> line 1
jnthn m: my $x = "\xFFFFFF"
camelia ( no output )
jnthn I guess we can represent it internally but never encode it to anything, which is...a bit pointless. :) I'd check with samcv++ though. 16:41
samcv good * jnthn
jnthn o/ samcv 16:45
samcv: Don't suppose you know off-hand what the right thing to do with things like \xFFFFFF is?
(At present we accept it in a Str but then blow up if ever encoding it)
lizmat jnthn: re ASSIGN-POS, the only way I see to make that smaller still, is to make vivication also a slow path 16:48
jnthn Yeah, that'd make it about useless, alas
lizmat well, not necessarily, but a lot less, indeed 16:49
I mean, @a[0]++ would still go through the ASSIGN-POS path, no ?
jnthn That goes through AT-POS
lizmat yeah, right :-(
jnthn Which is now very, very, very close but just over the inline limit 16:50
(Like, a dozen bytes or so)
lizmat and if we turn the first nqp::assign into a private method call? 16:51
guess not, eh?
jnthn No, assign is a VM level op 16:52
So it's tiny
lizmat increase the inline limit ? :-)
jnthn I guess that's the nuclear option, yeah :) 16:53
lizmat I have no idea what the repercussions of that would be
jnthn More memory use 16:54
And so worse cache use
I've pondered whether to boost the limit up when we detect we're in a loop though 16:57
Either way, the tweaks I've got locally plus that earlier push seem to speed up array access a bit 16:58
Even without the inline
lizmat yeah, it seems to have a positive effect of test-t, but only a few % though 16:59
afk& 17:04
jnthn Only converting the Int to an int once seems to also have a positive effect 17:06
Also got one more spesh tweak
Geth rakudo: 86d91f2dc6 | (Jonathan Worthington)++ | src/core/Array.pm
In ASSIGN-POS, unbox the index just once

Measurements suggests this performs better, which is what would be expected.
17:12
lizmat m: sub a(*@a) { @a[0]++ }; my @a = ^10; a @a; dd @a # this should either blow up or just DWIM 17:46
camelia Array @a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
jnthn huh 17:47
It's doing exactly the right thing
*@a means slurp and flatten the incoming arguments into a new array @a
That it's a new array is a deliberate bit of the design 17:48
lizmat why is it an array ? 17:50
and not a list ?
List rather ?
TimToady it's meant to work like P5's @_, which can be shifted
lizmat ok, but why the recont ? 17:51
TimToady @_ is kind of a denerate case of *@a
lizmat if it's just about shifting, I mean
TimToady so "a 1..10" still gives mutables? 17:52
I don't think we thought heavily about it
was more like "just make this work like a P5er would expect"
lizmat if I recall correctly, in P5 you could alter elements in @_ and the changes would be seen outside 17:53
TimToady yes, it could be a mis-impl
jnthn It's very much not a mis-impl.
And, I suspect, quite heavily relied upon.
lizmat hmmm....
jnthn It'd need `is raw` to get any existing containers 17:54
m: sub a(*@a is raw) { @a[0]++ }; my @a = ^10; a @a; dd @a
camelia Array @a = [1, 1, 2, 3, 4, 5, 6, 7, 8, 9]
lizmat aaaaahhh nok
ok
cool, that's what I was looking for
TimToady > perl -e 'sub foo { @_[0]++ }; foo 1,2,3' 17:55
Modification of a read-only value attempted at -e line 1.
it's raw in p5 by default
that's all I meant by "mis-impl"
jnthn Oh...I thought you meant that it's a copy in the first place
TimToady could have the halves of his brane saying different things this morning :) 17:56
jnthn :)
lizmat dinner& # my tummy is also chiming in
jnthn should probably go home and rest his brane a bit
bbl 17:57
TimToady searches out additional coffee bits
Geth rakudo: d30e5b1e32 | (Zoffix Znet)++ | 2 files
Wantify middle args for notandthen/andthen/orelse

Since these affect the final outcome of the chain, they're always wanted.
This should probably be fixed in the place that marks first arg as wanted, but I'm failing to find where that occurs.
Fixes RT#131499: rt.perl.org/Ticket/Display.html?id=131499
18:00
synopsebot RT#131499 [new]: rt.perl.org/Ticket/Display.html?id=131499 [BUG] Incorrect useless use warning in `andthen`/`notandthen`/`orelse`
travis-ci Rakudo build canceled. Zoffix Znet 'Wantify arglist in postcircumfix:sym<( )> 18:02
travis-ci.org/rakudo/rakudo/builds/327296199 github.com/rakudo/rakudo/compare/a...136be2ca83
buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
TimToady .tell Zoffix Correct, the 2nd arg to wanted has no function other than helping determining culpability on mis-wantings when debugging. 18:06
yoleaux TimToady: I'll pass your message to Zoffix.
[Coke] waves in passing at TimToady. 19:10
Geth rakudo: 0be9d55205 | (Zoffix Znet)++ | src/Perl6/Actions.nqp
Comment out leftover debugging statement
20:38
travis-ci Rakudo build canceled. Jonathan Worthington 'In ASSIGN-POS, unbox the index just once 21:26
travis-ci.org/rakudo/rakudo/builds/327324417 github.com/rakudo/rakudo/compare/6...d91f2dc675
buggable [travis build above] ☠ Did not recognize some failures. Check results manually.