[Pharo-dev] VM with fragmented memory
smalltalk at stefan-marr.de
Mon Nov 25 12:06:43 EST 2013
On 25 Nov 2013, at 17:46, Clément Bera <bera.clement at gmail.com> wrote:
> An interesting point in V8 is that the data and pointers are not in the same spaces. It would mean in Cog, if I understand correctly, that byte and word objects are not in the same space as other objects. I guess this simplifies the GC logic. I don't know if they did that in VW.
> > I have a general question regarding VM. Are you aware of other Virtual machines supporting this? Does the Java VM support fragmented memory? .Net? V8?
> > Any VM that uses the train algorithm supports segmented memory. Any VM that uses "pools" or "regions" uses segmented memory. VisualWorks' VM supports segments. I'm pretty sure that V8 .Net & HotSpot provide segmented memory.
> > I would like to mention this in a research paper I am working on.
A very general reference could be the Garbage Collection Handbook (Jones, Hosking, Moss) chapter 8 and 10:
Partitioning the heap
8.2 Why to partition
Partitioning by mobility
Partitioning by size
Partitioning for space
Partitioning by kind
Partitioning for yield
Partitioning to reduce pause time
Partitioning for locality
Partitioning by thread
Partitioning by availability
Partitioning by mutability
8.3 How to partition
8.4 When to partition
Chapter 10 elaborates on large objects and pointer-free objects (as well as algorithms that use partitioning).
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
Phone: +32 2 629 2974
Fax: +32 2 629 3525
More information about the Pharo-dev