pharo-vm
pharo-vm copied to clipboard
Method removal instead of error in inline phase
Adding an internalPush: in a primitive will remove the primitive during the generation thinking it is inline inside the interpret instead of throwing an error.
Inside CCodeGeneratorGlobalStructure>>doInlining: any methods containing currentBytecode, localFP, localIP, localSP and localReturnValue will be removed from generation as the generator think they are already inlined inside the interpret method. We need a check that if the method is not inlined and contains one of this variable then the code is wrong and the generation should not happen.