public class RVMClassLoader extends Object
| Modifier and Type | Field and Description |
|---|---|
(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 ":<packagename>...
|
private static String[] |
enabledAssertionStrings
String describing packages and classes to enable assertions on (of the form ":<packagename>...
|
(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
<clinit> |
static Atom |
StandardObjectFinalizerMethodDescriptor
()V |
static Atom |
StandardObjectFinalizerMethodName
finalize |
static Atom |
StandardObjectInitializerHelperMethodName
this |
static Atom |
StandardObjectInitializerMethodDescriptor
()V |
static Atom |
StandardObjectInitializerMethodName
<init> |
(package private) static Atom |
syntheticAttributeName
Synthetic |
| Constructor and Description |
|---|
RVMClassLoader() |
| Modifier and Type | Method and Description |
|---|---|
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 |
findWorkableClassloader(Atom clazz)
An unpleasant hack to deal with the problem of replaying work
when using dynamic classloaders (whose identity will vary from
run to run).
|
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
|
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
<clinit>public static final Atom StandardClassInitializerMethodDescriptor
public static final Atom StandardObjectInitializerMethodName
<init>public static final Atom StandardObjectInitializerMethodDescriptor
()Vpublic static final Atom StandardObjectInitializerHelperMethodName
thispublic static final Atom StandardObjectFinalizerMethodName
finalizepublic static final Atom StandardObjectFinalizerMethodDescriptor
()Vstatic final Atom codeAttributeName
Codestatic final Atom constantValueAttributeName
ConstantValuestatic final Atom lineNumberTableAttributeName
LineNumberTablestatic final Atom exceptionsAttributeName
Exceptionsstatic final Atom sourceFileAttributeName
SourceFilestatic final Atom localVariableTableAttributeName
LocalVariableTablestatic final Atom deprecatedAttributeName
Deprecatedstatic final Atom innerClassesAttributeName
InnerClassesstatic final Atom syntheticAttributeName
Syntheticstatic final Atom enclosingMethodAttributeName
EnclosingMethodstatic final Atom signatureAttributeName
Signaturestatic final Atom runtimeVisibleAnnotationsAttributeName
RuntimeVisibleAnnotationsstatic final Atom runtimeInvisibleAnnotationsAttributeName
RuntimeInvisibleAnnotationsstatic final Atom runtimeVisibleParameterAnnotationsAttributeName
RuntimeVisibleParameterAnnotationsstatic final Atom runtimeInvisibleParameterAnnotationsAttributeName
RuntimeInvisibleParameterAnnotationsstatic final Atom annotationDefaultAttributeName
AnnotationDefaultpublic RVMClassLoader()
public static void stashApplicationRepositories(String classpath)
classpath - path specification in standard "classpath" formatpublic static void stashEnableAssertionArg(String arg)
arg - String of the form ":<packagename>...|:<classname>"public static void stashDisableAssertionArg(String arg)
arg - String of the form ":<packagename>...|:<classname>"static boolean getDesiredAssertionStatus(RVMClass klass)
klass - to check against command line argumentpublic static void setApplicationRepositories(String classpath)
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.
classpath - path specification in standard "classpath" formatpublic static String getApplicationRepositories()
public static void declareApplicationClassLoaderIsReady()
public static ClassLoader getApplicationClassLoader()
public static void boot()
public static void init(String bootstrapClasspath)
bootstrapClasspath - the bootstrap classpath to load the classes frompublic static RVMType defineClassInternal(String className, byte[] classRep, int offset, int length, ClassLoader classloader) throws ClassFormatError
ClassFormatErrorpublic static RVMType defineClassInternal(String className, InputStream is, ClassLoader classloader) throws ClassFormatError
ClassFormatErrorprivate static TypeReference getClassTypeRef(DataInputStream input, ClassLoader cl) throws IOException, ClassFormatError
IOExceptionClassFormatErrorpublic static ClassLoader findWorkableClassloader(Atom clazz)
clazz - The class we're after