From: <fd...@us...> - 2009-12-12 16:15:13
|
Revision: 5697 http://jnode.svn.sourceforge.net/jnode/?rev=5697&view=rev Author: fduminy Date: 2009-12-12 16:15:04 +0000 (Sat, 12 Dec 2009) Log Message: ----------- reverted changes in r5696 Modified Paths: -------------- trunk/core/src/core/org/jnode/vm/VmMagic.java trunk/core/src/core/org/jnode/vm/classmgr/VmType.java trunk/core/src/core/org/jnode/vm/x86/compiler/BaseX86MagicHelper.java trunk/core/src/core/org/jnode/vm/x86/compiler/l1a/MagicHelper.java trunk/core/src/core/org/jnode/vm/x86/compiler/l1b/MagicHelper.java trunk/core/src/vmmagic/org/vmmagic/unboxed/Address.java trunk/core/src/vmmagic/org/vmmagic/unboxed/Extent.java trunk/core/src/vmmagic/org/vmmagic/unboxed/Offset.java trunk/core/src/vmmagic/org/vmmagic/unboxed/Word.java Added Paths: ----------- trunk/core/src/core/org/jnode/vm/compiler/BaseMagicHelper.java Modified: trunk/core/src/core/org/jnode/vm/VmMagic.java =================================================================== --- trunk/core/src/core/org/jnode/vm/VmMagic.java 2009-12-11 17:49:06 UTC (rev 5696) +++ trunk/core/src/core/org/jnode/vm/VmMagic.java 2009-12-12 16:15:04 UTC (rev 5697) @@ -36,8 +36,8 @@ * Methods in this class can also be called from inside JNode. * * @author Ewout Prangsma (ep...@us...) - * @see {@link org.jnode.vm.classmgr.BaseMagicHelper.MagicClass} to get the list of "magic" classes (including this class). - * @see {@link org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod} to get the list of "magic" methods. + * @see {@link org.jnode.vm.compiler.BaseMagicHelper.MagicClass} to get the list of "magic" classes (including this class). + * @see {@link org.jnode.vm.compiler.BaseMagicHelper.MagicMethod} to get the list of "magic" methods. */ @MagicPermission public final class VmMagic { Modified: trunk/core/src/core/org/jnode/vm/classmgr/VmType.java =================================================================== --- trunk/core/src/core/org/jnode/vm/classmgr/VmType.java 2009-12-11 17:49:06 UTC (rev 5696) +++ trunk/core/src/core/org/jnode/vm/classmgr/VmType.java 2009-12-12 16:15:04 UTC (rev 5697) @@ -302,8 +302,18 @@ throw new IllegalArgumentException("name contains '/'"); } - if (BaseMagicHelper.MagicClass.isMagic(name)) { - modifiers |= Modifier.ACC_MAGIC; + final String pkg = VMClassHelper.getPackagePortion(name); + if (pkg.equals("org.vmmagic.unboxed") || pkg.equals("org.jnode.vm")) { + final String cname = VMClassHelper.getClassNamePortion(name); + if (cname.equals("Address") || cname.equals("AddressArray") + || cname.equals("Extent") || cname.equals("ExtentArray") + || cname.equals("ObjectReference") + || cname.equals("ObjectReferenceArray") + || cname.equals("Offset") || cname.equals("OffsetArray") + || cname.equals("Word") || cname.equals("WordArray") + | cname.equals("VmMagic")) { + modifiers |= Modifier.ACC_MAGIC; + } } this.name = InternString.internString(name); Added: trunk/core/src/core/org/jnode/vm/compiler/BaseMagicHelper.java =================================================================== --- trunk/core/src/core/org/jnode/vm/compiler/BaseMagicHelper.java (rev 0) +++ trunk/core/src/core/org/jnode/vm/compiler/BaseMagicHelper.java 2009-12-12 16:15:04 UTC (rev 5697) @@ -0,0 +1,306 @@ +/* + * $Id: BaseMagicHelper.java 5226 2009-04-06 14:55:27Z lsantha $ + * + * Copyright (C) 2003-2009 JNode.org + * + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published + * by the Free Software Foundation; either version 2.1 of the License, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library; If not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +package org.jnode.vm.compiler; + +import java.util.Map; + +import org.jnode.util.BootableHashMap; +import org.jnode.vm.classmgr.VmMethod; +import org.jnode.vm.classmgr.VmType; +import org.jnode.annotation.SharedStatics; + +/** + * @author Ewout Prangsma (ep...@us...) + */ +public class BaseMagicHelper { + + /** + * Enum of all magic classes. + * + * @author Ewout Prangsma (ep...@us...) + */ + @SharedStatics + public enum MagicClass { + ADDRESS("org.vmmagic.unboxed.Address"), + EXTENT("org.vmmagic.unboxed.Extent"), + OBJECTREFERENCE("org.vmmagic.unboxed.ObjectReference"), + OFFSET("org.vmmagic.unboxed.Offset"), + WORD("org.vmmagic.unboxed.Word"), + ADDRESSARRAY("org.vmmagic.unboxed.AddressArray"), + EXTENTARRAY("org.vmmagic.unboxed.ExtentArray"), + OBJECTREFERENCEARRAY("org.vmmagic.unboxed.ObjectReferenceArray"), + OFFSETARRAY("org.vmmagic.unboxed.OffsetArray"), + WORDARRAY("org.vmmagic.unboxed.WordArray"), + VMMAGIC("org.jnode.vm.VmMagic"); + + /** + * Name of the class + */ + private final String name; + + /** + * Lookup table + */ + private static final Map<String, MagicClass> nameToClass; + + /** + * Initialize this instance. + * + * @param name + */ + private MagicClass(String name) { + this.name = name; + } + + /** + * Initialize the lookup table + */ + static { + nameToClass = new BootableHashMap<String, MagicClass>(); + for (MagicClass mc : values()) { + nameToClass.put(mc.name, mc); + } + } + + /** + * Gets the MagicClass instance for the given type. + * + * @param type + * @return a MagicClass instance + * @throws InternalError When type is no magic type. + */ + public static MagicClass get(VmType<?> type) { + MagicClass mc = nameToClass.get(type.getName()); + if (mc == null) { + throw new InternalError("Unknown magic type " + type.getName()); + } else { + return mc; + } + } + } + + /** + * Enum of all methods in all magic classes. + * + * @author Ewout Prangsma (ep...@us...) + */ + @SharedStatics + public enum MagicMethod { + ADD("add", false), + AND("and", false), + OR("or", false), + NOT("not", false), + SUB("sub", false), + XOR("xor", false), + ZERO("zero", false), + MAX("max", false), + ONE("one", false), + TOINT("toInt", false), + TOLONG("toLong", false), + TOWORD("toWord", false), + TOADDRESS("toAddress", true), + TOEXTENT("toExtent", false), + TOOFFSET("toOffset", false), + TOOBJECTREFERENCE("toObjectReference", true), + EQUALS("equals", false), + ISZERO("isZero", false), + ISMAX("isMax", false), + ISNULL("isNull", false), + EQ("EQ", false), + NE("NE", false), + GT("GT", false), + GE("GE", false), + LT("LT", false), + LE("LE", false), + SGT("sGT", false), + SGE("sGE", false), + SLT("sLT", false), + SLE("sLE", false), + FROMINT("fromInt", false), + FROMINTSIGNEXTEND("fromIntSignExtend", false), + FROMINTZEROEXTEND("fromIntZeroExtend", false), + FROMLONG("fromLong", false), + LSH("lsh", false), + RSHL("rshl", false), + RSHA("rsha", false), + LOADBYTE("loadByte", true, "()B"), + LOADBYTE_OFS("loadByte", true, "(Lorg/vmmagic/unboxed/Offset;)B"), + LOADCHAR("loadChar", true, "()C"), + LOADCHAR_OFS("loadChar", true, "(Lorg/vmmagic/unboxed/Offset;)C"), + LOADSHORT("loadShort", true, "()S"), + LOADSHORT_OFS("loadShort", true, "(Lorg/vmmagic/unboxed/Offset;)S"), + LOADINT("loadInt", true, "()I"), + LOADINT_OFS("loadInt", true, "(Lorg/vmmagic/unboxed/Offset;)I"), + LOADFLOAT("loadFloat", true, "()F"), + LOADFLOAT_OFS("loadFloat", true, "(Lorg/vmmagic/unboxed/Offset;)F"), + LOADLONG("loadLong", true, "()J"), + LOADLONG_OFS("loadLong", true, "(Lorg/vmmagic/unboxed/Offset;)J"), + LOADDOUBLE("loadDouble", true, "()D"), + LOADDOUBLE_OFS("loadDouble", true, "(Lorg/vmmagic/unboxed/Offset;)D"), + LOADADDRESS("loadAddress", true, "()Lorg/vmmagic/unboxed/Address;"), + LOADADDRESS_OFS("loadAddress", true, "(Lorg/vmmagic/unboxed/Offset;)Lorg/vmmagic/unboxed/Address;"), + LOADWORD("loadWord", true, "()Lorg/vmmagic/unboxed/Word;"), + LOADWORD_OFS("loadWord", true, "(Lorg/vmmagic/unboxed/Offset;)Lorg/vmmagic/unboxed/Word;"), + LOADOBJECTREFERENCE("loadObjectReference", true, "()Lorg/vmmagic/unboxed/ObjectReference;"), + LOADOBJECTREFERENCE_OFS("loadObjectReference", true, + "(Lorg/vmmagic/unboxed/Offset;)Lorg/vmmagic/unboxed/ObjectReference;"), + SIZE("size", false), + STOREBYTE("store", true, "(B)V"), + STOREBYTE_OFS("store", true, "(BLorg/vmmagic/unboxed/Offset;)V"), + STORECHAR("store", true, "(C)V"), + STORECHAR_OFS("store", true, "(CLorg/vmmagic/unboxed/Offset;)V"), + STORESHORT("store", true, "(S)V"), + STORESHORT_OFS("store", true, "(SLorg/vmmagic/unboxed/Offset;)V"), + STOREINT("store", true, "(I)V"), + STOREINT_OFS("store", true, "(ILorg/vmmagic/unboxed/Offset;)V"), + STOREFLOAT("store", true, "(F)V"), + STOREFLOAT_OFS("store", true, "(FLorg/vmmagic/unboxed/Offset;)V"), + STORELONG("store", true, "(J)V"), + STORELONG_OFS("store", true, "(JLorg/vmmagic/unboxed/Offset;)V"), + STOREDOUBLE("store", true, "(D)V"), + STOREDOUBLE_OFS("store", true, "(DLorg/vmmagic/unboxed/Offset;)V"), + STOREADDRESS("store", true, "(Lorg/vmmagic/unboxed/Address;)V"), + STOREADDRESS_OFS("store", true, "(Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Offset;)V"), + STOREWORD("store", true, "(Lorg/vmmagic/unboxed/Word;)V"), + STOREWORD_OFS("store", true, "(Lorg/vmmagic/unboxed/Word;Lorg/vmmagic/unboxed/Offset;)V"), + STOREOBJECTREFERENCE("store", true, "(Lorg/vmmagic/unboxed/ObjectReference;)V"), + STOREOBJECTREFERENCE_OFS("store", true, "(Lorg/vmmagic/unboxed/ObjectReference;Lorg/vmmagic/unboxed/Offset;)V"), + PREPAREINT("prepareInt", true, "()I"), + PREPAREINT_OFS("prepareInt", true, "(Lorg/vmmagic/unboxed/Offset;)I"), + PREPAREADDRESS("prepareAddress", true, "()Lorg/vmmagic/unboxed/Address;"), + PREPAREADDRESS_OFS("prepareAddress", true, "(Lorg/vmmagic/unboxed/Offset;)Lorg/vmmagic/unboxed/Address;"), + PREPAREWORD("prepareWord", true, "()Lorg/vmmagic/unboxed/Word;"), + PREPAREWORD_OFS("prepareWord", true, "(Lorg/vmmagic/unboxed/Offset;)Lorg/vmmagic/unboxed/Word;"), + PREPAREOBJECTREFERENCE("prepareObjectReference", true, "()Lorg/vmmagic/unboxed/ObjectReference;"), + PREPAREOBJECTREFERENCE_OFS("prepareObjectReference", true, + "(Lorg/vmmagic/unboxed/Offset;)Lorg/vmmagic/unboxed/ObjectReference;"), + ATTEMPTINT("attempt", true, "(II)Z"), + ATTEMPTINT_OFS("attempt", true, "(IILorg/vmmagic/unboxed/Offset;)Z"), + ATTEMPTADDRESS("attempt", true, "(Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;)Z"), + ATTEMPTADDRESS_OFS("attempt", true, + "(Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Offset;)Z"), + ATTEMPTOBJECTREFERENCE("attempt", true, + "(Lorg/vmmagic/unboxed/ObjectReference;Lorg/vmmagic/unboxed/ObjectReference;)Z"), + ATTEMPTOBJECTREFERENCE_OFS("attempt", true, + "(Lorg/vmmagic/unboxed/ObjectReference;Lorg/vmmagic/unboxed/ObjectReference;" + + "Lorg/vmmagic/unboxed/Offset;)Z"), + ATTEMPTWORD("attempt", true, "(Lorg/vmmagic/unboxed/Word;Lorg/vmmagic/unboxed/Word;)Z"), + ATTEMPTWORD_OFS("attempt", true, + "(Lorg/vmmagic/unboxed/Word;Lorg/vmmagic/unboxed/Word;Lorg/vmmagic/unboxed/Offset;)Z"), + FROMOBJECT("fromObject", true), + FROMADDRESS("fromAddress", true), + GETOBJECTTYPE("getObjectType", true), + GETTIB("getTIB", true), + GETOBJECTFLAGS("getObjectFlags", true), + SETOBJECTFLAGS("setObjectFlags", true), + TOOBJECT("toObject", true), + GETARRAYDATA("getArrayData", true), + GETOBJECTCOLOR("getObjectColor", true), + ISFINALIZED("isFinalized", true), + ATOMICADD("atomicAdd", true), + ATOMICAND("atomicAnd", true), + ATOMICOR("atomicOr", true), + ATOMICSUB("atomicSub", true), + GETCURRENTFRAME("getCurrentFrame", true), + GETTIMESTAMP("getTimeStamp", true), + INTBITSTOFLOAT("intBitsToFloat", false), + FLOATTORAWINTBITS("floatToRawIntBits", false), + LONGBITSTODOUBLE("longBitsToDouble", false), + DOUBLETORAWLONGBITS("doubleToRawLongBits", false), + BREAKPOINT("breakPoint", true), + DIFF("diff", false), + NULLREFERENCE("nullReference", false), + CURRENTPROCESSOR("currentProcessor", true, "()Lorg/jnode/vm/scheduler/VmProcessor;"), + GETSHAREDSTATICSFIELDADDRESS("getSharedStaticFieldAddress", true), + GETISOLATEDSTATICSFIELDADDRESS("getIsolatedStaticFieldAddress", true), + ISRUNNINGJNODE("isRunningJNode", false, "()Z"), + + // Array classes + ARR_CREATE("create", true), + ARR_GET("get", true), + ARR_SET("set", true), + ARR_LENGTH("length", false); + + private final String name; + private final String signature; + private final boolean permissionRequired; + private static BootableHashMap<VmMethod, MagicMethod> methods = new BootableHashMap<VmMethod, MagicMethod>(); + + private MagicMethod(String name, boolean permissionRequired) { + this.name = name; + this.signature = null; + this.permissionRequired = permissionRequired; + } + + private MagicMethod(String name, boolean permissionRequired, String signature) { + this.name = name; + this.permissionRequired = permissionRequired; + this.signature = signature; + } + + public static MagicMethod get(VmMethod method) { + MagicMethod mm = methods.get(method); + if (mm != null) { + return mm; + } + final String mname = method.getName(); + final String msignature = method.getSignature(); + + for (MagicMethod m : values()) { + if (m.name.equals(mname)) { + if ((m.signature == null) || m.signature.equals(msignature)) { + methods.put(method, m); + return m; + } + + } + } + throw new InternalError("Unknown method " + mname + '#' + msignature + " in " + + method.getDeclaringClass().getName()); + } + + /** + * Is MagicPermission required for this method. + * + * @return + */ + final boolean isPermissionRequired() { + return this.permissionRequired; + } + } + + /** + * Is the given method allowed to call magic code. + * + * @param caller + */ + public static void testMagicPermission(MagicMethod callee, VmMethod caller) + throws SecurityException { + if (callee.isPermissionRequired()) { + if (!caller.getDeclaringClass().isMagicPermissionGranted()) { + System.out.println("MagicPermission is not granted for type: " + + caller.getDeclaringClass().getName()); + // throw new SecurityException("MagicPermission is not granted + // for method: " + caller.getFullName()); + } + } + } +} Modified: trunk/core/src/core/org/jnode/vm/x86/compiler/BaseX86MagicHelper.java =================================================================== --- trunk/core/src/core/org/jnode/vm/x86/compiler/BaseX86MagicHelper.java 2009-12-11 17:49:06 UTC (rev 5696) +++ trunk/core/src/core/org/jnode/vm/x86/compiler/BaseX86MagicHelper.java 2009-12-12 16:15:04 UTC (rev 5697) @@ -23,7 +23,7 @@ import org.jnode.assembler.x86.X86Constants; import org.jnode.assembler.x86.X86Operation; import org.jnode.vm.JvmType; -import org.jnode.vm.classmgr.BaseMagicHelper; +import org.jnode.vm.compiler.BaseMagicHelper; /** * @author Ewout Prangsma (ep...@us...) Modified: trunk/core/src/core/org/jnode/vm/x86/compiler/l1a/MagicHelper.java =================================================================== --- trunk/core/src/core/org/jnode/vm/x86/compiler/l1a/MagicHelper.java 2009-12-11 17:49:06 UTC (rev 5696) +++ trunk/core/src/core/org/jnode/vm/x86/compiler/l1a/MagicHelper.java 2009-12-12 16:15:04 UTC (rev 5697) @@ -20,12 +20,12 @@ package org.jnode.vm.x86.compiler.l1a; -import static org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod.ATTEMPTINT; -import static org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod.FROMINTZEROEXTEND; -import static org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod.INTBITSTOFLOAT; -import static org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod.LOADCHAR; -import static org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod.LOADCHAR_OFS; -import static org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod.LONGBITSTODOUBLE; +import static org.jnode.vm.compiler.BaseMagicHelper.MagicMethod.ATTEMPTINT; +import static org.jnode.vm.compiler.BaseMagicHelper.MagicMethod.FROMINTZEROEXTEND; +import static org.jnode.vm.compiler.BaseMagicHelper.MagicMethod.INTBITSTOFLOAT; +import static org.jnode.vm.compiler.BaseMagicHelper.MagicMethod.LOADCHAR; +import static org.jnode.vm.compiler.BaseMagicHelper.MagicMethod.LOADCHAR_OFS; +import static org.jnode.vm.compiler.BaseMagicHelper.MagicMethod.LONGBITSTODOUBLE; import org.jnode.assembler.x86.X86Assembler; import org.jnode.assembler.x86.X86Constants; Modified: trunk/core/src/core/org/jnode/vm/x86/compiler/l1b/MagicHelper.java =================================================================== --- trunk/core/src/core/org/jnode/vm/x86/compiler/l1b/MagicHelper.java 2009-12-11 17:49:06 UTC (rev 5696) +++ trunk/core/src/core/org/jnode/vm/x86/compiler/l1b/MagicHelper.java 2009-12-12 16:15:04 UTC (rev 5697) @@ -20,12 +20,12 @@ package org.jnode.vm.x86.compiler.l1b; -import static org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod.ATTEMPTINT; -import static org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod.FROMINTZEROEXTEND; -import static org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod.INTBITSTOFLOAT; -import static org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod.LOADCHAR; -import static org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod.LOADCHAR_OFS; -import static org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod.LONGBITSTODOUBLE; +import static org.jnode.vm.compiler.BaseMagicHelper.MagicMethod.ATTEMPTINT; +import static org.jnode.vm.compiler.BaseMagicHelper.MagicMethod.FROMINTZEROEXTEND; +import static org.jnode.vm.compiler.BaseMagicHelper.MagicMethod.INTBITSTOFLOAT; +import static org.jnode.vm.compiler.BaseMagicHelper.MagicMethod.LOADCHAR; +import static org.jnode.vm.compiler.BaseMagicHelper.MagicMethod.LOADCHAR_OFS; +import static org.jnode.vm.compiler.BaseMagicHelper.MagicMethod.LONGBITSTODOUBLE; import org.jnode.assembler.x86.X86Assembler; import org.jnode.assembler.x86.X86Constants; Modified: trunk/core/src/vmmagic/org/vmmagic/unboxed/Address.java =================================================================== --- trunk/core/src/vmmagic/org/vmmagic/unboxed/Address.java 2009-12-11 17:49:06 UTC (rev 5696) +++ trunk/core/src/vmmagic/org/vmmagic/unboxed/Address.java 2009-12-12 16:15:04 UTC (rev 5697) @@ -24,9 +24,9 @@ * methods that are interpreted by the VM itself, instead of being executed * as normal java methods. The actual method bodies are not used. <br/> * For further details, see the - * {@link org.jnode.vm.classmgr.BaseMagicHelper.MagicClass list of "magic" classes} + * {@link org.jnode.vm.compiler.BaseMagicHelper.MagicClass list of "magic" classes} * and the - * {@link org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod list of "magic" methods}. + * {@link org.jnode.vm.compiler.BaseMagicHelper.MagicMethod list of "magic" methods}. * * @author Daniel Frampton */ Modified: trunk/core/src/vmmagic/org/vmmagic/unboxed/Extent.java =================================================================== --- trunk/core/src/vmmagic/org/vmmagic/unboxed/Extent.java 2009-12-11 17:49:06 UTC (rev 5696) +++ trunk/core/src/vmmagic/org/vmmagic/unboxed/Extent.java 2009-12-12 16:15:04 UTC (rev 5697) @@ -18,9 +18,9 @@ * methods that are interpreted by the VM itself, instead of being executed * as normal java methods. The actual method bodies are not used. <br/> * For further details, see the - * {@link org.jnode.vm.classmgr.BaseMagicHelper.MagicClass list of "magic" classes} + * {@link org.jnode.vm.compiler.BaseMagicHelper.MagicClass list of "magic" classes} * and the - * {@link org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod list of "magic" methods}. + * {@link org.jnode.vm.compiler.BaseMagicHelper.MagicMethod list of "magic" methods}. * * @author Daniel Frampton */ Modified: trunk/core/src/vmmagic/org/vmmagic/unboxed/Offset.java =================================================================== --- trunk/core/src/vmmagic/org/vmmagic/unboxed/Offset.java 2009-12-11 17:49:06 UTC (rev 5696) +++ trunk/core/src/vmmagic/org/vmmagic/unboxed/Offset.java 2009-12-12 16:15:04 UTC (rev 5697) @@ -19,9 +19,9 @@ * methods that are interpreted by the VM itself, instead of being executed * as normal java methods. The actual method bodies are not used. <br/> * For further details, see the - * {@link org.jnode.vm.classmgr.BaseMagicHelper.MagicClass list of "magic" classes} + * {@link org.jnode.vm.compiler.BaseMagicHelper.MagicClass list of "magic" classes} * and the - * {@link org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod list of "magic" methods}. + * {@link org.jnode.vm.compiler.BaseMagicHelper.MagicMethod list of "magic" methods}. * * @author Ewout Prangsma (ep...@us...) * @author Daniel Frampton Modified: trunk/core/src/vmmagic/org/vmmagic/unboxed/Word.java =================================================================== --- trunk/core/src/vmmagic/org/vmmagic/unboxed/Word.java 2009-12-11 17:49:06 UTC (rev 5696) +++ trunk/core/src/vmmagic/org/vmmagic/unboxed/Word.java 2009-12-12 16:15:04 UTC (rev 5697) @@ -22,9 +22,9 @@ * methods that are interpreted by the VM itself, instead of being executed * as normal java methods. The actual method bodies are not used. <br/> * For further details, see the - * {@link org.jnode.vm.classmgr.BaseMagicHelper.MagicClass list of "magic" classes} + * {@link org.jnode.vm.compiler.BaseMagicHelper.MagicClass list of "magic" classes} * and the - * {@link org.jnode.vm.classmgr.BaseMagicHelper.MagicMethod list of "magic" methods}. + * {@link org.jnode.vm.compiler.BaseMagicHelper.MagicMethod list of "magic" methods}. * * @author Ewout Prangsma (ep...@us...) * @author Daniel Frampton This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |