harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From var...@apache.org
Subject svn commit: r649083 [2/3] - in /harmony/enhanced/drlvm/trunk/vm: em/src/ gc_gen/src/common/ gc_gen/src/jni/ include/ include/open/ interpreter/src/ jitrino/src/codegenerator/ia32/ jitrino/src/jet/ jitrino/src/optimizer/ jitrino/src/vm/ vmcore/build/ vm...
Date Thu, 17 Apr 2008 13:10:32 GMT
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/VMInterface.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/VMInterface.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/VMInterface.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/VMInterface.cpp Thu Apr 17 06:10:05 2008
@@ -30,7 +30,11 @@
 #include "open/vm_type_access.h"
 #include "open/vm_field_access.h"
 #include "open/vm_method_access.h"
+#include "open/vm_class_loading.h"
+#include "open/vm_class_info.h"
 #include "open/vm_interface.h"
+#include "open/vm_ee.h"
+#include "open/vm.h"
 #include "jit_import_rt.h"
 #include "jit_runtime_support.h"
 
@@ -54,13 +58,13 @@
 static  class_get_array_element_class_t  class_get_array_element_class = 0;
 static  class_get_array_element_size_t  class_get_array_element_size = 0; 
 static  class_get_array_of_class_t  class_get_array_of_class = 0;
-static  class_get_element_type_info_t  class_get_element_type_info = 0;
+static  class_is_non_ref_array_t class_is_non_ref_array = 0;
 static  class_get_name_t class_get_name = 0;
 static  class_get_super_class_t  class_get_super_class = 0;
 static  class_get_depth_t  class_get_depth = 0;
 static  class_get_vtable_t  class_get_vtable = 0;
 static  class_get_allocation_handle_t  class_get_allocation_handle = 0;
-static  class_get_boxed_data_size_t  class_get_boxed_data_size = 0;
+static  class_get_object_size_t  class_get_object_size = 0;
 static  class_cp_get_num_array_dimensions_t class_cp_get_num_array_dimensions = 0;
 static  class_get_class_of_primitive_type_t  class_get_class_of_primitive_type = 0;
 static  class_get_const_string_intern_addr_t class_get_const_string_intern_addr = 0;
@@ -79,7 +83,7 @@
 static  class_is_initialized_t  class_is_initialized = 0;
 static  class_is_finalizable_t  class_is_finalizable = 0;
 static  class_is_instanceof_t class_is_instanceof = 0;
-static  class_is_support_fast_instanceof_t  class_is_support_fast_instanceof = 0;// class_get_fast_instanceof_flag
+static  class_is_support_fast_instanceof_t  class_is_support_fast_instanceof = 0;// class_is_support_fast_instanceof
 static  class_is_primitive_t  class_is_primitive = 0;
 
 static  vm_lookup_class_with_bootstrap_t  vm_lookup_class_with_bootstrap = 0;
@@ -119,7 +123,7 @@
 static  method_get_bytecode_length_t  method_get_bytecode_length = 0;
 static  method_get_max_stack_t  method_get_max_stack = 0;
 static  method_get_exc_handler_number_t  method_get_exc_handler_number = 0;
-static  method_get_offset_t  method_get_offset = 0;
+static  method_get_vtable_offset_t  method_get_vtable_offset = 0;
 static  method_get_indirect_address_t  method_get_indirect_address = 0;
 static  method_get_native_func_addr_t  method_get_native_func_addr = 0;
 static  method_get_max_locals_t  method_get_max_locals = 0;
@@ -141,7 +145,6 @@
 static  method_is_final_t  method_is_final = 0;
 static  method_is_abstract_t  method_is_abstract = 0;
 static  method_is_strict_t  method_is_strict = 0;
-static  method_is_overridden_t  method_is_overridden = 0;
 static  method_is_no_inlining_t  method_is_no_inlining = 0;
 
 
@@ -208,15 +211,13 @@
 static  vm_get_system_object_class_t  vm_get_system_object_class = 0;
 static  vm_get_system_class_class_t  vm_get_system_class_class = 0; // get_system_class_class
 static  vm_get_system_string_class_t  vm_get_system_string_class = 0;
-static  vm_get_vtable_base_t  vm_get_vtable_base = 0; //POINTER_SIZE_INT vm_get_vtable_base()
-static  vm_get_heap_base_address_t  vm_get_heap_base_address = 0; //vm_heap_base_address
-static  vm_get_heap_ceiling_address_t  vm_get_heap_ceiling_address = 0; //vm_heap_ceiling_address
-static  vm_is_heap_compressed_t  vm_is_heap_compressed = 0;//vm_references_are_compressed();
-static  vm_is_vtable_compressed_t  vm_is_vtable_compressed = 0;//vm_vtable_pointers_are_compressed();
+static  vm_get_vtable_base_address_t  vm_get_vtable_base_address = 0; //POINTER_SIZE_INT vm_get_vtable_base_address()
+static  vm_get_heap_base_address_t  vm_get_heap_base_address = 0; //vm_get_heap_base_address
+static  vm_get_heap_ceiling_address_t  vm_get_heap_ceiling_address = 0; //vm_get_heap_ceiling_address
+static  vm_is_heap_compressed_t  vm_is_heap_compressed = 0;//vm_is_heap_compressed();
+static  vm_is_vtable_compressed_t  vm_is_vtable_compressed = 0;//vm_is_vtable_compressed();
 static  vm_patch_code_block_t vm_patch_code_block = 0;
 static  vm_compile_method_t vm_compile_method = 0;
-static  vm_register_jit_extended_class_callback_t vm_register_jit_extended_class_callback = 0;
-static  vm_register_jit_overridden_method_callback_t vm_register_jit_overridden_method_callback = 0;
 static  vm_register_jit_recompiled_method_callback_t vm_register_jit_recompiled_method_callback = 0;
 static  vm_compiled_method_load_t vm_compiled_method_load = 0;
 static  vm_helper_get_addr_t vm_helper_get_addr = 0;
@@ -248,13 +249,13 @@
         class_get_array_element_class = GET_INTERFACE(vm, class_get_array_element_class);
         class_get_array_element_size = GET_INTERFACE(vm, class_get_array_element_size); 
         class_get_array_of_class = GET_INTERFACE(vm, class_get_array_of_class);
-        class_get_element_type_info = GET_INTERFACE(vm, class_get_element_type_info);
+        class_is_non_ref_array = GET_INTERFACE(vm, class_is_non_ref_array);
         class_get_name = GET_INTERFACE(vm, class_get_name);
         class_get_super_class = GET_INTERFACE(vm, class_get_super_class);
         class_get_depth = GET_INTERFACE(vm, class_get_depth);
         class_get_vtable = GET_INTERFACE(vm, class_get_vtable);
         class_get_allocation_handle = GET_INTERFACE(vm, class_get_allocation_handle);
-        class_get_boxed_data_size = GET_INTERFACE(vm, class_get_boxed_data_size);
+        class_get_object_size = GET_INTERFACE(vm, class_get_object_size);
         class_cp_get_num_array_dimensions = GET_INTERFACE(vm, class_cp_get_num_array_dimensions);
         class_get_class_of_primitive_type = GET_INTERFACE(vm, class_get_class_of_primitive_type);
         class_get_const_string_intern_addr = GET_INTERFACE(vm, class_get_const_string_intern_addr);
@@ -313,7 +314,7 @@
         method_get_bytecode_length = GET_INTERFACE(vm, method_get_bytecode_length);
         method_get_max_stack = GET_INTERFACE(vm, method_get_max_stack);
         method_get_exc_handler_number = GET_INTERFACE(vm, method_get_exc_handler_number);
-        method_get_offset = GET_INTERFACE(vm, method_get_offset);
+        method_get_vtable_offset = GET_INTERFACE(vm, method_get_vtable_offset);
         method_get_indirect_address = GET_INTERFACE(vm, method_get_indirect_address);
         method_get_native_func_addr = GET_INTERFACE(vm, method_get_native_func_addr);
         method_get_max_locals = GET_INTERFACE(vm, method_get_max_locals);
@@ -335,7 +336,6 @@
         method_is_final = GET_INTERFACE(vm, method_is_final);
         method_is_abstract = GET_INTERFACE(vm, method_is_abstract);
         method_is_strict = GET_INTERFACE(vm, method_is_strict);
-        method_is_overridden = GET_INTERFACE(vm, method_is_overridden);
         method_is_no_inlining = GET_INTERFACE(vm, method_is_no_inlining);
 
 
@@ -402,15 +402,13 @@
         vm_get_system_object_class = GET_INTERFACE(vm, vm_get_system_object_class);
         vm_get_system_class_class = GET_INTERFACE(vm, vm_get_system_class_class);
         vm_get_system_string_class = GET_INTERFACE(vm, vm_get_system_string_class);
-        vm_get_vtable_base = GET_INTERFACE(vm, vm_get_vtable_base);
+        vm_get_vtable_base_address = GET_INTERFACE(vm, vm_get_vtable_base_address);
         vm_get_heap_base_address = GET_INTERFACE(vm, vm_get_heap_base_address);
         vm_get_heap_ceiling_address = GET_INTERFACE(vm, vm_get_heap_ceiling_address);
         vm_is_heap_compressed = GET_INTERFACE(vm, vm_is_heap_compressed);
         vm_is_vtable_compressed = GET_INTERFACE(vm, vm_is_vtable_compressed);
         vm_patch_code_block = GET_INTERFACE(vm, vm_patch_code_block);
         vm_compile_method = GET_INTERFACE(vm, vm_compile_method);
-        vm_register_jit_extended_class_callback = GET_INTERFACE(vm, vm_register_jit_extended_class_callback);
-        vm_register_jit_overridden_method_callback = GET_INTERFACE(vm, vm_register_jit_overridden_method_callback);
         vm_register_jit_recompiled_method_callback = GET_INTERFACE(vm, vm_register_jit_recompiled_method_callback);
         vm_compiled_method_load = GET_INTERFACE(vm, vm_compiled_method_load);
         vm_helper_get_addr = GET_INTERFACE(vm, vm_helper_get_addr);
@@ -570,7 +568,7 @@
 
 bool
 VMInterface::isArrayOfPrimitiveElements(void* vmClassHandle) {
-    return type_info_is_primitive(class_get_element_type_info((Class_Handle) vmClassHandle))?true:false;
+    return class_is_non_ref_array((Class_Handle) vmClassHandle);
 }
 
 bool
