<br><br><div class="gmail_quote">On Wed, Nov 9, 2011 at 2:52 PM, Esteban Lorenzano <span dir="ltr"><<a href="mailto:estebanlm@gmail.com">estebanlm@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Hi,<br>
<br>
Sorry guys, I need some help here :P<br>
<br>
I'm finally taking the task of integrating latest changes from Eliot into my builds (and also, all jenkins builds)... I don't know anything about this, but I'm learning (consider this as a warning: my first integration cycles obviously will have problems)...<br>
Well... right now I merged all the external sources in a way "it seems" to be ok, and I started merge VMMaker.oscog with VMMaker-oscog and it looked more or less straight forward making me suspect that I'm doing something wrong... but ok... I'm trying, isn't? so, let's break things :)<br>
Anyway... once I merged the code, I started with a couple of issues:<br>
<br>
1) headers are being generated with __builtInfo[] which throws an annoying "duplicated definition" error... I suppose with some link flag or something I can skip this problem, but I'm lazy... anyone knows?<br>
</blockquote><div><br></div><div>__buildInfo should be static, e.g.</div><div><br></div><div>src/vm/gcc3x-cointerp.c:static char __buildInfo[] = "CoInterpreter VMMaker.oscog-eem.137 uuid: fbe64d98-6b1a-4c5b-b3f3-d2b1091406dc " __DATE__ ;</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
2) This is most important: LargeIntegersPlugins is being generated with an error, here:<br>
<br>
LargeIntegersPlugin>>digitAddLarge:with:<br>
...<br>
over > 0<br>
ifTrue:<br>
["sum := sum growby: 1."<br>
interpreterProxy remapOop: sum in: [newSum := interpreterProxy instantiateClass: resClass indexableSize: longLen + 1].<br>
...<br>
<br>
<br>
it complains because as it is using interpreterProxy as receiver of #remapOop:in:, and it does not exists in the struct.<br>
if I replace "interpreterProxy" with just "self" it looks like doing right and compiling...<br>
I think this is a bug introduced in LargeIntegersPlugin because of latest changes... but I'm not sure and maybe is because of my integration.<br>
<br>
welll... tweaking this two issues I'm compiling and opening an image... and pharo tests runs just like before...<br></blockquote><div><br></div><div>LargeIntegersPlugin should be generated with SmartSyntaxPluginCodeGenerator since</div>
<div><br></div><div><div><span class="Apple-tab-span" style="white-space: pre; ">        </span>SmartSyntaxInterpreterPlugin subclass: #LargeIntegersPlugin</div><div><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>instanceVariableNames: 'andOpIndex orOpIndex xorOpIndex'</div>
<div><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>classVariableNames: ''</div><div><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>poolDictionaries: ''</div>
<div><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>category: 'VMMaker-Plugins'</div></div><div><br></div><div>and in SmartSyntaxPluginCodeGenerator>initializeCTranslationDictionary is</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">                </span>#remapOop:in:<span class="Apple-tab-span" style="white-space:pre">                                </span>#generateRemapOopIn:on:indent:</div><div><br></div><div>and SmartSyntaxPluginCodeGenerator>generateRemapOopIn:on:indent: maps remapOop:in: to calls of pushRemappableOop and popRemappableOop.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
but:<br>
<br>
3) I have an error compiling FFI plugin: it is generating a "halt" function which is already present (as macros). I don't know why it is being generated... I think that it shouldn't, but I don't know how to prevent that.<br>
</blockquote><div><br></div><div>I nuked the macro definition of halt in sqAssert.h in r2490.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
If I can fix this (I touched some things in the code to test it), the integration seems to work (of course, I don't know if it *really* work). My masterplan is to have a first version working, then invite you to test it... then continue working, as always :)<br>
<br>
Thanks,<br>
<font color="#888888">Esteban<br></font></blockquote><div><br></div><div>HTH</div><div>Eliot </div></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div><br>