Examples of VmInstanceField


Examples of org.jnode.vm.classmgr.VmInstanceField

        if (field.isStatic()) {
            final VmStaticField sf = (VmStaticField) field;
            initialize(sf);
            return getStaticFieldAddress(sf).loadFloat();
        } else {
            final VmInstanceField inf = (VmInstanceField) field;
            return getInstanceFieldAddress(o, inf).loadFloat();
        }
    }
View Full Code Here

Examples of org.jnode.vm.classmgr.VmInstanceField

        if (field.isStatic()) {
            final VmStaticField sf = (VmStaticField) field;
            initialize(sf);
            return getStaticFieldAddress(sf).loadLong();
        } else {
            final VmInstanceField inf = (VmInstanceField) field;
            return getInstanceFieldAddress(o, inf).loadLong();
        }
    }
View Full Code Here

Examples of org.jnode.vm.classmgr.VmInstanceField

        if (field.isStatic()) {
            final VmStaticField sf = (VmStaticField) field;
            initialize(sf);
            return getStaticFieldAddress(sf).loadDouble();
        } else {
            final VmInstanceField inf = (VmInstanceField) field;
            return getInstanceFieldAddress(o, inf).loadDouble();
        }
    }
View Full Code Here

Examples of org.jnode.vm.classmgr.VmInstanceField

                } else {
                    wb.putstaticWriteBarrier(true, sf.getIsolatedStaticsIndex(), value);
                }
            }
        } else {
            final VmInstanceField inf = (VmInstanceField) field;
            final int offset = inf.getOffset();
            getInstanceFieldAddress(o, inf).store(ObjectReference.fromObject(value));
            final VmWriteBarrier wb = VmUtils.getVm().getHeapManager().getWriteBarrier();
            if (wb != null) {
                wb.putfieldWriteBarrier(o, offset, value);
            }
View Full Code Here

Examples of org.jnode.vm.classmgr.VmInstanceField

        ClassNotFoundException {
        final VmType<?> vmMethodClass = loadClass(VmMethod.class);
        final VmType<?> vmMainClass = loadClass(Main.class);
        final VmMethod mainMethod = vmMainClass.getMethod(
            Main.MAIN_METHOD_NAME, Main.MAIN_METHOD_SIGNATURE);
        final VmInstanceField nativeCodeField = (VmInstanceField) vmMethodClass
            .getField("nativeCode");

        final GPR aax = os.isCode32() ? (GPR) X86Register.EAX : X86Register.RAX;

        os.writeMOV_Const(aax, mainMethod);
        os.writeCALL(aax, nativeCodeField.getOffset());
        os.writeRET(); // RET instruction
    }
View Full Code Here

Examples of org.jnode.vm.classmgr.VmInstanceField

     * @throws ClassNotFoundException
     */
    protected void initVmThread(X86BinaryAssembler os) throws BuildException,
        ClassNotFoundException {
        final VmType<?> vmThreadClass = loadClass(VmThread.class);
        final VmInstanceField threadStackField = (VmInstanceField) vmThreadClass
            .getField("stack");
        final VmInstanceField threadStackEndField = (VmInstanceField) vmThreadClass
            .getField("stackEnd");
        final VmType<?> vmProcessorClass = loadClass(VmProcessor.class);
        final VmInstanceField procStackEndField = (VmInstanceField) vmProcessorClass
            .getField("stackEnd");
        final VmThread initialThread = processor.getCurrentThread();

        final GPR abx = os.isCode32() ? (GPR) X86Register.EBX : X86Register.RBX;
        final GPR adx = os.isCode32() ? (GPR) X86Register.EDX : X86Register.RDX;
        final int slotSize = arch.getReferenceSize();

        os.setObjectRef(new Label("$$Setup initial thread"));
        os.writeMOV_Const(abx, initialThread);

        /** Initialize initialStack.stack to Luser_stack */
        os.writeMOV_Const(adx, initialStack);
        os.writeMOV(adx.getSize(), abx, threadStackField.getOffset(), adx);
        // Calculate and set stackEnd
        os.writeLEA(adx, adx, VmThread.STACK_OVERFLOW_LIMIT_SLOTS * slotSize);
        os.writeMOV(adx.getSize(), abx, threadStackEndField.getOffset(), adx);

        // Set stackend in current processor
        os.writeMOV_Const(abx, processor);
        os.writeMOV(adx.getSize(), abx, procStackEndField.getOffset(), adx);
    }
View Full Code Here

Examples of org.jnode.vm.classmgr.VmInstanceField

        // Call VmClass.loadFromBootClassArray
        final VmType<?> vmClassClass = loadClass(VmType.class);
        final VmMethod lfbcaMethod = vmClassClass.getMethod(
            "loadFromBootClassArray", "([Lorg/jnode/vm/classmgr/VmType;)V");
        final VmType<?> vmMethodClass = loadClass(VmMethod.class);
        final VmInstanceField nativeCodeField = (VmInstanceField) vmMethodClass
            .getField("nativeCode");

        final GPR aax = os.isCode32() ? (GPR) X86Register.EAX : X86Register.RAX;
        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

Examples of org.jnode.vm.classmgr.VmInstanceField

                }
                int cnt = vmClass.getNoDeclaredFields();
                for (int i = 0; i < cnt; i++) {
                    final VmField f = vmClass.getDeclaredField(i);
                    if (!f.isStatic()) {
                        final VmInstanceField instF = (VmInstanceField) f;
                        String name = cname + "_" + f.getName().toUpperCase();
                        if (f.getTypeSize() < 4) {
                            name = name + "_S" + f.getTypeSize();
                        }
                        name = name + "_OFS";
                        out.println(name + " equ " + instF.getOffset());
                    }
                }
                // The size
                if (vmClass instanceof VmNormalClass) {
                    final VmNormalClass<?> cls = (VmNormalClass<?>) vmClass;
View Full Code Here

Examples of org.jnode.vm.classmgr.VmInstanceField

        if (field.isStatic()) {
            final VmStaticField sf = (VmStaticField) field;
            initialize(sf);
            getStaticFieldAddress(sf).store((int) (value ? 1 : 0));
        } else {
            final VmInstanceField inf = (VmInstanceField) field;
            getInstanceFieldAddress(o, inf).store((byte) (value ? 1 : 0));
        }
    }
View Full Code Here

Examples of org.jnode.vm.classmgr.VmInstanceField

        if (field.isStatic()) {
            final VmStaticField sf = (VmStaticField) field;
            initialize(sf);
            getStaticFieldAddress(sf).store((int) value);
        } else {
            final VmInstanceField inf = (VmInstanceField) field;
            getInstanceFieldAddress(o, inf).store((byte) value);
        }
    }
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.