Global_Env Struct Reference

#include <environment.h>

List of all members.

Public Types

enum  VM_STATE { VM_INITIALIZING, VM_RUNNING, VM_SHUTDOWNING }

Public Member Functions

 Global_Env (apr_pool_t *pool, size_t string_pool_size)
 ~Global_Env ()
void * operator new (size_t size, apr_pool_t *pool)
void operator delete (void *)
void operator delete (void *mem, apr_pool_t *pool)
bool InBootstrap () const
 Determine bootstrapping of root classes.
void StartVMBootstrap ()
void FinishVMBootstrap ()
int isVmInitializing ()
int isVmRunning ()
int IsVmShutdowning ()
ClassLoadCoreClass (const String *name)
 Load a class via bootstrap classloader.
ClassLoadCoreClass (const char *name)
void ReadyForExceptions ()
 Set Ready For Exceptions state.
bool IsReadyForExceptions () const
 Get Ready For Exceptions state.
PropertiesJavaProperties ()
PropertiesVmProperties ()
void init_pools ()

Public Attributes

apr_pool_t * mem_pool
BootstrapClassLoaderbootstrap_class_loader
UserDefinedClassLoadersystem_class_loader
size_t bootstrap_code_pool_size
size_t user_code_pool_size
DebugUtilsTITI
GlobalNCAI * NCAI
NSOTableItemnsoTable
void * portLib
DynamicCodedcList
Assertion_Registryassert_reg
PoolManagerGlobalCodeMemoryManager
PoolManagerVTableMemoryManager
hythread_library_t hythread_lib
String_Pool string_pool
JavaVMInitArgs vm_arguments
bool is_hyperthreading_enabled
 Globals.
bool use_lil_stubs
bool strings_are_compressed
bool use_large_pages
bool pin_interned_strings
bool retain_invisible_annotations
bool verify_all
bool verify_strict
bool verify
size_t system_page_size
Lock_Manager * p_jit_a_method_lock
Lock_Manager * p_vtable_patch_lock
Lock_Manager * p_method_call_lock
Lock_Manager * p_handle_lock
Lock_Manager * p_dclist_lock
Lock_Manager * p_suspend_lock
bool use_common_jar_cache
 If set to true, DLRVM will store JARs which are adjacent in boot class path into single jar entry cache.
bool compact_fields
 If set to true by the -compact_fields command-line option, the VM will not pad out fields of less than 32 bits to four bytes.
bool sort_fields
 If set to true by the -sort_fields command line option, the VM will sort fields by size before assigning their offset during class preparation.
Byte * heap_base
Byte * heap_end
 
Note:
We assume Java heap uses one continuous memory block.

Byte * managed_null
 This will be set to either NULL or heap_base depending on whether compressed references are used.
StringJavaLangObject_String
 Preloaded strings.
StringJavaLangClass_String
StringInit_String
StringClinit_String
StringFinalizeName_String
StringEnqueueName_String
StringVoidVoidDescriptor_String
StringVoidIntegerDescriptor_String
StringVoidBooleanDescriptor_String
StringClonable_String
StringSerializable_String
StringDetach_String
StringDetachDescriptor_String
StringGetUncaughtExceptionHandler_String
StringGetUncaughtExceptionHandlerDescriptor_String
StringUncaughtException_String
StringUncaughtExceptionDescriptor_String
StringGetDefaultUncaughtExceptionHandler_String
StringGetDefaultUncaughtExceptionHandlerDescriptor_String
StringGetName_String
StringGetNameDescriptor_String
StringRemove_String
StringRemoveDescriptor_String
StringLLRemove_String
StringLLRemoveDescriptor_String
StringJavaLangReflectMethod_String
StringJavaLangNullPointerException_String
StringJavaLangUnsatisfiedLinkError_String
StringJavaLangReflectConstructor_String
StringJavaLangReflectField_String
StringJavaLangIllegalArgumentException_String
StringJavaNioByteBuffer_String
StringJavaLangArrayIndexOutOfBoundsException_String
StringJavaLangThrowable_String
StringJavaLangNoClassDefFoundError_String
StringJavaLangString_String
StringJavaLangStringBuffer_String
StringLength_String
StringLoadClass_String
StringInitCause_String
StringFromStringConstructorDescriptor_String
StringLoadClassDescriptor_String
StringInitCauseDescriptor_String
MethodVM_intern
 Preloaded methods.
ClassBoolean_Class
 Preloaded classes.
