timotimo | cool library | 00:13 | |
Geth | rakudo: fa355a26d2 | (Elizabeth Mattijsen)++ | lib/BUILDPLAN.rakumod Add support for the new 13/14 object build opcodes 13 = same as 0, but bind instead of assign 14 = same as 4, but bind instead of assign Note that native attributes were already being bound, rather than assigned, so we don't need extra object build opcodes for that. |
00:23 | |
rakudo: 19b820d8fe | (Elizabeth Mattijsen)++ | src/core.c/Mu.pm6 BUILDPAN build opcode 13/14 (runtime version) This implements BUILDPLAN opcodes 13/14, to *bind* to atributes rather than assign to them. 13: same as 0, but bind instead of assign 14: same as 4, but bind instead of assign |
00:28 | ||
lizmat | argh s/BUILDPAN/BUILDPLAN/ | ||
the compile-time portion should be done tomorrow | 00:34 | ||
for now, some sleep& | 00:35 | ||
00:41
sena_kun left
00:45
pmurias left
00:47
pmurias joined
00:56
sena_kun joined
01:27
pmurias left
|
|||
Geth | nqp: 57a65f0a1b | (Daniel Green)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java Java's BigInteger.modPow can take exponents < 0 |
01:38 | |
AlexDaniel | Dynamic variable %*COMPILING not found | 01:52 | |
huh? | |||
01:54
travis-ci joined
|
|||
travis-ci | NQP build passed. Daniel Green 'Java's BigInteger.modPow can take exponents < 0' | 01:54 | |
travis-ci.org/perl6/nqp/builds/638991031 github.com/perl6/nqp/compare/c7f4d...a65f0a1b72 | |||
01:54
travis-ci left
|
|||
AlexDaniel | that's something in HTTP::UserAgent | 01:56 | |
does it sound familiar? I'm not sure I'm very interested in figuring this out right now | |||
02:03
Kaiepi left
02:04
Kaiepi joined
02:05
shareable6 left
02:08
shareable6 joined
02:43
sena_kun left
02:57
sena_kun joined
03:57
sourceable6 left,
nativecallable6 left,
reportable6 left,
coverable6 left,
releasable6 left,
shareable6 left,
unicodable6 left,
greppable6 left,
benchable6 left
03:58
benchable6 joined,
nativecallable6 joined,
reportable6 joined
03:59
shareable6 joined
04:00
greppable6 joined,
unicodable6 joined,
sourceable6 joined,
coverable6 joined,
releasable6 joined
04:41
sena_kun left
04:57
sena_kun joined
06:42
sena_kun left
06:58
sena_kun joined
07:58
reportable6 left,
benchable6 left,
unicodable6 left,
releasable6 left,
greppable6 left,
coverable6 left,
shareable6 left,
sourceable6 left,
nativecallable6 left,
squashable6 left,
statisfiable6 left,
quotable6 left,
notable6 left,
tellable6 left,
committable6 left,
bloatable6 left,
bisectable6 left,
evalable6 left,
benchable6 joined,
nativecallable6 joined,
sourceable6 joined
07:59
tellable6 joined,
evalable6 joined,
statisfiable6 joined,
quotable6 joined,
releasable6 joined,
notable6 joined,
shareable6 joined,
bloatable6 joined,
coverable6 joined
08:00
greppable6 joined,
reportable6 joined,
committable6 joined,
bisectable6 joined
08:01
squashable6 joined,
unicodable6 joined
08:03
epony left
08:31
epony joined
08:32
epony left,
epony joined
08:41
sena_kun left
08:57
sena_kun joined
09:04
epony left,
dumarchie joined
|
|||
dumarchie | Should List.new-from-iterator be documented (and covered by a spectest) or should it be hidden? | 09:09 | |
09:16
epony joined
10:18
pmurias joined
10:22
pmurias left
10:24
pmurias joined
|
|||
lizmat | Files=1301, Tests=109805, 210 wallclock secs (28.17 usr 8.05 sys + 2939.19 cusr 267.98 csys = 3243.39 CPU) | 10:29 | |
seems like yesterday's bump was a fluke | |||
10:41
sena_kun left
10:55
sena_kun joined
|
|||
nine | releasable6: status | 10:56 | |
releasable6 | nine, Next release will happen when it's ready. 1 blocker. 0 out of 499 commits logged | ||
nine, Details: gist.github.com/99470faf1adc321797...18004b6d0b | |||
nine | I thought overload::constant and ADT were fixed by a revert on the release branch? | 10:58 | |
sena_kun | nine: yes, I am now running blin for the latest cut. `1382 out of 1384 modules processed (left: PDF::API6 IRC::Client::Plugin::Github)`, if there are no regressions, it's a green light for the moarvm release. | 11:01 | |
nine | Err....we already got a MoarVM release :) | 11:03 | |
sena_kun | nine: yes, but it was made kind of prematurely and now one has to sync in terms of tags, bumps and so on. | 11:04 | |
sena_kun will look at the release soon | |||
nine | There's been just 1 bugfix and a couple of warning fixes (which are not associated with any known actual bugs) since the 2020.01 MoarVM release | 11:06 | |
sena_kun | nine: but this 1 bugfix fixes severe segfault for cro::websockets, no? | ||
nine | It does fix a segfault, yes. Though I can't seem to remember where exactly it showed up | 11:08 | |
sena_kun | in cro::websocket tests. and if simple tests are failing, showing up in a production environment is likely and we don't want that | 11:09 | |
nine | Ah, now I remember! The segfault occured only on a somewhat older libopenssl version | 11:14 | |
And I upgraded to a newer libopenssl on our production VMs which is why we don't encounter that issue anymore. | |||
FWIW we haven't had a rakudo segfault on our production machines in weeks :) | 11:16 | ||
So yes, a point release of MoarVM would be nice indeed. But rakudo need not depend on that point release. | 11:18 | ||
sena_kun has finally finished with the morning routine and can look at blin results | 11:24 | ||
11:35
pmurias left
|
|||
Geth | rakudo: ecf8a3f4ce | (Elizabeth Mattijsen)++ | 2 files Add support for Attribute is built(:bind) - add "is_bound" attribute handling to Attribute in bootstrap - add support for ":bind" to "is built" trait |
11:51 | |
rakudo: 7bbb76da19 | (Elizabeth Mattijsen)++ | src/Perl6/World.nqp Support for binding attributes in BUILDPLAN processing This adds support for binding attributes (with "is built(:bind)", opcodes 13 and 14)) to the object build logic compiler services. |
12:18 | ||
rakudo: Altai-man assigned to vrurg Issue Regression related to AUTOGEN signature github.com/rakudo/rakudo/issues/3433 8ab53027e2 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/BUILDPLAN.nqp If an attribute is marked as "is_bound", then adapt the opcodes 0 and 4 to 13 and 14 respectively. It really was as simple as that. |
12:31 | ||
sena_kun | and we have one more regression to look into | ||
12:41
sena_kun left
|
|||
12:57
sena_kun joined
|
|||
Geth | rakudo: 3f0dca4f4d | (Elizabeth Mattijsen)++ | lib/BUILDPLAN.rakumod Fix stray i in method name |
12:58 | |
rakudo: taboege++ created pull request #3434: NativeCall: add CArray[ā¦].new(Str:D, ā¦) candidate |
13:04 | ||
Kaiepi | a while ago i was working on making feed operators compliant with their original design, but stopped since the implementation i ended up with was slower than what we have now | ||
i have some ideas on how to speed this up now | 13:05 | ||
lizmat | ++Kaiepi | ||
tobs | thanks lizmat, you're fast :) | 13:06 | |
lizmat | hehe | ||
tobs: I actually approved it before I saw your request for review :-) | 13:08 | ||
tobs | can't get any faster | ||
Geth | rakudo: d1cda8460d | (Elizabeth Mattijsen)++ | src/core.c/Attribute.pm6 An accessor on a bound attribute should not decont As there is no container anyway in that case, so just simply return the attribute. |
13:24 | |
13:45
dumarchie left
13:56
pmurias joined
|
|||
jnthn | lizmat: I'm not sure I agree with that; why would there be "no container"? In `class A { has $.foo is init(:bind) }; my $foo = 42; A.new(:$foo)`, $!foo =:= $foo | 14:03 | |
14:04
lucasb joined
|
|||
jnthn | class A { has $.foo is rw is init(:bind) }; my $foo = 41; A.new(:$foo).foo++; say $foo # I'd expect 42 | 14:04 | |
And without the `is rw` I'd expect an error | 14:05 | ||
And I don't see how we get that if such an accessor doesn't decont | |||
lizmat | jnthn: you use "is init" did you mean that, or did you mean "is built" ? | 14:19 | |
jnthn: also, without the "is rw", shouldn't that just decont on object creation ? | 14:21 | ||
so we'd lose any container then, so we don't have to decont every attribute access ? | 14:22 | ||
afk for a few hours& | |||
nine | lizmat: but then we lose the ability to bind a container on purpose (however bad such a thing may sound). If there's no container then MoarVM will optimize the decont away | 14:27 | |
jnthn | lizmat: Meant "is built" | 14:29 | |
lizmat: Under *normal* object creation semantics, we assign into an attribute; :bind is meant to bind. | 14:30 | ||
lizmat: There's no automatic decont anywhere except in a non-rw accessor | |||
Well, also in that if you have `has @!foo is built(:bind)` and you pass `foo => $[foo]` then per normal binding semantics we lose the Scalar. But that just falls out of normal := semantics. | 14:31 | ||
14:41
sena_kun left
14:56
sena_kun joined
14:57
pmurias left
15:30
pmurias joined
15:35
Kaiepi left
15:36
Kaiepi joined
16:42
sena_kun left
16:49
domidumont joined
16:53
dumarchie joined
16:56
sena_kun joined
|
|||
dumarchie | Does anybody have an opinion on whether List.new-from-iterator should be documented and covered by a spectest or should be hidden? | 17:01 | |
Documenting it creates one more opportunity for new users to find out how to create a lazy list. | 17:07 | ||
MasterDuke | lizmat: istr you had a comment on a commit from the past couple weeks about wanting a fast Int.chars? i can't find it, so maybe i'm imagining things | 17:15 | |
17:30
ab5tract joined
18:14
pmurias left
18:15
pmurias joined
|
|||
ab5tract | regarding that recent commit to doc which discussed managed char* ... thanks for that one!! it got the flaps right out of my library tests. it was clear that the flaps were due to memory management timings but it was quite unclear how i should go about addressing it. | 18:16 | |
18:43
sena_kun left
18:58
sena_kun joined
19:06
TreyHarris joined
19:23
pmurias left,
pmurias joined
19:29
dumarchie left
|
|||
tobs | hah, amazing how a random doc change can come at just the right time | 19:43 | |
Geth | rakudo: bd4b2c1487 | (Elizabeth Mattijsen)++ | src/core.c/Attribute.pm6 Revert "An accessor on a bound attribute should not decont" This reverts commit d1cda8460d2199c6605871ecd4e3c3fb6e29863d. |
19:53 | |
lizmat | m: class A { has $.a = 42 }; A.new for ^10_000_000; say now - INIT now | 19:57 | |
camelia | 1.8076504 | ||
lizmat | m: class A { has $.a is built(:bind) = 42 }; A.new for ^10_000_000; say now - INIT now | ||
camelia | 1.3209165 | ||
lizmat | m: say 1.8076504 / 1.3209165 | ||
camelia | 1.368481959 | ||
lizmat | morale: make your objects with immutable attributes go 1.3x as fast with "is built(:bind)" | 19:58 | |
20:05
domidumont left
20:41
sena_kun left
|
|||
MasterDuke | dumarchie: i don't have an informed opinion on whether it should be hidden (i'd lean towards no absent any other information), but if not, then yes it should be spectested and written up in the docs | 20:50 | |
tellable6 | MasterDuke, I'll pass your message to dumarchie | ||
20:54
lucasb left
20:56
sena_kun joined
22:42
sena_kun left
22:57
sena_kun joined
|
|||
lizmat | .tell dumarchie I'd rather see .List and .Array coercers implemented in the Iterator role | 23:02 | |
tellable6 | lizmat, I'll pass your message to dumarchie | ||
23:03
ab5tract left
23:33
pmurias left
|