> > No, that's only a partial (and indeed very incomplete) solution.  It
> > relies on the Java GC knowing that that particular reference to the
> > Haskell StablePtr is the only one that matters, and vice-versa for
> > the Haskell GC.
> 
> So you want StablePtrs to contain a reference count, a new function
> to increment the count and for freeStablePtr to decrement the count?
> 
> We toyed with designs like that but always found other ways to achieve
> the same goal - but it's easy enough to do.
> 
> A variant is for newStablePtr to look for an existing StablePtr to the
> same thing.  We avoided this design because of the semantic issues in
> testing Haskell pointers for equality but mostly to avoid imposing a
> lookup cost that we'd rarely benefit from.

GHC's StablePtr implementation does all this, BTW.  We were considering
removing it because of the overhead, though.

Cheers,
        Simon
_______________________________________________
FFI mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/ffi

Reply via email to