The allocation.hpp header file has the class definition for Chunk and Arena. allocation.hpp is included everywhere forcing everything Chunk and Arena need to be included everywhere too. This doesn't cause circular dependencies now but may if header files are moved around.
Also, finding class Arena in the file arena.hpp seems really nice.
vmStructs.cpp has field offsets for class Chunk (there are tons of various Chunk classes), but the SA doesn't use Chunk or Arena. These offset macros should be removed also so that Chunk can be included in the implementation rather than definition file for Arena.
This over inclusion was noticed when working on the GC interface and other metaprogramming support for atomics and order access so should be cleaned up in 10.
Also, finding class Arena in the file arena.hpp seems really nice.
vmStructs.cpp has field offsets for class Chunk (there are tons of various Chunk classes), but the SA doesn't use Chunk or Arena. These offset macros should be removed also so that Chunk can be included in the implementation rather than definition file for Arena.
This over inclusion was noticed when working on the GC interface and other metaprogramming support for atomics and order access so should be cleaned up in 10.