Examples of AddressingMode


Examples of org.jnode.vm.compiler.ir.AddressingMode

        Variable<T> lhs = quad.getLHS();
        if (lhs.getAddressingMode() == REGISTER) {
            T reg1 = ((RegisterLocation<T>) lhs.getLocation()).getRegister();
            Operand<T> rhs = quad.getRHS();
            AddressingMode mode = rhs.getAddressingMode();
            if (mode == CONSTANT) {
                os.writeMOV_Const((GPR) reg1, ((IntConstant<T>) rhs).getValue());
            } else if (mode == REGISTER) {
                T reg2 = ((RegisterLocation<T>) ((Variable<T>) rhs).getLocation()).getRegister();
                os.writeMOV(X86Constants.BITS32, (GPR) reg1, (GPR) reg2);
            } else if (mode == STACK) {
                int disp2 = ((StackLocation<T>) ((Variable<T>) rhs).getLocation()).getDisplacement();
                os.writeMOV(X86Constants.BITS32, (GPR) reg1, X86Register.EBP, disp2);
            }
        } else if (lhs.getAddressingMode() == STACK) {
            int disp1 = ((StackLocation<T>) lhs.getLocation()).getDisplacement();
            Operand<T> rhs = quad.getRHS();
            AddressingMode mode = rhs.getAddressingMode();
            if (mode == CONSTANT) {
                os.writeMOV_Const(X86Constants.BITS32,  X86Register.EBP, disp1, ((IntConstant<T>) rhs).getValue());
            } else if (mode == REGISTER) {
                T reg2 = ((RegisterLocation<T>) ((Variable<T>) rhs).getLocation()).getRegister();
                os.writeMOV(X86Constants.BITS32, X86Register.EBP, disp1, (GPR) reg2);
View Full Code Here

Examples of org.jnode.vm.compiler.ir.AddressingMode

     *
     * @see org.jnode.vm.compiler.ir.quad.Quad#generateCode(org.jnode.vm.compiler.ir.CodeGenerator)
     */
    public void generateCodeForBinary(CodeGenerator<T> cg) {
        cg.checkLabel(getAddress());
        AddressingMode op1Mode = refs[0].getAddressingMode();
        AddressingMode op2Mode = refs[1].getAddressingMode();

        Object reg2 = null;
        if (op1Mode == REGISTER) {
            Variable<T> var = (Variable<T>) refs[0];
            RegisterLocation<T> regLoc = (RegisterLocation<T>) var.getLocation();
View Full Code Here

Examples of org.jnode.vm.compiler.ir.AddressingMode

     * @see org.jnode.vm.compiler.ir.quad.Quad#generateCode(org.jnode.vm.compiler.ir.CodeGenerator)
     */
    public void generateCode(CodeGenerator<T> cg) {
        cg.checkLabel(getAddress());
        Variable<T> lhs = getLHS();
        final AddressingMode lhsMode = lhs.getAddressingMode();
        final AddressingMode op1Mode = refs[0].getAddressingMode();
        final AddressingMode op2Mode = refs[1].getAddressingMode();

        T reg1 = null;
        if (lhsMode == AddressingMode.REGISTER) {
            RegisterLocation<T> regLoc = (RegisterLocation<T>) lhs.getLocation();
            reg1 = regLoc.getRegister();
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.