MemoryAccess is a small addition to VMMaker that provides a Smalltalk Slang implemention of the memory access macros (or static inline functions) that are normally defined in sqMemoryAccess.h. By implementing these methods in Smalltalk, they may be directly translated to C code by the Slang translator, with Slang inlining providing performance similar to that of traditional C preprocessor macros. The resulting C code is directly visible to C debuggers and profiling tools, and the use of C code rather than macros is helpful in exposing problems such as improper type declarations and 32bit/64bit word size issues.
I did my testing only with VMMaker from SqueakSource, but I expect MemoryAccess to work correctly with any of the several VM development projects currently in play, given that a few relevant patches are collected from Mantis.
Change set, platform diffs, and a more complete description are at http://wiki.squeak.org/squeak/6081
- Dave
(cross-posted to squeak-dev and vm-dev, replies should go to vm-dev if possible)
vm-dev@lists.squeakfoundation.org