@@ -626,7 +624,7 @@
 
 uint32
 VMInterface::getObjectSize(void * vmTypeHandle) {
-    return class_get_boxed_data_size((Class_Handle) vmTypeHandle);
+    return class_get_object_size((Class_Handle) vmTypeHandle);
 }
 
 void*       VMInterface::getSuperTypeVMTypeHandle(void* vmTypeHandle) {
@@ -672,7 +670,7 @@
 
 uint64
 VMInterface::getVTableBase() {
-    return (uint64)vm_get_vtable_base();
+    return (uint64)vm_get_vtable_base_address();
 }
 
 void*       VMInterface::getTypeHandleFromAllocationHandle(void* vmAllocationHandle)
@@ -716,8 +714,7 @@
 uint32       MethodDesc::getByteCodeSize() const {return (uint32) method_get_bytecode_length(drlMethod);}
 uint16       MethodDesc::getMaxStack() const    {return (uint16) method_get_max_stack(drlMethod);}
 uint32       MethodDesc::getNumHandlers() const {return method_get_exc_handler_number(drlMethod);}
-bool         MethodDesc::isOverridden() const   {return method_is_overridden(drlMethod)?true:false;}
-uint32       MethodDesc::getOffset() const      {return method_get_offset(drlMethod);}
+uint32       MethodDesc::getOffset() const      {return method_get_vtable_offset(drlMethod);}
 void*        MethodDesc::getIndirectAddress() const {return method_get_indirect_address(drlMethod);}
 void*        MethodDesc::getNativeAddress() const {return method_get_native_func_addr(drlMethod);}
 
@@ -1034,18 +1031,6 @@
     if (!m)
         return NULL;
     return getMethodDesc(m);
-}
-
-void         CompilationInterface::setNotifyWhenClassIsExtended(ObjectType * type, 
-                                                                   void * callbackData) {
-    void * typeHandle = type->getVMTypeHandle();
-    vm_register_jit_extended_class_callback(getJitHandle(), (Class_Handle) typeHandle,callbackData);
-}
-
-void         CompilationInterface::setNotifyWhenMethodIsOverridden(MethodDesc * methodDesc, 
-                                                                      void * callbackData) {
-    Method_Handle drlMethod = methodDesc->getMethodHandle();
-    vm_register_jit_overridden_method_callback(getJitHandle(), drlMethod, callbackData);
 }
 
 void         CompilationInterface::setNotifyWhenMethodIsRecompiled(MethodDesc * methodDesc, 

Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/VMInterface.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/VMInterface.h?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/VMInterface.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/VMInterface.h Thu Apr 17 06:10:05 2008
@@ -85,9 +85,6 @@
     // returns true if vtable pointers are compressed
     static bool          isVTableCompressed();
 
-    // returns size of vtable pointer (currently 4 if compressed and 8 otherwise)
-    //static uint32      getVTablePtrSize() {return vm_get_vtable_ptr_size();}
-
     // returns the offset of an object's virtual table
     static uint32      getVTableOffset();
     // returns the base for all vtables (addend to compressed vtable pointer)
@@ -238,7 +235,6 @@
         //
         // DRL kernel
         //
-        bool         isOverridden() const;
         uint32       getOffset() const;
         void*        getIndirectAddress() const;
         void*        getNativeAddress() const;
@@ -381,8 +377,6 @@
     void    unlockMethodData(void);
 
     // methods that register JIT to be notified of various events
-    void    setNotifyWhenClassIsExtended(ObjectType * type, void * callbackData);
-    void    setNotifyWhenMethodIsOverridden(MethodDesc * methodDesc, void * callbackData);
     void    setNotifyWhenMethodIsRecompiled(MethodDesc * methodDesc, void * callbackData);
 
     // write barrier instructions

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/build/vmcore.exp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/build/vmcore.exp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/build/vmcore.exp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/build/vmcore.exp Thu Apr 17 06:10:05 2008
@@ -13,7 +13,7 @@
     class_get_array_element_class;
     class_get_array_element_size;
     class_get_array_of_class;
-    class_get_boxed_data_size;
+    class_get_object_size;
     class_get_class_loader;
     class_get_class_of_primitive_type;
     class_initialize;
@@ -26,7 +26,7 @@
     class_get_declaring_class;
     class_get_depth;
     class_get_element_type_info;
-    class_get_fast_instanceof_flag;
+    class_is_support_fast_instanceof;
     class_get_field;
     class_get_field_by_name;
     class_get_flags;
@@ -59,7 +59,7 @@
     class_is_reference;
     class_is_valuetype;
     class_load_class_by_descriptor;
-    class_load_class_by_name;
+    vm_load_class_with_bootstrap;
     vm_lookup_class_with_bootstrap;
     class_lookup_method_recursively;
     class_number_fields;
@@ -70,7 +70,7 @@
     class_is_abstract;
     class_is_final;
     class_is_interface;
-    compiled_method_load;
+    vm_compiled_method_load;
     compress_reference;
     class_cp_get_class_name;
     class_cp_get_entry_name;
@@ -128,7 +128,7 @@
     class_loader_lock;
     class_loader_unlock;
     get_thread_ptr;
-    get_vm_interface;
+    vm_get_interface;
     initialize_arg_list_iterator;
     init_log_system;
     is_enabled;
@@ -494,7 +494,7 @@
     method_get_name;
     method_get_native_func_addr;
     method_get_exc_handler_number;
-    method_get_offset;
+    method_get_vtable_offset;
     method_get_return_type;
     method_get_side_effects;
     method_get_signature;
@@ -586,10 +586,10 @@
     vm_get_gc_thread_local;
     vm_helper_get_addr;
     vm_helper_get_addr_optimized;
-    vm_get_vtable_base;
+    vm_get_vtable_base_address;
     vm_get_vtable_ptr_size;
-    vm_heap_base_address;
-    vm_heap_ceiling_address;
+    vm_get_heap_base_address;
+    vm_get_heap_ceiling_address;
     vm_heavy_finalizer_block_mutator;
     vm_helper_get_by_name;
     vm_helper_get_calling_convention;
@@ -611,7 +611,7 @@
     vm_patch_code_block;
     vm_reclaim_native_objs;
     vm_recompile_method;
-    vm_references_are_compressed;
+    vm_is_heap_compressed;
     vm_register_jit_extended_class_callback;
     vm_register_jit_overridden_method_callback;
     vm_register_jit_recompiled_method_callback;
@@ -619,7 +619,7 @@
     vm_resolve_class_new;
     vm_resume_threads_after;
     vm_vector_size;
-    vm_vtable_pointers_are_compressed;
+    vm_is_vtable_compressed;
     vtable_get_class;
     vtable_get_super_array_offset;
 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/Class.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/Class.h?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/Class.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/Class.h Thu Apr 17 06:10:05 2008
@@ -28,9 +28,9 @@
 
 #include <assert.h>
 #include "open/gc.h"
+#include "open/rt_types.h"
 #include "port_malloc.h"
 #include "String_Pool.h"
-#include "vtable.h"
 #include "jit_intf.h"
 
 #include <vector>
@@ -61,7 +61,8 @@
 class Package;
 struct VM_thread;
 struct AnnotationTable;
-
+struct VTable;
+struct Intfc_Table;
 
 /** The constant pool entry descriptor.
 * For each constant pool entry, the descriptor content varies depending
@@ -800,9 +801,6 @@
     // class; after super class is loaded, it becomes a pointer to class
     // structure of the super class.
     //
-    // The offset of this field is returned by class_get_super_offset.
-    // Make sure to update this function if the field is moved around.
-    //
     Class_Super m_super_class;
 
     // class name in internal (VM, class-file) format
@@ -817,7 +815,7 @@
     Package* m_package;
 
     // Distance in the hierarchy from java/lang/Object
-    int m_depth;
+    uint32 m_depth;
 
     // The field m_is_suitable_for_fast_instanceof should be 0
     // if depth==0 or depth>=vm_max_fast_instanceof_depth()
@@ -942,9 +940,6 @@
     // shift corresponding to size of element of array, undefined for non-arrays
     unsigned int m_array_element_shift;
 
-    // type descriptor for array element class
-    TypeDesc* m_array_element_type_desc;
-
     // Number of superinterfaces
     uint16 m_num_superinterfaces;
 
@@ -1016,10 +1011,6 @@
     // thread, which currently executes <clinit>
     VM_thread* m_initializing_thread;
 
-    // Notify JITs whenever tis class is extended by calling their
-    // JIT_extended_class_callback callback function,
-    Class_Extended_Notification_Record* m_notify_extended_records;
-
     // These fields store information for
     // Class Hierarchy Analysis JIT optimizations
     // first class extending this class
@@ -1131,7 +1122,7 @@
     
     /** Gets depth in the hierarchy of the given class.
      * @return A number of classes in the super-class hierarchy.*/
-    int get_depth() const { return m_depth; }
+    uint32 get_depth() const { return m_depth; }
     bool get_fast_instanceof_flag() const { return m_is_suitable_for_fast_instanceof; }
 
     /** Gets the vtable for the given class.
@@ -1263,14 +1254,6 @@
         return m_array_element_class;
     }
 
-    /** Gets the array-element type descriptor.
-     * @return Type descriptor for the element of an array
-     * represented by this class.*/
-    TypeDesc* get_array_element_type_desc() const {
-        assert(is_array());
-        return m_array_element_type_desc;
-    }
-
     /** Gets the class state.
      * @return The class state.*/
     Class_State get_state() const { return m_state; }
@@ -1740,20 +1723,6 @@
      * @return An interface vtable from object; <code>NULL</code>, if no 
      *         such interface exists for the object.*/
     static void* helper_get_interface_vtable(ManagedObject* obj, Class* iid);
-
-    /** Registers a callback that is called to notify the given JIT
-     * whenever the given class is extended. The <code>callback_data</code> 
-     * pointer will be passed back to the JIT during the callback. The JIT's callback
-     * function is <code>JIT_extended_class_callback</code>.
-     * @param[in] jit_to_be_notified - JIT to notify on extending the class
-     * @param[in] callback_data      - data to be passed back to JIT, when the callback
-     *                                 is called*/
-    void register_jit_extended_class_callback(JIT* jit_to_be_notified, void* callback_data);
-
-    /** Calls registered JITs callbacks to notify that the given class was 
-     * extended by <code>new_class</code>.
-     * @param[in] new_subclass - a subclass extending the given class*/
-    void do_jit_extended_class_callbacks(Class* new_subclass);
 
     // SourceDebugExtension class attribute support
 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/class_interface.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/class_interface.h?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/class_interface.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/class_interface.h Thu Apr 17 06:10:05 2008
@@ -17,9 +17,6 @@
 #ifndef __CLASS_INTERFACE_H__
 #define __CLASS_INTERFACE_H__
 
-//#include "open/types.h"
-//#include "open/common.h"
-
 /**
  * Enum of constant pool tags
  */
@@ -37,72 +34,5 @@
     _CONSTANT_InterfaceMethodref    = 11,
     _CONSTANT_NameAndType           = 12
 } ClassConstantPoolTags;
