github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
Geth MoarVM: ad3a80cb6e | (Zoffix Znet)++ | src/math/bigintops.c
Fix coredump with mul_I -> div_I ops

Fixes R#2280 github.com/rakudo/rakudo/issues/2280
The issue in the ticket stems from -2147483648 being big enough to fit into 32bit int, yet its negation, 2147483648, being 1 bit too big. The assumption in the small-int portion of the div_I op is that if we divide MVMint32 by ... (19 more lines)
00:09
synopsebot R#2280 [open]: github.com/rakudo/rakudo/issues/2280 [math][regression] Core dump when dividing some Rats with denominator 2**30 by -2
00:17 ZofBot joined, ZofBot left 00:22 ZofBot joined 00:23 p6bannerbot sets mode: +v ZofBot, ZofBot left, ZofBot joined 00:24 ZofBot left 00:28 ZofBot joined 00:29 ZofBot left, ZofBot joined, p6bannerbot sets mode: +v ZofBot 01:19 fake_space_whale joined 01:20 p6bannerbot sets mode: +v fake_space_whale 01:31 awal11 joined, awal11 left 01:32 combinare8 joined, combinare8 left 01:41 zakharyas joined 01:42 p6bannerbot sets mode: +v zakharyas
Geth MoarVM: MasterDuke17++ created pull request #970:
Cleanup _I ops
01:47
02:06 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 02:53 ZzZombo left 03:04 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 03:23 lobachevsky28 joined, lobachevsky28 left 05:30 domidumont joined 05:31 p6bannerbot sets mode: +v domidumont 05:53 a1cypher joined 05:54 a1cypher left 05:57 fake_space_whale left 06:00 KotH13 joined, KotH13 left 06:08 zakharyas left 06:10 fake_space_whale joined 06:11 p6bannerbot sets mode: +v fake_space_whale 06:15 Mithkabob26 joined, Mithkabob26 left 06:19 fake_space_whale left 06:20 domidumont left 06:39 robertle joined 06:40 p6bannerbot sets mode: +v robertle 06:50 patrickb joined, p6bannerbot sets mode: +v patrickb 07:07 zakharyas joined 07:08 p6bannerbot sets mode: +v zakharyas 07:16 lizmat joined, p6bannerbot sets mode: +v lizmat 07:29 domidumont joined 07:30 p6bannerbot sets mode: +v domidumont 07:54 robertle left 07:57 brrt joined 07:58 p6bannerbot sets mode: +v brrt
brrt \o 07:58
nwc10 o/ 07:59
08:05 zakharyas left 08:17 lizmat left 08:19 robertle joined, p6bannerbot sets mode: +v robertle 08:35 lizmat joined, p6bannerbot sets mode: +v lizmat
timotimo \o 08:52
lizmat #moarvm o/ 08:54
brrt ohai timotimo, lizmat, nwc10 08:57
09:50 brrt left 09:56 ZzZombo left 10:24 kutenai15 joined 10:25 p6bannerbot sets mode: +v kutenai15 10:26 cinimod joined 10:27 p6bannerbot sets mode: +v cinimod 10:28 cinimod left 10:33 kutenai15 left 10:59 brrt joined 11:00 p6bannerbot sets mode: +v brrt 11:38 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 11:42 ZzZombo_ joined, p6bannerbot sets mode: +v ZzZombo_, Mazhive_one joined 11:43 p6bannerbot sets mode: +v Mazhive_one, ZzZombo left, ZzZombo_ is now known as ZzZombo 11:46 Mazhive_one left
brrt I have a theory wrt to my fork problem. It is called 'MVMROOT' 12:04
... the instance->threads object is moved, but not forwarded 12:17
well, not updated, I should say
yes. instance->threads is not updated 12:20
hmmm
patrickb brrt: Out of curiosity, what can one do with a fork-safe MoarVM? ("Forking!" - Duh. But why should I?) 12:23
diakopter decades ago it was a slick way to "pre-fork" handlers of http requests without having to worry about insecurity or instability (or total lack) of memory-sharing threads 12:38
brrt forking, that's basically it 12:41
patrickb: you can make the case that with async IO, 'real' threads etc. that fork() is no longer necessary 12:42
I don't believe that argument.
fork() is an *excellent* way to add adhoc concurrency / parallelism 12:43
patrickb so the idea is to provide a way to do a real fork() from within perl6 itself?
brrt I find that if you want to use threads, you'd better design that from the outset
yes
fork() is also well suited for things like online replacement of daemons 12:45
I know that nobody does that anymore because docker...
I forgot what the name was for the process, where you replace on daemon with another 12:48
patrickb Makes sense. Thanks for the elaboration! 12:50
brrt :-)
(I mean, I'm fully aware that this is a fools errand... but that's why it's open source, I guess) 12:51
brrt recalls the situation at a $previous-employer where I'd suggest to 'just fork and write to a pipe' and got stares of confusion 12:52
lizmat
.oO( build impossible programs :-)
brrt :-)
13:05 kzantow_18 joined 13:06 p6bannerbot sets mode: +v kzantow_18
nine I still think fork() has a place. It's good for separation of resources and privileges. 13:06
13:06 kzantow_18 left 13:36 JayCie joined, JayCie left 14:19 zakharyas joined 14:20 p6bannerbot sets mode: +v zakharyas 14:36 zakharyas left 14:50 brrt left
timotimo brrt, do you know about the temp roots being cleared out whenever the code returns to the interp loop? that could give a hint for doing it right perhaps? 14:52
15:04 domidumont left 15:20 Biappi29 joined, Biappi29 left 15:28 fake_space_whale joined 15:29 p6bannerbot sets mode: +v fake_space_whale 15:30 robertle left 15:31 patrickb left 15:32 lizmat left 15:48 MsMouse4 joined 15:49 p6bannerbot sets mode: +v MsMouse4 15:53 MsMouse4 left 15:58 fake_space_whale left 16:01 brrt joined 16:02 firespeaker15 joined, p6bannerbot sets mode: +v brrt, p6bannerbot sets mode: +v firespeaker15 16:06 firespeaker15 left 16:07 lizmat joined, p6bannerbot sets mode: +v lizmat
brrt oh, i think i understand 16:07
there's a bunch of nursery-to-gen2 refs between threads 16:10
MVM_thread_cleanup_threads_list breaks that, because it reverses the threads
and we don't do a full collect 16:11
16:34 robertle joined 16:35 p6bannerbot sets mode: +v robertle 16:49 Novitsh22 joined 16:50 p6bannerbot sets mode: +v Novitsh22 16:51 Novitsh22 left
brrt yep, that's very likely to be the issue 16:52
16:52 FiveYellowMice20 joined 16:53 p6bannerbot sets mode: +v FiveYellowMice20 16:57 FiveYellowMice20 left 17:18 Jguy10 joined, Jguy10 left 17:19 aloy22 joined 17:20 p6bannerbot sets mode: +v aloy22 17:21 aloy22 left
brrt yay, I think I fixed the problem 17:25
Geth MoarVM: 3893a6ce8e | (Jonathan Worthington)++ | 4 files
Perform parameter logging at entry time