ClassChar_Class
ClassFloat_Class
ClassDouble_Class
ClassByte_Class
ClassShort_Class
ClassInt_Class
ClassLong_Class
ClassVoid_Class
ClassArrayOfBoolean_Class
ClassArrayOfChar_Class
ClassArrayOfFloat_Class
ClassArrayOfDouble_Class
ClassArrayOfByte_Class
ClassArrayOfShort_Class
ClassArrayOfInt_Class
ClassArrayOfLong_Class
ClassJavaLangObject_Class
ClassJavaLangString_Class
ClassJavaLangClass_Class
Classjava_lang_Throwable_Class
Classjava_lang_StackTraceElement_Class
Classjava_lang_Error_Class
Classjava_lang_ExceptionInInitializerError_Class
Classjava_lang_NullPointerException_Class
Classjava_lang_StackOverflowError_Class
Classjava_lang_ClassNotFoundException_Class
Classjava_lang_NoClassDefFoundError_Class
Classjava_lang_ArrayIndexOutOfBoundsException_Class
Classjava_lang_ArrayStoreException_Class
Classjava_lang_ArithmeticException_Class
Classjava_lang_ClassCastException_Class
Classjava_lang_OutOfMemoryError_Class
Classjava_lang_InternalError_Class
Classjava_lang_ThreadDeath_Class
Classjava_security_ProtectionDomain_Class
unsigned Class_domain_field_offset
ObjectHandle java_lang_Object
ObjectHandle java_lang_OutOfMemoryError
ObjectHandle java_lang_ThreadDeath
ObjectHandle popFrameException
 Object of java.lang.Error class used for JVMTI JIT PopFrame support.
Classjava_io_Serializable_Class
Classjava_lang_Cloneable_Class
Classjava_lang_Thread_Class
Classjava_lang_ThreadGroup_Class
Classjava_util_LinkedList_Class
Classjava_util_Date_Class
Classjava_util_Properties_Class
Classjava_lang_Runtime_Class
Classjava_lang_reflect_Constructor_Class
Classjava_lang_reflect_Field_Class
Classjava_lang_reflect_Method_Class
Classjava_lang_FinalizerThread_Class
Classjava_lang_EMThreadSupport_Class
VTableJavaLangString_VTable
 VTable for the java_lang_String class.
unsigned vm_class_offset
 Offset to the vm_class field in java.lang.Class.
apr_time_t start_time
 VM initialization timestamp.
apr_time_t total_compilation_time
 Total method compilation time in msec.
unsigned total_loaded_class_count
 Total loaded class count.
unsigned unloaded_class_count
 Total unloaded class count.
jboolean class_loading_verbose
 Total unloaded class count.
size_t init_gc_used_memory
 The initial amount of Java heap memory (bytes).
size_t init_used_memory
 The initial amount of used memory (bytes).
volatile int vm_state
 The VM state.
OpenComponentManagerHandle cm
 FIXME The whole environemt will be refactored to VM instance.
OpenInstanceHandle em_instance
OpenEmVmHandle em_interface


Member Enumeration Documentation

enum Global_Env::VM_STATE

Enumerator:
VM_INITIALIZING 
VM_RUNNING 
VM_SHUTDOWNING 


Constructor & Destructor Documentation

Global_Env.Global_Env ( apr_pool_t *  pool,
size_t  string_pool_size 
)

Global_Env.~Global_Env (  ) 


Member Function Documentation

void* Global_Env.operator new ( size_t  size,
apr_pool_t *  pool 
)

void Global_Env.operator delete ( void *   ) 

void Global_Env.operator delete ( void *  mem,
apr_pool_t *  pool 
)

bool Global_Env.InBootstrap (  )  const

Determine bootstrapping of root classes.

void Global_Env.StartVMBootstrap (  ) 

void Global_Env.FinishVMBootstrap (  ) 

int Global_Env.isVmInitializing (  ) 

int Global_Env.isVmRunning (  ) 

int Global_Env.IsVmShutdowning (  ) 

Class* Global_Env.LoadCoreClass ( const String name  ) 

Load a class via bootstrap classloader.

Class* Global_Env.LoadCoreClass ( const char *  name  ) 

void Global_Env.ReadyForExceptions (  ) 

Set Ready For Exceptions state.

This function must be called as, soon as VM becomes able to create exception objects. I.e. all required classes (such as java/lang/Trowable) are loaded.

bool Global_Env.IsReadyForExceptions (  )  const

Get Ready For Exceptions state.

Returns:
TRUE, if VM is able to create exception objects.

Properties* Global_Env.JavaProperties (  ) 

Properties* Global_Env.VmProperties (  ) 

