You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by wj...@apache.org on 2006/11/09 05:52:17 UTC

svn commit: r472771 [1/11] - in /incubator/harmony/enhanced/drlvm/trunk/vm: gc_cc/src/ gcv4/src/ include/ include/open/ interpreter/src/ jitrino/src/jet/ jitrino/src/vm/drl/ port/src/lil/ia32/pim/ port/src/lil/pim/ vmcore/include/ vmcore/src/class_supp...

Author: wjwashburn
Date: Wed Nov  8 20:52:12 2006
New Revision: 472771

URL: http://svn.apache.org/viewvc?view=rev&rev=472771
Log:
HARMONY-1558, cleanup of Class.h header file,
tested on windowsxp and linux w/ gcc 4.0.2


Modified:
    incubator/harmony/enhanced/drlvm/trunk/vm/gc_cc/src/gc_for_vm.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/gc_for_vm.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/mark.h
    incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/mark_scan.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/roots.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/include/interpreter_imports.h
    incubator/harmony/enhanced/drlvm/trunk/vm/include/jit_intf.h
    incubator/harmony/enhanced/drlvm/trunk/vm/include/open/gc.h
    incubator/harmony/enhanced/drlvm/trunk/vm/include/open/vm.h
    incubator/harmony/enhanced/drlvm/trunk/vm/include/open/vm_gc.h
    incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_defs.h
    incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native.h
    incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_ia32.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_stack_trace.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_vm_helpers.h
    incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_fld_arr.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_instr.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/drl/DrlVMInterface.h
    incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/pim/stack_iterator.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/Class.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/String_Pool.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/classloader.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/environment.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/jni_direct.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/jni_utils.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/jvmti_direct.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/lock_manager.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/method_lookup.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/object_handles.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/object_layout.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/vm_arrays.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/vm_log.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/vm_stats.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Class.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Class_File_Loader.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Environment.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Initialize.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Prepare.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Resolve.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/String_Pool.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Verifier_stub.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/class_impl.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/classloader.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/java_type.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/method.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/method_lookup.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/type.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_impl.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_jit.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/gc/dll_gc.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/gc/root_set_enum_common.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_init.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_shutdown.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/jit_runtime_support.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/native_overrides.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_array.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_field.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_method.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_utils.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_break.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_break_intf.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_class.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_event.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_field.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_heap.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_heap.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_internal.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_locals.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_object.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_pop_frame.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_roots.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_stack.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_step.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_tags.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_thread.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_thread_group.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_trace.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_watch.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/javasrc/java/lang/Class.java
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/javasrc/java/lang/reflect/AccessibleObject.java
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_VMClassRegistry.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_VMExecutionEngine.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_reflect_VMField.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_reflect_VMReflection.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/org_apache_harmony_util_concurrent_Atomics.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/org_apache_harmony_vm_VMGenericsAndAnnotations.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/org_apache_harmony_vm_VMStack.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/object/object_handles.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/object/vm_arrays.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/reflection/annotations.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/reflection/reflection.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/stack/stack_dump.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/stack/stack_trace.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/mon_enter_exit.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/object_generic.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_dump.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/thread/thread_manager.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/em64t/base/ini_em64t.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ia32/base/compile_IA32.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ia32/base/ini_iA32.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ia32/base/jit_generic_rt_support_ia32.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ia32/base/jit_runtime_support_ia32.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ia32/base/optimize_ia32.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ipf/base/compile_ipf.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ipf/base/ini_ipf.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ipf/base/jit_runtime_support_ipf.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ipf/base/stub_code_utils.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/vm_stats.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/vm_strings.cpp

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/gc_cc/src/gc_for_vm.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/gc_cc/src/gc_for_vm.cpp?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/gc_cc/src/gc_for_vm.cpp (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/gc_cc/src/gc_for_vm.cpp Wed Nov  8 20:52:12 2006
@@ -84,10 +84,6 @@
 //GCExport void gc_add_root_set_entry_managed_pointer(void **slot,
 //                                                    Boolean is_pinned); //  optional
 
-#define BITS_PER_BYTE 8
-#define NEXT_TO_HIGH_BIT_SET_MASK (1<<((sizeof(unsigned) * BITS_PER_BYTE)-2))
-#define NEXT_TO_HIGH_BIT_CLEAR_MASK ~NEXT_TO_HIGH_BIT_SET_MASK
-
 // classloader sometimes sets the bit for finalizible objects (?)
 inline unsigned int get_instance_data_size (unsigned int encoded_size) 
 {

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/gc_for_vm.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/gc_for_vm.cpp?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/gc_for_vm.cpp (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/gc_for_vm.cpp Wed Nov  8 20:52:12 2006
@@ -104,17 +104,6 @@
 // probable need to be looked at also.
 //*****************************************************
 
-#define BITS_PER_BYTE 8
-
-// We want to use signed arithmetic when we do allocation pointer/limit compares.
-// In order to do this all sizes must be positive so when we want to overflow instead of 
-// setting the high bit we set the next to high bit. If we set the high bit and the allocation buffer
-// is at the top of memory we might not detect an overflow the unsigned overflow would produce
-// a small positive number that is smaller then the limit.
-
-#define NEXT_TO_HIGH_BIT_SET_MASK (1<<((sizeof(unsigned) * BITS_PER_BYTE)-2))
-#define NEXT_TO_HIGH_BIT_CLEAR_MASK ~NEXT_TO_HIGH_BIT_SET_MASK
-
 inline unsigned int get_instance_data_size (unsigned int encoded_size) 
 {
     return (encoded_size & NEXT_TO_HIGH_BIT_CLEAR_MASK);

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/mark.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/mark.h?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/mark.h (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/mark.h Wed Nov  8 20:52:12 2006
@@ -34,7 +34,7 @@
 #include "characterize_heap.h"
 
 // for vtable_get_class
-#include "Class.h"
+#include "open/vm_gc.h"
 
 // returns address correcsponding bit index in specified block
 inline void*

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/mark_scan.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/mark_scan.cpp?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/mark_scan.cpp (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/mark_scan.cpp Wed Nov  8 20:52:12 2006
@@ -82,7 +82,7 @@
     assert (type_info_is_reference(tih) || type_info_is_vector(tih) || type_info_is_general_array(tih));
 
     int32 array_length = vector_get_length((Vector_Handle) array);
-    for (jint i = 0; i < array_length; i++) {
+    for (int i = 0; i < array_length; i++) {
         Slot p_element(vector_get_element_address_ref
                 ((Vector_Handle) array, i));
 

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/roots.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/roots.cpp?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/roots.cpp (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/gcv4/src/roots.cpp Wed Nov  8 20:52:12 2006
@@ -29,7 +29,6 @@
 #include "port_atomic.h"
 #include "open/vm_gc.h"
 #include "open/gc.h"
-#include "method_lookup.h"
 
 // GC header files
 #include "gc_cout.h"

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/include/interpreter_imports.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/include/interpreter_imports.h?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/include/interpreter_imports.h (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/include/interpreter_imports.h Wed Nov  8 20:52:12 2006
@@ -22,6 +22,7 @@
 #define _INTERPRETER_IMPORTS_H_
 
 #include "open/types.h"
+#include "vm_core_types.h"
 #include "jvmti.h"
 
 struct ManagedObject;

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/include/jit_intf.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/include/jit_intf.h?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/include/jit_intf.h (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/include/jit_intf.h Wed Nov  8 20:52:12 2006
@@ -55,35 +55,7 @@
 } Method_Side_Effects; //Method_Side_Effects
 
 
-///////////////////////////////////////////////////////////////////////////////
-// Access flags for Class, Class_Member, Field and Method.
-///////////////////////////////////////////////////////////////////////////////
-                                    //      used by
-                                    //
-#define ACC_PUBLIC          0x0001  // Class    Field   Method
-#define ACC_PRIVATE         0x0002  //          Field   Method
-#define ACC_PROTECTED       0x0004  //          Field   Method
-#define ACC_STATIC          0x0008  //          Field   Method
-#define ACC_FINAL           0x0010  // Class    Field   Method
-#define ACC_SUPER           0x0020  // Class
-#define ACC_SYNCHRONIZED    0x0020  //                  Method
-#define ACC_BRIDGE          0x0040  //                  Method (this is Java 1.5 flag)
-#define ACC_VOLATILE        0x0040  //          Field
-#define ACC_VARARGS         0x0080  //                  Method (this is Java 1.5 flag)
-#define ACC_TRANSIENT       0x0080  //          Field
-#define ACC_NATIVE          0x0100  //                  Method
-#define ACC_INTERFACE       0x0200  // Class
-#define ACC_ABSTRACT        0x0400  // Class            Method
-#define ACC_STRICT          0x0800  //                  Method
-// The following are Java 1.5 flags
-#define ACC_SYNTHETIC       0x1000  // Class    Field   Method
-#define ACC_ANNOTATION      0x2000  // Class
-#define ACC_ENUM            0x4000  // Class    Field
-
-
 //////////////// begin C interface
-
-
 //
 // calls from Compiler to VM
 //
@@ -228,7 +200,6 @@
 //
 // Class
 //        
-VMEXPORT char*        class_get_java_name(Class_Handle ch);
 VMEXPORT unsigned     class_get_flags(Class_Handle cl);
 //VMEXPORT ClassLoaderHandle class_get_classloader(Class_Handle ch);
 VMEXPORT unsigned     class_number_fields(Class_Handle ch);

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/include/open/gc.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/include/open/gc.h?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/include/open/gc.h (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/include/open/gc.h Wed Nov  8 20:52:12 2006
@@ -65,13 +65,19 @@
 #define GCExport
 #endif /* #ifndef PLATFORM_POSIX */
 
+#define BITS_PER_BYTE 8
 
+// Signed arithmetic is used when we do allocation pointer/limit compares.
+// In order to do this all sizes must be positive so when we want to overflow
+// instead of setting the high bit we set the next to high bit. If we set the
+// high bit and the allocation buffer is at the top of memory we might not
+// detect an overflow the unsigned overflow would produce a small positive
+// number that is smaller then the limit.
 
+#define NEXT_TO_HIGH_BIT_SET_MASK (1<<((sizeof(unsigned) * BITS_PER_BYTE)-2))
+#define NEXT_TO_HIGH_BIT_CLEAR_MASK ~NEXT_TO_HIGH_BIT_SET_MASK
 
 #if defined(USE_GC_STATIC) || defined(BUILDING_GC)
-
-
-
 
 /*
  * *****

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/include/open/vm.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/include/open/vm.h?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/include/open/vm.h (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/include/open/vm.h Wed Nov  8 20:52:12 2006
@@ -305,7 +305,7 @@
 VMEXPORT unsigned field_get_offset(Field_Handle fh);
 
 // Returns an address of a static field.
-VMEXPORT void *field_get_addr(Field_Handle fh);
+VMEXPORT void *field_get_address(Field_Handle fh);
 
 // Returns a name of the field.
 VMEXPORT const char *field_get_name(Field_Handle fh);

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/include/open/vm_gc.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/include/open/vm_gc.h?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/include/open/vm_gc.h (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/include/open/vm_gc.h Wed Nov  8 20:52:12 2006
@@ -107,6 +107,13 @@
 VMEXPORT bool vm_iterate_object(Managed_Object_Handle object);
 
 /**
+ * GC calls this function for each live object it finds in heap.
+ * This is used for finding unreferenced class loaders for class
+ * unloading.
+ */
+VMEXPORT void vm_notify_live_object_class(Class_Handle);
+
+/**
  * GC calls this function to hint VM that finalizers may need to be run
  * and references enqueued. This method is guaranteed not to hold global
  * GC lock. 
@@ -194,6 +201,19 @@
  * value of WeakReferenceType.
  */
 VMEXPORT WeakReferenceType class_is_reference(Class_Handle clss);
+
+/*
+ * Returns handle of a class for a specified vtable
+ * @param vh - handle of vtable to retrieve class for
+ * @return class handle for a specified vtable
+ */
+VMEXPORT Class_Handle vtable_get_class(VTable_Handle vh);
+
+/**
+ * Notifies VM that live object of this class was found in the heap
+ * @param clss - class of live object in Java heap
+ **/
+VMEXPORT void vm_notify_live_object_class(Class_Handle clss);
 
 /**
  * Returns the offset of the referent field 

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_defs.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_defs.h?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_defs.h (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_defs.h Wed Nov  8 20:52:12 2006
@@ -50,7 +50,7 @@
 
 #define ASSERT_TAGS(a)
 
-#define ASSERT_OBJECT(a) assert((a == 0) || ((*((a)->vt()->clss->class_handle))->vt()->clss == VM_Global_State::loader_env->JavaLangClass_Class))
+#define ASSERT_OBJECT(a) assert((a == 0) || ((*((a)->vt()->clss->get_class_handle()))->vt()->clss == VM_Global_State::loader_env->JavaLangClass_Class))
 
 #ifndef INTERPRETER_USE_MALLOC_ALLOCATION
 #define ALLOC_FRAME(sz) alloca(sz)

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native.h?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native.h (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native.h Wed Nov  8 20:52:12 2006
@@ -18,6 +18,8 @@
  * @author Ivan Volosyuk
  * @version $Revision: 1.8.4.2.4.3 $
  */
+#include "vm_core_types.h"
+
 #ifdef _IPF_
 #include "../m2n_ipf_internal.h"
 #elif defined _EM64T_

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_ia32.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_ia32.cpp?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_ia32.cpp (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_ia32.cpp Wed Nov  8 20:52:12 2006
@@ -84,7 +84,7 @@
     assert(!hythread_is_suspend_enabled());
 
     DEBUG_TRACE("\n<<< interpreter_invoke_native: "
-           << method->get_class()->name->bytes << " "
+           << class_get_name(method_get_class(method)) << " "
            << method->get_name()->bytes
            << method->get_descriptor()->bytes << endl);
 
@@ -106,7 +106,7 @@
 
     jobject _this;
     if (method->is_static()) {
-        _this = (jobject) method->get_class()->class_handle;
+        _this = (jobject) method->get_class()->get_class_handle();
     } else {
         _this = args[pos++].l;
     }
@@ -256,18 +256,18 @@
     }
 
     DEBUG_TRACE("\n<<< native_invoke_static     : "
-           << method->get_class()->name->bytes << " "
+           << class_get_name(method_get_class(method)) << " "
            << method->get_name()->bytes
            << method->get_descriptor()->bytes << endl);
 
     DEBUG_TRACE_PLAIN("interpreter static native: "
-            << frame.method->get_class()->name->bytes
+            << class_get_name(method_get_class(frame.method))
             << " " << frame.method->get_name()->bytes
             << frame.method->get_descriptor()->bytes << endl);
 
     M2N_ALLOC_MACRO;
     
-    frame.This = *(method->get_class()->class_handle);
+    frame.This = *(method->get_class()->get_class_handle());
     int sz = method->get_num_arg_bytes() >> 2;
     uword *args = (uword*) ALLOC_FRAME((sz + 2) * sizeof(uword));
     args[0] = (uword) get_jni_native_intf();
@@ -371,7 +371,7 @@
                         DEBUG2(
                         "VM WARNING: Reference with null value returned from jni function:\n"
                         "VM WARNING: Method name: "
-                        << method->get_class()->name->bytes
+                        << class_get_name(method_get_class(method))
                         << "/" << method->get_name()->bytes
                         << method->get_descriptor()->bytes <<
                         "\nVM WARNING: Not allowed, return NULL (0) instead\n");
@@ -489,12 +489,12 @@
     assert(!method->is_static());
 
     DEBUG_TRACE_PLAIN("interpreter virtual native: "
-            << frame.method->get_class()->name->bytes
+            << class_get_name(method_get_class(frame.method))
             << " " << frame.method->get_name()->bytes
             << frame.method->get_descriptor()->bytes << endl);
 
     DEBUG_TRACE("\n<<< native_invoke_virtual: "
-           << method->get_class()->name->bytes << " "
+           << class_get_name(method_get_class(method)) << " "
            << method->get_name()->bytes
            << method->get_descriptor()->bytes << endl);
 
@@ -609,7 +609,7 @@
                         DEBUG2(
                         "VM WARNING: Reference with null value returned from jni function:\n"
                         "VM WARNING: Method name: "
-                        << method->get_class()->name->bytes
+                        << class_get_name(method_get_class(method))
                         << "/" << method->get_name()->bytes
                         << method->get_descriptor()->bytes <<
                         "\nVM WARNING: Not allowed, return NULL (0) instead\n");

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_stack_trace.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_stack_trace.cpp?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_stack_trace.cpp (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_stack_trace.cpp Wed Nov  8 20:52:12 2006
@@ -174,17 +174,17 @@
 
         if (si->This) {
             vm_enumerate_root_reference((void**)&si->This, FALSE);
-            DEBUG_GC("  [THIS]: " << si->This->vt()->clss->name->bytes << endl);
+            DEBUG_GC("  [THIS]: " << si->This->vt()->clss->get_name()->bytes << endl);
         }
 
         if (si->exc) {
             vm_enumerate_root_reference((void**)&si->exc, FALSE);
-            DEBUG_GC("  [EXCEPTION]: " << si->exc->vt()->clss->name->bytes << endl);
+            DEBUG_GC("  [EXCEPTION]: " << si->exc->vt()->clss->get_name()->bytes << endl);
         }
 
         if (method->is_native()) {
             DEBUG_GC("[METHOD <native>]: "
-                    << method->get_class()->name->bytes << "."
+                    << method->get_class()->get_name()->bytes << "."
                     << method->get_name()->bytes
                     << method->get_descriptor()->bytes << endl);
             interp_si_goto_previous(si);
@@ -192,7 +192,7 @@
         }
 
         DEBUG_GC("[METHOD "<< si->stack.size << " " << (int)si->locals.varNum << "]: "
-                << method->get_class()->name->bytes << "."
+                << class_get_name(method_get_class(method)) << "."
                 << method->get_name()->bytes
                 << method->get_descriptor()->bytes << endl);
 
@@ -205,7 +205,7 @@
                     if (obj == 0) {
                         DEBUG_GC("NULL");
                     } else {
-                        DEBUG_GC(obj->vt()->clss->name->bytes << endl);
+                        DEBUG_GC(obj->vt()->clss->get_name()->bytes << endl);
                         vm_enumerate(cref, FALSE);
                     }
                 }
@@ -221,7 +221,7 @@
                     if (obj == 0) {
                         DEBUG_GC("NULL\n");
                     } else {
-                        DEBUG_GC(obj->vt()->clss->name->bytes << endl);
+                        DEBUG_GC(obj->vt()->clss->get_name()->bytes << endl);
                         vm_enumerate(cref, FALSE);
                     }
                 }
@@ -270,7 +270,7 @@
                     (void**)&si->This, si->This,
                     JVMTI_HEAP_ROOT_STACK_LOCAL,
                     depth, method_id, slot++);
-            DEBUG_GC("  [THIS]: " << si->This->vt()->clss->name->bytes << endl);
+            DEBUG_GC("  [THIS]: " << si->This->vt()->clss->get_name()->bytes << endl);
         }
 
         if (si->exc) {
@@ -278,12 +278,12 @@
                 (void**)&si->exc, si->exc,
                 JVMTI_HEAP_ROOT_STACK_LOCAL,
                 depth, method_id, slot++);
-            DEBUG_GC("  [EXCEPTION]: " << si->exc->vt()->clss->name->bytes << endl);
+            DEBUG_GC("  [EXCEPTION]: " << si->exc->vt()->clss->get_name()->bytes << endl);
         }
 
         if (method->is_native()) {
             DEBUG_GC("[METHOD <native>]: "
-                    << method->get_class()->name->bytes << "."
+                    << method->get_class()->get_name()->bytes << "."
                     << method->get_name()->bytes
                     << method->get_descriptor()->bytes << endl);
             interp_si_goto_previous(si);
@@ -291,7 +291,7 @@
         }
 
         DEBUG_GC("[METHOD "<< si->stack.size << " " << (int)si->locals.varNum << "]: "
-                << method->get_class()->name->bytes << "."
+                << method->get_class()->get_name()->bytes << "."
                 << method->get_name()->bytes
                 << method->get_descriptor()->bytes << endl);
 
@@ -304,7 +304,7 @@
                     if (obj == 0) {
                         DEBUG_GC("NULL");
                     } else {
-                        DEBUG_GC(obj->vt()->clss->name->bytes << endl);
+                        DEBUG_GC(obj->vt()->clss->get_name()->bytes << endl);
                         vm_ti_enumerate_stack_root(ti_env,
                             cref, (Managed_Object_Handle)obj, 
                             JVMTI_HEAP_ROOT_STACK_LOCAL,
@@ -323,7 +323,7 @@
                     if (obj == 0) {
                         DEBUG_GC("NULL\n");
                     } else {
-                        DEBUG_GC(obj->vt()->clss->name->bytes << endl);
+                        DEBUG_GC(obj->vt()->clss->get_name()->bytes << endl);
                         vm_ti_enumerate_stack_root(ti_env,
                             cref, (Managed_Object_Handle)obj, 
                             JVMTI_HEAP_ROOT_STACK_LOCAL,

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_vm_helpers.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_vm_helpers.h?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_vm_helpers.h (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_vm_helpers.h Wed Nov  8 20:52:12 2006
@@ -18,9 +18,9 @@
  * @author Ivan Volosyuk
  * @version $Revision: 1.2.12.2.4.3 $
  */  
-#include "Class.h"
-
 
+#include "vm_core_types.h"
+#include "Class.h"
 
 /**
  * Set thread-local exception with name 'exc'.

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter.cpp?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter.cpp (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter.cpp Wed Nov  8 20:52:12 2006
@@ -960,42 +960,42 @@
 
 static bool
 ldc(StackFrame& frame, uint32 index) {
-    Class *clazz = frame.method->get_class();
-    Const_Pool *cp = clazz->const_pool;
+    Class* clazz = frame.method->get_class();
+    ConstantPool& cp = clazz->get_constant_pool();
 
 #ifndef NDEBUG
-    switch(cp_tag(cp, index)) {
+    switch(cp.get_tag(index)) {
         case CONSTANT_String:
-            DEBUG_BYTECODE("#" << dec << (int)index << " String: \"" << cp[index].CONSTANT_String.string->bytes << "\"");
+            DEBUG_BYTECODE("#" << dec << (int)index << " String: \"" << cp.get_string_chars(index) << "\"");
             break;
         case CONSTANT_Integer:
-            DEBUG_BYTECODE("#" << dec << (int)index << " Integer: " << (int)cp[index].int_value);
+            DEBUG_BYTECODE("#" << dec << (int)index << " Integer: " << (int)cp.get_int(index));
             break;
         case CONSTANT_Float:
-            DEBUG_BYTECODE("#" << dec << (int)index << " Float: " << cp[index].float_value);
+            DEBUG_BYTECODE("#" << dec << (int)index << " Float: " << cp.get_float(index));
             break;
         case CONSTANT_Class:
             DEBUG_BYTECODE("#" << dec << (int)index << " Class: \"" << const_pool_get_class_name(clazz, index) << "\"");
             break;
         default:
-            DEBUG_BYTECODE("#" << dec << (int)index << " Unknown type = " << cp_tag(cp, index));
-            DIE("ldc instruction: unexpected type (" << cp_tag(cp, index) 
+            DEBUG_BYTECODE("#" << dec << (int)index << " Unknown type = " << cp.get_tag(index));
+            DIE("ldc instruction: unexpected type (" << cp.get_tag(index)
                 << ") of constant pool entry [" << index << "]");
             break;
     }
 #endif
 
     frame.stack.push();
-    if (cp_is_string(cp, index)) {
-        // FIXME: is string reference is packed??
+    if(cp.is_string(index)) {
+        // FIXME: is string reference packed??
         // possibly not
-        String* str = (String*) cp[index].CONSTANT_String.string;
+        String* str = cp.get_string(index);
         // FIXME: only compressed references
         frame.stack.pick().cr = COMPRESS_REF(vm_instantiate_cp_string_resolved(str));
         frame.stack.ref() = FLAG_OBJECT;
         return !check_current_thread_exception();
     } 
-    else if (cp_is_class(cp, index)) 
+    else if (cp.is_class(index))
     {
         Class *other_class = interp_resolve_class(clazz, index);
         if (!other_class) {
@@ -1003,13 +1003,13 @@
         }
         assert(!hythread_is_suspend_enabled());
         
-        frame.stack.pick().cr = COMPRESS_REF(*(other_class->class_handle));
+        frame.stack.pick().cr = COMPRESS_REF(*(other_class->get_class_handle()));
         frame.stack.ref() = FLAG_OBJECT;
         
         return !exn_raised();
     }
     
-    frame.stack.pick().u = cp[index].int_value;
+    frame.stack.pick().u = cp.get_4byte(index);
     return true;
 }
 
@@ -1033,10 +1033,11 @@
     uint32 index = read_uint16(frame.ip + 1);
 
     Class *clazz = frame.method->get_class();
-    Const_Pool *cp = clazz->const_pool;
+    ConstantPool& cp = clazz->get_constant_pool();
     frame.stack.push(2);
     Value2 val;
-    val.u64 = ((uint64)cp[index].CONSTANT_8byte.high_bytes << 32) | cp[index].CONSTANT_8byte.low_bytes;
+    val.u64 = ((uint64)cp.get_8byte_high_word(index) << 32)
+        | cp.get_8byte_low_word(index);
     frame.stack.setLong(0, val);
     DEBUG_BYTECODE("#" << dec << (int)index << " (val = " << hex << val.d << ")");
     frame.ip += 3;
@@ -1161,8 +1162,7 @@
     Class *c = clss[0] = arrayClass;
 
     for(d = 1; d < depth; d++) {
-        c = c->array_element_class;
-
+        c = c->get_array_element_class();
         clss[d] = c;
     }
 
@@ -1221,7 +1221,7 @@
     Class *arrayClass = interp_resolve_class(clazz, classId);
     if (!arrayClass) return; // exception
 
-    DEBUG_BYTECODE(arrayClass->name->bytes << " " << depth);
+    DEBUG_BYTECODE(class_get_name(arrayClass) << " " << depth);
 
     bool success = allocDimensions(frame, arrayClass, depth);
     if (!success) {
@@ -1241,7 +1241,7 @@
     Class *objClass = interp_resolve_class_new(clazz, classId);
     if (!objClass) return; // exception
 
-    DEBUG_BYTECODE("cless = " << objClass->name->bytes);
+    DEBUG_BYTECODE("cless = " << class_get_name(objClass));
 
     class_initialize(objClass);
 
@@ -1516,8 +1516,8 @@
     // TODO: check ArrayStoreException
     ManagedObject *arrayObj = (ManagedObject*) array;
     Class *arrayClass = arrayObj->vt()->clss;
-    Class *elementClass = arrayClass->array_element_class;
-    ManagedObject *obj = UNCOMPRESS_REF(frame.stack.pick().cr);
+    Class *elementClass = arrayClass->get_array_element_class();
+    ManagedObject* obj = UNCOMPRESS_REF(frame.stack.pick().cr);
     if (!(obj == 0 || vm_instanceof(obj, elementClass))) {
         interp_throw_exception("java/lang/ArrayStoreException");
         return;
@@ -1624,19 +1624,18 @@
 
 
     if (field->is_final()) {
-        if (frame.method->get_class()->state != ST_Initializing) {
+        if(!frame.method->get_class()->is_initializing()) {
             throwIAE(field_get_name(field));
             return;
         }
     }
 
-    void *addr = field->get_address();
+    void* addr = field_get_address(field);
 
     DEBUG_BYTECODE(field->get_name()->bytes << " " << field->get_descriptor()->bytes
             << " (val = " << hex << (int)frame.stack.pick().i << ")");
 
     switch (field->get_java_type()) {
-
 #ifdef COMPACT_FIELDS // use compact fields on ipf
         case VM_DATA_TYPE_BOOLEAN:
         case VM_DATA_TYPE_INT8:
@@ -1719,7 +1718,7 @@
         M2N_FREE_MACRO;
     }
 
-    void *addr = field->get_address();
+    void *addr = field_get_address(field);
     frame.stack.push();
 
     switch (field->get_java_type()) {
@@ -2047,7 +2046,7 @@
     Method *method = interp_resolve_virtual_method(clazz, methodId);
     if (!method) return; // exception
 
-    DEBUG_BYTECODE(method->get_class()->name->bytes << "."
+    DEBUG_BYTECODE(class_get_name(method_get_class(method)) << "."
             << method->get_name()->bytes << "/"
             << method->get_descriptor()->bytes<< endl);
 
@@ -2063,7 +2062,7 @@
     Method *method = interp_resolve_interface_method(clazz, methodId);
     if (!method) return; // exception
     
-    DEBUG_BYTECODE(method->get_class()->name->bytes << "."
+    DEBUG_BYTECODE(class_get_name(method_get_class(method)) << "."
             << method->get_name()->bytes << "/"
             << method->get_descriptor()->bytes << endl);
 
@@ -2079,7 +2078,7 @@
     Method *method = interp_resolve_static_method(clazz, methodId);
     if (!method) return; // exception
 
-    DEBUG_BYTECODE(method->get_class()->name->bytes << "."
+    DEBUG_BYTECODE(class_get_name(method_get_class(method)) << "."
             << method->get_name()->bytes << "/"
             << method->get_descriptor()->bytes << endl);
 
@@ -2102,7 +2101,7 @@
     Method *method = interp_resolve_special_method(clazz, methodId);
     if (!method) return; // exception
     
-    DEBUG_BYTECODE(method->get_class()->name->bytes << "."
+    DEBUG_BYTECODE(class_get_name(method_get_class(method)) << "."
             << method->get_name()->bytes << "/"
              << method->get_descriptor()->bytes << endl);
 
@@ -2210,7 +2209,7 @@
     Class *objClass = interp_resolve_class(clazz, classId);
     if (!objClass) return; // exception
     
-    DEBUG_BYTECODE("class = " << objClass->name->bytes);
+    DEBUG_BYTECODE("class = " << class_get_name(objClass));
 
     ManagedObject *obj = UNCOMPRESS_REF(frame.stack.pick().cr);
 
@@ -2228,7 +2227,7 @@
     Class *objClass = interp_resolve_class(clazz, classId);
     if (!objClass) return; // exception
     
-    DEBUG_BYTECODE("class = " << objClass->name->bytes);
+    DEBUG_BYTECODE("class = " << class_get_name(objClass));
 
     ManagedObject *obj = UNCOMPRESS_REF(frame.stack.pick().cr);
 
@@ -2303,7 +2302,7 @@
         interp_throw_exception("java/lang/VerifyError");
         return;
     }
-    DEBUG_BYTECODE(" " << obj->vt()->clss->name->bytes << endl);
+    DEBUG_BYTECODE(" " << obj->vt()->clss->get_name()->bytes << endl);
     assert(!hythread_is_suspend_enabled());
     set_current_thread_exception(obj);
 }
@@ -2316,8 +2315,7 @@
     Method *m = frame.method;
     DEBUG_BYTECODE("Searching for exception handler:");
     DEBUG_BYTECODE("   In "
-            << m->get_class()->name->bytes
-            << "/"
+            << class_get_name(method_get_class(m)) << "/"
             << m->get_name()->bytes
             << m->get_descriptor()->bytes << endl);
 
@@ -2363,7 +2361,7 @@
     Method *m = frame.method;
     Handler *h;
     if (findExceptionHandler(frame, exception, &h)){
-        DEBUG_BYTECODE("Exception caught: " << (*exception)->vt()->clss->name->bytes << endl);
+        DEBUG_BYTECODE("Exception caught: " << (*exception)->vt()->clss->get_name()->bytes << endl);
         DEBUG_BYTECODE("Found handler!\n");
         frame.ip = (uint8*)m->get_byte_code_addr() + h->get_handler_pc();
         return true;
@@ -2432,11 +2430,11 @@
                         (f->n_last_bytecode-8)&7]]);
 #else
     const char *filename = class_get_source_file_name(c);
-        ECHO(c->name->bytes << "."
-                << m->get_name()->bytes
-                << m->get_descriptor()->bytes << " ("
-                << (filename != NULL ? filename : "NULL") << ":"
-                << line << ")");
+    ECHO(class_get_name(c) << "."
+        << m->get_name()->bytes
+        << m->get_descriptor()->bytes << " ("
+        << (filename != NULL ? filename : "NULL") << ":"
+        << line << ")");
 #endif
         f = f->prev;
     }
@@ -2527,7 +2525,7 @@
     int stackLength = 0;
     
     DEBUG_TRACE_PLAIN("interpreter: "
-            << frame.method->get_class()->name->bytes
+            << class_get_name(method_get_class(frame.method))
             << " " << frame.method->get_name()->bytes
             << frame.method->get_descriptor()->bytes << endl);
 
@@ -2570,7 +2568,7 @@
         ml->next = 0;
 
         if (frame.method->is_static()) {
-            ml->monitor = *(frame.method->get_class()->class_handle);
+            ml->monitor = *(frame.method->get_class()->get_class_handle());
         } else {
             ml->monitor = UNCOMPRESS_REF(frame.locals(0).cr);
         }
@@ -3093,10 +3091,10 @@
     }
 
     DEBUG_TRACE("\n{{{ interpreter_invoke: "
-           << method->get_class()->name->bytes << " "
+           << class_get_name(method_get_class(method)) << " "
            << method->get_name()->bytes
            << method->get_descriptor()->bytes << endl);
-    
+
     DEBUG("\tmax stack = " << method->get_max_stack() << endl);
     DEBUG("\tmax locals = " << method->get_max_locals() << endl);
 
@@ -3263,11 +3261,10 @@
     }
 
     DEBUG_TRACE("\n{{{ invoke_static     : "
-           << method->get_class()->name->bytes << " "
+           << class_get_name(method_get_class(method)) << " "
            << method->get_name()->bytes
            << method->get_descriptor()->bytes << endl);
 
-
     DEBUG("\tmax stack = " << method->get_max_stack() << endl);
     DEBUG("\tmax locals = " << method->get_max_locals() << endl);
 
@@ -3440,7 +3437,7 @@
     ASSERT_OBJECT(obj);
 
     Class *objClass = obj->vt()->clss;
-    method = objClass->vtable_descriptors[method->get_index()];
+    method = objClass->get_method_from_vtable(method->get_index());
 
     if (method->is_abstract()) {
         ostringstream str;
@@ -3451,7 +3448,7 @@
     }
 
     DEBUG_TRACE("\n{{{ invoke_virtual    : "
-           << method->get_class()->name->bytes << " "
+           << class_get_name(method_get_class(method)) << " "
            << method->get_name()->bytes
            << method->get_descriptor()->bytes << endl);
 
@@ -3475,7 +3472,7 @@
 
     if (!vm_instanceof(obj, method->get_class())) {
         interp_throw_exception("java/lang/IncompatibleClassChangeError",
-            method->get_class()->name->bytes);
+            class_get_name(method_get_class(method)));
         return;
     }
 
@@ -3506,7 +3503,7 @@
     }
 
     DEBUG_TRACE("\n{{{ invoke_interface  : "
-           << method->get_class()->name->bytes << " "
+           << class_get_name(method_get_class(method)) << " "
            << method->get_name()->bytes
            << method->get_descriptor()->bytes << endl);
 
@@ -3552,7 +3549,7 @@
     }
 
     DEBUG_TRACE("\n{{{ invoke_special    : "
-           << method->get_class()->name->bytes << " "
+           << class_get_name(method_get_class(method)) << " "
            << method->get_name()->bytes
            << method->get_descriptor()->bytes << endl);
 

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_fld_arr.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_fld_arr.cpp?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_fld_arr.cpp (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_fld_arr.cpp Wed Nov  8 20:52:12 2006
@@ -253,7 +253,7 @@
     }
     else {
         // static s
-        char * fld_addr = fld ? (char*)field_get_addr(fld) : NULL;
+        char * fld_addr = fld ? (char*)field_get_address(fld) : NULL;
         where = vaddr(jt, fld_addr);
     }
     rlock(where);

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_instr.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_instr.cpp?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_instr.cpp (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_instr.cpp Wed Nov  8 20:52:12 2006
@@ -442,7 +442,7 @@
         //
         baseObject = Val(jobj, NULL_REF);
         rlock(baseObject);
-        void* fieldAddress = field_get_addr(fieldHandle);
+        void* fieldAddress = field_get_address(fieldHandle);
         slotAddress = Opnd(jobj, (jlong)(int_ptr)fieldAddress);
         rlock(slotAddress);
     }

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/drl/DrlVMInterface.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/drl/DrlVMInterface.h?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/drl/DrlVMInterface.h (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/drl/DrlVMInterface.h Wed Nov  8 20:52:12 2006
@@ -205,7 +205,7 @@
     bool          isUnmanagedStatic();
     Type*         getFieldType();
     uint32        getOffset();
-    void*         getAddress()     {return field_get_addr(drlField);}
+    void*         getAddress()     {return field_get_address(drlField);}
 
     // the following method to be used only by the DrlVM implementation
     Field_Handle  getFieldHandle()  {return drlField; }

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/ia32/pim/stack_iterator_ia32.cpp Wed Nov  8 20:52:12 2006
@@ -31,6 +31,7 @@
 #include "open/types.h"
 #include "encoder.h"
 #include "interpreter.h"
+#include "cci.h"
 
 #include "clog.h"
 

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/pim/stack_iterator.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/pim/stack_iterator.cpp?view=diff&rev=472771&r1=472770&r2=472771
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/pim/stack_iterator.cpp (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/port/src/lil/pim/stack_iterator.cpp Wed Nov  8 20:52:12 2006
@@ -24,6 +24,7 @@
 #include "jit_intf_cpp.h"
 #include "m2n.h"
 #include "stack_iterator.h"
+#include "cci.h"
 
 Method_Handle si_get_method(StackIterator* si)
 {