I was just trying to catch up with various of the later VMMaker and support code versions only to find that there seem to be some serious mismatches between what's in VMMaker and the support code. I'm not sure if I'm missing something here (quite possible) but I'm curious if anyone has been using the latest versions at all. Here are some of the issues I encountered:
* Use of "squeakInt64": The (now obsolete) type "squeakInt64" is still being used by some primitives in Interpreter (mostly the 64bit accessors). Shouldn't these be changed to sqLong?
* fptr/dispatchOn:in: etc: Apparently, these definitions have been removed from sq.h and are nowhere in the platform tree. What happened here? Did the fptr definition go away (in which case where do I get an appropriate VMMaker version?) or should it live in another file (which one?)
* sqVirtualMachine undefined references: When linking, the linker complains about undefined references to "getThisSessionID", "obsoleteDontUseThisFetchWordofObject", and "fetchLong32ofObject". Why are these methods *neither* defined in ObjectMemory/Interpreter *nor* in InterpreterProxy? (I checked this both with VMMaker 3.8b3 and 3.8b4) How is this supposed to work at all?
* Redefinitions of byteAt/longAt/longAtput: It seems like these are now all defined in sqMemAccess.h and should be removed from the boiler-plate definitions of the plugins.
* Redefinition of "self flag:" in LargeIntPlugin: It seems that this is now defined both in an include file as well as specifically in LargeIntegers plugin. One needs to go away.
In any case, it does appear as if there's a significant mismatch between the support code and the available VMMaker version (3.8b3/3.8b4). I'd greatly appreciate if somebody could tell me what I'm missing here.
Cheers, - Andreas