<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=text/html;charset=utf-8 http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.23515"></HEAD>
<BODY style="PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 15px"
id=MailContainerBody leftMargin=0 topMargin=0 CanvasTabStop="true"
name="Compose message area">
<DIV><FONT face=Arial><FONT face="Times New Roman">> The whole TextLiteral
thing is a low-level implementation thing to allow the<BR>> compiler to
construct it statically, yet avoid having to always copy it into<BR>> the
traced heap the first thing at runtime. I haven't looked, but I would
bet<BR>> PM3 always copies a text literal into a heap object before creating
a traced<BR>> reference value pointing to it.</FONT><BR></FONT></DIV>
<DIV><FONT face=Arial>For a TextExpr, ie a literal, pm3 generates</FONT></DIV>
<DIV><FONT face=Arial></FONT> </DIV>
<DIV><FONT face=Arial><BR>PROCEDURE Compile (p: P) =<BR> VAR uid := SetUID
(p);<BR> BEGIN<BR> CG.Load_addr_of (global_data,
literals[uid] +
Target.Address.pack,<BR>
Target.Address.align);<BR> END Compile;<BR></DIV>
<DIV>So it is, in fact, an UNTRACED REF, the GC will know, I
guess.<BR></DIV></FONT></BODY></HTML>