-
-/**
- * Class interface
- */
-
-/**
- * Class loader interface
- */
-#if 0
-/**
- * Function sets verify data in class loader.
- * @param classloader - class loader handler
- * @param data        - verify data
- * @note Assertion is raised if classloader is equal to null.
- * @note Function makes non thread save operation and 
- *       must be called in thread safe point.
- */
-void
-cl_set_verify_data_ptr( ClassLoaderHandle classloader, void *data );
-
-/**
- * Function returns verify data in class loader.
- * @param classloader - class loader handler
- * @return Verify data in class loader.
- * @note Assertion is raised if classloader is equal to null.
- */
-void *
-cl_get_verify_data_ptr( ClassLoaderHandle classloader );
-
-/**
- * Function locks class loader.
- * @param classloader - class loader handler
- * @note Assertion is raised if classloader is equal to null.
- */
-void
-cl_acquire_lock( ClassLoaderHandle classloader );
-
-/**
- * Function releases class loader.
- * @param classloader - class loader handler
- * @note Assertion is raised if classloader is equal to null.
- */
-void
-cl_release_lock( ClassLoaderHandle classloader );
-
-/**
- * Function returns loaded class in class loader.
- * @param classloader - class loader handler
- * @param name        - class name
- * @return Loaded class in classloader or null if class isn't loaded in class loader.
- * @note Assertion is raised if classloader or name are equal to null.
- */
-Class_Handle
-cl_get_class( ClassLoaderHandle classloader, const char *name );
-
-/**
- * Function returns loaded class in class loader.
- * @param classloader - class loader handler
- * @param name        - class name
- * @return Loaded class in classloader if class isn't loaded in class loader 
- *         function loads it.
- * @note Assertion is raised if classloader or name are equal to null.
- */
-Class_Handle
-cl_load_class( ClassLoaderHandle classloader, const char *name );
-
-#endif
 
 #endif

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/class_member.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/class_member.h?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/class_member.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/class_member.h Thu Apr 17 06:10:05 2008
@@ -17,6 +17,7 @@
 #ifndef __CLASS_MEMBER_H__
 #define __CLASS_MEMBER_H__
 
+#include "open/rt_types.h"
 #include "annotation.h"
 #include "Class.h"
 #include "vm_java_support.h"
@@ -370,9 +371,6 @@
 };
 
 
-struct Inline_Record;
-
-
 // 20020222 This is only temporary to support the new JIT interface.
 // We will reimplement the signature support.
 struct Method_Signature {
@@ -570,10 +568,6 @@
      */
     CodeChunkInfo *create_code_chunk_info_mt();
 
-    // Notify JITs whenever this method is overridden by a newly loaded class.
-    void register_jit_overridden_method_callback(JIT *jit_to_be_notified, void *callback_data);
-    void do_jit_overridden_method_callbacks(Method *overriding_method);
-
     // Notify JITs whenever this method is recompiled or initially compiled.
     void register_jit_recompiled_method_callback(JIT *jit_to_be_notified, void *callback_data);
     void do_jit_recompiled_method_callbacks();
@@ -785,12 +779,7 @@
         return -1;
     }
 
-    Inline_Record *inline_records;
-    void set_inline_assumption(JIT *jit, Method *caller);
     void method_was_overridden();
-
-    Method_Change_Notification_Record *_notify_override_records;
-
     // Records JITs to be notified when a method is recompiled or initially compiled.
     Method_Change_Notification_Record *_notify_recompiled_records;
 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/dll_jit_intf.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/dll_jit_intf.h?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/dll_jit_intf.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/dll_jit_intf.h Thu Apr 17 06:10:05 2008
@@ -151,28 +151,6 @@
     }
 
     Boolean
-    extended_class_callback(Class_Handle  extended_class,
-                            Class_Handle  new_class,
-                            void         *callback_data)
-    {
-        if (_extended_class_callback != NULL) {
-            return _extended_class_callback(this, extended_class, new_class, callback_data);
-        }
-        return FALSE;
-    }
-
-    Boolean
-    overridden_method_callback(Method_Handle  overridden_method,
-                               Method_Handle  new_method,
-                               void          *callback_data)
-    {
-        if (_overridden_method_callback != NULL) {
-            return _overridden_method_callback(this, overridden_method, new_method, callback_data);
-        }
-        return FALSE;
-    }
-
-    Boolean
     recompiled_method_callback(Method_Handle  recompiled_method,
                                void          *callback_data)
     {
@@ -305,18 +283,6 @@
         Method_Handle                           method,
         const JitFrameContext*                  context
         );
-
-    Boolean
-    (*_extended_class_callback)(JIT_Handle jit,
-                                Class_Handle  extended_class,
-                                Class_Handle  new_class,
-                                void         *callback_data);
-
-    Boolean
-    (*_overridden_method_callback)(JIT_Handle jit,
-                                   Method_Handle  overridden_method,
-                                   Method_Handle  new_method,
-                                   void          *callback_data);
 
     Boolean
     (*_recompiled_method_callback)(JIT_Handle jit,

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/jit_export_rt.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/jit_export_rt.h?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/jit_export_rt.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/jit_export_rt.h Thu Apr 17 06:10:05 2008
@@ -41,26 +41,6 @@
 // to be notified whenever, e.g., a VM data structure changes that would require 
 // code patching or recompilation.
  
-// The callback that corresponds to vm_register_jit_extended_class_callback.  
-// The newly loaded class is new_class.  The JIT should return TRUE if any code was modified
-// (consequently the VM will ensure correctness such as synchronizing I- and D-caches), 
-// and FALSE otherwise.
-JITEXPORT Boolean 
-JIT_extended_class_callback(JIT_Handle jit, 
-                            Class_Handle  extended_class,
-                            Class_Handle  new_class,
-                            void         *callback_data);
-
-// The callback that corresponds to vm_register_jit_overridden_method_callback. 
-// The overriding method is new_method. The JIT should return TRUE if any code was modified
-// (consequently the VM will ensure correctness such as synchronizing I- and D-caches),
-// and FALSE otherwise.
-JITEXPORT Boolean 
-JIT_overridden_method_callback(JIT_Handle jit,
-                               Method_Handle  overridden_method,
-                               Method_Handle  new_method, 
-                               void          *callback_data);
-
 // The callback that corresponds to vm_register_jit_recompiled_method_callback.  
 // The JIT should return TRUE if any code was modified (consequently the VM will ensure 
 // correctness such as synchronizing I- and D-caches), and FALSE otherwise.
@@ -164,7 +144,7 @@
 
 
 // Returns TRUE if the JIT will compress references within objects and vector elements by representing 
-// them as offsets rather than raw pointers. The JIT should call the VM function vm_references_are_compressed()
+// them as offsets rather than raw pointers. The JIT should call the VM function vm_is_heap_compressed()
 // during initialization in order to decide whether it should compress references.
 JITEXPORT Boolean 
 JIT_supports_compressed_references(JIT_Handle jit);

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/jit_intf_cpp.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/jit_intf_cpp.h?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/jit_intf_cpp.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/jit_intf_cpp.h Thu Apr 17 06:10:05 2008
@@ -28,6 +28,7 @@
 
 
 #include "open/types.h"
+#include "open/rt_types.h"
 #include "jit_intf.h"
 #include "jit_export_jpda.h"
 #include "jni.h"
@@ -76,12 +77,6 @@
                                OpenMethodExecutionParams flags          // in
                                ) = 0;
 
-    virtual void
-    method_was_overridden(Method_Handle    UNREF   caller,
-                          Method_Handle    UNREF   callee
-                          ) {};
-
-
 
     //
     // Unwind a stack frame for a method give the context.
@@ -203,23 +198,12 @@
                         void * UNREF addr1,
                         void * UNREF addr2){ };
 
-
-    virtual Boolean
-    extended_class_callback(Class_Handle   UNREF extended_class,
-                            Class_Handle   UNREF new_class,
-                            void         * UNREF callback_data) { return FALSE; };
-
-    virtual Boolean
-    overridden_method_callback(Method_Handle  UNREF overridden_method,
-                                                           Method_Handle  UNREF new_method,
-                               void          * UNREF callback_data) { return FALSE; };
-
     virtual Boolean
     recompiled_method_callback(Method_Handle   UNREF recompiled_method,
                                void          * UNREF callback_data) { return FALSE; };
 
     // Returns TRUE if the JIT will compress references within objects and vector elements by representing 
