void executeCompilation(int pTypeCompilation) { //pTypeCompilation == COMPILE -> Solo modo de compilacion (generación de archivo). //pTypeCompilation == COMPILEANDSIMULE -> Modo de compilación + simulación (no generación de archivo, guardado en memoria). printf("Compiling... "); updateConsole(); verifyTypeCompilation(pTypeCompilation, START); int totalInstructions = getLastInstruction(); for(i = 0; i <= totalInstructions; i = i + 1) { int compiledInstruction = compileInstruction(getInstruction(i)); saveCompiledInstruction(pTypeCompilation, compiledInstruction, i); } verifyTypeCompilation(pTypeCompilation, END); printf("Ok.\n"); updateConsole(); }
void TR::LoadLabelRelative64BitRelocation::apply(TR::CodeGenerator *codeGen) { AOTcgDiag2(codeGen->comp(), "TR::LoadLabelRelative64BitRelocation::apply lastInstruction=" POINTER_PRINTF_FORMAT " label=" POINTER_PRINTF_FORMAT "\n", getLastInstruction(), getLabel()); codeGen->apply64BitLoadLabelRelativeRelocation(getLastInstruction(), getLabel()); }
void TR::LoadLabelRelative32BitRelocation::apply(TR::CodeGenerator *codeGen) { AOTcgDiag3(codeGen->comp(), "TR::LoadLabelRelative32BitRelocation::apply lastInstruction=" POINTER_PRINTF_FORMAT " startLabel=" POINTER_PRINTF_FORMAT " endLabel=" POINTER_PRINTF_FORMAT "\n", getLastInstruction(), getStartLabel(), getEndLabel()); codeGen->apply32BitLoadLabelRelativeRelocation(getLastInstruction(), getStartLabel(), getEndLabel(), getDeltaToStartLabel()); }