Ravenbrook / Projects / Memory Pool System / Issues


MPS issue job001665

Title:Weakness is not well documented.
Status:closed
Priority:essential
Assigned user:Gareth Rees
Organization:Ravenbrook
Description:Weakness is not well documented.

The documentation has precious little to say about weakness. Even
basic things like what the semantics of a weak reference are are
missing.

We need documentation for:
- description of weak reference semantics, and in particular that all
  weak references get splatted together*.
- how weakness interacts with finalization
- different sorts of weakness (if we implement them)
- what is weakness good for?
- implementing part-weak part-strong hash tables (because its a common
  requirement)

Possible we need subjobs for these things as we decide to do them.
That's okay.
Analysis:Decide what we want the behaviour to be, document it.

* See [1]. It turns out that there is a defect in the MPS that can cause it to not splat all weak references to some object atomically (job001666). I believe lack of documentation may have contributed to the defect.

GDR 2012-11-01: For now, I've documented that weak references may die at different times.
How found:unknown
Evidence:[1] <http:/​/​info.ravenbrook.com/​mail/​2007/​06/​26/​11-48-09/​0/​>
Observed in:1.107.0
Created by:David Jones
Created on:2007‑06‑27 12:30:02
Last modified by:Gareth Rees
Last modified on:2012‑11‑03 14:49:04
History:2007-06-27 DRJ Created.
2012-10-17 GDR Assigned to GDR.

Fixes

Change Effect Date User Description
180202 closed 2012‑10‑31 17:45:35 Gareth Rees Write weak references chapter.
180165 open 2012‑10‑30 17:03:29 Gareth Rees Write pool reference.

Generated at 2013-05-23 11:07:32 by $Id: //info.ravenbrook.com/infosys/cgi/issue.cgi#476 $

Copyright © Ravenbrook Limited. This document is provided "as is", without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this document. You may not duplicate or reproduce this document in any form without the express permission of the copyright holder.

Ravenbrook / Projects / Memory Pool System / Issues