[Top][All Lists]

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

Re: Dumper problems and a possible solutions

From: Stefan Monnier
Subject: Re: Dumper problems and a possible solutions
Date: Wed, 25 Jun 2014 19:05:14 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux)

>> - we're still talking about performing relocation of all heap references
>> during startup (not that it's a problem, of course).  Maybe we don't
>> need to do it ourselves, but it still has to happen.
> Indeed. The difference is just between having to write non-portable
> code that does it manually, and having it happen automatically as
> consequences of the requirements of the C language.

The manual code would be fairly normal C code, very similar to the
mark_object routine.  It shouldn't be noticeably less portable than the
current pointer<->int conversions we use for tagging purposes.

Of course, it's always nice when we can use someone else's code, but
I get the impression that to get the right behavior from the
compiler/linker/loader we may have to generate a fairly enormous C file
which will generate an enormous .o file and the resulting binary will
end up with a humongous relocation table.

Of course, only time will tell.

> My understanding is that the tagged references are using the low bits
> of otherwise-aligned pointers as flags. Is this correct? If so, then
> these are just constant offsets applied to an address, and thus they
> are still valid C address constant expressions, so they have to be
> supported.

Indeed, it might work.


reply via email to

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