01:48 ilbot3 joined 02:49 mwilson_ joined 04:55 stmuk joined 05:41 domidumont joined 05:47 domidumont joined 06:14 domidumont joined 06:39 domidumont joined 07:19 brrt joined
brrt hey #moarvm 07:19
regarding x32 JIT; that Configure-time check is a bad solution 07:20
nwc10 good *, brrt
brrt good * nwc10
(i was going to use a rather more colorful phrase regarding the Configure-time check) 07:21
nwc10 the logging is only black-and-white, so it wouldn't reproduce well
brrt true
nwc10 (it's like the ASAN output - it's so much better before it goes into a pastebot)
anyway, what's a better solution, and why? :-) 07:22
brrt the JIT only needs to know the runtime architecture and ABI, right 07:23
nwc10 (I admit that I'm not actually going to implement this, even if you take the time to explain to *me* what would work better, but I'm hoping that someone else reading the logs will be less of a slacker than I am)
brrt in general, the Configure script is all about determining how to make something compile
the ultimate test is just to compile some things (and we do)
but not for the JIT
nwc10 but can the runtime architecture and ABI vary significantly from configure time?
brrt welllā€¦. 07:24
nwc10 although, yes, sigh, fat binaries
brrt yeah
nwc10 but that's probably not the common one
brrt actually, that is the common one
nwc10 I guess the useful one is "how recent is this CPU that we're actually running on"
ah OK.
Perl 5 fails completely at the "fat binaries" thing
brrt the uncommon one is 'I want to crossocmpile something'
nwc10 I'm not sure about the *un*common part - that seems to be more common these days as a frustration 07:25
but I'm agreeing with you about the relevance :-)
brrt crosscompilers tend to be pro users, whereas fatbinary-compilers tend to beā€¦. kids with macbooks :-P 07:26
not that we shouldn't have that fixed
it's just that I've come accross 'perl6 doesn't work' more than once where that was the problem 07:27
as in, people who want to start the cross-compilation process tend to know about the compilation process in the first place. fat-binary people tend to have no idea they produced a fat binary 07:28
nwc10 ah OK. Curious.
brrt partly because apple makes making one the default, I think
nwc10 I've not been paying huge attention recently, but I'm not aware of Perl 5 builds screwing up because of fat binaries. 07:29
It just resolutely fails to build a fat binary :-)
brrt well, that's something
nine Well at least the new check is only as bad as the old checks ;) 07:31
brrt oh certainly 07:32
i'm complaining about the old checks ;-) 07:33
08:45 brrt1 joined 12:13 brrt_shell joined
nebuchadnezzar We have NativeCall issues on powerpc with the new packages buildd.debian.org/status/fetch.php...1476101411 12:18
nwc10 that seems to be the only big-endian architecture in buildd.debian.org/status/logs.php?...=2016.09-2 12:20
nebuchadnezzar ppc64 is waiting moarvm build for that architecture: buildd.debian.org/status/package.p...;suite=sid 12:24
nwc10 was more that I'm curious if it's actually a more general big endian bug
nebuchadnezzar powerpc and ppc64 seems to be the only two big endian arch in buildd.debian.org/status/package.php?p=rakudo 12:25
12:35 brrt joined
brrt hmm, i wonder how i'm going to like irssi 12:38
jnthn likes it sufficiently to still be using it after a few years 12:39
arnsholt Yeah, I'm pretty happy with it too 12:40
brrt well, i'll succumb to peer pressure this case 12:43
I kind of liked erc (in emacs)
which I can also do, of course
nebuchadnezzar ERC++ 12:45
:-D
12:45 zakharyas joined
arnsholt But then you have to use Emacs! 12:47
Yuck! =p
brrt i like emacs :-) 13:08
i also like vim, yes, but somehow my mind correlates vim with config files, and emacs with source code, and I can't break that association 13:09
nwc10 bigamy!
you're not supposed to take both sides in holy wars :-) 13:10
nebuchadnezzar nwc10++
brrt: my mind correlates config files with TRAMP mode
to each problem, an emacs mode :-D
brrt well, I work on source code using TRAMP mode 13:13
is that okay?
:-P
nebuchadnezzar :-/ rakudo tests fail on arm64, powerpc and ppc64 buildd.debian.org/status/package.php?p=rakudo 15:48
dalek arVM: dd3749d | jnthn++ | src/6model/reprs/MVMString.h:
Update a comment to reflect current reality.
16:45
nwc10 was about to type `git show` here
then realised "wrong window"
jnthn :)
nwc10 I don't *think* that the work coffee has been replaced with decaf 16:46
but I did noticed that the liquid flowed out rather too quickly in the last cup that I made, which the folks who understand this stuff have told me is a sign of not enough coffee grounds in the thing 16:47
jnthn uh-oh
nwc10 possible problem was that the grinder really needed refilling but I chanced it on the assumption that I could get enough out without doing so
so a PEBKAC variant 16:48
jnthn Maybe it will just about get you through the day... :)
nwc10 I've also drunk the beer cellar dry
(the beer cellar never really had much beer in it)
that is more logistics fail on "just in time" inventory than a "thirst" problem.
builders are making excellent progress on the new beer cellar 16:49
[Coke] want to add moarvm's env vars to rakudo's 00-running in a special section that indicates they are vm specific. any of the ones on this list that we should NOT advertise?: 16:52
gist.github.com/coke/c1ec178d8c85c...c9cf8c6649
timotimo are you refering to tests? or is that documentation?
[Coke] docs, 16:53
sorry.
timotimo OK :)
i don't actually know about ComSpec and PATHEXT
[Coke] First pass I would say just the MVM_ ones. 16:54
16:54 FROGGS joined
FROGGS o/ 16:54
[Coke] ... and my weird run bug is a SPESH issue? 16:55
FROGGS nebuchadnezzar: do you have a clue what this means? release.debian.org/transitions/htm...ibffi.html 16:57
jnthn [Coke]: Some of them are decidedly developer-facing, so it depends who the docs are for
[Coke] docs.perl6.org
FROGGS "This package [moarvm] will soon be part of the auto-libffi transition. You might want to ensure that your package is ready for it. You can probably find supplementary information in the debian-release archives or in the corresponding release.debian.org bug."
[Coke] we could put them on a moarvm site and link to it, that's fine. 16:58
jnthn [Coke]: MVM_JIT_DISABLE, MVM_SPESH_DISABLE, MVM_SPESH_INLINE_DISABLE, and MVM_SPESH_OSR_DISABLE are useful for disabling specific optimizations
[Coke] jnthn: btw, I have a bug that goes away with MVM_SPESH_DISABLE=1.
jnthn [Coke]: Urgh. Please report it, in the MoarVM issue queue if you wish
[Coke] but it involves perl6-doc and having aspell installed. ;)
jnthn Oh o.O
jnthn hands [Coke] some golf clubs ;) 16:59
[Coke] yay, I've been trying that :P
*yah
ilmari FROGGS: it means that libffi7 is transitioning to testing, and anything built against libffi6 will have to be rebuilt
FROGGS nebuchadnezzar: also, since all are marked as installed, is the next step about uploading nqp? buildd.debian.org/status/package.php?p=moarvm
[Coke] jnthn: ok, I'll open docs tickets for those 4.
FROGGS ilmari: thanks
[Coke] ... ltaer.
jnthn [Coke]: fwiw, I think all the MVM_ envvars are documented if you moar --help
ilmari FROGGS: correction, to unstable (it's currently only in experimental) 17:01
nebuchadnezzar FROGGS: for the auto-libffi transition, it tracks packages using libffi to see if they are ready for that transition 17:09
FROGGS: nqp is already uploaded in version 2016.09-1 tracker.debian.org/pkg/nqp, do we need to forge a rebuild of nqp with the new moarvm? 17:11
FROGGS: when we want a new rakudo, we prepare packages for moarvm, nqp and rakudo, the build system take care of build dependencies to do things in the right order, but as nqp is arch=all only one build is necessary 17:12
FROGGS nebuchadnezzar: I *guess* you have to force a rebuild of nqp... but I dunno how that could happen 17:13
nebuchadnezzar FROGGS: but nqp was built on amd64, which did not have any issue 17:14
I thought .moarvm was architecture independent 17:15
off for dinner 17:16
jnthn cygx: .moarvm should be architecture independent, or we can't bootstrap from the stage0... 17:17
oops
nebuchadnezzar: ^^
FROGGS nebuchadnezzar: yes, it is arch independent, but how do we know that the tests pass? 17:27
17:46 domidumont joined
domidumont Weird, rakudo build on arm64 hangs again. I thought that this problem was fixed 18:03
FROGGS :S 18:08
did not happen on my arm64 chroot
domidumont see buildd.debian.org/status/fetch.php...1476110077 18:13
timotimo thanks a lot for the work y'all are doing for debian+rakudo 18:14
domidumont build is done on arm64 HW, not in an emulated chroot. I wonder if that has an impact on the build 18:15
timotimo: you're welcome :-)
FROGGS: I'll check again on my arm64 chroot and then on arm64 HW 19:32
[Coke] jnthn: whee, have a golf. 20:19
jnthn \o/
[Coke] gist.github.com/coke/9793281172746...06f66dfa0f 20:20
dies here after 200 times through the loop (exactly).
MVM_SPESH_DISABLE, it keeps going.
the ! in the ok is needed.
jnthn [Coke]++ 20:22
[Coke] opening a moarvm ticket...
jnthn Thanks. Should have a good tuit supply on Wed :) 20:24
[Coke] github.com/MoarVM/MoarVM/issues/426
2:#define MVM_OSR_THRESHOLD 200 20:25
jnthn Yeah, I'll bet MVM_SPESH_OSR_DISABLE=1 also fixes it?
[Coke] (that would be more suspicious if it wasn't failing on 250 the last time.)
jnthn One of my first checks will be if MVM_SPESH_INLINE_DISABLE also helps
[Coke] no! 20:26
neither of those help
jnthn Hmmm
Well, that's two things not to blame at least :)
[Coke] :)
21:34 cygx joined
cygx jnthn: is hashing the only reason for the existence of MVM_string_flatten() or do we rely enywhere else on the ability to generate flat NFG strings? 21:35
jnthn cygx: We also do it for the regex engine 21:36
Since it's far cheaper to index into a flat buffer
The operation will not continue to be in-place though
Never shoulda been
And for hashes, it was done that way for expedience 21:37
jnthn figured "ah, let's use an off-the-shelf hash library to save time" and learned that some things you just write by yourself...
So the only use we'll end up with longer term is for the regex engine to have a known-flat buffer to work against 21:38
(That it's in-place is a source of concurrency bugs. It's about top of my list of stuff to deal with.) 21:39
cygx I'm thinking about using strands and a new binary storage type for string to implement compatibility encodings instead of synthetics 21:41
basically, strings would be able to contain embedded binary substrings
as we already support strands, it would probably not too much of a change 21:42
*not be
jnthn That'll be fragile. 21:43
We'd need to then work out how to handle those everywhere
The point of doing it with synthetics is that you don't have to care except on the boundary 21:44
(e.g. when encoding/decoding)
Make strings be anything but codepoints or synthetics, and the mess is scattered all over the code. 21:45
So, no.
Generalizing encoding so they all cope with the synthetics would probably be a better way to go 21:46
(The synthetics that represent unrepresentable things, that is)
cygx the issue I see with that is that we will probably have to flatten invalid code unit sequences into a single synthetic instead of generating a new one for each unit 21:48
(edge case: trying to decode arbitrary int32 data as UTF-32) 21:49
jnthn I'd rather have a useless thing be problematic than the added complexity on all the useful things. 21:52
Time to get some sleep...'night 21:55
cygx night o/