Rather than doing it for each of the parameter instructions. This lets us log parameter types even when their target will be a slurpy, meaning we can make a type specialization rather than a certain specialization for calls to things taking slurpy parameters. This helps, among likely quite a few things, calls like `.new(x => 1, y => 2)` for the standard
  `new` constructor: when the `BUILDALL` is small enough, it can now be
inlined into the specialization of `new`.
17:28
MoarVM: 196fa224a1 | (Jonathan Worthington)++ | src/spesh/optimize.c
Optimize eqaddr into a constant if possible
17:30
MoarVM: 5103e9f8ae | (Jonathan Worthington)++ | 4 files
Simplify/improve optimization of decont

We don't need to track "is this decontainerized" everywhere; we can just look at the facts about the type to see if it's a container type or not. By doing so, we spot optimize some cases where we forgot to set the "it's decontainerized" flag, so this is not only a cleanup, but also a performance win.
MoarVM: 8501e2e8f1 | (Jonathan Worthington)++ | src/6model/reprs/MVMMultiCache.c
Fix off-by-one in multi cache spesh lookup

Which caused us to miss resolving some multis when named arguments were involved, in turn leading to missed specialization linking and inlining opportunities.
MoarVM: b5eb48c2e0 | (Bart Wiegmans)++ | 3 files
[fork] Fix corruption in threads list

