|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.jikesrvm.classloader.RVMClassLoader
public class RVMClassLoader
Manufacture type descriptions as needed by the running virtual machine.
| Field Summary | |
|---|---|
(package private) static Atom |
annotationDefaultAttributeName
"AnnotationDefault" |
private static ClassLoader |
appCL
|
private static boolean |
appCLReady
Is the application class loader ready for use? |
private static String |
applicationRepositories
|
private static boolean |
assertionsEnabled
Are Java 1.4 style assertions enabled? |
(package private) static Atom |
codeAttributeName
"Code" |
(package private) static Atom |
constantValueAttributeName
"ConstantValue" |
private static boolean |
DBG_APP_CL
|
(package private) static Atom |
deprecatedAttributeName
"Deprecated" |
private static String[] |
disabledAssertionStrings
String describing packages and classes to disable assertions on (of the form ": |
private static String[] |
enabledAssertionStrings
String describing packages and classes to enable assertions on (of the form ": |
(package private) static Atom |
enclosingMethodAttributeName
"EnclosingMethod" |
(package private) static Atom |
exceptionsAttributeName
"Exceptions" |
private static int |
gettingAppCL
Are we getting the application CL? |
(package private) static Atom |
innerClassesAttributeName
"InnerClasses" |
(package private) static Atom |
lineNumberTableAttributeName
"LineNumberTable" |
(package private) static Atom |
localVariableTableAttributeName
"LocalVariableTable" |
(package private) static Atom |
runtimeInvisibleAnnotationsAttributeName
"RuntimeInvisibleAnnotations" |
(package private) static Atom |
runtimeInvisibleParameterAnnotationsAttributeName
"RuntimeInvisibleParameterAnnotations" |
(package private) static Atom |
runtimeVisibleAnnotationsAttributeName
"RuntimeVisibleAnnotations" |
(package private) static Atom |
runtimeVisibleParameterAnnotationsAttributeName
"RuntimeVisibleParameterAnnotations" |
(package private) static Atom |
signatureAttributeName
"Signature" |
(package private) static Atom |
sourceFileAttributeName
"SourceFile" |
static Atom |
StandardClassInitializerMethodDescriptor
"()V" |
static Atom |
StandardClassInitializerMethodName
" |
static Atom |
StandardObjectFinalizerMethodDescriptor
"()V" |
static Atom |
StandardObjectFinalizerMethodName
"finalize" |
static Atom |
StandardObjectInitializerHelperMethodName
"this" |
static Atom |
StandardObjectInitializerMethodDescriptor
"()V" |
static Atom |
StandardObjectInitializerMethodName
" |
(package private) static Atom |
syntheticAttributeName
"Synthetic" |
| Fields inherited from interface org.jikesrvm.Constants |
|---|
NOT_REACHED, REFLECTION_FPRS_BITS, REFLECTION_FPRS_MASK, REFLECTION_GPRS_BITS, REFLECTION_GPRS_MASK |
| Fields inherited from interface org.jikesrvm.objectmodel.ThinLockConstants |
|---|
TL_DEDICATED_U16_OFFSET, TL_DEDICATED_U16_SHIFT, TL_LOCK_COUNT_MASK, TL_LOCK_COUNT_SHIFT, TL_LOCK_COUNT_UNIT, TL_LOCK_ID_MASK, TL_LOCK_ID_SHIFT, TL_NUM_BITS_RC, TL_NUM_BITS_STAT, TL_NUM_BITS_TID, TL_STAT_BIASABLE, TL_STAT_FAT, TL_STAT_MASK, TL_STAT_SHIFT, TL_STAT_THIN, TL_THREAD_ID_MASK, TL_THREAD_ID_SHIFT, TL_UNLOCK_MASK |
| Fields inherited from interface org.jikesrvm.objectmodel.TIBLayoutConstants |
|---|
IMT_METHOD_SLOTS, NEEDS_DYNAMIC_LINK, TIB_ARRAY_ELEMENT_TIB_INDEX, TIB_DOES_IMPLEMENT_INDEX, TIB_FIRST_SPECIALIZED_METHOD_INDEX, TIB_FIRST_VIRTUAL_METHOD_INDEX, TIB_INTERFACE_DISPATCH_TABLE_INDEX, TIB_SUPERCLASS_IDS_INDEX, TIB_TYPE_INDEX |
| Fields inherited from interface org.jikesrvm.HeapLayoutConstants |
|---|
BAD_MAP_COMPRESSION, BOOT_IMAGE_CODE_END, BOOT_IMAGE_CODE_SIZE, BOOT_IMAGE_CODE_START, BOOT_IMAGE_DATA_END, BOOT_IMAGE_DATA_SIZE, BOOT_IMAGE_DATA_START, BOOT_IMAGE_END, BOOT_IMAGE_RMAP_END, BOOT_IMAGE_RMAP_START, MAX_BOOT_IMAGE_RMAP_SIZE, MAXIMUM_MAPPABLE |
| Constructor Summary | |
|---|---|
RVMClassLoader()
|
|
| Method Summary | |
|---|---|
static void |
boot()
Initialize at boot time. |
static void |
declareApplicationClassLoaderIsReady()
|
static RVMType |
defineClassInternal(String className,
byte[] classRep,
int offset,
int length,
ClassLoader classloader)
|
static RVMType |
defineClassInternal(String className,
InputStream is,
ClassLoader classloader)
|
static ClassLoader |
getApplicationClassLoader()
|
static String |
getApplicationRepositories()
Get list of places currently being searched for application classes and resources. |
private static TypeReference |
getClassTypeRef(DataInputStream input,
ClassLoader cl)
|
(package private) static boolean |
getDesiredAssertionStatus(RVMClass klass)
Calculate the desired assertion status for a freshly loaded class |
static void |
init(String bootstrapClasspath)
Initialize for boot image writing |
static void |
setApplicationRepositories(String classpath)
Set list of places to be searched for application classes and resources. |
static void |
stashApplicationRepositories(String classpath)
Set list of places to be searched for application classes and resources. |
static void |
stashDisableAssertionArg(String arg)
Remember the given disable assertions string |
static void |
stashEnableAssertionArg(String arg)
Remember the given enable assertions string |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static final boolean DBG_APP_CL
private static ClassLoader appCL
private static boolean assertionsEnabled
private static String[] enabledAssertionStrings
private static String[] disabledAssertionStrings
private static int gettingAppCL
private static boolean appCLReady
private static String applicationRepositories
public static final Atom StandardClassInitializerMethodName
public static final Atom StandardClassInitializerMethodDescriptor
public static final Atom StandardObjectInitializerMethodName
public static final Atom StandardObjectInitializerMethodDescriptor
public static final Atom StandardObjectInitializerHelperMethodName
public static final Atom StandardObjectFinalizerMethodName
public static final Atom StandardObjectFinalizerMethodDescriptor
static final Atom codeAttributeName
static final Atom constantValueAttributeName
static final Atom lineNumberTableAttributeName
static final Atom exceptionsAttributeName
static final Atom sourceFileAttributeName
static final Atom localVariableTableAttributeName
static final Atom deprecatedAttributeName
static final Atom innerClassesAttributeName
static final Atom syntheticAttributeName
static final Atom enclosingMethodAttributeName
static final Atom signatureAttributeName
static final Atom runtimeVisibleAnnotationsAttributeName
static final Atom runtimeInvisibleAnnotationsAttributeName
static final Atom runtimeVisibleParameterAnnotationsAttributeName
static final Atom runtimeInvisibleParameterAnnotationsAttributeName
static final Atom annotationDefaultAttributeName
| Constructor Detail |
|---|
public RVMClassLoader()
| Method Detail |
|---|
public static void stashApplicationRepositories(String classpath)
classpath - path specification in standard "classpath" formatpublic static void stashEnableAssertionArg(String arg)
arg - String of the form ":public static void stashDisableAssertionArg(String arg)
arg - String of the form ":static boolean getDesiredAssertionStatus(RVMClass klass)
klass - to check against command line argument
public static void setApplicationRepositories(String classpath)
classpath - path specification in standard "classpath" format
Our Jikes RVM classloader can not handle having the class path reset
after it's been set up. Unfortunately, it is stashed by classes in
GNU Classpath.public static String getApplicationRepositories()
public static void declareApplicationClassLoaderIsReady()
public static ClassLoader getApplicationClassLoader()
public static void boot()
public static void init(String bootstrapClasspath)
public static RVMType defineClassInternal(String className,
byte[] classRep,
int offset,
int length,
ClassLoader classloader)
throws ClassFormatError
ClassFormatError
public static RVMType defineClassInternal(String className,
InputStream is,
ClassLoader classloader)
throws ClassFormatError
ClassFormatError
private static TypeReference getClassTypeRef(DataInputStream input,
ClassLoader cl)
throws IOException,
ClassFormatError
IOException
ClassFormatError
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||