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)
{