-    // them as offsets rather than raw pointers. The JIT should call the VM function vm_references_are_compressed()
+    // them as offsets rather than raw pointers. The JIT should call the VM function vm_is_heap_compressed()
     // during initialization in order to decide whether it should compress references.
     virtual Boolean 
     supports_compressed_references() = 0;

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/object_layout.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/object_layout.h?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/object_layout.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/object_layout.h Thu Apr 17 06:10:05 2008
@@ -136,13 +136,13 @@
 inline ManagedObject *get_raw_reference_pointer(ManagedObject **slot_addr)
 {
 #ifdef REFS_USE_RUNTIME_SWITCH
-    if (vm_references_are_compressed()) {
+    if (vm_is_heap_compressed()) {
 #endif // REFS_USE_RUNTIME_SWITCH
 #ifdef REFS_RUNTIME_OR_COMPRESSED
     COMPRESSED_REFERENCE offset = *((COMPRESSED_REFERENCE *)slot_addr);
     assert(is_compressed_reference(offset));
     if (offset != 0) {
-        return (ManagedObject*)((POINTER_SIZE_INT)vm_heap_base_address() + offset);
+        return (ManagedObject*)((POINTER_SIZE_INT)vm_get_heap_base_address() + offset);
     }
 
     return NULL;
@@ -229,10 +229,10 @@
     POINTER_SIZE_INT padding2;
     };
 
-    VTable *vt_unsafe() { return (VTable*)(vt_offset + vm_get_vtable_base()); }
+    VTable *vt_unsafe() { return (VTable*)(vt_offset + (UDATA)vm_get_vtable_base_address()); }
     VTable *vt() { assert(vt_offset); return vt_unsafe(); }
     static VTable *allocation_handle_to_vtable(Allocation_Handle ah) {
-        return (VTable *) ((POINTER_SIZE_INT)ah + vm_get_vtable_base());
+        return (VTable *) ((UDATA)ah + (UDATA)vm_get_vtable_base_address());
     }
     static bool are_vtable_pointers_compressed() { return true; }
 #else // USE_COMPRESSED_VTABLE_POINTERS
@@ -332,6 +332,7 @@
 #endif
 
 #endif // _OBJECT_LAYOUT_H_
+
 
 
 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp Thu Apr 17 06:10:05 2008
@@ -25,6 +25,7 @@
 #include "vm_arrays.h"
 #include "vm_strings.h"
 #include "properties.h"
+#include "vtable.h"
 
 #include "open/hythread_ext.h"
 #include "port_mutex.h"
@@ -39,6 +40,8 @@
 #include "open/vm_method_access.h"
 #include "open/vm_class_manipulation.h"
 #include "open/vm_class_loading.h"
+#include "open/vm_class_info.h"
+#include "open/vm_ee.h"
 #include "jit_intf.h"
 
 BOOLEAN class_is_final(Class_Handle cl) {
@@ -397,7 +400,7 @@
 }
 
 
-unsigned    method_get_offset(Method_Handle m)
+size_t  method_get_vtable_offset(Method_Handle m)
 {
     assert(m);
     return m->get_offset();
@@ -461,15 +464,6 @@
 } // method_is_overridden
 
 
-JIT_Handle method_get_JIT_id(Compile_Handle h)
-{
-    assert(h);
-    Compilation_Handle* ch = (Compilation_Handle*)h;
-    return ch->jit;
-} //method_get_JIT_id
-
-
-
 const char* class_get_name(Class_Handle cl)
 {
     assert(cl);
@@ -489,26 +483,13 @@
 } //class_get_flags
 
 
-int class_get_super_offset()
-{
-    return sizeof(VTable*);
-} //class_get_super_offset
-
-
-int vtable_get_super_array_offset()
-{
-    VTable *vtable = 0;
-    return (int) (((Byte *)&vtable->superclasses) - (Byte *)vtable);
-}//vtable_get_super_array_offset
-
-
-int class_get_depth(Class_Handle cl)
+U_32 class_get_depth(Class_Handle cl)
 {
     assert(cl);
     return cl->get_depth();
 } //class_get_depth
 
-Boolean class_get_fast_instanceof_flag(Class_Handle cl)
+BOOLEAN class_is_support_fast_instanceof(Class_Handle cl)
 {
     assert(cl);
     return cl->get_fast_instanceof_flag();
@@ -809,33 +790,6 @@
     return (Arg_List_Iterator)((Method *)m)->get_argument_list();
 }
 
-
-
-
-
-
-Class_Handle
-vm_resolve_class(Compile_Handle h,
-                  Class_Handle c,
-                 unsigned index)
-{
-    assert(c);
-    return (Class*) resolve_class(h, c, index);
-} //vm_resolve_class
-
-
-
-Class_Handle
-vm_resolve_class_new(Compile_Handle h,
-                     Class_Handle c,
-                     unsigned index)
-{
-    assert(c);
-    return resolve_class_new(h, c, index);
-} //vm_resolve_class_new
-
-
-
 Class_Handle resolve_class_from_constant_pool(Class_Handle c_handle, unsigned index)
 {
     assert(c_handle);
@@ -845,13 +799,9 @@
 
 Field_Handle class_resolve_nonstatic_field(Class_Handle clss, unsigned short cp_index)
 {
-    Compilation_Handle ch;
-    ch.env = VM_Global_State::loader_env;
-    ch.jit = NULL;
-    Field_Handle fh = resolve_field(&ch, (Class_Handle)clss, cp_index);
-    if(!fh || field_is_static(fh))
-        return NULL;
-    return fh;
+    assert(clss);
+    Field* f = clss->_resolve_field(VM_Global_State::loader_env, cp_index);
+    return (!f || f->is_static()) ? NULL : f;
 } // class_resolve_nonstatic_field
 
 
@@ -862,19 +812,13 @@
     return ch->get_class_loader();
 } //class_get_class_loader
 
-
-
 Class_Handle
-class_load_class_by_name(const char *name,
-                         Class_Handle ch)
+vm_load_class_with_bootstrap(const char *name)
 {
-    assert(ch);
     Global_Env *env = VM_Global_State::loader_env;
     String *n = env->string_pool.lookup(name);
-    return ch->get_class_loader()->LoadClass(env, n);
-} //class_load_class_by_name
-
-
+    return env->bootstrap_class_loader->LoadClass(env, n);
+} 
 
 Class_Handle
 vm_lookup_class_with_bootstrap(const char* name)
@@ -927,67 +871,6 @@
     return ch->get_class_loader()->LoadClass(env, n);;
 } //class_load_class_by_descriptor
 
-
-Class_Handle class_find_loaded(ClassLoaderHandle loader, const char* name)
-{
-    char* name3 = strdup(name);
-    char* p = name3;
-    while (*p) {
-        if (*p=='.') *p='/';
-        p++;
-    }
-    Global_Env* env = VM_Global_State::loader_env;
-    String* name2 = env->string_pool.lookup(name3);
-    Class* ch;
-    if (loader) {
-        ch = loader->LookupClass(name2);
-    } else {
-        ch = env->bootstrap_class_loader->LookupClass(name2);
-    }
-    STD_FREE(name3);
-    if(ch && (!ch->verify(env) || !ch->prepare(env))) return NULL;
-    return ch;
-}
-
-Class_Handle class_find_class_from_loader(ClassLoaderHandle loader, const char* n, Boolean init)
-{
-    ASSERT_RAISE_AREA;
-    assert(hythread_is_suspend_enabled()); // -salikh
-    char *new_name = strdup(n);
-    char *p = new_name;
-    while (*p) {
-        if (*p == '.') *p = '/';
-        p++;
-    }
-    String* name = VM_Global_State::loader_env->string_pool.lookup(new_name);
-    STD_FREE(new_name);
-    Class* ch;
-    if (loader) {
-        ch = class_load_verify_prepare_by_loader_jni(
-            VM_Global_State::loader_env, name, loader);
-    } else {
-        assert(hythread_is_suspend_enabled());
-        ch = class_load_verify_prepare_from_jni(VM_Global_State::loader_env, name);
-    }
-    if (!ch) return NULL;
-    // All initialization from jni should not propagate exceptions and
-    // should return to calling native method.
-    if(init) {
-        class_initialize_from_jni(ch);
-
-        if (exn_raised()) {
-            return NULL;
-        }
-    }
-
-    if(exn_raised()) {
-        return 0;
-    }
-
-    return ch;
-}
-
-
 //
 // The following do not cause constant pools to be resolve, if they are not
 // resolved already
@@ -1071,7 +954,7 @@
     *end_offset      = h->get_end_pc();
     *handler_offset  = h->get_handler_pc();
     *handler_cpindex = h->get_catch_type_index();
-} //method_get_handler_info
+}
 
 
 
@@ -1129,16 +1012,7 @@
 } //class_lookup_method_recursively
 
 
-struct ChList {
-    JIT_Handle          jit;
-    Compilation_Handle  ch;
-    ChList*             next;
-};
-
-static ChList* chs = NULL;
-
-
-int object_get_vtable_offset()
+size_t object_get_vtable_offset()
 {
     return 0;
 } //object_get_vtable_offset
@@ -1197,14 +1071,6 @@
 } //vector_first_element_offset_unboxed
 
 
-int array_first_element_offset_unboxed(Class_Handle element_type)
-{
-    assert(element_type);
-    return vector_first_element_offset_unboxed(element_type);
-} //array_first_element_offset_unboxed
-
-
-
 int vector_first_element_offset(VM_Data_Type element_type)
 {
     switch(element_type) {
@@ -1234,16 +1100,6 @@
 } //method_is_java
 
 
-
-
-// 20020220 TO DO:
-// 1. Add the is_value_type field to the Java build of VM?
-Boolean class_is_valuetype(Class_Handle ch)
-{
-    assert(ch);
-    return class_is_primitive(ch);
-} //class_is_valuetype
-
 BOOLEAN class_is_enum(Class_Handle ch)
 {
     assert(ch);
@@ -1417,7 +1273,7 @@
 } // method_get_signature
 
 
-unsigned class_number_fields(Class_Handle ch)
+U_16 class_number_fields(Class_Handle ch)
 {
     assert(ch);
     return ch->get_number_of_fields();
@@ -1443,7 +1299,7 @@
 } // class_num_instance_fields_recursive
 
 
-Field_Handle class_get_field(Class_Handle ch, unsigned idx)
+Field_Handle class_get_field(Class_Handle ch, U_16 idx)
 {
     assert(ch);
     if(idx >= ch->get_number_of_fields()) return NULL;
@@ -1595,13 +1451,6 @@
     return ms->return_type_desc;
 } //method_ret_type_get_type_info
 
-
-void free_string_buffer(char *buffer)
-{
-    STD_FREE(buffer);
-} //free_string_buffer
-
-
 Type_Info_Handle field_get_type_info(Field_Handle fh)
 {
     assert(fh);
@@ -1612,15 +1461,6 @@
 } // field_get_type_info
 
 
-
-Type_Info_Handle class_get_element_type_info(Class_Handle ch)
-{
-    assert(ch);
-    TypeDesc* td = ch->get_array_element_type_desc();
-    assert(td);
-    return td;
-} //class_get_element_type_info
-
 /////////////////////////////////////////////////////
 // New GC stuff
 
@@ -1684,15 +1524,6 @@
         & CL_PROP_ALIGNMENT_MASK);
 } //class_get_alignment
 
-
-
-// (20020313) Should it always be the same as class_get_alignment?
-unsigned class_get_alignment_unboxed(Class_Handle ch)
-{
-    assert(ch);
-    return class_get_alignment(ch);
-} //class_get_alignment_unboxed
-
 //
 // Returns the size of an element in the array class.
 //
@@ -1702,13 +1533,11 @@
     return ch->get_array_element_size();
 } //class_element_size
 
-
-
-unsigned class_get_boxed_data_size(Class_Handle ch)
+size_t class_get_object_size(Class_Handle ch)
 {
     assert(ch);
     return ch->get_allocated_size();
-} //class_get_boxed_data_size
+} //class_get_object_size
 
 
 
@@ -1738,8 +1567,6 @@
 } // method_is_no_inlining
 
 
-#define QUAL_NAME_BUFF_SIZE 128
-
 // Class ch is a subclass of method_get_class(mh).  The function returns a method handle
 // for an accessible method overriding mh in ch or in its closest superclass that overrides mh.
 // Class ch must be a class not an interface.
@@ -1854,28 +1681,28 @@
 }
 
 
