diff options
Diffstat (limited to 'HACKING')
-rw-r--r-- | HACKING | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -784,7 +784,9 @@ There are other GC issues that are hard to catch, like spurious retention. This is when the code generated by the C compiler hangs on to an object which, in the source code semantics, should be garbage. It can happen, for example, when a variable has gone out of scope, but the stack location -where that variable was last stored has not been overwritten. +where that variable was last stored has not been overwritten. Register-save +areas in the stack frame can similarly contain stale data, because when a +register value is restored from the save area, the copy remains there. Spurious retention can also happen if a bit pattern is generated which looks ike a reference to an object, by chance. We share this problem with |