25 #ifndef _JIT_COMPILER2_X86_64MACHINEMETHODDECRIPTOR
26 #define _JIT_COMPILER2_X86_64MACHINEMETHODDECRIPTOR
47 unsigned int_argument_counter = 0;
48 unsigned float_argument_counter = 0;
49 int stackslot_index = 2;
50 for (
unsigned i = 0,
e = MD.
size();
i <
e; ++
i) {
63 int_argument_counter++;
74 float_argument_counter++;
77 ABORT_MSG(
"x86_64 MachineMethodDescriptor: Type not yet "
78 "supported!",
"Type: " << type);
92 return OS <<
"(X86_64MachineMethodDescriptor) NULL";
const unsigned IntegerArgumentRegisterSize
SSERegister * FloatArgumentRegisters[]
MachineMethodDescriptor(const MethodDescriptor &MD)
JNIEnv jthread jobject jclass jlong size
OStream & operator<<(OStream &OS, const ModRMOperandDesc &modrm)
MachineOperand * operator[](unsigned index) const
std::vector< T, Allocator< T > > type
Simple stream class for formatted output.
const unsigned FloatArgumentRegisterSize
friend OStream & operator<<(OStream &OS, const MachineMethodDescriptor &MMD)
GPRegister * IntegerArgumentRegisters[]
alloc::vector< MachineOperand * >::type parameter
const MethodDescriptor & MD
Operands that can be directly used by the machine (register, memory, stackslot)
aarch64::NativeRegister NativeRegister
#define ABORT_MSG(EXPR_SHORT, EXPR_LONG)
MethodDescriptor TODO: more info.