[M3devel] TextLiteral.MaxBytes -- use LONGINT or Target.Intmore?
Dirk Muysers
dmuysers at hotmail.com
Thu Sep 5 16:56:34 CEST 2013
> The whole TextLiteral thing is a low-level implementation thing to allow the
> compiler to construct it statically, yet avoid having to always copy it into
> the traced heap the first thing at runtime. I haven't looked, but I would bet
> PM3 always copies a text literal into a heap object before creating a traced
> reference value pointing to it.
For a TextExpr, ie a literal, pm3 generates
PROCEDURE Compile (p: P) =
VAR uid := SetUID (p);
BEGIN
CG.Load_addr_of (global_data, literals[uid] + Target.Address.pack,
Target.Address.align);
END Compile;
So it is, in fact, an UNTRACED REF, the GC will know, I guess.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20130905/ce5f54ae/attachment-0002.html>
More information about the M3devel
mailing list