<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>How will referenced objects behave when referenced by a threadvar. This is an exceptional situation for both dynamic arrays and ansi strings.<BR><br><BR>Another comment: If referenced objects all derive from a single base, then, the user cannot possibly have another hierarchy, which uses ref. objects. As I mentioned earlier, I do this explicitly for an object well down my hierarchy. So, it seems to me you still need something like:<br><BR>-- code --<BR><br><BR>TRefObject = referenced class(TWhateverBase)<BR>end;<BR><br><BR>-- end of code --<BR><br><BR><br><div><hr id="stopSpelling">Date: Mon, 22 Sep 2014 14:54:31 +0200<br>From: pascaldragon@googlemail.com<br>To: fpc-devel@lists.freepascal.org<br>Subject: Re: [fpc-devel] weak referencing (was Suggestion:.....)<br><br>Am 22.09.2014 14:31 schrieb "Hans-Peter Diettrich" <<a href="mailto:DrDiettrich1@aol.com">DrDiettrich1@aol.com</a>>:<br>
><br>
> Marco van de Voort schrieb:<br>
><br>
>> (to Sven)<br>
>><br>
>> So the cycle break mechanism is going to be marking potential cycle cases<br>
>> as weak.<br>
>><br>
>> Do you still plan to at least detect cycles for debugging purposes?<br>
>><br>
>> Or is the cycle detection itself already too hard?<br>
>><br>
>> IOW I'm wondering what will happen (and what to do) if there is a cycle in a<br>
>> sufficiently complex program.<br>
><br>
><br>
> I could imagine a tool for that purpose, instead of burdening the compiler with such rarely used functionality. More diagnostics could be removed from the compiler, like the detection of unused local variables or units - if that helps to speed up compilation. Separate diagnostic tools could immediately offer means to solve the detected problems interactively, what's not the purpose of an compiler.<BR>
These diagnostics help the compiler to remove application code it doesn't need to generate. So why should I remove them? Also these diagnostics are quite fast already. Other more costly optimizations are already optional using the -Ox options.<BR>
Additionally the cycle detection algorithm wouldn't be run at compiletime anyway, but at runtime. Namely during every reference count decrease.<BR>
Regards,<br>
Sven<BR>
<br>_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</div>                                        </div></body>
</html>