[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: pvm.jitter patch for no-threading
From: |
Jose E. Marchesi |
Subject: |
Re: pvm.jitter patch for no-threading |
Date: |
Sat, 03 Apr 2021 20:12:42 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
>> - pk_term_class
>> - pk_term_end_class
>> - pk_printf
>> +# pk_term_class
>> +# pk_term_end_class
>> +# pk_printf
>>
>> Why commenting these out instead of removing them?
>
> You are right. I wanted to remind you about these (they should be the
> macros wrapped as functions, which misbehave), then forgot. Anyway, an
> important remark about wrapping: if you only use a C function or global
> from non-relocatable instructions, then it does not need wrapping.
> Wrapping only serves to make globals accessible from executable code
> which has been copied.
Can you please add that info to some suitable section in HACKING, as
part of the patch series?
>> Also, there are a few commented-out:
>>
>> # non-relocatable
>>
>> Do we need these?
>
> Not really, but I would suggest them. In an ideal world where every
> other case had already been optimised, I would make I/O instructions
> non-relocatable just in order to improve code locality.
>
> In the current Poke this does not matter much because of PVM_RAISE_*,
> which occurs in *a lot* of places, and makes the code very large -- it
> also causes some defects, but now as you can see defects do not affect
> correctness.
Ok, but then please use something like:
# XXX make non-relocatable
so we can find it easily. We use XXX for that purpose in the codebase
:)
It would be even better if you could add suitable todo entries to
etc/poke.rec ;)
Allright, the patch is OK for master.
Thanks! :)