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/ |