Add ImmutableHeap class consisting of parts
The ImmutableHeap has it's own Heap object and a number of parts. Scheduler
worker threads can aquire parts. The parts are used for allocation of immutable
objects while a process is being interpreted. Once an allocation failure
happens, the part is released to the ImmutableHeap.
The ImmutableHeap decides when it should be collected. Currently this is
implemented in a very simple way: As soon as enough parts have been given out
(and returned) it will signal that it should be collected.
The scheduler will request parts, and once it gives a part back to the
ImmutableHeap it might need to trigger a immutable GC.
The GC thread currently stopps the whole program, performs the collection and
resumes the program. But going forward this could happen concurrently with the
scheduler interpreting processes.
[A additional forwarding word for immutable objects and an updated identical()
implementation should be enough.]
Total comments: 16
Total comments: 2
Total messages: 10 (4 generated)