On Wed, Apr 22, 2009 at 3:50 PM, John M McIntosh <johnmci@smalltalkconsulting.com> wrote:

Well there was the Ephemerons stuff you can add too

http://map.squeak.org/package/fe2a35f5-3f97-431e-8596-58e810aa3c72

ian had a version he pushed out a couple of years, back which was retracted because it
caused VM crashs, but later was proven to be an off by 1 C/slang coding error.
But no-one I think had the courage to inflict back onto the community.


Er so how would compatibilty work with this new way given an image which may or may not include image side companion code.

We'd still need to support weak arrays.  But Ephemerons allow instance-based finalization, so they're a big step up on the postmortem finalization offered by weak arrays.

The current state of Cog is that with simple code generation and machine-code floating-point primitives the nbody benchmark form the computer language shootout is spending 40% of entire execution time in the incremental GC.  So my next target will be te new two-word object header and a scavenger rather than a deferred code generator.  I'm thinking of looking closely at the V8 GC (Lars Bak's presentation at Microsoft last week) and I could probably add ephemerons to that in a second rev.




--
===========================================================================
John M. McIntosh <johnmci@smalltalkconsulting.com>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================