void Global_Env.init_pools (  ) 


Member Data Documentation

apr_pool_t* Global_Env.mem_pool

BootstrapClassLoader* Global_Env.bootstrap_class_loader

UserDefinedClassLoader* Global_Env.system_class_loader

size_t Global_Env.bootstrap_code_pool_size

size_t Global_Env.user_code_pool_size

DebugUtilsTI* Global_Env.TI

GlobalNCAI* Global_Env.NCAI

NSOTableItem* Global_Env.nsoTable

void* Global_Env.portLib

DynamicCode* Global_Env.dcList

Assertion_Registry* Global_Env.assert_reg

PoolManager* Global_Env.GlobalCodeMemoryManager

PoolManager* Global_Env.VTableMemoryManager

hythread_library_t Global_Env.hythread_lib

String_Pool Global_Env.string_pool

JavaVMInitArgs Global_Env.vm_arguments

bool Global_Env.is_hyperthreading_enabled

Globals.

bool Global_Env.use_lil_stubs

bool Global_Env.strings_are_compressed

bool Global_Env.use_large_pages

bool Global_Env.pin_interned_strings

bool Global_Env.retain_invisible_annotations

bool Global_Env.verify_all

bool Global_Env.verify_strict

bool Global_Env.verify

size_t Global_Env.system_page_size

Lock_Manager* Global_Env.p_jit_a_method_lock

Lock_Manager* Global_Env.p_vtable_patch_lock

Lock_Manager* Global_Env.p_method_call_lock

Lock_Manager* Global_Env.p_handle_lock

Lock_Manager* Global_Env.p_dclist_lock

Lock_Manager* Global_Env.p_suspend_lock

bool Global_Env.use_common_jar_cache

If set to true, DLRVM will store JARs which are adjacent in boot class path into single jar entry cache.

This will optimize lookups on class loading with bootstrap class loader.

bool Global_Env.compact_fields

If set to true by the -compact_fields command-line option, the VM will not pad out fields of less than 32 bits to four bytes.

However, fields will still be aligned to a natural boundary, and the num_field_padding_bytes field will reflect those alignment padding bytes.

bool Global_Env.sort_fields

If set to true by the -sort_fields command line option, the VM will sort fields by size before assigning their offset during class preparation.

Byte* Global_Env.heap_base

Byte* Global_Env.heap_end

Note:
We assume Java heap uses one continuous memory block.

Byte* Global_Env.managed_null

This will be set to either NULL or heap_base depending on whether compressed references are used.

String* Global_Env.JavaLangObject_String

Preloaded strings.

String* Global_Env.JavaLangClass_String

String* Global_Env.Init_String

String* Global_Env.Clinit_String

String* Global_Env.FinalizeName_String

String* Global_Env.EnqueueName_String

String* Global_Env.VoidVoidDescriptor_String

String* Global_Env.VoidIntegerDescriptor_String

String* Global_Env.VoidBooleanDescriptor_String

String* Global_Env.Clonable_String

String* Global_Env.Serializable_String

String* Global_Env.Detach_String

String* Global_Env.DetachDescriptor_String

String* Global_Env.GetUncaughtExceptionHandler_String

String* Global_Env.GetUncaughtExceptionHandlerDescriptor_String

String* Global_Env.UncaughtException_String

String* Global_Env.UncaughtExceptionDescriptor_String

String* Global_Env.GetDefaultUncaughtExceptionHandler_String

String* Global_Env.GetDefaultUncaughtExceptionHandlerDescriptor_String

String* Global_Env.GetName_String

String* Global_Env.GetNameDescriptor_String

String* Global_Env.Remove_String

String* Global_Env.RemoveDescriptor_String

String* Global_Env.LLRemove_String

String* Global_Env.LLRemoveDescriptor_String

String* Global_Env.JavaLangReflectMethod_String

String* Global_Env.JavaLangNullPointerException_String

String* Global_Env.JavaLangUnsatisfiedLinkError_String

String* Global_Env.JavaLangReflectConstructor_String

String* Global_Env.JavaLangReflectField_String

String* Global_Env.JavaLangIllegalArgumentException_String

String* Global_Env.JavaNioByteBuffer_String

String* Global_Env.JavaLangArrayIndexOutOfBoundsException_String

String* Global_Env.JavaLangThrowable_String

String* Global_Env.JavaLangNoClassDefFoundError_String

String* Global_Env.JavaLangString_String

String* Global_Env.JavaLangStringBuffer_String

String* Global_Env.Length_String

String* Global_Env.LoadClass_String

