Hi,

as i promised, after some testing i changed the 1.2 version from
#development blessing to #release.

Here some more changes:
- reorganized categories (mainly cleaning up the NativeBoost-Core
category and move some stuff to
NativeBoost-Core-FFI category)

But this one might be interesting even to non-NB users:
i added a fresh implementation of weak finalization registry
(NBFinalizationRegistry).
In short:
 - it's not using WeakIdentityDictionary to store registered objects
 - it produces less garbage, under high add/finalization pressure
 - it does not allows removal of object once it is registered, since
it doesn't pretends to be a Collection, like WeakRegistry does.
- if you really need to avoid executing the finalization, use the
object returned by #add: method, which is an instance of
NBWeakFinalizerItem
and send #doNotFinalize message to it (note, any other methods are
considered private and messing up with them can be fatal)


You can extract implementation and use it without loading NB, but it
will work only
under VMs with support of new finalization scheme.
(but since NB-enabled VMs already having it, i can afford to use it,
without having crippling backwards compatibility schemes)


-- 
Best regards,
Igor Stasenko.

Reply via email to