Adding loop primitives/optimizations (was
MakingSet/Dictionaryetc. loops more robust)
Andreas Raab
andreas.raab at gmx.de
Wed Dec 1 22:31:42 UTC 2004
John -
> I believe we had talked about a change to the GC so that if a plugin call
> is active we would not trigger a GC, I don't recall if we actually
> implemented that thought?
I had a demoable version of it at some point (and then my machine
crashed...) This might still be in your inbox - IIRC, then I posted this to
vm-dev.
> At this time it is not outlandish to think about having a class that
> would have a fixed storage attribute. The object header can move, but the
> data is fixed. Most other Smalltalks support this.
Yes. But there are some significant issues with this. My proposal (the one
that I'm hoping to implement for Croquet) is to allow a fixed storage
attribute but ONLY for bit objects (no pointers). That's because otherwise
we'd need to deal with the write barrier and that would be VERY messy. "Bit
objects" would mean most of the large data chunks that we're typically
interested in for batch processing - float arrays, bitmaps, sound buffers
and the like. These could then also be shared with hardware devices (google
APPLE_client_storage to see what I mean), VPUs or whatever else you'd like.
Cheers,
- Andreas
More information about the Squeak-dev
mailing list
|