<div dir="ltr"><div><div><div>I've forgotten a few longs, at least these:<br>- signed32BitValueOf: because it was mixed with another change (simplify and inline the 64 bits version)<br></div>- SpurGenerationScavenger remembered table (population) : seems to be only a ref count<br></div>- VMProfiling primitives seems less clear<br><br></div>Eliot, do you have a hint for the last two?<br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-11-06 22:12 GMT+01:00 Nicolas Cellier <span dir="ltr"><<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@gmail.com</a>></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>Hi Eliot,<br></div>I decomposed the CMMake.oscogLLP64 changes and applied them on oscog branch:<br></div>These changes are essentially a rename:<br>- long -> sqInt (unsigned long -> usqInt) for oops<br></div>- long -> sqIntptr_t (unsigned long -> usqIntptr_t) for target machine words (pointer/address).<br></div>Since the types are equivalent on ILP32 and LP64 the changes are very superficial and should not break anything.<br><br></div><div>I have not applied other changes because they touch code generation a bit more.<br></div><div>They are not strictly necessary, they should be independent, and we'd better wait for the CI smoke tests to be operational.<br></div><div>That's the sole way to test codeGeneration changes...<br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2016-11-04 19:52 GMT+01:00 Nicolas Cellier <span dir="ltr"><<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@<wbr>gmail.com</a>></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>Hi Eliot,<br></div>we just have to integrate the usqIntptr_t changes that are ready in oscogLLP64 branch.<br></div>I'm uploading an up-to-date version (if no timeout)<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-11-04 19:30 GMT+01:00 Eliot Miranda <span dir="ltr"><<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br><div dir="ltr"><div>Hi Nicolas,</div><div><br></div><div><br></div><div>    with Win64 what;s the right way to declare something as having an unsigned integer type as large as the word size (unsigned long long on 64-bits, unsigned long on 32-bits)?</div><div><br></div><div>This is to declare the following correctly.  Its return type is used to declare the function pointers inside a plugin correctly.  Currently it is not correctly defined for Win64:</div><div><br></div><div>InterpreterProxy>>positiveMach<wbr>ineIntegerValueOf: oop</div><div><span class="m_3592381149319555166m_-218455104370137661m_7379635690661277543gmail-Apple-tab-span" style="white-space:pre-wrap">      </span><returnTypeC: #'unsigned long'></div><div><span class="m_3592381149319555166m_-218455104370137661m_7379635690661277543gmail-Apple-tab-span" style="white-space:pre-wrap">      </span>oop isInteger ifFalse:[self error: 'Not an integer object'].</div><div><span class="m_3592381149319555166m_-218455104370137661m_7379635690661277543gmail-Apple-tab-span" style="white-space:pre-wrap">       </span>^oop < 0 </div><div><span class="m_3592381149319555166m_-218455104370137661m_7379635690661277543gmail-Apple-tab-span" style="white-space:pre-wrap">              </span>ifTrue: [self primitiveFail. 0]</div><div><span class="m_3592381149319555166m_-218455104370137661m_7379635690661277543gmail-Apple-tab-span" style="white-space:pre-wrap">            </span>ifFalse: [oop]</div><div><br></div><div class="m_3592381149319555166m_-218455104370137661m_7379635690661277543gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div>
<br></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>