2015-05-06 0:11 GMT+02:00 Nicolai Hess <nicolaihess@web.de>:3. do we need this function to be exported? Apart from this testcases, this method isexported all functions with pragma #api and now only those with pragma #export ?2. why was it changed? (I could not found the change in the code generator, maybe wea header?1. Why does this still work on linux? Does it export all functions declared inThree questions:functions in cointerp.h, the current version not.changed is cointerp.h, the prior version had EXPORT(...) declarations around allThis stopped working for the windows pharo vm around june 2014. The source thatreturns nilit fails becauseWe have a failing test case for NBNBInterpreterProxyTest>>#testStackPointer
NativeBoost loadSymbol: 'stackPointerAddress' fromModule: NativeBoost VMModule
This works for the linux vm!There are other methods that can be loaded, for example:-> returns an address.
(NativeBoost loadSymbol: 'primitiveAllObjects' fromModule: NativeBoost VMModule)called the on image startup, but the nil return does not harm.
It seems it is not part of the main vm api (like the interpreter proxy functions callable from external modules) and I didn't see code thet depend on this.
There are similiar functions for which we load the function address on startup:
cStackPointerAddress and cFramePointerAddress, this seems to work, but I don't know if the expected result is different.
In NBInterpreterProxy>>#initialize, we try to load all fourmethods:
stackPointerAddress/framePointerAddress -> nil
cStackPointerAddress / cFramePointerAddress -> not nilnicolaiAnyone knows why the exports changed on windows?Or if we need the stackPointerAddress/framePointerAddress methods?
nicolai