[Vm-dev] Re: "missing" exports on the windows vm

Nicolai Hess nicolaihess at web.de
Thu May 21 18:35:38 UTC 2015


2015-05-06 0:11 GMT+02:00 Nicolai Hess <nicolaihess at web.de>:

> We have a failing test case for NB
> NBInterpreterProxyTest>>#testStackPointer
> it fails because
> NativeBoost loadSymbol: 'stackPointerAddress' fromModule: NativeBoost
> VMModule
> returns nil
>
> This works for the linux vm!
>
> There are other methods that can be loaded, for example:
> (NativeBoost loadSymbol: 'primitiveAllObjects' fromModule: NativeBoost
> VMModule)
> -> returns an address.
>
> This stopped working for the windows pharo vm around june 2014. The source
> that
> changed is cointerp.h, the prior version had EXPORT(...) declarations
> around all
> functions in cointerp.h, the current version not.
>
> Three questions:
>
> 1. Why does this still work on linux? Does it export all functions
> declared in
>     a header?
> 2. why was it changed? (I could not found the change in the code
> generator, maybe we
>    exported all functions with pragma #api and now only those with pragma
> #export ?
> 3. do we need this function to be exported? Apart from this testcases,
> this method is
>  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 nil
>
>
>
> nicolai
>
>

Anyone knows why the exports changed on windows?
Or if we need the stackPointerAddress/framePointerAddress methods?


nicolai
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20150521/baea7aed/attachment.htm


More information about the Vm-dev mailing list