Package org.jnode.assembler.x86

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


                final RefItem result = (RefItem) L1AHelper.requestWordRegister(ec, JvmType.REFERENCE, false);
                final GPR resultr = result.getRegister();
                // Get TIB
                os.writeMOV(helper.ADDRSIZE, r, r, ObjectLayout.TIB_SLOT * slotSize);
                // Get VmType
                os.writeMOV(helper.ADDRSIZE, resultr, r, (TIBLayout.VMTYPE_INDEX + VmArray.DATA_OFFSET) * slotSize);
                obj.release(ec);
                vstack.push(result);
                break;
            }
            case GETTIB: {
View Full Code Here


                if (VmUtils.verifyAssertions()) VmUtils._assert(isstatic);
                final RefItem obj = vstack.popRef();
                obj.load(ec);
                final GPR r = obj.getRegister();
                // Get TIB
                os.writeMOV(helper.ADDRSIZE, r, r, ObjectLayout.TIB_SLOT * slotSize);
                vstack.push(obj);
                break;
            }
            case GETOBJECTFLAGS: {
                if (VmUtils.verifyAssertions()) VmUtils._assert(isstatic);
View Full Code Here

                if (VmUtils.verifyAssertions()) VmUtils._assert(isstatic);
                final RefItem obj = vstack.popRef();
                obj.load(ec);
                final GPR r = obj.getRegister();
                // Get flags
                os.writeMOV(helper.ADDRSIZE, r, r, ObjectLayout.FLAGS_SLOT * slotSize);
                obj.release(ec);
                vstack.push(L1AHelper.requestWordRegister(ec, JvmType.REFERENCE, r));
                break;
            }
            case SETOBJECTFLAGS: {
View Full Code Here

                flags.load(ec);
                obj.load(ec);
                final GPR flagsr = flags.getRegister();
                final GPR r = obj.getRegister();
                // Set flags
                os.writeMOV(helper.ADDRSIZE, r, ObjectLayout.FLAGS_SLOT * slotSize, flagsr);
                flags.release(ec);
                obj.release(ec);
                break;
            }
            case GETARRAYDATA: {
View Full Code Here

                obj.load(ec);
                final GPR r = obj.getRegister();
                final IntItem result = (IntItem) L1AHelper.requestWordRegister(ec, JvmType.INT, false);
                final GPR resultr = result.getRegister();
                // Get flags
                os.writeMOV(BITS32, resultr, r, ObjectLayout.FLAGS_SLOT * slotSize);
                os.writeAND(resultr, ObjectFlags.GC_COLOUR_MASK);
                obj.release(ec);
                vstack.push(result);
                break;
            }
View Full Code Here

                obj.load(ec);
                final GPR r = obj.getRegister();
                final IntItem result = (IntItem) L1AHelper.requestWordRegister(ec, JvmType.INT, false);
                final GPR resultr = result.getRegister();
                // Get flags
                os.writeMOV(BITS32, resultr, r, ObjectLayout.FLAGS_SLOT * slotSize);
                os.writeAND(resultr, ObjectFlags.STATUS_FINALIZED);
                obj.release(ec);
                vstack.push(result);
                break;
            }
View Full Code Here

        final GPR abx = os.isCode32() ? (GPR) X86Register.EBX : X86Register.RBX;

        os.writeMOV_Const(aax, bootClasses);
        os.writePUSH(aax);
        os.writeMOV_Const(aax, lfbcaMethod);
        os.writeMOV(abx.getSize(), abx, aax, nativeCodeField.getOffset());
        os.writeCALL(abx);

        // Now call all static initializers
        for (int i = 0; (i < bootClasses.length); i++) {
            VmType<?> vmClass = bootClasses[i];
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.