Readd queue runaway optimization in intToStr
This commit is contained in:
parent
84442e5eb9
commit
a754602bde
@ -452,6 +452,7 @@ fn generate_assembly_linux_x64_block(operations: &Vec<Operation>, functions: &Ve
|
|||||||
{
|
{
|
||||||
data.code += "\tmov qword rdi, [queue+8*r12]\n";
|
data.code += "\tmov qword rdi, [queue+8*r12]\n";
|
||||||
data.code += "\tinc r12\n";
|
data.code += "\tinc r12\n";
|
||||||
|
data.code += ASSEMBLY_LINUX_X64_TRY_RESET_QUEUE;
|
||||||
data.code += "\tcall intToStr\n";
|
data.code += "\tcall intToStr\n";
|
||||||
data.code += "\tmov [queue+8*r13], rax\n";
|
data.code += "\tmov [queue+8*r13], rax\n";
|
||||||
data.code += "\tinc r13\n";
|
data.code += "\tinc r13\n";
|
||||||
@ -582,6 +583,7 @@ fn generate_assembly_linux_x64_block(operations: &Vec<Operation>, functions: &Ve
|
|||||||
}
|
}
|
||||||
Operation::Interrupt(line, col) =>
|
Operation::Interrupt(line, col) =>
|
||||||
{
|
{
|
||||||
|
data.code += format!("\t;;interrupt {}:{}\n", line, col).as_str();
|
||||||
data.code += "lea r8, [queue]\n";
|
data.code += "lea r8, [queue]\n";
|
||||||
data.code += format!("mov r9, {}\n", 1000*line + col).as_str();
|
data.code += format!("mov r9, {}\n", 1000*line + col).as_str();
|
||||||
data.code += "int3\n";
|
data.code += "int3\n";
|
||||||
|
Reference in New Issue
Block a user