emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MPS: native comp


From: Gerd Möllmann
Subject: Re: MPS: native comp
Date: Mon, 29 Apr 2024 11:36:38 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

Andrea Corallo <acorallo@gnu.org> writes:

> The object we are discussing is part of the class that gets set here:
> comp.c:5413
>
>       for (EMACS_INT i = 0; i < d_vec_len; i++
>         data_relocs[i] = AREF (comp_u->data_vec, i);
>
> This is the action you correctly imagined of "putting them into the
> machine code".

Thanks!

And data_relocs points into the dylib, I see.

      Lisp_Object *data_relocs = dynlib_sym (handle, DATA_RELOC_SYM);

So, we could make [data_relocs, data_relocs + d_vec_len) an ambig root.

I'm wondering, where is the machine code being patched, if it is? Or
does it the machine code have an indirection into data_relocs? Because,
in that case, we could perhaps change the references when objects nove.

Do I have to do anything with these

      d_vec_len = XFIXNUM (Flength (comp_u->data_impure_vec));
      for (EMACS_INT i = 0; i < d_vec_len; i++)
        data_imp_relocs[i] = AREF (comp_u->data_impure_vec, i);

?


>
>   Andrea



reply via email to

[Prev in Thread] Current Thread [Next in Thread]