-VMEXPORT Boolean vm_references_are_compressed()
+BOOLEAN vm_is_heap_compressed()
 {
     return REFS_IS_COMPRESSED_MODE;
-} //vm_references_are_compressed
+} //vm_is_heap_compressed
 
 
-VMEXPORT void *vm_heap_base_address()
+void *vm_get_heap_base_address()
 {
     return (void*)VM_Global_State::loader_env->heap_base;
-} //vm_heap_base_address
+} //vm_get_heap_base_address
 
 
-VMEXPORT void *vm_heap_ceiling_address()
+void *vm_get_heap_ceiling_address()
 {
     return (void *)VM_Global_State::loader_env->heap_end;
-} //vm_heap_ceiling_address
+} //vm_get_heap_ceiling_address
 
 
-Boolean vm_vtable_pointers_are_compressed()
+BOOLEAN vm_is_vtable_compressed()
 {
     return ManagedObject::are_vtable_pointers_compressed();
-} //vm_vtable_pointers_are_compressed
+} //vm_is_vtable_compressed
 
 
 Class_Handle allocation_handle_get_class(Allocation_Handle ah)
@@ -1883,9 +1710,9 @@
     assert(ah);
     VTable *vt;
 
-    if (vm_vtable_pointers_are_compressed())
+    if (vm_is_vtable_compressed())
     {
-        vt = (VTable *) ((POINTER_SIZE_INT)ah + vm_get_vtable_base());
+        vt = (VTable *) ((UDATA)ah + (UDATA)vm_get_vtable_base_address());
     }
     else
     {
@@ -1901,50 +1728,11 @@
     return ch->get_allocation_handle();
 }
 
-
-unsigned vm_get_vtable_ptr_size()
-{
-    if(vm_vtable_pointers_are_compressed())
-    {
-        return sizeof(uint32);
-    }
-    else
-    {
-        return sizeof(POINTER_SIZE_INT);
-    }
-}
-
-
 ////////////////////////////////////////////////////////////////////////////////////
 // Direct call-related functions that allow a JIT to be notified whenever a VM data
 // structure changes that would require code patching or recompilation.
 ////////////////////////////////////////////////////////////////////////////////////
 
-// Called by a JIT in order to be notified whenever the given class (or any of its subclasses?)
-// is extended. The callback_data pointer will be passed back to the JIT during the callback.
-// The callback function is JIT_extended_class_callback.
-void vm_register_jit_extended_class_callback(JIT_Handle jit, Class_Handle clss,
-                                             void* callback_data)
-{
-    assert(clss);
-    JIT* jit_to_be_notified = (JIT*)jit;
-    Class *c = (Class *)clss;
-    clss->register_jit_extended_class_callback(jit_to_be_notified, callback_data);
-} // vm_register_jit_extended_class_callback
-
-
-// Called by a JIT in order to be notified whenever the given method is overridden by a newly
-// loaded class. The callback_data pointer will be passed back to the JIT during the callback.
-// The callback function is JIT_overridden_method_callback.
-void vm_register_jit_overridden_method_callback(JIT_Handle jit, Method_Handle method,
-                                                void* callback_data)
-{
-    assert(method);
-    JIT* jit_to_be_notified = (JIT*)jit;
-    method->register_jit_overridden_method_callback(jit_to_be_notified, callback_data);
-} //vm_register_jit_overridden_method_callback
-
-
 // Called by a JIT in order to be notified whenever the given method is recompiled or
 // initially compiled. The callback_data pointer will be passed back to the JIT during the callback.
 // The callback method is JIT_recompiled_method_callback.
@@ -1977,17 +1765,6 @@
 
 } //vm_patch_code_block
 
-
-// Called by a JIT to have the VM recompile a method using the specified JIT. After
-// recompilation, the corresponding vtable entries will be updated, and the necessary
-// callbacks to JIT_recompiled_method_callback will be made. It is a requirement that
-// the method has not already been compiled by the given JIT; this means that multiple
-// instances of a JIT may need to be active at the same time. 
-void vm_recompile_method(JIT_Handle jit, Method_Handle method)
-{
-    compile_do_compilation_jit((Method*) method, (JIT*) jit);
-} // vm_recompile_method
-
 // Called by JIT during compilation to have the VM synchronously request a JIT (maybe another one)
 // to compile another method.
 JIT_Result vm_compile_method(JIT_Handle jit, Method_Handle method)
@@ -1995,10 +1772,6 @@
     return compile_do_compilation_jit((Method*) method, (JIT*) jit);
 } // vm_compile_method
 
-CallingConvention vm_managed_calling_convention()
-{
-    return CC_Vm;
-} //vm_managed_calling_convention
 
 void vm_properties_set_value(const char* key, const char* value, PropertyTable table_number) 
 {
@@ -2042,22 +1815,21 @@
     }
 }
 
-int vm_property_is_set(const char* key, PropertyTable table_number)
+BOOLEAN vm_property_is_set(const char* key, PropertyTable table_number)
 {
-    int value;
+    bool value = false;
     assert(key);
     switch(table_number) {
     case JAVA_PROPERTIES: 
-        value = VM_Global_State::loader_env->JavaProperties()->is_set(key) ? 1 : 0;
+        value = VM_Global_State::loader_env->JavaProperties()->is_set(key);
         break;
     case VM_PROPERTIES: 
-        value = VM_Global_State::loader_env->VmProperties()->is_set(key) ? 1 : 0;
+        value = VM_Global_State::loader_env->VmProperties()->is_set(key);
         break;
     default:
-        value = -1;
         ASSERT(0, "Unknown property table: " << table_number);
     }
-    return value;
+    return value ? TRUE : FALSE;
 }
 
 char** vm_properties_get_keys(PropertyTable table_number)
@@ -2181,6 +1953,7 @@
         Annotation* antn = table->table[i];
         Type_Info_Handle tih = (Type_Info_Handle) type_desc_create_from_java_descriptor(antn->type->bytes, owner->get_class_loader());
         if (tih) {
+            //FIXME optimize: first check if class name matches
             Class* type = type_info_get_class(tih);
             if (antn_type == type) {
                 return antn;

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Class.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Class.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Class.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Class.cpp Thu Apr 17 06:10:05 2008
@@ -41,7 +41,7 @@
 #include "cci.h"
 #include "interpreter.h"
 #include "port_threadunsafe.h"
-
+#include "vtable.h"
 #include "inline_info.h"
 
 #ifdef _IPF_
@@ -87,7 +87,6 @@
 
     m_num_dimensions = 0;
     m_array_base_class = m_array_element_class = NULL;
-    m_array_element_type_desc = NULL;
 
     m_access_flags = 0;
     m_num_superinterfaces = 0;
@@ -135,8 +134,6 @@
 
     m_num_field_padding_bytes = 0;
 
-    m_notify_extended_records = 0;
-
     m_depth = 0;
     m_is_suitable_for_fast_instanceof = 0;
 
@@ -167,12 +164,6 @@
 
     if(m_lock)
         delete m_lock;
-
-    if(m_array_element_type_desc)
-    {
-        delete m_array_element_type_desc;
-        m_array_element_type_desc = NULL;
-    }
 }
 
 
@@ -319,8 +310,6 @@
             m_cha_next_sibling = get_super_class()->m_cha_first_child;
             get_super_class()->m_cha_first_child = this;
         }
-        // Notify interested JITs that the superclass has been extended.
-        superClass->do_jit_extended_class_callbacks(this);
     }
 
     //
@@ -380,7 +369,6 @@
     m_state = ST_Initialized;
 
     assert(elementClass);
-    m_array_element_type_desc = type_desc_create_from_class(elementClass);
 
     // insert Java field, required by spec - 'length I'
     m_num_fields = 1;
@@ -624,9 +612,7 @@
     _jits = NULL;
     _side_effects = MSE_Unknown;
     _method_sig = 0;
-    inline_records = 0;
 
-    _notify_override_records   = NULL;
     _notify_recompiled_records = NULL;
     _index = 0;
     _max_stack=_max_locals=_n_exceptions=_n_handlers=0;
@@ -1114,47 +1100,6 @@
     }
 };
 
-
-void Class::register_jit_extended_class_callback(JIT* jit_to_be_notified, void* callback_data)
-{
-    // Don't insert the same entry repeatedly on the notify_extended_records list.
-    Class_Extended_Notification_Record* nr = m_notify_extended_records;
-    while(nr != NULL) {
-        if(nr->equals(this, jit_to_be_notified, callback_data)) {
-            return;
-        }
-        nr = nr->next;
-    }
-
-    // Insert a new notification record.
-    Class_Extended_Notification_Record* new_nr =
-        (Class_Extended_Notification_Record*)STD_MALLOC(sizeof(Class_Extended_Notification_Record));
-    new_nr->class_of_interest = this;
-    new_nr->jit = jit_to_be_notified;
-    new_nr->callback_data = callback_data;
-    new_nr->next = m_notify_extended_records;
-    m_notify_extended_records = new_nr;
-} // Class::register_jit_extended_class_callback
-
-
-void Class::do_jit_extended_class_callbacks(Class* new_subclass)
-{
-    Class_Extended_Notification_Record* nr;
-    for(nr = m_notify_extended_records;  nr != NULL;  nr = nr->next) {
-        JIT* jit_to_be_notified = nr->jit;
-        Boolean code_was_modified =
-            jit_to_be_notified->extended_class_callback(this,
-                new_subclass, nr->callback_data);
-        if(code_was_modified) {
-#ifdef _IPF_
-            sync_i_cache();
-            do_mf();
-#endif // _IPF_
-        }
-    }
-} // Class::do_jit_extended_class_callbacks
-
-
 void Class::lock()
 {
     m_lock->_lock();
@@ -1184,11 +1129,6 @@
     size += m_static_data_size;
     if(!is_interface())
         size += sizeof(VTable);
-    for(Class_Extended_Notification_Record* mcnr = m_notify_extended_records;
-        mcnr != NULL; mcnr = mcnr->next)
-    {
-        size += sizeof(Class_Extended_Notification_Record);
-    }
     size += sizeof(Lock_Manager);
 
     return size;

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Environment.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Environment.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Environment.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Environment.cpp Thu Apr 17 06:10:05 2008
@@ -340,7 +340,8 @@
     assert(pool_size);
 }
 
-POINTER_SIZE_INT vm_get_vtable_base()
+
+void* vm_get_vtable_base_address()
 {
     assert (VM_Global_State::loader_env->VTableMemoryManager);
 
@@ -348,8 +349,8 @@
     assert (VM_Global_State::loader_env->VTableMemoryManager->get_base());
     // Subtract a small number (like 1) from the real base so that
     // no valid vtable offsets will ever be 0.
-    return (POINTER_SIZE_INT) (VM_Global_State::loader_env->VTableMemoryManager->get_base() - 8);
+    return (void*) (VM_Global_State::loader_env->VTableMemoryManager->get_base() - 8);
 #else
-    return 0;
+    return NULL;
 #endif
 } //vm_get_vtable_base

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Initialize.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Initialize.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Initialize.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Initialize.cpp Thu Apr 17 06:10:05 2008
@@ -19,6 +19,7 @@
 #include "cxxlog.h"
 
 #include "open/vm_class_manipulation.h"
