new RegisterGroupUsage(new RegisterEntry(X86Register.ESI, JvmType.INT), new RegisterEntry(X86Register.ESI, JvmType.REFERENCE), new RegisterEntry( X86Register.ESI, JvmType.FLOAT), false) };
};
        protected RegisterGroupUsage[] initialize() {            // The order of this array determines the cost of using the            // register.            // The cost of a register is lower when its index in this            // array is higher.            return new RegisterGroupUsage[] {                    new RegisterGroupUsage(new RegisterEntry(X86Register.EAX,                            JvmType.INT), new RegisterEntry(X86Register.EAX,                            JvmType.REFERENCE), new RegisterEntry(                            X86Register.EAX, JvmType.FLOAT), false),                    new RegisterGroupUsage(new RegisterEntry(X86Register.EDX,                            JvmType.INT), new RegisterEntry(X86Register.EDX,                            JvmType.REFERENCE), new RegisterEntry(                            X86Register.EDX, JvmType.FLOAT), false),                    new RegisterGroupUsage(new RegisterEntry(X86Register.ECX,                            JvmType.INT), new RegisterEntry(X86Register.ECX,                            JvmType.REFERENCE), new RegisterEntry(                            X86Register.ECX, JvmType.FLOAT), false),                    new RegisterGroupUsage(new RegisterEntry(X86Register.EBX,                            JvmType.INT), new RegisterEntry(X86Register.EBX,                            JvmType.REFERENCE), new RegisterEntry(                            X86Register.EBX, JvmType.FLOAT), false),                    new RegisterGroupUsage(new RegisterEntry(X86Register.ESI,                            JvmType.INT), new RegisterEntry(X86Register.ESI,                            JvmType.REFERENCE), new RegisterEntry(                            X86Register.ESI, JvmType.FLOAT), false) };            // EDI always points to the statics, do not use        }