MVM_thread_cleanup_threads_list() would create nursery-to-gen2 references in the threads list, which was very upsetting to GC, which would be heavily exercised by a repeated fork().
Also, child processes might be trying to reinitialize a dead threads uv_loop, which isn't very good.
17:37
17:45 brrt left 18:06 travis-ci joined, p6bannerbot sets mode: +v travis-ci
travis-ci MoarVM build passed. Bart Wiegmans '[fork] Fix corruption in threads list 18:06
travis-ci.org/MoarVM/MoarVM/builds/433070342 github.com/MoarVM/MoarVM/compare/8...eb48c2e0bb
18:06 travis-ci left 18:15 int0x1C828 joined 18:16 p6bannerbot sets mode: +v int0x1C828 18:18 int0x1C828 left 18:21 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel
lizmat jnthn: looks like we could use another bump ? 18:22
ah, I missed Zoffix already doing that
dogbert11 lizmat: did you see |Tux| latest run above? 18:32
lizmat dogbert11: on #perl6-dev you mean ?
dogbert11 yes 18:33
18:33 AlexDaniel left
dogbert11 test-t 1.770 - 1.824 18:33
18:33 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 18:36 undersightable6 joined, reportable6 joined 18:37 p6bannerbot sets mode: +v undersightable6, p6bannerbot sets mode: +v reportable6
lizmat dogbert11: yeah, I know, was even texted about it while cycling :-) 18:50
dogbert11 lizmat: and tomorrow it will be even better
lizmat well, not so sure: I didn't see so much improvement in my own test-t benchmarking 18:51
samcv i ran into an issue i have had personally updating moarvm sometimes. essentially i Configure.pl and make install moar, but the binary does not update 18:53
and so when i go to install nqp, it tells me it's out of date. i had to manually delete ~/perl6/bin/moar and ~/perl6/lib/libmoar.so before Rakudo Star would install
19:19 dodgydave6 joined 19:20 p6bannerbot sets mode: +v dodgydave6 19:24 dodgydave6 left 19:25 AlexDaniel left, AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel
japhb samcv: In general, I recommend at least occasionally using one of the "clone and rebuild from scratch" scripts, because sometimes upgrades just stop working right. 19:26
lizmat timotimo: I've got a reliable "P6opaque: no such attribute '@!caps' on type Regex in a NQPRoutine when trying to get a value" 19:27
on doing a profile on -e 'Rakudo::Internals::JSON.from-json("projects3.json".IO.slurp)'
something I should report ? 19:29
19:30 ymasson joined, ymasson left 19:41 AlexDaniel left 19:46 autrilla27 joined, autrilla27 left 19:53 patrickb joined 19:54 p6bannerbot sets mode: +v patrickb 20:37 Pagan14 joined 20:38 p6bannerbot sets mode: +v Pagan14 20:41 patrickb left 20:46 Pagan14 left 20:48 robertle left 21:01 Latrina25 joined 21:02 p6bannerbot sets mode: +v Latrina25, Latrina25 left
timotimo that could be a bug somewhere in some nqp code 21:25
21:35 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke 21:36 MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke 21:38 Gronk_14 joined 21:39 p6bannerbot sets mode: +v Gronk_14 21:43 Gronk_14 left 21:47 mikalv joined 21:48 mikalv left 21:52 mvg_22 joined, mvg_22 left 22:01 dellhem26 joined 22:02 schrodinger1 joined, p6bannerbot sets mode: +v dellhem26, schrodinger1 left 22:06 dellhem26 left, megubyte23 joined 22:07 megubyte23 left 22:13 santaclauze24 joined 22:14 p6bannerbot sets mode: +v santaclauze24, santaclauze24 left 22:17 alip11 joined 22:18 p6bannerbot sets mode: +v alip11 22:21 alip11 left 22:31 Advant29 joined 22:32 p6bannerbot sets mode: +v Advant29 22:35 al21 joined 22:36 p6bannerbot sets mode: +v al21, Advant29 left 22:38 al21 left 22:49 Guest28654 joined 22:50 Guest28654 left 22:59 Merixer16 joined 23:00 Merixer16 left 23:25 geronimogarcia21 joined 23:26 p6bannerbot sets mode: +v geronimogarcia21 23:28 sheesh0 joined, geronimogarcia21 left 23:29 p6bannerbot sets mode: +v sheesh0 23:33 sheesh0 left 23:37 knofte0 joined, p6bannerbot sets mode: +v knofte0 23:38 stfn21 joined, knofte0 left, stfn21 left 23:46 emerson joined, p6bannerbot sets mode: +v emerson 23:49 d0048 joined 23:50 p6bannerbot sets mode: +v d0048 23:51 d0048 left