Package org.jnode.assembler.x86

Examples of org.jnode.assembler.x86.X86Assembler.writeLEA()


                break;

            case Kind.CONSTANT:
                pushConstant(ec, os);
                pushToFPU(os, helper.SP, 0);
                os.writeLEA(helper.SP, helper.SP, helper.SLOTSIZE);
                break;

            case Kind.FPUSTACK:
                // Assert this item is at the top of the stack
                stack.fpuStack.pop(this);
View Full Code Here


            case Kind.STACK:
                if (VirtualStack.checkOperandStack) {
                    stack.operandStack.pop(this);
                }
                pushToFPU(os, helper.SP, 0);
                os.writeLEA(helper.SP, helper.SP, helper.SLOTSIZE);
                break;

            default:
                throw new IllegalArgumentException("Invalid item kind");
        }
View Full Code Here

                final RefItem addr = vstack.popRef();
                ofs.load(ec);
                addr.load(ec);
                final GPR ofsr = ofs.getRegister();
                final GPR r = addr.getRegister();
                os.writeLEA(r, r, ofsr, 1, 0);
                final WordItem result = L1AHelper.requestWordRegister(ec, methodToType(mcode), true);
                final GPR resultr = result.getRegister();
                if (mcode == LOADCHAR_OFS) {
                    os.writeMOVZX(resultr, r, 0, methodToSize(mcode));
                } else {
View Full Code Here

                final GPR resultr = result.getRegister();

                final GPR r = addr.getRegister();
                final GPR valr = val.getRegister();
                final GPR ofsr = ofs.getRegister();
                os.writeLEA(r, r, ofsr, 1, 0);
                os.writeCMPXCHG_EAX(r, 0, valr, true);
                os.writeSETCC(resultr, X86Constants.JZ);
                os.writeAND(resultr, 0xFF);

                ofs.release(ec);
View Full Code Here

                final RefItem addr = vstack.popRef();
                ofs.load(ec);
                addr.load(ec);
                final GPR ofsr = ofs.getRegister();
                final GPR r = addr.getRegister();
                os.writeLEA(r, r, ofsr, 1, 0);
                final WordItem result = L1AHelper.requestWordRegister(ec, methodToType(mcode), true);
                final GPR resultr = result.getRegister();
                if (mcode == LOADCHAR_OFS) {
                    os.writeMOVZX(resultr, r, 0, methodToSize(mcode));
                } else {
View Full Code Here

                if (os.isCode64()) {
                    GPR64 indexReg64 = L1AHelper.get64BitReg(ec, indexReg);
                    os.writeMOVSXD(indexReg64, (GPR32) indexReg);
                    indexReg = indexReg64;
                }
                os.writeLEA(itemReg, itemReg, indexReg, os.getWordSize(), VmArray.DATA_OFFSET * os.getWordSize());
                index.release(ec);
                vstack.push(item);
                break;
            }
            case GETISOLATEDSTATICSFIELDADDRESS: {
View Full Code Here

                if (os.isCode64()) {
                    GPR64 indexReg64 = L1AHelper.get64BitReg(ec, indexReg);
                    os.writeMOVSXD(indexReg64, (GPR32) indexReg);
                    indexReg = indexReg64;
                }
                os.writeLEA(itemReg, itemReg, indexReg, os.getWordSize(), VmArray.DATA_OFFSET * os.getWordSize());
                index.release(ec);
                vstack.push(item);
                break;
            }
            case ISRUNNINGJNODE: {
View Full Code Here

                final GPR resultr = result.getRegister();

                final GPR r = addr.getRegister();
                final GPR valr = val.getRegister();
                final GPR ofsr = ofs.getRegister();
                os.writeLEA(r, r, ofsr, 1, 0);
                os.writeCMPXCHG_EAX(r, 0, valr, true);
                os.writeSETCC(resultr, X86Constants.JZ);
                os.writeAND(resultr, 0xFF);

                ofs.release(ec);
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.