Welcome to the main channel on the development of MoarVM, a virtual machine for NQP and Rakudo (moarvm.org). This channel is being logged for historical purposes. Set by lizmat on 24 May 2021. |
|||
00:07
reportable6 left
00:49
[Coke]_ joined
00:52
[Coke] left
00:57
tellable6 joined
00:58
nativecallable6 joined,
benchable6 joined
00:59
evalable6 joined
01:07
reportable6 joined
01:18
discord-raku-bot left,
discord-raku-bot joined,
jnthnwrthngtn left
01:19
jnthnwrthngtn joined
01:23
discord-raku-bot left,
discord-raku-bot joined
01:56
shareable6 joined
02:14
discord-raku-bot left,
discord-raku-bot joined
03:01
frost joined
03:03
frost left
03:56
statisfiable6 joined
03:57
bloatable6 joined
04:57
linkable6 left,
evalable6 left
05:57
bloatable6 left,
releasable6 left,
notable6 left,
coverable6 left,
sourceable6 left,
benchable6 left,
committable6 left,
nativecallable6 left,
greppable6 left,
squashable6 left,
bisectable6 left,
reportable6 left,
tellable6 left,
statisfiable6 left,
shareable6 left,
quotable6 left,
unicodable6 left,
quotable6 joined
05:58
bloatable6 joined,
reportable6 joined,
benchable6 joined,
tellable6 joined
05:59
evalable6 joined,
committable6 joined,
bisectable6 joined,
squashable6 joined
06:00
unicodable6 joined,
statisfiable6 joined
06:07
reportable6 left
|
|||
Nicholas | good *, * | 06:55 | |
06:58
nativecallable6 joined
06:59
linkable6 joined,
shareable6 joined,
notable6 joined,
releasable6 joined,
sourceable6 joined
07:00
greppable6 joined
07:45
squashable6 left
07:57
coverable6 joined
08:08
reportable6 joined
08:12
japhb left
|
|||
Geth | MoarVM: 85fa90c42c | (Nicholas Clark)++ | src/core/bytecode.c Move the repeated code that frees callsites before exceptions to a function Create `report_deserialize_callsites_violation` to de-duplicate code in `deserialize_callsites` which frees callsites before throwing an exception. For all use the form of the exception text (with more diagnostics) originally only used for the fourth case. ... (6 more lines) |
08:18 | |
MoarVM: 03f023cc6c | (Nicholas Clark)++ | src/core/bytecode.c Fix a bug in `report_deserialize_callsites_violation` This bug originates from when the code was first added as part of commit c1c25e33fd6f1cce. Unfortunately it can cause a SEGV, which obscures the actual error message that we are trying to report. |
|||
08:34
japhb joined
08:38
frost joined
08:42
frost left
08:47
squashable6 joined
|
|||
Geth | MoarVM: e80869eb63 | (Nicholas Clark)++ | 7 files Remove all code for serialization versions earlier than 23 Code compiled with earlier versions assumes "old" dispatch, meaning that the ops it needs will now throw exceptions. Also remove two comments "TODO ffi support" - FFI support for NativeCall.c was actually implemented in Dec 2019 by commit ff1e55617855f4ab: Implement serialization of NativeCall sites for libffi |
09:30 | |
MoarVM: bee95459f0 | (Nicholas Clark)++ | src/core/bytecode.c Remove all code for bytecode versions earlier than 7 Identical to the previous commit for serialization versions, Code compiled for earlier bytecode versions assumes "old" dispatch, meaning that it will no longer work. (Code compiled for earlier bytecode versions actually won't have worked for some time due to the incremental effect of other changes changed or removed unused functionality.) |
|||
lizmat | feels like a bump is in order ? | 09:33 | |
Nicholas | I have no good feel, really | 09:34 | |
lizmat | ok, I'll hold for more input :-) | 09:44 | |
MasterDuke | hm, i think it should be possible to consolidate the ascii cases for coerce_s_i, radix, and radix_I, which will likely give a bit of a speedup for radix* in those cases. the tricky part is that radix* keeps track of how many chars were converted and coerce_s_i doesn't | 09:45 | |
lizmat | well, keeping how much has been converted, is a feature that *is* used | ||
MasterDuke | actually, i believe ascii and grapheme8 cases | ||
definitely | 09:46 | ||
just trying to figure out if adding that to coerce_s_i will complicate it/slow it down too much | 09:47 | ||
but we may end up with pulling some of the code out of coerce_s_i that we just inlined, so all three ops can share it | 09:49 | ||
jnthnwrthngtn | moarning o/ | 10:11 | |
Nicholas | \o | ||
MasterDuke | ahoy | ||
10:11
ugexe left
|
|||
Geth | MoarVM: MasterDuke17++ created pull request #1661: Fix things found by lgtm.com |
10:18 | |
10:25
ugexe joined
|
|||
lizmat | bumped anyway for better bisectability :-) | 10:27 | |
nine | Looks like that Digest failure is its own can of worms. | 11:00 | |
Ha! "FIXME need autobox_uint" how right I was... | 11:01 | ||
Geth | MoarVM: b7d2713b08 | (Stefan Seifert)++ | 6 files Implement unsigned native version of binary not op (bnot_u) |
11:13 | |
MoarVM: a0a98d47cc | (Stefan Seifert)++ | src/6model/reprs/P6opaque.c Teach MVM_dump_p6opaque debug function to dump bigints |
|||
MoarVM: 3ff5b11136 | (Stefan Seifert)++ | src/core/args.c Fix autoboxing of arguments treating unsigned ints as signed |
|||
MasterDuke | it's really annoying that the reproducible build test doesn't seem to ever fail locally | 11:34 | |
11:41
AlexDaniel joined
11:47
AlexDaniel left
12:00
AlexDaniel joined
12:02
AlexDaniel left
12:06
reportable6 left
12:08
AlexDaniel joined
12:20
psydroid joined
12:33
[Coke]_ is now known as [Coke]
12:35
AlexDaniel left
13:07
reportable6 joined
|
|||
MasterDuke | nine: github.com/rakudo/rakudo/issues/15...1026962471 might be up your alley | 15:23 | |
15:23
AlexDaniel joined
|
|||
vrurg | We have a SEGV regression. BSON::Simple reliably dies on master on its t/00-use.rakutest | 15:29 | |
Unfortunately, I can't quickly make my linux box produce a core and don't have time for gdb right now. | 15:31 | ||
MasterDuke | doesn't repro right away for me | 15:35 | |
vrurg | I wasn't able too somehow. Try full rebuild. | 15:38 | |
v2021.12-173-gffa09ff68. | 15:39 | ||
MasterDuke | 2021.12-173-gffa09ff68 here too. that test is just `use`ing the module. i think this is the same bug (or at least related to it) in use/require/precomp that i just reproed | 15:40 | |
vrurg | Very likely. Out of curiosity, I'm trying 382f2f1084d721df6c3ce24a3dea9a174bbaac82 which is pre-last NQP bump. | 15:43 | |
15:43
linkable6 left
|
|||
vrurg | The bump, perhaps, made the bug more reproducible. Pre-bump build works as charm. | 15:44 | |
nine | I'm curious how you come to that conclusion without backtraces to compare? | 15:45 | |
vrurg | The test is about module loading. | ||
15:46
linkable6 joined
|
|||
nine | And the reproduction is about parallel module loading, which we've never been good at | 15:46 | |
vrurg | Could be a coincidence, of course. That's why it's "likely", even though "very". :) | 15:47 | |
Geth | MoarVM: 2abb469945 | (Stefan Seifert)++ | src/6model/reprs/MVMCapture.c Fix segfault after capture-replace-literal-arg with different kind A comment above MVM_capture_replace_arg already said: "The callsite argument type is expected to be the same". Sadly comments are easy to miss and when arguments are replaced with values of different kinds, we can end up with e.g. a literal number for a callsite argument with kind obj and may try to dereference what we wrongly believe to be a pointer. Fix by actually enforcing this rule. Fixes the segfault reported in GH #1656 |
15:49 | |
MoarVM: ac0dee75b6 | niner++ (committed using GitHub Web editor) | src/6model/reprs/MVMCapture.c Merge pull request #1658 from MoarVM/fix_segfault_after_capture_replace_literal_arg Fix segfault after capture-replace-literal-arg with different kind |
|||
15:50
linkable6 left
|
|||
vrurg | Anyway, the SEGV is certainly reliable. Switched back to the HEAD and it is back to dying. | 15:51 | |
15:52
linkable6 joined
|
|||
vrurg | I have to go now. gist.github.com/vrurg/0fb88fb5f54f...3c5bfb8009 – this is as much as I managed to pull out from a core. | 16:19 | |
nine | Definitely a different bug then | 16:24 | |
MasterDuke | vrurg: if you're compiling your own rakudo/moarvm it would be nice to add `--debug=3` to the moarvm build. makes backtraces so much nicer and isn't really any slower | 16:30 | |
Geth | MoarVM: d58fa57df3 | (Stefan Seifert)++ | 7 files Implement (bind|get)attrs?_u ops |
16:35 | |
MoarVM: ea644a5b1e | (Stefan Seifert)++ | 11 files Implement getattrref_u op |
|||
MasterDuke | m: use nqp; my str $s = " 12"; say nqp::coerce_si($s); say nqp::radix(10, $s, 0, 0) | 17:33 | |
camelia | 0 (0 0 -1) |
||
MasterDuke | that's interesting. locally i get `12 ` from coerce_si | 17:34 | |
which is what i was expecting | |||
(minus the space i accidentally put in the quotes) | 17:35 | ||
but what i really wanted to point out was the difference between coerce and radix in how they handle leading spaces | 17:36 | ||
which makes my plan to consolidate some of their implementations look more complicated | 17:37 | ||
m: use nqp; my str $s = "1_2"; say nqp::coerce_si($s); say nqp::radix(10, $s, 0, 0) # another difference | |||
camelia | 1 (12 2 3) |
||
Nicholas | MasterDuke: JVM and MoarVM already disagree on what coerce_si does with leading spaces. And jnthnwrthngtn previously has said that the nqp spec is rougly "whatever the tests say", and this isn't tested yet, so we could figure out that it can all converge. See github.com/Raku/nqp/pull/759 (partly) | 17:49 | |
lizmat | converging++ | 17:50 | |
MasterDuke | yeah. trying to decide if i should make two versions of this change, one keeping current behavior and one converging as much as possible, or just go right to converging as much as possible and seeing if the benefit is worth dealing with any potential breakage | 17:52 | |
[Coke] | benefit other than "single code path" ? | 17:53 | |
MasterDuke | some faster hotpaths may be possible | 17:54 | |
18:07
reportable6 left
18:10
reportable6 joined
|
|||
dogbert17 | m: class :: { has uint8 $.x; }.new( x => 2** 8-1 ).x.say | 19:03 | |
camelia | -1 | ||
dogbert17 | found this in the old bug repo | 19:04 | |
19:42
linkable6 left
20:44
linkable6 joined
20:57
Kaiepi left
21:58
vrurg left,
vrurg joined
22:03
Kaiepi joined
|