new RegisterUsage(Register.EAX), new RegisterUsage(Register.EDX), new RegisterUsage(Register.EBX), new RegisterUsage(Register.ECX), new RegisterUsage(Register.ESI)
new RegisterUsage(Register.EAX, false), new RegisterUsage(Register.EDX, false), new RegisterUsage(Register.ECX, false), new RegisterUsage(Register.EBX, false), new RegisterUsage(Register.ESI, false)
    private final RegisterUsage[] 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 RegisterUsage[] {                new RegisterUsage(Register.EAX),                new RegisterUsage(Register.EDX),                new RegisterUsage(Register.EBX),                new RegisterUsage(Register.ECX),                new RegisterUsage(Register.ESI)        };        // EDI always points to the statics, do not use    }