X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/93a3786624b2768d89bfa27e46598dc64e2fb70a..81345200c95645a1b0d2635520f96ad55dfde63f:/dfg/DFGArgumentPosition.h diff --git a/dfg/DFGArgumentPosition.h b/dfg/DFGArgumentPosition.h index 822b454..b4e4ade 100644 --- a/dfg/DFGArgumentPosition.h +++ b/dfg/DFGArgumentPosition.h @@ -48,6 +48,20 @@ public: m_variables.append(variable); } + VariableAccessData* someVariable() const + { + if (m_variables.isEmpty()) + return 0; + return m_variables[0]->find(); + } + + FlushFormat flushFormat() const + { + if (VariableAccessData* variable = someVariable()) + return variable->flushFormat(); + return DeadFlush; + } + bool mergeShouldNeverUnbox(bool shouldNeverUnbox) { return checkAndSet(m_shouldNeverUnbox, m_shouldNeverUnbox | shouldNeverUnbox); @@ -104,15 +118,15 @@ public: { for (unsigned i = 0; i < m_variables.size(); ++i) { VariableAccessData* variable = m_variables[i]->find(); - int operand = variable->operand(); + VirtualRegister operand = variable->local(); if (i) out.print(" "); - if (operandIsArgument(operand)) - out.print("arg", operandToArgument(operand), "(", VariableAccessDataDump(*graph, variable), ")"); + if (operand.isArgument()) + out.print("arg", operand.toArgument(), "(", VariableAccessDataDump(*graph, variable), ")"); else - out.print("r", operand, "(", VariableAccessDataDump(*graph, variable), ")"); + out.print("r", operand.toLocal(), "(", VariableAccessDataDump(*graph, variable), ")"); } out.print("\n"); }