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:02
reportable6 left
00:03
reportable6 joined
01:03
committable6 left,
statisfiable6 left,
greppable6 left,
notable6 left,
quotable6 left,
releasable6 left,
sourceable6 left,
coverable6 left,
linkable6 left,
squashable6 left,
reportable6 left,
bloatable6 left,
tellable6 left,
bisectable6 left,
evalable6 left,
benchable6 left,
unicodable6 left,
shareable6 left,
nativecallable6 left,
committable6 joined,
tellable6 joined
01:04
bisectable6 joined,
bloatable6 joined,
unicodable6 joined,
statisfiable6 joined,
nativecallable6 joined
01:05
evalable6 joined,
quotable6 joined,
greppable6 joined,
linkable6 joined
01:06
reportable6 joined
01:14
frost joined
|
|||
japhb | nine: FYI, installing Inline::Perl5 on a 32-bit RaspberryPi OS install, there are a lot of warnings, almost all of which are "cast to pointer from integer of different size [-Wint-to-pointer-cast], from (perl6_callbacks*) casts. | 01:26 | |
There are a couple other things, but that's most of the noise. | |||
02:04
sourceable6 joined,
notable6 joined
02:05
releasable6 joined,
benchable6 joined
03:04
coverable6 joined
03:05
shareable6 joined
04:05
squashable6 joined
04:42
coverable6 left,
reportable6 left,
nativecallable6 left,
MasterDuke left,
Altai-man left,
jdv left,
jnthnwrthngtn left,
timo left
04:43
coverable6 joined,
reportable6 joined,
nativecallable6 joined,
MasterDuke joined,
Altai-man joined,
jdv joined,
jnthnwrthngtn joined,
timo joined
04:44
shareable6 left,
leedo left,
kjp_ left,
leont left
04:45
shareable6 joined,
leedo joined,
kjp_ joined,
leont joined
04:46
AlexDaniel left,
psydroid left
04:48
[Coke] left,
nine left,
[Coke] joined,
nine joined
04:50
Voldenet left,
gfldex left,
rba left,
Voldenet joined,
rba joined,
gfldex joined
04:54
ugexe left,
ugexe joined
05:16
AlexDaniel joined
06:02
reportable6 left
06:04
psydroid joined
06:05
reportable6 joined
|
|||
nine | japhb: that's odd. According to perlguts, those casts should be correct: "Perl uses a special typedef IV which is a simple signed integer type that is guaranteed to be large enough to hold a pointer (as well as an integer)." | 07:02 | |
japhb: does it tell you what the actual sizes both sides of the casts are? | 07:05 | ||
japhb | nine: Gah, looks like it disappeared from my scrollback. Now expanding scrollback and forcing a reinstall .... | 07:23 | |
*Jeopardy! theme music ...* | 07:25 | ||
As a side note while I wait, so far I'm finding the RPi4 with a 32-bit OS is around 5-6x slower running Rakudo than my x64 laptop. Not as bad as I feared, but certainly enough to make slow stuff REALLY slow. | 07:28 | ||
WTH? Completely silent install this time ...? | |||
Is there something that wouldn't necessarily rebuild if reinstalled with `zef install Inline::Perl5 --force-install`? | 07:29 | ||
nine | Do you install with zef? That may have cached the build directory so the previously compiled library may still be there | ||
japhb | Hmmm, lemme try nuking that | ||
nine | Easiest way is git clone github.com/niner/Inline-Perl5.git ; cd Inline-Perl5 ; rakudo configure.pl6 ; make | 07:30 | |
japhb | OK, I'll try that after this run (I just nuked ~/.zef/store/Inline-Perl5-0.54.tar.gz, and reran the zef install) | 07:31 | |
Yup, nuking that zef store dir worked. | |||
No, it doesn't say what the actual types/sizes mismatched were for the declare_cbs macro warnings. One thing I do notice is that one of the rare wornings is in p5_call_gv_two_args, it's a format string error -- but the exact mismatch there might say something. Gimme a sec. | 07:34 | ||
warning: format '%d' expects argument of type 'int', but argument 3 has type 'I32' {aka 'long int'} [-Wformat=] | 07:35 | ||
Sounds like int is short on this build? | |||
Is there a way to get more detail from gcc's warnings? (If it matters, it appears to be gcc 8.3.0) | 07:37 | ||
`perl -V` shows intsize=4 longsize=4 ptrsize=4 but ivtype='long long' | 07:40 | ||
(and thus ivsize=8) | |||
Hmmm ... use64bitint=define use64bitall=undef | 07:41 | ||
I guess this could mean that the mismatch is that IV is larger than *. IV is guaranteed to be large enough, but not necessarily the *same* size, from that perlguts bit you quoted. | 07:49 | ||
japhb heads off to the land of nod ... & | 07:50 | ||
nine | japhb: ok, that means that the code is actually correct, indeed. But only in practice, since I know that these IVs will only ever hold pointers, so the upper 32 bits will be 0 and we can safely ignore them. | 07:55 | |
I do have a fix for the format string warnings at least | 07:56 | ||
09:00
quotable6 left,
bisectable6 left,
committable6 left,
benchable6 left,
linkable6 left,
evalable6 left,
bloatable6 left,
greppable6 left,
unicodable6 left,
notable6 left,
tellable6 left,
squashable6 left,
statisfiable6 left,
sourceable6 left,
releasable6 left,
shareable6 left,
reportable6 left,
nativecallable6 left,
coverable6 left
09:01
quotable6 joined,
bisectable6 joined,
bloatable6 joined,
squashable6 joined
09:02
statisfiable6 joined,
tellable6 joined,
greppable6 joined,
coverable6 joined
09:03
reportable6 joined,
committable6 joined
10:00
sourceable6 joined
10:02
unicodable6 joined
10:03
shareable6 joined,
nativecallable6 joined
11:01
notable6 joined
11:36
sena_kun joined
12:00
releasable6 joined
12:02
benchable6 joined,
evalable6 joined,
reportable6 left
13:02
linkable6 joined
13:11
frost left
14:04
reportable6 joined
|
|||
lizmat | And yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2021/08/16/2021-...cumbering/ | 14:12 | |
14:39
RakuIRCLogger left,
RakuIRCLogger joined
14:45
discord-raku-bot left,
discord-raku-bot joined
14:47
discord-raku-bot left
14:48
discord-raku-bot joined
15:01
discord-raku-bot left,
discord-raku-bot joined,
TempIRCLogger left
15:02
TempIRCLogger joined
16:12
njm joined
18:02
reportable6 left
18:25
vrurg left
18:28
sena_kun left
18:29
vrurg joined
18:30
njm left
|
|||
nine | For the new-disp implementation of nqp::hllize: dispatchers are cached at the callsite. The callsite will never change its language, so we don't need to guard on that. Types won't change their language either, so a guard on type (which we're gonna need anyway) will implicitly guard on the object's language as well. | 19:09 | |
The tricky bit seems to be actually finding out the language at the callsite. | 19:31 | ||
MasterDuke | i assume 6.c and 6.d are the same languages? | 19:32 | |
nine | Yes, but Raku and NQP are not | ||
Ah, it may not be that hard after all. The nqp::hllize op will desugar into an nqp::dispatch('lang-hllize', $obj); This op will be part of the same frame, i.e. MVM_hll_current will give us the target HLL. | 19:57 | ||
We can then statically delegate to the registered hllize dispatcher for that HLL. | |||
The dispatch program we create during this process will run in a different frame, but that doesn't matter, since the target language is kinda statically compiled into this dispatch program anyway. | 19:58 | ||
Ok, the lang-hllize dispatcher implementation in C compiles. That means I'm almost done, right? :D | 20:16 | ||
The desugar and registration of the HLL's hllization dispatcher work as well and a test in NQP with funnylang works as intended. | 20:38 | ||
So, a good start for today :) | |||
MasterDuke | nice | 21:03 | |
21:04
reportable6 joined
23:36
evalable6 left,
linkable6 left
|