+#include "vtable.h"
 #include "Class.h"
 #include "open/jthread.h"
 //#include "open/gc.h"

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Prepare.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Prepare.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Prepare.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Prepare.cpp Thu Apr 17 06:10:05 2008
@@ -887,7 +887,7 @@
         }
     }
     if(m_depth > 0
-        && (unsigned)m_depth < vm_max_fast_instanceof_depth()
+        && m_depth < vm_max_fast_instanceof_depth()
         && !is_array()
         && !is_interface())
     {
@@ -1306,10 +1306,10 @@
         m_vtable->methods[i] = NULL;    // for now
     }
 
-    if(vm_vtable_pointers_are_compressed())
+    if(vm_is_vtable_compressed())
     {
         m_allocation_handle =
-            (Allocation_Handle)((POINTER_SIZE_INT)m_vtable - vm_get_vtable_base());
+            (Allocation_Handle)((UDATA)m_vtable - (UDATA)vm_get_vtable_base_address());
     }
     else
     {
@@ -1370,7 +1370,7 @@
 
     // Set up the class_properties field.
     if(is_array()) {
-        m_array_element_size = (vm_references_are_compressed()
+        m_array_element_size = (vm_is_heap_compressed()
             ? sizeof(COMPRESSED_REFERENCE) : sizeof(RAW_REFERENCE));
         m_array_element_shift = m_array_element_size == 8 ? 3 : 2;
         m_vtable->class_properties |= CL_PROP_ARRAY_MASK;

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Resolve.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Resolve.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Resolve.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Resolve.cpp Thu Apr 17 06:10:05 2008
@@ -96,14 +96,13 @@
 #include "Class.h"
 #include "classloader.h"
 #include "environment.h"
-#include "jit_intf.h"
 #include "compile.h"
 #include "exceptions.h"
 #include "interpreter.h"
 
 #include "open/bytecodes.h"
 #include "open/vm_class_manipulation.h"
-//#include "open/vm_util.h"
+#include "open/vm_ee.h"
 
 
 static void class_report_failure(Class* target, uint16 cp_index, jthrowable exn)
@@ -761,14 +760,6 @@
     }
     return method;
 }
-
-
-Field_Handle resolve_field(Compile_Handle h,
-                           Class_Handle c,
-                           unsigned index)
-{
-    return c->_resolve_field(compile_handle_to_environment(h), index);
-} // resolve_field
 
 
 //

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/classloader.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/classloader.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/classloader.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/classloader.cpp Thu Apr 17 06:10:05 2008
@@ -27,6 +27,7 @@
 
 #include "open/vm_method_access.h"
 #include "open/vm_class_manipulation.h"
+#include "jit_import_rt.h"
 #include "open/vm_properties.h"
 #include "classloader.h"
 #include "object_layout.h"

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/method.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/method.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/method.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/method.cpp Thu Apr 17 06:10:05 2008
@@ -543,117 +543,10 @@
     return _exceptions[n];
 }
 
-
-
-//////////////////////////////////////////////////////
-// begin inlining support
-
-struct Inline_Record {
-    JIT *jit;
-    Method *caller;
-    Inline_Record *next;
-    bool equals(JIT *jit_, Method* caller_){
-        if (jit == jit_ &&
-            caller == caller_)
-            return true;
-        return false;
-    }
-};
-
-
-void Method::set_inline_assumption(JIT *jit, Method *caller) 
-{
-    // don't insert a record repeatedly
-    Inline_Record *itr = inline_records;
-    while (itr != NULL){
-        if (itr->equals(jit, caller) )
-            return;
-        itr = itr->next;
-    }
-    Inline_Record *ir = (Inline_Record *)STD_MALLOC(sizeof(Inline_Record));
-    ir->jit    = jit;
-    ir->caller = caller;
-    ir->next   = inline_records;
-    inline_records = ir;
-} //Method::set_inline_assumption
-
-
 void Method::method_was_overridden() 
 {
     _flags.is_overridden = 1;
-
-    while(inline_records) {
-        Inline_Record *curr = inline_records;
-        curr->jit->method_was_overridden(curr->caller, this);
-        inline_records = curr->next;
-        STD_FREE(curr);
-    }
 } //Method::method_was_overridden
-
-// end inlining support
-//////////////////////////////////////////////////////
-
-
-
-////////////////////////////////////////////////////////////////////
-// begin support for JIT notification when methods are overridden
-
-// Notify the given JIT whenever this method is overridden by a newly loaded class.
-// The callback_data pointer will be passed back to the JIT during the callback.  
-// The JIT's callback function is JIT_overridden_method_callback.
-void Method::register_jit_overridden_method_callback(JIT *jit_to_be_notified, void *callback_data)
-{
-    // Don't insert the same entry repeatedly on the notify_override_records list.
-    Method_Change_Notification_Record *nr = _notify_override_records;
-    while (nr != NULL) {
-        if (nr->equals(jit_to_be_notified, callback_data)) {
-            return;
-        }
-        nr = nr->next;
-    }
-
-    // Insert a new notification record.
-    Method_Change_Notification_Record *new_nr = 
-        (Method_Change_Notification_Record *)STD_MALLOC(sizeof(Method_Change_Notification_Record));
-    new_nr->method_of_interest = this;
-    new_nr->jit                = jit_to_be_notified;
-    new_nr->callback_data      = callback_data;
-    new_nr->next               = _notify_override_records;
-    _notify_override_records = new_nr;
-} //Method::register_jit_overridden_method_callback
-
-
-void Method::do_jit_overridden_method_callbacks(Method *overriding_method) 
-{
-    Method_Change_Notification_Record *nr;
-    for (nr = _notify_override_records;  nr != NULL;  nr = nr->next) {
-        JIT *jit_to_be_notified = nr->jit;
-        Boolean code_was_modified = 
-            jit_to_be_notified->overridden_method_callback(/*overridden_method*/ this,
-                                                           /*new_method*/ overriding_method,
-                                                           nr->callback_data);
-        if (code_was_modified) {
-#ifdef _IPF_
-            // 20030128 Is this flush_hw_cache() necessary?
-            CodeChunkInfo *jit_info;
-            for (jit_info = get_first_JIT_specific_info(); jit_info; jit_info = jit_info->_next) {
-                if (jit_info->get_jit() == jit_to_be_notified) {
-                    flush_hw_cache((Byte *)jit_info->get_code_block_addr(), jit_info->get_code_block_size());
-                }
-            }
-            sync_i_cache();            
-            do_mf();
-#endif //_IPF_
-        }
-    }
-} //Method::do_jit_overridden_method_callbacks
-
-// end support for JIT notification when methods are overridden
-////////////////////////////////////////////////////////////////////
-
-
-
-
 ////////////////////////////////////////////////////////////////////
 // begin support for JIT notification when methods are recompiled
 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions.cpp Thu Apr 17 06:10:05 2008
@@ -22,6 +22,7 @@
 #define LOG_DOMAIN "exn"
 #include "clog.h"
 
+#include "vtable.h"
 #include "heap.h"
 #include "classloader.h"
 #include "exceptions.h"

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_impl.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_impl.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_impl.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_impl.cpp Thu Apr 17 06:10:05 2008
@@ -24,6 +24,7 @@
 #include "clog.h"
 
 #include "open/vm_class_manipulation.h"
+#include "vtable.h"
 #include "Class.h"
 #include "classloader.h"
 #include "exceptions.h"

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_jit.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_jit.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_jit.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_jit.cpp Thu Apr 17 06:10:05 2008
@@ -23,9 +23,10 @@
 #define LOG_DOMAIN "exn"
 #include "clog.h"
 
+#include "open/vm_class_info.h"
 #include "Class.h"
 #include "open/types.h"
-
+#include "vtable.h"
 #include "classloader.h"
 #include "exceptions.h"
 #include "exceptions_impl.h"
@@ -1173,4 +1174,5 @@
     lil_free_code_stub(cs);
     return addr;
 }   //exn_get_rth_throw_incompatible_class_change_exception
+
 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/gc/root_set_enum_common.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/gc/root_set_enum_common.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/gc/root_set_enum_common.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/gc/root_set_enum_common.cpp Thu Apr 17 06:10:05 2008
@@ -21,7 +21,9 @@
 
 #define LOG_DOMAIN "enumeration"
 #include "cxxlog.h"
+#include "vm_log.h"
 
+#include "jit_import_rt.h"
 #include "root_set_enum_internal.h"
 #include "GlobalClassLoaderIterator.h"
 #include "jit_intf_cpp.h"
@@ -33,6 +35,7 @@
 #include "open/vm_method_access.h"
 #include "finalize.h"
 #include "cci.h"
+#include "vtable.h"
 
 void vm_enumerate_interned_strings()
 {
@@ -301,10 +304,8 @@
             vm_stats_inc(cci->num_unwind_java_frames_gc);
 #endif
             TRACE2("enumeration", "enumerating eip=" << (void *) si_get_ip(si)
-                << " is_first=" << !si_get_jit_context(si)->is_ip_past << " "
-                << cci->get_method()->get_class()->get_name()->bytes << "."
-                << cci->get_method()->get_name()->bytes
-                << cci->get_method()->get_descriptor()->bytes);
+                << " is_first=" << !si_get_jit_context(si)->is_ip_past
+                << " " << cci->get_method());
             cci->get_jit()->get_root_set_from_stack_frame(cci->get_method(), 0, si_get_jit_context(si));
             ClassLoader* cl = cci->get_method()->get_class()->get_class_loader();
             assert (cl);