String* Global_Env.InitCause_String

String* Global_Env.FromStringConstructorDescriptor_String

String* Global_Env.LoadClassDescriptor_String

String* Global_Env.InitCauseDescriptor_String

Method* Global_Env.VM_intern

Preloaded methods.

Class* Global_Env.Boolean_Class

Preloaded classes.

Class* Global_Env.Char_Class

Class* Global_Env.Float_Class

Class* Global_Env.Double_Class

Class* Global_Env.Byte_Class

Class* Global_Env.Short_Class

Class* Global_Env.Int_Class

Class* Global_Env.Long_Class

Class* Global_Env.Void_Class

Class* Global_Env.ArrayOfBoolean_Class

Class* Global_Env.ArrayOfChar_Class

Class* Global_Env.ArrayOfFloat_Class

Class* Global_Env.ArrayOfDouble_Class

Class* Global_Env.ArrayOfByte_Class

Class* Global_Env.ArrayOfShort_Class

Class* Global_Env.ArrayOfInt_Class

Class* Global_Env.ArrayOfLong_Class

Class* Global_Env.JavaLangObject_Class

Class* Global_Env.JavaLangString_Class

Class* Global_Env.JavaLangClass_Class

Class* Global_Env.java_lang_Throwable_Class

Class* Global_Env.java_lang_StackTraceElement_Class

Class* Global_Env.java_lang_Error_Class

Class* Global_Env.java_lang_ExceptionInInitializerError_Class

Class* Global_Env.java_lang_NullPointerException_Class

Class* Global_Env.java_lang_StackOverflowError_Class

Class* Global_Env.java_lang_ClassNotFoundException_Class

Class* Global_Env.java_lang_NoClassDefFoundError_Class

Class* Global_Env.java_lang_ArrayIndexOutOfBoundsException_Class

Class* Global_Env.java_lang_ArrayStoreException_Class

Class* Global_Env.java_lang_ArithmeticException_Class

Class* Global_Env.java_lang_ClassCastException_Class

Class* Global_Env.java_lang_OutOfMemoryError_Class

Class* Global_Env.java_lang_InternalError_Class

Class* Global_Env.java_lang_ThreadDeath_Class

Class* Global_Env.java_security_ProtectionDomain_Class

unsigned Global_Env.Class_domain_field_offset

ObjectHandle Global_Env.java_lang_Object

ObjectHandle Global_Env.java_lang_OutOfMemoryError

ObjectHandle Global_Env.java_lang_ThreadDeath

ObjectHandle Global_Env.popFrameException

Object of java.lang.Error class used for JVMTI JIT PopFrame support.

Class* Global_Env.java_io_Serializable_Class

Class* Global_Env.java_lang_Cloneable_Class

Class* Global_Env.java_lang_Thread_Class

Class* Global_Env.java_lang_ThreadGroup_Class

Class* Global_Env.java_util_LinkedList_Class

Class* Global_Env.java_util_Date_Class

Class* Global_Env.java_util_Properties_Class

Class* Global_Env.java_lang_Runtime_Class

Class* Global_Env.java_lang_reflect_Constructor_Class

Class* Global_Env.java_lang_reflect_Field_Class

Class* Global_Env.java_lang_reflect_Method_Class

Class* Global_Env.java_lang_FinalizerThread_Class

Class* Global_Env.java_lang_EMThreadSupport_Class

VTable* Global_Env.JavaLangString_VTable

VTable for the java_lang_String class.

unsigned Global_Env.vm_class_offset

Offset to the vm_class field in java.lang.Class.

apr_time_t Global_Env.start_time

VM initialization timestamp.

apr_time_t Global_Env.total_compilation_time

Total method compilation time in msec.

unsigned Global_Env.total_loaded_class_count

Total loaded class count.

unsigned Global_Env.unloaded_class_count

Total unloaded class count.

jboolean Global_Env.class_loading_verbose

Total unloaded class count.

size_t Global_Env.init_gc_used_memory

The initial amount of Java heap memory (bytes).

size_t Global_Env.init_used_memory

The initial amount of used memory (bytes).

volatile int Global_Env.vm_state

The VM state.

See VM_STATE enum above.

OpenComponentManagerHandle Global_Env.cm

FIXME The whole environemt will be refactored to VM instance.

The following contains a cached copy of EM interface table.

OpenInstanceHandle Global_Env.em_instance

OpenEmVmHandle Global_Env.em_interface


The documentation for this struct was generated from the following file:

Genereated on Tue Mar 11 19:26:01 2008 by Doxygen.

(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable.