[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: MPS: hash tables / obarrays
From: |
Andrea Corallo |
Subject: |
Re: MPS: hash tables / obarrays |
Date: |
Wed, 29 May 2024 12:52:08 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Gerd Möllmann <gerd.moellmann@gmail.com> writes:
> Helmut Eller <eller.helmut@gmail.com> writes:
>
>> On Wed, May 29 2024, Gerd Möllmann wrote:
>>
>>> BTW, I've made another attempt to get a grip on the native build on
>>> arm64/macOS. No success. Strangely, when I built with -lmps instead of
>>> -lmps-debug that worked.
>>>
>>> Do you build with -lmps-debug?
>>
>> Yes, I always used the debug version. Have you tried to the make the
>> entire rdstack and the prstack ambiguous roots? Or perhaps there's
>> another simple way to rule out bugs with reading/printing?
>
> I've made the specbindings and bytecode stack ambiguous roots in their
> entirety with no effect whatsoever.
>
> The rd and pr stacks I've left alone because they don't really fit what
> little I could see. One example, native-compiled:
>
> (defun byte-compile-eval (form)
> "Eval FORM and mark the functions defined therein.
> Each function's symbol gets added to `byte-compile-noruntime-functions'."
> (let ((hist-orig load-history)
> (hist-nil-orig current-load-list))
> (prog1 (eval form lexical-binding)
> (when (byte-compile-warning-enabled-p 'noruntime)
> (let* ((hist-new
> ;; Get new `current-load-list' for the locally defined funs.
> (cons (butlast current-load-list
> (length hist-nil-orig))
> load-history)))
>
> Here length found that the first cons of the hist-nil-orig has been
> forwarded. And the C code generated for soeed 0 and 1 is almost
> identical. 0 works, 1 doesn't.
Hi Gerd,
in case you need you can decouple the optimizations we do un our
compiler from the GCC ones forcing the number you want in our call to
'gcc_jit_context_set_int_option' in comp.c.
That said if you see almost no differences in the pseudo C we ask GCC to
compile you've probably got already the answer.
Anyway IMO the big diff from -O0 -O1 here should be that values are not
constantly loaded and stored into the stack, this might indeed make a
difference on the GC.
Andrea
- Re: MPS: hash tables / obarrays, (continued)
- Re: MPS: hash tables / obarrays, Gerd Möllmann, 2024/05/19
- Re: MPS: hash tables / obarrays, Helmut Eller, 2024/05/19
- Re: MPS: hash tables / obarrays, Gerd Möllmann, 2024/05/20
- Re: MPS: hash tables / obarrays, Gerd Möllmann, 2024/05/20
- Re: MPS: hash tables / obarrays, Helmut Eller, 2024/05/20
- Re: MPS: hash tables / obarrays, Gerd Möllmann, 2024/05/20
Re: MPS: hash tables / obarrays, Helmut Eller, 2024/05/29