@@ -327,18 +328,14 @@
                 }
             }
             TRACE2("enumeration", "enumerated eip=" << (void *) si_get_ip(si)
-                << " is_first=" << !si_get_jit_context(si)->is_ip_past << " "
-                << cci->get_method()->get_class()->get_name()->bytes << "."
-                << cci->get_method()->get_name()->bytes
-                << cci->get_method()->get_descriptor()->bytes);
+                << " is_first=" << !si_get_jit_context(si)->is_ip_past
+                << " " << cci->get_method());
         } else {
 #ifdef VM_STATS
             vm_stats_inc(VM_Statistics::get_vm_stats().num_unwind_native_frames_gc);
 #endif
             Method* m = m2n_get_method(si_get_m2n(si));
-            TRACE2("enumeration", "enumeration local handles " 
-                << (m ? m->get_name()->bytes : "")
-                << (m ? m->get_descriptor()->bytes : ""));
+            TRACE2("enumeration", "enumeration local handles " << m);
             oh_enumerate_handles(m2n_get_local_handles(si_get_m2n(si)));
             if (m) {
                 ClassLoader* cl = m->get_class()->get_class_loader();

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/gc/stop_the_world_root_set_enum.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/gc/stop_the_world_root_set_enum.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/gc/stop_the_world_root_set_enum.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/gc/stop_the_world_root_set_enum.cpp Thu Apr 17 06:10:05 2008
@@ -22,6 +22,7 @@
 #define LOG_DOMAIN "enumeration"
 #include "cxxlog.h"
 
+#include "vtable.h"
 #include "root_set_enum_internal.h"
 #include "GlobalClassLoaderIterator.h"
 #include <apr_time.h>

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/finalize.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/finalize.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/finalize.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/finalize.cpp Thu Apr 17 06:10:05 2008
@@ -37,7 +37,8 @@
 #include "nogc.h"
 #include "jit_runtime_support.h"
 #include "finalize.h"
-
+#include "vtable.h"
+#include "jit_import_rt.h"
 #include "finalizer_thread.h"     /* added for NATIVE FINALIZER THREAD */
 #include "ref_enqueue_thread.h"   /* added for NATIVE REFERENCE ENQUEUE THREAD */
 
@@ -47,7 +48,7 @@
 #undef LOG_DOMAIN
 
 #include "cxxlog.h"
-
+#include "vm_log.h"
 #include "thread_generic.h"
 
 #ifndef USE_GC_STATIC
@@ -506,7 +507,7 @@
             VM_Global_State::loader_env->VoidVoidDescriptor_String);
 
         assert(finalize);
-        TRACE2("finalize", "finalize object " << handle->object->vt()->clss->get_name()->bytes);
+        TRACE2("finalize", "finalize object " << handle->object->vt()->clss);
         vm_execute_java_method_array( (jmethodID) finalize, 0, args);
         tmn_suspend_enable();
 
@@ -517,7 +518,7 @@
             INFO2("finalize", "Uncaught exception "
                 << exn_get_name()
                 << " while running a finalize of the object"
-                << object->vt()->clss->get_name()->bytes << ".");
+                << object->vt()->clss << ".");
             tmn_suspend_enable();            
         }
 #endif
@@ -574,7 +575,7 @@
             INFO2("ref", "Uncaught exception "
                 << exn_get_name()
                 << " while running a enqueue method of the object"
-                << object->vt()->clss->get_name()->bytes << ".");
+                << object->vt()->clss << ".");
             tmn_suspend_enable();
             
         }

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm.cpp Thu Apr 17 06:10:05 2008
@@ -15,9 +15,7 @@
  *  limitations under the License.
  */
 
-#include "Class.h"
 #include "environment.h"
-#include "compile.h"
 #include "object_layout.h"
 
 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_init.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_init.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_init.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_init.cpp Thu Apr 17 06:10:05 2008
@@ -30,6 +30,7 @@
 #include "open/jthread.h"   // this is for jthread_self()
 #include "open/vm_class_manipulation.h"
 
+#include "vtable.h"
 #include "init.h"
 #include "classloader.h"
 #include "jni_utils.h"
@@ -137,7 +138,7 @@
 }
 
 extern "C" VMEXPORT 
