<div dir="ltr">Hi Ronie,<br>From my understanding, following code cannot work in x64 because registers are overwritten while marshalling arguments:<br><br>generateLowcodeObjectTrampolines<br>    ... snip ...<br>    ceInstantiateClassIndexableSizeTrampoline := cogit genTrampolineFor: #instantiateClass:indexableSize:<br>                                                called: 'ceInstantiateClassIndexableSizeTrampoline'<br>                                                arg: ReceiverResultReg<br>                                                arg: Arg0Reg<br>                                                result: TempReg.<br>                                                <br>The first arg ReceiverResultReg (RDX) will overwrite Arg0Reg (RDI) before Arg0Reg is copied to Arg1Reg (RSI)...<br>See genMarshallNArgs:arg:arg:arg:arg:<br>and carefully read the comment for the x64 flavour, it's scary ;)<br><br>Cheers<br></div>