Ejemplo n.º 1
0
XmmVar X86Compiler::newXmmVar(uint32_t varType, const char* name)
{
  ASMJIT_ASSERT((varType < kX86VarTypeCount) && (x86VarInfo[varType].getClass() & kX86VarClassXmm) != 0);

  X86CompilerVar* var = _newVar(name, varType, 16);
  return var->asXmmVar();
}
Ejemplo n.º 2
0
Error X86Compiler::_newVar(Var* var, uint32_t vType, const char* fmt, va_list ap) noexcept {
  char name[64];

  vsnprintf(name, ASMJIT_ARRAY_SIZE(name), fmt, ap);
  name[ASMJIT_ARRAY_SIZE(name) - 1] = '\0';
  return _newVar(var, vType, name);
}
Ejemplo n.º 3
0
GpVar X86Compiler::newGpVar(uint32_t varType, const char* name)
{
  ASMJIT_ASSERT((varType < kX86VarTypeCount) && (x86VarInfo[varType].getClass() & kX86VarClassGp) != 0);

#if defined(ASMJIT_X86)
  if (x86VarInfo[varType].getSize() > 4)
  {
    varType = kX86VarTypeGpd;
    if (_logger)
      _logger->logString("*** COMPILER WARNING: QWORD variable translated to DWORD, FIX YOUR CODE! ***\n");
  }
#endif // ASMJIT_X86

  X86CompilerVar* var = _newVar(name, varType, x86VarInfo[varType].getSize());
  return var->asGpVar();
}