-void* get_vm_interface(const char* func_name){
+void* vm_get_interface(const char* func_name){
     static apr_dso_handle_t* descriptor = get_harmonyvm_handle();
     void* p_func = NULL;
     int ret = apr_dso_sym((apr_dso_handle_sym_t*) &p_func, descriptor, func_name);
@@ -148,8 +149,6 @@
     if (p_func) {
         return p_func;
         
-    } else if (strcmp(func_name,"class_is_support_fast_instanceof") == 0) {
-        return (void*)class_get_fast_instanceof_flag;
     } else if (strcmp(func_name,"vector_get_first_element_offset") == 0) {
         return (void*)vector_first_element_offset_class_handle;
     } else if (strcmp(func_name,"vector_get_length_offset") == 0) {
@@ -164,26 +163,6 @@
         return (void*)hythread_uses_fast_tls;
     } else if (strcmp(func_name,"vm_get_tls_offset_in_segment") == 0) {
         return (void*)hythread_get_hythread_offset_in_tls;
-    } else if (strcmp(func_name,"vm_get_heap_base_address") == 0) {
-        return (void*)vm_heap_base_address;
-    } else if (strcmp(func_name,"vm_get_heap_ceiling_address") == 0) {
-        return (void*)vm_heap_ceiling_address;
-    } else if (strcmp(func_name,"vm_is_heap_compressed") == 0) {
-        return (void*)vm_references_are_compressed;
-    } else if (strcmp(func_name,"vm_is_vtable_compressed") == 0) {
-        return (void*)vm_vtable_pointers_are_compressed;
-    } else if (strcmp(func_name,"vm_compiled_method_load") == 0) {
-        return (void*)compiled_method_load;
-    } else if (strcmp(func_name,"vm_properties_destroy_keys") == 0) {
-        return (void*)vm_properties_destroy_keys;
-    } else if (strcmp(func_name,"vm_properties_destroy_value") == 0) {
-        return (void*)vm_properties_destroy_value;
-    } else if (strcmp(func_name,"vm_properties_get_keys") == 0) {
-        return (void*)vm_properties_get_keys;
-    } else if (strcmp(func_name,"vm_properties_get_keys_starting_with") == 0) {
-        return (void*)vm_properties_get_keys_starting_with;
-    } else if (strcmp(func_name,"vm_properties_get_value") == 0) {
-        return (void*)vm_properties_get_value;
     } else {
         return NULL;
     }
@@ -337,7 +316,7 @@
  */
 static jint check_compression() {
         // Check for a mismatch between whether the various VM components all compress references or not.
-    Boolean vm_compression = vm_references_are_compressed();
+    Boolean vm_compression = vm_is_heap_compressed();
     Boolean gc_compression = gc_supports_compressed_references();
     if (vm_compression) {
         if (!gc_compression) {
@@ -864,7 +843,7 @@
     // compressed references, so it never answers "true" to supports_compressed_references().
     // ppervov: this check is not correct since a call to
     // gc_supports_compressed_references returns capability while a call to
-    // vm_references_are_compressed returns current VM state, not potential
+    // vm_is_heap_compressed returns current VM state, not potential
     // ability to support compressed mode
     // So, this check is turned off for now and it is FIXME
     // 20071109 process_compression_modes() now automatically selects compression

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp Thu Apr 17 06:10:05 2008
@@ -23,6 +23,7 @@
 #include "vm_log.h"
 
 #include "open/gc.h"
+#include "open/vm_ee.h"
 #include "open/vm_type_access.h"
 #include "open/vm_method_access.h"
 #include "open/vm_class_manipulation.h"
@@ -864,8 +865,8 @@
     }
 }
 
-VMEXPORT void compiled_method_load(Method_Handle method, uint32 codeSize, 
-                                  void* codeAddr, uint32 mapLength, 
+VMEXPORT void vm_compiled_method_load(Method_Handle method, U_32 codeSize, 
+                                  void* codeAddr, U_32 mapLength, 
                                   AddrLocation* addrLocationMap, 
                                   void* compileInfo, Method_Handle outer_method) 
 {

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/dll_jit.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/dll_jit.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/dll_jit.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/dll_jit.cpp Thu Apr 17 06:10:05 2008
@@ -39,8 +39,6 @@
 _get_root_set_for_thread_dump(NULL),
 _fix_handler_context(NULL),
 _get_address_of_this(NULL),
-_extended_class_callback(NULL),
-_overridden_method_callback(NULL),
 _recompiled_method_callback(NULL),
 _execute_method(NULL),
 _get_bc_location_for_native(NULL),
@@ -83,12 +81,6 @@
 
     GET_OPTIONAL_FUNCTION(fn, handle, "JIT_next_command_line_argument");
     _next_command_line_argument = (void (*)(JIT_Handle, const char *, const char *)) fn;
-
-    GET_OPTIONAL_FUNCTION(fn, handle, "JIT_extended_class_callback");
-    _extended_class_callback = (Boolean (*)(JIT_Handle, Class_Handle, Class_Handle, void *)) fn;
-
-    GET_OPTIONAL_FUNCTION(fn, handle, "JIT_overridden_method_callback");
-    _overridden_method_callback = (Boolean (*)(JIT_Handle, Method_Handle, Method_Handle, void *)) fn;
 
     GET_OPTIONAL_FUNCTION(fn, handle, "JIT_recompiled_method_callback");
     _recompiled_method_callback = (Boolean (*)(JIT_Handle, Method_Handle, void *)) fn;

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/jit_runtime_support.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/jit_runtime_support.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/jit_runtime_support.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/jit_runtime_support.cpp Thu Apr 17 06:10:05 2008
@@ -31,6 +31,7 @@
 #include <stdlib.h>
 
 #include "open/gc.h"
+#include "vtable.h"
 #include "open/types.h"
 #include "open/bytecodes.h"
 #include "open/vm_class_manipulation.h"
@@ -51,6 +52,7 @@
 #include "vm_arrays.h"
 #include "vm_strings.h"
 #include "vm_threads.h"
+#include "open/vm_ee.h"
 
 #include "jvmti_interface.h"
 #include "compile.h"
@@ -258,7 +260,7 @@
     // We need to get the vtable in more than one place below
     // Here are some macros to helper smooth over the compressed vtables
     const POINTER_SIZE_INT vtable_off = object_get_vtable_offset();
-    const POINTER_SIZE_INT vtable_add = vm_vtable_pointers_are_compressed() ? vm_get_vtable_base() : 0;
+    const POINTER_SIZE_INT vtable_add = vm_is_vtable_compressed() ? (POINTER_SIZE_INT)vm_get_vtable_base_address() : 0;
 
     // Setup locals
     cs = lil_parse_onto_end(cs, (type ? "locals 1;" : "locals 2;"));
@@ -286,7 +288,7 @@
     if (type) {
         if(type->get_fast_instanceof_flag()) {
             cs = lil_parse_onto_end(cs,
-                vm_vtable_pointers_are_compressed() ? "ld l0,[i0+%0i:g4],zx;" : "ld l0,[i0+%0i:pint];",
+                vm_is_vtable_compressed() ? "ld l0,[i0+%0i:g4],zx;" : "ld l0,[i0+%0i:pint];",
                 vtable_off);            
             assert(cs);
             cs = lil_parse_onto_end(cs,
@@ -304,7 +306,7 @@
             is_fast_off, depth_off);
         assert(cs);
         cs = lil_parse_onto_end(cs,
-            vm_vtable_pointers_are_compressed() ? "ld l0,[i0+%0i:g4],zx;" : "ld l0,[i0+%0i:pint];",
+            vm_is_vtable_compressed() ? "ld l0,[i0+%0i:g4],zx;" : "ld l0,[i0+%0i:pint];",
             vtable_off);
         assert(cs);
         cs = lil_parse_onto_end(cs,
@@ -328,7 +330,7 @@
             "out platform:pint,pint:g4;");
         assert(cs);
         cs = lil_parse_onto_end(cs,
-            vm_vtable_pointers_are_compressed() ? "ld l0,[i0+%0i:g4],zx;" : "ld l0,[i0+%0i:pint];",
+            vm_is_vtable_compressed() ? "ld l0,[i0+%0i:g4],zx;" : "ld l0,[i0+%0i:pint];",
             vtable_off);
         assert(cs);
         cs = lil_parse_onto_end(cs,
@@ -372,7 +374,7 @@
         VM_Statistics::get_vm_stats().num_type_checks_super_is_array ++;
     else if (super->is_interface())
         VM_Statistics::get_vm_stats().num_type_checks_super_is_interface ++;
-    else if ((unsigned)super->get_depth() >= vm_max_fast_instanceof_depth())
+    else if (super->get_depth() >= vm_max_fast_instanceof_depth())
         VM_Statistics::get_vm_stats().num_type_checks_super_is_too_deep ++;
     UNSAFE_REGION_END
 }
@@ -1939,7 +1941,7 @@
         VM_Statistics::get_vm_stats().num_type_checks_super_is_array++;
     else if (super->is_interface())
         VM_Statistics::get_vm_stats().num_type_checks_super_is_interface++;
-    else if ((unsigned)super->get_depth() >= vm_max_fast_instanceof_depth())
+    else if (super->get_depth() >= vm_max_fast_instanceof_depth())
         VM_Statistics::get_vm_stats().num_type_checks_super_is_too_deep++;
     UNSAFE_REGION_END
 #endif // VM_STATS
@@ -2032,7 +2034,7 @@
      * call class_is_subtype(o0, o1)
      */
     LilCodeStub *cs2;
-    if (vm_vtable_pointers_are_compressed())
+    if (vm_is_vtable_compressed())
     {
         cs2 = lil_parse_onto_end
             (cs,
@@ -2053,7 +2055,7 @@
          "ld o0, [l0+%0i:ref];"
          "o1 = i1;"
          "call %1i;",
-         OFFSET(VTable, clss) + (vm_vtable_pointers_are_compressed() ? vm_get_vtable_base() : 0),
+         OFFSET(VTable, clss) + (vm_is_vtable_compressed() ? (UDATA)vm_get_vtable_base_address() : 0),
          (void*) class_is_subtype);
 
     if (is_checkcast) {
@@ -2093,7 +2095,7 @@
      * check if i1 == l2
      */
     LilCodeStub *cs2;
-    if (vm_vtable_pointers_are_compressed())
+    if (vm_is_vtable_compressed())
     {
         cs2 = lil_parse_onto_end
             (cs,
@@ -2115,7 +2117,7 @@
          "jc i1 != l2, failed;",
          Class::get_offset_of_depth(),
          (POINTER_SIZE_INT)sizeof(Class*),
-         OFFSET(VTable, superclasses) - sizeof(Class*) + (vm_vtable_pointers_are_compressed() ? vm_get_vtable_base() : 0)
+         OFFSET(VTable, superclasses) - sizeof(Class*) + (vm_is_vtable_compressed() ? (UDATA)vm_get_vtable_base_address() : 0)
          );
 
     if (is_checkcast) {

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/native_overrides.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/native_overrides.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/native_overrides.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/native_overrides.cpp Thu Apr 17 06:10:05 2008
@@ -19,7 +19,7 @@
  * @version $Revision: 1.1.2.1.4.4 $
  */  
 
-
+#include "vtable.h"
 #include "Class.h"
 #include "environment.h"
 #include "lil.h"
@@ -29,6 +29,7 @@
 #include "object_layout.h"
 #include "open/types.h"
 #include "open/vm_util.h"
+#include "open/vm_ee.h"
 #include "open/vm.h"
 
 // *** This is for readInternal override

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_heap.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_heap.h?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_heap.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_heap.h Thu Apr 17 06:10:05 2008
@@ -106,7 +106,7 @@
     if (clss->is_array()) {
         return vm_vector_size(clss, get_vector_length(obj));
     } else {
-        return class_get_boxed_data_size(clss);
+        return class_get_object_size(clss);
     }
 }
 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_object.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_object.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_object.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_object.cpp Thu Apr 17 06:10:05 2008
@@ -28,7 +28,7 @@
 #include "object_handles.h"
 #include "object_generic.h"
 #include "mon_enter_exit.h"
-
+#include "vtable.h"
 #include "thread_manager.h"
 #include "suspend_checker.h"
 #include "open/vm.h"
@@ -78,7 +78,7 @@
     if(object_clss->is_array())
         *size_ptr = object_clss->calculate_array_size(get_vector_length((Vector_Handle)mo));
     else
-        *size_ptr = class_get_boxed_data_size(object_clss);
+        *size_ptr = class_get_object_size(object_clss);
     assert(*size_ptr > 0);
 
     tmn_suspend_enable();

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_VMClassRegistry.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_VMClassRegistry.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_VMClassRegistry.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_VMClassRegistry.cpp Thu Apr 17 06:10:05 2008
@@ -30,6 +30,7 @@
 #include "cxxlog.h"
 
 #include "open/vm_class_manipulation.h"
+#include "open/vm_class_loading.h"
 #include "Package.h"
 #include "classloader.h"
 #include "jni_utils.h"
@@ -40,6 +41,68 @@
 
 #include "java_lang_VMClassRegistry.h"
 #include "java_lang_ClassLoader.h"
+
+// This function is for native library support
+// It takes a class name with .s not /s. 
+// FIXME: caller could convert it itself
+Class_Handle class_find_loaded(ClassLoaderHandle loader, const char* name)
+{
+    char* name3 = strdup(name);
+    char* p = name3;
+    while (*p) {
+        if (*p=='.') *p='/';
+        p++;
+    }
+    Global_Env* env = VM_Global_State::loader_env;
+    String* name2 = env->string_pool.lookup(name3);
+    Class* ch;
+    if (loader) {
+        ch = loader->LookupClass(name2);
+    } else {
+        ch = env->bootstrap_class_loader->LookupClass(name2);
+    }
+    STD_FREE(name3);
+    if(ch && (!ch->verify(env) || !ch->prepare(env))) return NULL;
+    return ch;
+}
+
+Class_Handle class_find_class_from_loader(ClassLoaderHandle loader, const char* n, Boolean init)
+{
+    ASSERT_RAISE_AREA;
+    assert(hythread_is_suspend_enabled()); // -salikh
+    char *new_name = strdup(n);
+    char *p = new_name;
+    while (*p) {
+        if (*p == '.') *p = '/';
+        p++;
+    }
+    String* name = VM_Global_State::loader_env->string_pool.lookup(new_name);
+    STD_FREE(new_name);
+    Class* ch;
+    if (loader) {
+        ch = class_load_verify_prepare_by_loader_jni(
+            VM_Global_State::loader_env, name, loader);
+    } else {
+        assert(hythread_is_suspend_enabled());
+        ch = class_load_verify_prepare_from_jni(VM_Global_State::loader_env, name);
+    }
+    if (!ch) return NULL;
+    // All initialization from jni should not propagate exceptions and
+    // should return to calling native method.
+    if(init) {
+        class_initialize_from_jni(ch);
+
+        if (exn_raised()) {
+            return NULL;
+        }
+    }
+
+    if(exn_raised()) {
+        return 0;
+    }
+
+    return ch;
+}
 
 /*
  * Class:     java_lang_VMClassRegistry

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/org_apache_harmony_drlvm_VMHelper.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/org_apache_harmony_drlvm_VMHelper.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/org_apache_harmony_drlvm_VMHelper.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/org_apache_harmony_drlvm_VMHelper.cpp Thu Apr 17 06:10:05 2008
@@ -19,8 +19,10 @@
 #include "org_apache_harmony_drlvm_VMHelper.h"
 
 #include "open/vm.h"
+#include "open/vm_ee.h"
 #include "open/vm_util.h"
 #include "environment.h"
+#include "vtable.h"
 #include <assert.h>
 
 JNIEXPORT jint JNICALL Java_org_apache_harmony_drlvm_VMHelper_getPointerTypeSize (JNIEnv *, jclass) {
@@ -44,7 +46,7 @@
 /** @return vtable base offset if is in compressed-refs mode or -1*/
 JNIEXPORT jlong JNICALL Java_org_apache_harmony_drlvm_VMHelper_getCompressedModeVTableBaseOffset(JNIEnv *, jclass) {
 #ifdef USE_COMPRESSED_VTABLE_POINTERS
-    return (jlong)vm_get_vtable_base();
+    return (jlong)vm_get_vtable_base_address();
 #else
     return -1;
 #endif

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/ncai/ncai_step.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/ncai/ncai_step.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/ncai/ncai_step.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/ncai/ncai_step.cpp Thu Apr 17 06:10:05 2008
@@ -531,7 +531,7 @@
     }
 
     Class_Handle klass = method_get_class((Method_Handle)m);
-    ClassLoader* loader = (ClassLoader*)class_get_class_loader(klass);
+    ClassLoader* loader = klass->get_class_loader();
     GenericFunctionPointer func = loader->LookupNative((Method_Handle)m);
     assert(func);
 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/object/object_handles.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/object/object_handles.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/object/object_handles.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/object/object_handles.cpp Thu Apr 17 06:10:05 2008
@@ -24,6 +24,7 @@
 
 #include <stdlib.h>
 
+#include "jit_import_rt.h"
 #include "environment.h"
 #include "exceptions.h"
 #include "open/gc.h"
@@ -86,8 +87,8 @@
 void GcFrame::add_object(ManagedObject** p)
 {
     assert(p);
-    assert(NULL == *p || (*p >= vm_heap_base_address()
-        && *p < vm_heap_ceiling_address()));
+    assert(NULL == *p || (*p >= vm_get_heap_base_address()
+        && *p < vm_get_heap_ceiling_address()));
     assert(!hythread_is_suspend_enabled());
 
     ensure_capacity();

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/object/vm_arrays.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/object/vm_arrays.cpp?rev=649083&r1=649082&r2=649083&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/object/vm_arrays.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/object/vm_arrays.cpp Thu Apr 17 06:10:05 2008
@@ -26,6 +26,7 @@
 
 #include <assert.h>
 
+#include "vtable.h"
 #include "environment.h"
 #include "exceptions.h"
 #include "object_handles.h"



Mime
View raw message