<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-05-06 0:11 GMT+02:00 Nicolai Hess <span dir="ltr">&lt;<a href="mailto:nicolaihess@web.de" target="_blank">nicolaihess@web.de</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div><div>We have a failing test case for NB<br></div>NBInterpreterProxyTest&gt;&gt;#testStackPointer<br></div>it fails because <br>NativeBoost loadSymbol: &#39;stackPointerAddress&#39; fromModule: NativeBoost VMModule<br></div>returns nil<br><br>This works for the linux vm!<br><br></div><div>There are other methods that can be loaded, for example:<br>(NativeBoost loadSymbol: &#39;primitiveAllObjects&#39; fromModule: NativeBoost VMModule)<br></div>-&gt; returns an address.<br><br></div>This stopped working for the windows pharo vm around june 2014. The source that<br></div>changed is cointerp.h, the prior version had EXPORT(...) declarations around all<br></div>functions in cointerp.h, the current version not.<br><br></div>Three questions:<br><br></div>1. Why does this still work on linux? Does it export all functions declared in<br></div>    a header?<br></div>2. why was it changed? (I could not found the change in the code generator, maybe we<br></div>   exported all functions with pragma #api and now only those with pragma #export ?<br></div>3. do we need this function to be exported? Apart from this testcases, this method is<br></div><div> called the on image startup, but the nil return does not harm.<br> It seems it is not part of the main vm api (like the interpreter proxy functions callable from external modules) and I didn&#39;t see code thet depend on this.<br></div><div><br>There are similiar functions for which we load the function address on startup:<br> cStackPointerAddress and cFramePointerAddress, this seems to work, but I don&#39;t know if the       expected result is different.<br><br>In NBInterpreterProxy&gt;&gt;#initialize, we try to load all fourmethods:<br>stackPointerAddress/framePointerAddress -&gt; nil<br>cStackPointerAddress / cFramePointerAddress -&gt; not nil<span class="HOEnZb"><font color="#888888"><br><br></font></span></div><span class="HOEnZb"><font color="#888888"><div><br><br></div>nicolai<br><br></font></span></div></blockquote><div><br><br></div><div>Anyone knows why the exports changed on windows?<br></div><div>Or if we need the stackPointerAddress/framePointerAddress methods?<br><br><br></div><div>nicolai <br></div></div><br></div></div>