harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From var...@apache.org
Subject svn commit: r646720 - in /harmony/enhanced/drlvm/trunk/vm: em/src/ include/open/ interpreter/src/ vmcore/include/ vmcore/src/class_support/ vmcore/src/exception/ vmcore/src/jit/ vmcore/src/jni/ vmcore/src/jvmti/ vmcore/src/lil/ vmcore/src/util/
Date Thu, 10 Apr 2008 09:54:06 GMT
Author: varlax
Date: Thu Apr 10 02:53:50 2008
New Revision: 646720

URL: http://svn.apache.org/viewvc?rev=646720&view=rev
Log:
Improving VM interfaces (relates to HARMONY-5593):
- (almost) removed vmcore-specific stuff from open/vm_util.h;
- more consistent and neat logging via overloaded << operator

Added:
    harmony/enhanced/drlvm/trunk/vm/include/open/vm_log.h   (with props)
    harmony/enhanced/drlvm/trunk/vm/vmcore/include/ExpandableMemBlock.h   (with props)
Modified:
    harmony/enhanced/drlvm/trunk/vm/em/src/DrlEMImpl.h
    harmony/enhanced/drlvm/trunk/vm/em/src/EBProfileCollector.cpp
    harmony/enhanced/drlvm/trunk/vm/em/src/EBProfileCollector.h
    harmony/enhanced/drlvm/trunk/vm/em/src/EdgeProfileCollector.cpp
    harmony/enhanced/drlvm/trunk/vm/em/src/EdgeProfileCollector.h
    harmony/enhanced/drlvm/trunk/vm/em/src/NValueProfileCollector.cpp
    harmony/enhanced/drlvm/trunk/vm/include/open/vm.h
    harmony/enhanced/drlvm/trunk/vm/include/open/vm_util.h
    harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_defs.h
    harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_em64t.cpp
    harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_ia32.cpp
    harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_ipf.cpp
    harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_stack_trace.cpp
    harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_vm_helpers.cpp
    harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter.cpp
    harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter_ti.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/include/exceptions.h
    harmony/enhanced/drlvm/trunk/vm/vmcore/include/exceptions_impl.h
    harmony/enhanced/drlvm/trunk/vm/vmcore/include/exceptions_type.h
    harmony/enhanced/drlvm/trunk/vm/vmcore/include/inline_info.h
    harmony/enhanced/drlvm/trunk/vm/vmcore/include/jarfile_support.h
    harmony/enhanced/drlvm/trunk/vm/vmcore/include/jit_export_jpda.h
    harmony/enhanced/drlvm/trunk/vm/vmcore/include/jvmti_direct.h
    harmony/enhanced/drlvm/trunk/vm/vmcore/include/lock_manager.h
    harmony/enhanced/drlvm/trunk/vm/vmcore/include/mem_alloc.h
    harmony/enhanced/drlvm/trunk/vm/vmcore/include/stack_trace.h
    harmony/enhanced/drlvm/trunk/vm/vmcore/include/thread_manager.h
    harmony/enhanced/drlvm/trunk/vm/vmcore/include/vm_log.h
    harmony/enhanced/drlvm/trunk/vm/vmcore/include/vtable.h
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Class.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/Prepare.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_int.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/jit_runtime_support.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_method.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_utils.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_break.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_break_intf.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_class.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_event.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_internal.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_locals.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_method.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_pop_frame.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_roots.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_stack.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_step.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_tags.h
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/lil/lil.cpp
    harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/jarfile_support.cpp

Modified: harmony/enhanced/drlvm/trunk/vm/em/src/DrlEMImpl.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/em/src/DrlEMImpl.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/em/src/DrlEMImpl.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/em/src/DrlEMImpl.h Thu Apr 10 02:53:50 2008
@@ -29,6 +29,7 @@
 #include "open/vm_util.h"
 #include "open/em_profile_access.h"
 
+#include <jni.h>
 #include <apr_dso.h>
 #include <string>
 #include <set>

Modified: harmony/enhanced/drlvm/trunk/vm/em/src/EBProfileCollector.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/em/src/EBProfileCollector.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/em/src/EBProfileCollector.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/em/src/EBProfileCollector.cpp Thu Apr 10 02:53:50 2008
@@ -29,6 +29,8 @@
 
 #include <sstream>
 #include "open/vm_method_access.h"
+#include "open/vm.h"
+#include "jit_intf.h"
 #include "port_mutex.h"
 
 

Modified: harmony/enhanced/drlvm/trunk/vm/em/src/EBProfileCollector.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/em/src/EBProfileCollector.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/em/src/EBProfileCollector.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/em/src/EBProfileCollector.h Thu Apr 10 02:53:50 2008
@@ -24,7 +24,8 @@
 
 #include "DrlProfileCollectionFramework.h"
 
-#include "open/vm_util.h"
+#include "open/hythread_ext.h"
+#include "platform_lowlevel.h"
 
 #include <map>
 

Modified: harmony/enhanced/drlvm/trunk/vm/em/src/EdgeProfileCollector.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/em/src/EdgeProfileCollector.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/em/src/EdgeProfileCollector.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/em/src/EdgeProfileCollector.cpp Thu Apr 10 02:53:50 2008
@@ -28,6 +28,8 @@
 #include <assert.h>
 #include <sstream>
 #include "open/vm_method_access.h"
+#include "open/vm.h"
+#include "jit_intf.h"
 #include "port_mutex.h"
 
 

Modified: harmony/enhanced/drlvm/trunk/vm/em/src/EdgeProfileCollector.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/em/src/EdgeProfileCollector.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/em/src/EdgeProfileCollector.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/em/src/EdgeProfileCollector.h Thu Apr 10 02:53:50 2008
@@ -23,7 +23,7 @@
 #define _EDGE_PROFILE_COLLECTOR_H_
 
 #include "DrlProfileCollectionFramework.h"
-#include "open/vm_util.h"
+#include "open/hythread_ext.h"
 
 #include <vector>
 #include <map>

Modified: harmony/enhanced/drlvm/trunk/vm/em/src/NValueProfileCollector.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/em/src/NValueProfileCollector.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/em/src/NValueProfileCollector.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/em/src/NValueProfileCollector.cpp Thu Apr 10 02:53:50 2008
@@ -31,6 +31,7 @@
 
 #include "port_threadunsafe.h"
 #include "port_atomic.h"
+#include "open/vm.h"
 
 #define LOG_DOMAIN "em"
 

Modified: harmony/enhanced/drlvm/trunk/vm/include/open/vm.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/include/open/vm.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/include/open/vm.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/include/open/vm.h Thu Apr 10 02:53:50 2008
@@ -358,12 +358,6 @@
  */ 
  DECLARE_OPEN(Class_Handle, vtable_get_class, (VTable_Handle vh));
 
-/**
- * @return The number of superclass hierarchy elements that are
- *         stored within the vtable. This is for use with fast type checking.
- */
- VMEXPORT int vm_max_fast_instanceof_depth();
-
 
 ////
 // begin class iterator related functions.

Added: harmony/enhanced/drlvm/trunk/vm/include/open/vm_log.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/include/open/vm_log.h?rev=646720&view=auto
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/include/open/vm_log.h (added)
+++ harmony/enhanced/drlvm/trunk/vm/include/open/vm_log.h Thu Apr 10 02:53:50 2008
@@ -0,0 +1,80 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+#ifndef _VM_LOG_H_
+#define _VM_LOG_H_
+
+/**
+ * @file
+ * VM-oriented convenience enhancements to logger.
+ */
+
+#include "loggerstring.h"
+#include "jni.h"
+#include "open/vm.h"
+#include "open/vm_method_access.h"
+
+/**
+ * The convenience method for logging Class instances.
+ */
+inline LoggerString& operator<<(LoggerString& log, const Class_Handle clss) {
+    if (clss) {
+        log << class_get_name(clss); 
+    } else {
+        log << "<null class>";
+    }
+    return log;
+}
+
+/**
+ * The convenience method for logging Method handles.
+ */
+inline LoggerString& operator<<(LoggerString& log, const Method_Handle m) {
+    if (m) {
+        log << method_get_class(m) << "."
+        << method_get_name(m)
+        << method_get_descriptor(m);
+    } else {
+        log << "<null method>";
+    }
+
+    return log;
+}
+
+/**
+ * The convenience method for logging JNI method IDs.
+ */
+inline LoggerString& operator<<(LoggerString& log, const jmethodID m) {
+    return log << reinterpret_cast<const Method_Handle>(m);
+}
+
+
+/**
+ * The convenience method for logging jboolean values.
+ */
+inline LoggerString& operator<<(LoggerString& log, const jboolean b) {
+    if (b == JNI_FALSE) {
+        log << "false";
+    } else if (b == JNI_TRUE) {
+        log << "true";
+    } else {
+        log << "(jboolean) " << ((unsigned) b);
+    }
+
+    return log;
+}
+
+#endif // _VM_LOG_H_

Propchange: harmony/enhanced/drlvm/trunk/vm/include/open/vm_log.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: harmony/enhanced/drlvm/trunk/vm/include/open/vm_util.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/include/open/vm_util.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/include/open/vm_util.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/include/open/vm_util.h Thu Apr 10 02:53:50 2008
@@ -22,28 +22,6 @@
 #include "port_malloc.h"
 #include "open/types.h"
 
-#include "hythread_ext.h"
-
-inline IDATA wait_for_multiple_semaphores(int num, hysem_t *sems) {
-    for (int i = 0; i < num; i ++) {
-           IDATA stat = hysem_wait(sems[i]);
-           if (stat !=TM_ERROR_NONE) {
-                return stat;
-           }
-    }
-    return TM_ERROR_NONE;
-}
-
-typedef struct String String;
-
-// #include "String_Pool.h"
-// #include "Class.h"
-// #include "object_layout.h"
-#include "vm_threads.h"
-
-unsigned sizeof_java_lang_class();
-
-
 struct Global_Env;
 
 class VM_Global_State {
@@ -67,86 +45,6 @@
  */
 Boolean class_is_subtype_fast(VTable *sub, Class *super);
 
-
-#ifdef _DEBUG
-void __stdcall vm_dump_object_and_return_ip(void *obj, void *eip);
-#endif
-
-class ExpandableMemBlock
-{
-public:
-    ExpandableMemBlock(long nBlockLen = 2000, long nInc = 1000)
-            : m_nBlockLen(nBlockLen), m_nCurPos(0), m_nInc(nInc){
-        assert(nInc > 0);
-        m_pBlock = STD_MALLOC(m_nBlockLen);
-        assert(m_pBlock);
-    }
-    ~ExpandableMemBlock(){
-        if(m_pBlock)
-            STD_FREE(m_pBlock);
-    }
-    void AppendBlock(char *szBlock, long nLen = -1){
-        if(!szBlock)return;
-        if(nLen <= 0)nLen = (long) strlen(szBlock);
-        if(!nLen)return;
-        long nOweSpace = (m_nCurPos + nLen) - m_nBlockLen;
-        if(nOweSpace >= 0){ //change > 0 to >= 0, prevents assert in m_free(m_pBlock)
-            m_nBlockLen += (nOweSpace / m_nInc + 1)*m_nInc;
-            m_pBlock = STD_REALLOC(m_pBlock, m_nBlockLen);
-            assert(m_pBlock);
-        }
-        //memmove((char*)m_pBlock + m_nCurPos, szBlock, nLen);
-        memcpy((char*)m_pBlock + m_nCurPos, szBlock, nLen);
-        m_nCurPos += nLen;
-    }
-    void AppendFormatBlock(char *szfmt, ... ){
-        va_list arg;
-        //char *buf = (char*)calloc(1024, 1);
-        char buf[1024];
-        va_start( arg, szfmt );
-        vsprintf(buf, szfmt, arg );
-        va_end( arg );
-        AppendBlock(buf);
-        //m_free(buf);
-    }
-    void SetIncrement(long nInc){
-        assert(nInc > 0);
-        m_nInc = nInc;
-    }
-    void SetCurrentPos(long nPos){
-        assert((nPos >= 0) && (nPos < m_nBlockLen));
-        m_nCurPos = nPos;
-    }
-    long GetCurrentPos(){
-        return m_nCurPos;
-    }
-    const void *AccessBlock(){
-        return m_pBlock;
-    }
-    const char *toString(){
-        *((char*)m_pBlock + m_nCurPos) = '\0';
-        return (const char*)m_pBlock;
-    }
-    void EnsureCapacity(long capacity){
-        long nOweSpace = capacity - m_nBlockLen;
-        if(nOweSpace >= 0){ //change > 0 to >= 0, prevents assert in m_free(m_pBlock)
-            m_nBlockLen += (nOweSpace / m_nInc + 1)*m_nInc;
-            m_pBlock = STD_REALLOC(m_pBlock, m_nBlockLen);
-            assert(m_pBlock);
-        }
-    }
-    void CopyTo(ExpandableMemBlock &mb, long len = -1){
-        if(len == -1)
-            len = m_nBlockLen;
-        mb.SetCurrentPos(0);
-        mb.AppendBlock((char*)m_pBlock, len);
-    }
-protected:
-    void *m_pBlock;
-    long m_nBlockLen;
-    long m_nCurPos;
-    long m_nInc;
-};
 
 #ifdef __cplusplus
 extern "C" {

Modified: harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_defs.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_defs.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_defs.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_defs.h Thu Apr 10 02:53:50 2008
@@ -25,6 +25,7 @@
 
 #define LOG_DOMAIN "interpreter.unspecified"
 #include "cxxlog.h"
+#include "vm_log.h"
 
 #include "environment.h"
 #include "vm_threads.h"
@@ -839,6 +840,7 @@
  * Bitwise or of enabled <code>interpreter_ti_events</code>
  */
 extern int interpreter_ti_notification_mode;
+
 
 
 

Modified: harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_em64t.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_em64t.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_em64t.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_em64t.cpp Thu Apr 10 02:53:50 2008
@@ -23,7 +23,7 @@
 #include "interpreter_exports.h"
 #include "interpreter_imports.h"
 
-//#include "find_natives.h"
+#include "vtable.h"
 #include "exceptions.h"
 #include "mon_enter_exit.h"
 #include "open/jthread.h"
@@ -75,10 +75,7 @@
     assert(!hythread_is_suspend_enabled());
 
 
-    DEBUG_TRACE("\n<<< interpreter_invoke_native: "
-           << method->get_class()->get_name()->bytes << " "
-           << method->get_name()->bytes
-           << method->get_descriptor()->bytes << endl);
+    DEBUG_TRACE("\n<<< interpreter_invoke_native: " << method);
 
     GenericFunctionPointer f = interpreterGetNativeMethodAddr(method);
     if (f == 0) {
@@ -285,15 +282,8 @@
         return;
     }
 
-    DEBUG_TRACE("\n<<< native_invoke_static     : "
-           << method->get_class()->get_name()->bytes << " "
-           << method->get_name()->bytes
-           << method->get_descriptor()->bytes << endl);
-
-    DEBUG_TRACE_PLAIN("interpreter static native: "
-            << frame.method->get_class()->get_name()->bytes
-            << " " << frame.method->get_name()->bytes
-            << frame.method->get_descriptor()->bytes << endl);
+    DEBUG_TRACE("\n<<< native_invoke_static     : " << method);
+    DEBUG_TRACE_PLAIN("interpreter static native: " << frame.method);
 
     M2N_ALLOC_MACRO;
     
@@ -572,15 +562,8 @@
     assert(method->is_native());
     assert(!method->is_static());
 
-    DEBUG_TRACE_PLAIN("interpreter virtual native: "
-            << frame.method->get_class()->get_name()->bytes
-            << " " << frame.method->get_name()->bytes
-            << frame.method->get_descriptor()->bytes << endl);
-
-    DEBUG_TRACE("\n<<< native_invoke_virtual: "
-           << method->get_class()->get_name()->bytes << " "
-           << method->get_name()->bytes
-           << method->get_descriptor()->bytes << endl);
+    DEBUG_TRACE_PLAIN("interpreter virtual native: " << frame.method);
+    DEBUG_TRACE("\n<<< native_invoke_virtual: " << method);
 
     int n_ints = 0;
 #ifdef _WIN32 /* important difference in calling conventions */

Modified: harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_ia32.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_ia32.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_ia32.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_ia32.cpp Thu Apr 10 02:53:50 2008
@@ -27,7 +27,7 @@
 #include "interp_native.h"
 #include "interp_defs.h"
 #include "ini.h"
-//#include "open/jthread.h"
+#include "vtable.h"
 #include "open/vm_method_access.h"
 
 using namespace std;
@@ -84,10 +84,7 @@
         jvalue *args) {
     assert(!hythread_is_suspend_enabled());
 
-    DEBUG_TRACE("\n<<< interpreter_invoke_native: "
-           << class_get_name(method_get_class(method)) << " "
-           << method->get_name()->bytes
-           << method->get_descriptor()->bytes << endl);
+    DEBUG_TRACE("\n<<< interpreter_invoke_native: " << method);
 
     GenericFunctionPointer f = interpreterGetNativeMethodAddr(method);
     if (f == 0) {
@@ -261,15 +258,8 @@
         return;
     }
 
-    DEBUG_TRACE("\n<<< native_invoke_static     : "
-           << class_get_name(method_get_class(method)) << " "
-           << method->get_name()->bytes
-           << method->get_descriptor()->bytes << endl);
-
-    DEBUG_TRACE_PLAIN("interpreter static native: "
-            << class_get_name(method_get_class(frame.method))
-            << " " << frame.method->get_name()->bytes
-            << frame.method->get_descriptor()->bytes << endl);
+    DEBUG_TRACE("\n<<< native_invoke_static     : " << method);
+    DEBUG_TRACE_PLAIN("interpreter static native: " << frame.method);
 
     M2N_ALLOC_MACRO;
     
@@ -370,10 +360,7 @@
                     if (!*ref) {
                         DEBUG2(
                         "VM WARNING: Reference with null value returned from jni function:\n"
-                        "VM WARNING: Method name: "
-                        << class_get_name(method_get_class(method))
-                        << "/" << method->get_name()->bytes
-                        << method->get_descriptor()->bytes <<
+                        "VM WARNING: Method name: " << method <<
                         "\nVM WARNING: Not allowed, return NULL (0) instead\n");
                     }
                     prevFrame.stack.pick().ref = *ref;
@@ -488,15 +475,8 @@
     assert(method->is_native());
     assert(!method->is_static());
 
-    DEBUG_TRACE_PLAIN("interpreter virtual native: "
-            << 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: "
-           << class_get_name(method_get_class(method)) << " "
-           << method->get_name()->bytes
-           << method->get_descriptor()->bytes << endl);
+    DEBUG_TRACE_PLAIN("interpreter virtual native: " << frame.method);
+    DEBUG_TRACE("\n<<< native_invoke_virtual: " << method);
 
     uword *args = (uword*) ALLOC_FRAME((sz + 1) * sizeof(uword));
     args[0] = (uword) get_jni_native_intf();
@@ -602,10 +582,7 @@
                     if (!*ref) {
                         DEBUG2(
                         "VM WARNING: Reference with null value returned from jni function:\n"
-                        "VM WARNING: Method name: "
-                        << class_get_name(method_get_class(method))
-                        << "/" << method->get_name()->bytes
-                        << method->get_descriptor()->bytes <<
+                        "VM WARNING: Method name: " << method << 
                         "\nVM WARNING: Not allowed, return NULL (0) instead\n");
                     }
                     prevFrame.stack.pick().ref = *ref;

Modified: harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_ipf.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_ipf.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_ipf.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_native_ipf.cpp Thu Apr 10 02:53:50 2008
@@ -27,7 +27,8 @@
 #include "interp_native.h"
 #include "interp_defs.h"
 #include "ini.h"
-#include "open/jthread.h"
+#include "vtable.h"
+//#include "open/jthread.h"
 #include "open/vm_method_access.h"
 
 
@@ -269,15 +270,8 @@
 void
 interpreterInvokeStaticNative(StackFrame& prevFrame, StackFrame& frame, Method *method) {
 
-    DEBUG_TRACE("\n<<< native_invoke_static     : "
-           << method->get_class()->get_name()->bytes << " "
-           << method->get_name()->bytes
-           << method->get_descriptor()->bytes << endl);
-
-    DEBUG_TRACE_PLAIN("interpreter static native: "
-            << frame.method->get_class()->get_name()->bytes
-            << " " << frame.method->get_name()->bytes
-            << frame.method->get_descriptor()->bytes << endl);
+    DEBUG_TRACE("\n<<< native_invoke_static     : " << method);
+    DEBUG_TRACE_PLAIN("interpreter static native: " << frame.method);
 
     GenericFunctionPointer f = interpreterGetNativeMethodAddr(method);
     if (f == 0) {
@@ -546,15 +540,8 @@
     assert(method->is_native());
     assert(!method->is_static());
 
-    DEBUG_TRACE_PLAIN("interpreter virtual native: "
-            << frame.method->get_class()->get_name()->bytes
-            << " " << frame.method->get_name()->bytes
-            << frame.method->get_descriptor()->bytes << endl);
-
-    DEBUG_TRACE("\n<<< native_invoke_virtual: "
-           << method->get_class()->get_name()->bytes << " "
-           << method->get_name()->bytes
-           << method->get_descriptor()->bytes << endl);
+    DEBUG_TRACE_PLAIN("interpreter virtual native: " << frame.method);
+    DEBUG_TRACE("\n<<< native_invoke_virtual: " << method);
 
     uword *args = (uword*) ALLOC_FRAME((sz + 1) * sizeof(uword));
     uword fpargs[6 + 1 /* for fptypes */];

Modified: harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_stack_trace.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_stack_trace.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_stack_trace.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_stack_trace.cpp Thu Apr 10 02:53:50 2008
@@ -26,6 +26,8 @@
 #include "stack_trace.h"
 #include "exceptions.h"
 #include "jvmti_support.h"
+#include "vtable.h"
+#include "jit_import_rt.h"
 
 // ppervov: HACK: allows using STL modifiers (dec/hex) and special constants (endl)
 using namespace std;
@@ -186,18 +188,13 @@
         }
 
         if (method->is_native()) {
-            DEBUG_GC("[METHOD <native>]: "
-                    << method->get_class()->get_name()->bytes << "."
-                    << method->get_name()->bytes
-                    << method->get_descriptor()->bytes << endl);
+            DEBUG_GC("[METHOD <native>]: " << method);
             interp_si_goto_previous(si);
             continue;
         }
 
         DEBUG_GC("[METHOD "<< si->stack.size << " " << (int)si->locals.varNum << "]: "
-                << class_get_name(method_get_class(method)) << "."
-                << method->get_name()->bytes
-                << method->get_descriptor()->bytes << endl);
+                << method);
 
         if (si->stack.size)
             for(i = 0; i <= si->stack.index; i++) {
@@ -285,18 +282,13 @@
         }
 
         if (method->is_native()) {
-            DEBUG_GC("[METHOD <native>]: "
-                    << method->get_class()->get_name()->bytes << "."
-                    << method->get_name()->bytes
-                    << method->get_descriptor()->bytes << endl);
+            DEBUG_GC("[METHOD <native>]: " << method);
             interp_si_goto_previous(si);
             continue;
         }
 
         DEBUG_GC("[METHOD "<< si->stack.size << " " << (int)si->locals.varNum << "]: "
-                << method->get_class()->get_name()->bytes << "."
-                << method->get_name()->bytes
-                << method->get_descriptor()->bytes << endl);
+                << method);
 
         if (si->stack.size)
             for(i = 0; i <= si->stack.index; i++) {

Modified: harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_vm_helpers.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_vm_helpers.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_vm_helpers.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/interpreter/src/interp_vm_helpers.cpp Thu Apr 10 02:53:50 2008
@@ -18,6 +18,8 @@
  * @author Ivan Volosyuk
  * @version $Revision: 1.6.4.4.4.3 $
  */  
+//#include "open/vm_ee.h"
+//#include "open/vm_class_loading.h"
 #include "interp_vm_helpers.h"
 #include "interpreter_imports.h"
 #include "interp_native.h"
@@ -25,6 +27,7 @@
 #include "compile.h"
 #include "cxxlog.h"
 #include "interp_defs.h"
+#include "vtable.h"
 
 void interp_throw_exception(const char* exc_name) {
     M2N_ALLOC_MACRO;

Modified: harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter.cpp Thu Apr 10 02:53:50 2008
@@ -22,6 +22,7 @@
 #include "open/vm_method_access.h"
 #include <math.h>
 
+#include "vtable.h"
 #include "exceptions.h"
 #include "exceptions_int.h"
 #include "vm_arrays.h"

Modified: harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter_ti.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter_ti.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter_ti.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter_ti.cpp Thu Apr 10 02:53:50 2008
@@ -26,7 +26,8 @@
 #include "open/vm_field_access.h"
 #include "open/vm_method_access.h"
 #include "port_malloc.h"
-
+#include "open/vm_class_info.h"
+//#include "open/vm_ee.h"
 #include "thread_generic.h"
 
 static jint skip_old_frames(VM_thread *thread)

Added: harmony/enhanced/drlvm/trunk/vm/vmcore/include/ExpandableMemBlock.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/ExpandableMemBlock.h?rev=646720&view=auto
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/ExpandableMemBlock.h (added)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/ExpandableMemBlock.h Thu Apr 10 02:53:50 2008
@@ -0,0 +1,102 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+#ifndef _MEM_BLOCK_H_
+#define _MEM_BLOCK_H_
+
+#include "port_malloc.h"
+
+class ExpandableMemBlock
+{
+public:
+    ExpandableMemBlock(long nBlockLen = 2000, long nInc = 1000)
+            : m_nBlockLen(nBlockLen), m_nCurPos(0), m_nInc(nInc){
+        assert(nInc > 0);
+        m_pBlock = STD_MALLOC(m_nBlockLen);
+        assert(m_pBlock);
+    }
+    ~ExpandableMemBlock(){
+        if(m_pBlock)
+            STD_FREE(m_pBlock);
+    }
+    void AppendBlock(char *szBlock, long nLen = -1){
+        if(!szBlock)return;
+        if(nLen <= 0)nLen = (long) strlen(szBlock);
+        if(!nLen)return;
+        long nOweSpace = (m_nCurPos + nLen) - m_nBlockLen;
+        if(nOweSpace >= 0){ //change > 0 to >= 0, prevents assert in m_free(m_pBlock)
+            m_nBlockLen += (nOweSpace / m_nInc + 1)*m_nInc;
+            m_pBlock = STD_REALLOC(m_pBlock, m_nBlockLen);
+            assert(m_pBlock);
+        }
+        //memmove((char*)m_pBlock + m_nCurPos, szBlock, nLen);
+        memcpy((char*)m_pBlock + m_nCurPos, szBlock, nLen);
+        m_nCurPos += nLen;
+    }
+    void AppendFormatBlock(char *szfmt, ... ){
+        va_list arg;
+        //char *buf = (char*)calloc(1024, 1);
+        char buf[1024];
+        va_start( arg, szfmt );
+        vsprintf(buf, szfmt, arg );
+        va_end( arg );
+        AppendBlock(buf);
+        //m_free(buf);
+    }
+    void SetIncrement(long nInc){
+        assert(nInc > 0);
+        m_nInc = nInc;
+    }
+    void SetCurrentPos(long nPos){
+        assert((nPos >= 0) && (nPos < m_nBlockLen));
+        m_nCurPos = nPos;
+    }
+    long GetCurrentPos(){
+        return m_nCurPos;
+    }
+    const void *AccessBlock(){
+        return m_pBlock;
+    }
+    const char *toString(){
+        *((char*)m_pBlock + m_nCurPos) = '\0';
+        return (const char*)m_pBlock;
+    }
+    void EnsureCapacity(long capacity){
+        long nOweSpace = capacity - m_nBlockLen;
+        if(nOweSpace >= 0){ //change > 0 to >= 0, prevents assert in m_free(m_pBlock)
+            m_nBlockLen += (nOweSpace / m_nInc + 1)*m_nInc;
+            m_pBlock = STD_REALLOC(m_pBlock, m_nBlockLen);
+            assert(m_pBlock);
+        }
+    }
+    void CopyTo(ExpandableMemBlock &mb, long len = -1){
+        if(len == -1)
+            len = m_nBlockLen;
+        mb.SetCurrentPos(0);
+        mb.AppendBlock((char*)m_pBlock, len);
+    }
+protected:
+    void *m_pBlock;
+    long m_nBlockLen;
+    long m_nCurPos;
+    long m_nInc;
+};
+
+#endif /* _MEM_BLOCK_H_ */
+
+
+

Propchange: harmony/enhanced/drlvm/trunk/vm/vmcore/include/ExpandableMemBlock.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/exceptions.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/exceptions.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/exceptions.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/exceptions.h Thu Apr 10 02:53:50 2008
@@ -25,6 +25,7 @@
 #include "exceptions_type.h"
 #include "jni.h"
 #include "open/types.h"
+//#include "open/jthread.h"
 
 /**
 @file
@@ -271,6 +272,7 @@
 void exn_rethrow_if_pending();
 
 bool set_guard_stack();
+typedef struct VM_thread * vm_thread_t;
 void remove_guard_stack(vm_thread_t vm_thread);
 void init_stack_info();
 void* get_exception_catch_stack_addr(void* curr_ip);

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/exceptions_impl.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/exceptions_impl.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/exceptions_impl.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/exceptions_impl.h Thu Apr 10 02:53:50 2008
@@ -24,6 +24,7 @@
 #include "exceptions_type.h"
 #include "jni.h"
 #include "open/types.h"
+#include "platform_lowlevel.h"
 
 #define VM_LAZY_EXCEPTION
 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/exceptions_type.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/exceptions_type.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/exceptions_type.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/exceptions_type.h Thu Apr 10 02:53:50 2008
@@ -24,13 +24,13 @@
 #ifndef _INTERFACE_EXCEPTIONS_TYPE_H_
 #define _INTERFACE_EXCEPTIONS_TYPE_H_
 
-//#include "jni.h"
 #include "open/types.h"
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+struct Class;
 struct Exception {
     struct ManagedObject* exc_object;
     struct Class* exc_class;

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/inline_info.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/inline_info.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/inline_info.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/inline_info.h Thu Apr 10 02:53:50 2008
@@ -20,6 +20,7 @@
 
 #include <vector>
 #include "open/types.h"
+#include "open/rt_types.h"
 #include "lock_manager.h"
 
 struct Method;

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/jarfile_support.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/jarfile_support.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/jarfile_support.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/jarfile_support.h Thu Apr 10 02:53:50 2008
@@ -35,6 +35,7 @@
 #endif
 #include "apr_mmap.h"
 
+#include "tl/memory_pool.h"
 #include "properties.h"
 #include "manifest.h"
 #include "lock_manager.h"

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/jit_export_jpda.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/jit_export_jpda.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/jit_export_jpda.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/jit_export_jpda.h Thu Apr 10 02:53:50 2008
@@ -23,6 +23,8 @@
 #define _JIT_EXPORT_JPDA_H
 
 #include "open/types.h"
+#include "open/rt_types.h"
+#include "open/em.h"
 
 #ifdef __cplusplus
 extern "C" {

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/jvmti_direct.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/jvmti_direct.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/jvmti_direct.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/jvmti_direct.h Thu Apr 10 02:53:50 2008
@@ -25,6 +25,7 @@
 #include "jni_direct.h"
 #include "jvmti.h"
 #include "open/hythread_ext.h"
+#include "open/rt_types.h"
 #include "vm_core_types.h"
 #include "vm_threads.h"
 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/lock_manager.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/lock_manager.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/lock_manager.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/lock_manager.h Thu Apr 10 02:53:50 2008
@@ -19,13 +19,10 @@
  * @version $Revision: 1.1.2.1.4.4 $
  */  
 
-
-
-
 #ifndef _lock_manager_H_
 #define _lock_manager_H_ 
 
-#include "open/vm_util.h" 
+#include "open/hythread_ext.h"
 #include "open/types.h"
 
 #ifdef __cplusplus

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/mem_alloc.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/mem_alloc.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/mem_alloc.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/mem_alloc.h Thu Apr 10 02:53:50 2008
@@ -22,7 +22,7 @@
 #ifndef _MEM_ALLOC_H_
 #define _MEM_ALLOC_H_
 
-#include "jit_import.h"
+#include "open/rt_types.h"
 #include "port_vmem.h"
 
 #define KBYTE 1024

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/stack_trace.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/stack_trace.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/stack_trace.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/stack_trace.h Thu Apr 10 02:53:50 2008
@@ -50,7 +50,7 @@
 
 #include <stdio.h>
 
-#include "open/vm_util.h"
+#include "ExpandableMemBlock.h"
 
 // Defines the StackTraceFrame structure
 #ifdef __cplusplus

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/thread_manager.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/thread_manager.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/thread_manager.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/thread_manager.h Thu Apr 10 02:53:50 2008
@@ -18,6 +18,7 @@
 #ifndef THREAD_MANAGER_HEADER
 #define THREAD_MANAGER_HEADER
 
+#include "open/hythread.h"
 #include "open/jthread.h"
 #include "exceptions_type.h"
 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/vm_log.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/vm_log.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/vm_log.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/vm_log.h Thu Apr 10 02:53:50 2008
@@ -18,10 +18,10 @@
  * @author Salikh Zakirov, Alexey V. Varlamov
  * @version $Revision: 1.1.2.2.2.1.2.3 $
  */  
-#ifndef _VM_LOG_H_
-#define _VM_LOG_H_
+#ifndef _VMCORE_LOG_H_
+#define _VMCORE_LOG_H_
 
-#include "loggerstring.h"
+#include "open/vm_log.h"
 #include "object_layout.h"
 #include "object_handles.h"
 #include "vtable.h"
@@ -31,7 +31,7 @@
 
 /**
  * @file
- * VM-specific enhancements to logger.
+ * VMcore-specific enhancements to logger.
  */
 
 /**
@@ -49,30 +49,14 @@
 /**
  * The convenience method for logging Class instances.
  */
-inline LoggerString& operator<<(LoggerString& log, const Class* clss) {
-    if (clss) {
-        log << clss->get_name(); 
-    } else {
-        log << "<null class>";
-    }
-    return log;
-}
-
-/**
- * The convenience method for logging jboolean values.
- */
-inline LoggerString& operator<<(LoggerString& log, const jboolean b) {
-    if (b == JNI_FALSE) {
-        log << "false";
-    } else if (b == JNI_TRUE) {
-        log << "true";
-    } else {
-        log << "(jboolean) " << ((unsigned) b);
-    }
-
-    return log;
-}
-
+//inline LoggerString& operator<<(LoggerString& log, const Class* clss) {
+//    if (clss) {
+//        log << clss->get_name(); 
+//    } else {
+//        log << "<null class>";
+//    }
+//    return log;
+//}
 
 /**
  * The convenience method for logging Method handles.
@@ -90,13 +74,6 @@
 }
 
 /**
- * The convenience method for logging JNI method IDs.
- */
-inline LoggerString& operator<<(LoggerString& log, const jmethodID m) {
-    return log << reinterpret_cast<const Method*>(m);
-}
-
-/**
  * The convenience method for logging managed objects.
  */
 inline LoggerString& operator<<(LoggerString& log, /*const*/ ManagedObject* object) {
@@ -123,4 +100,4 @@
     return log;
 }
 
-#endif // _VM_LOG_H_
+#endif // _VMCORE_LOG_H_

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/include/vtable.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/include/vtable.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/include/vtable.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/include/vtable.h Thu Apr 10 02:53:50 2008
@@ -54,6 +54,15 @@
 #define GC_BYTES_IN_VTABLE (sizeof(void*))
 #define MAX_FAST_INSTOF_DEPTH 5
 
+/**
+* @return The number of superclass hierarchy elements that are
+*         stored within the vtable. This is for use with fast type checking.
+*/
+inline unsigned vm_max_fast_instanceof_depth()
+{
+    return MAX_FAST_INSTOF_DEPTH;
+}
+
 typedef struct VTable {
     Byte _gc_private_information[GC_BYTES_IN_VTABLE];
     ManagedObject*             jlC; 

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=646720&r1=646719&r2=646720&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 10 02:53:50 2008
@@ -2089,11 +2089,6 @@
     }
 }
 
-int vm_max_fast_instanceof_depth()
-{
-    return MAX_FAST_INSTOF_DEPTH;
-}
-
 
 ////////////////////////////////////////////////////////////////////////////////////
 // Direct call-related functions that allow a JIT to be notified whenever a VM data

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=646720&r1=646719&r2=646720&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 10 02:53:50 2008
@@ -205,7 +205,7 @@
         VM_Statistics::get_vm_stats().num_type_checks_super_is_array++;
     else if(clss->is_interface())
         VM_Statistics::get_vm_stats().num_type_checks_super_is_interface ++;
-    else if(clss->m_depth >= vm_max_fast_instanceof_depth())
+    else if((unsigned)clss->m_depth >= vm_max_fast_instanceof_depth())
         VM_Statistics::get_vm_stats().num_type_checks_super_is_too_deep++;
     UNSAFE_REGION_END
 #endif // VM_STATS

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=646720&r1=646719&r2=646720&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 10 02:53:50 2008
@@ -29,7 +29,7 @@
 #include "classloader.h"
 #include "nogc.h"
 #include "Package.h"
-
+#include "vtable.h"
 #include "vm_strings.h"
 #include "open/vm_util.h"
 #include "open/gc.h"
@@ -787,9 +787,6 @@
                             index = m->get_index();
                             // mark superclass' method "m" as being overridden
                             m->method_was_overridden();
-
-                            // notify interested JITs that "m" was overridden by "method"
-                            m->do_jit_overridden_method_callbacks(&method);
                         }
                         break;
                     }
@@ -882,7 +879,7 @@
         memcpy(&vtable->superclasses,
                &get_super_class()->m_vtable->superclasses,
                sizeof(vtable->superclasses));
-        for(int i = 0; i < vm_max_fast_instanceof_depth(); i++) {
+        for(unsigned i = 0; i < vm_max_fast_instanceof_depth(); i++) {
             if(vtable->superclasses[i] == NULL) {
                 vtable->superclasses[i] = this;
                 break;
@@ -890,7 +887,7 @@
         }
     }
     if(m_depth > 0
-        && m_depth < vm_max_fast_instanceof_depth()
+        && (unsigned)m_depth < vm_max_fast_instanceof_depth()
         && !is_array()
         && !is_interface())
     {

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=646720&r1=646719&r2=646720&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 10 02:53:50 2008
@@ -35,7 +35,7 @@
 #include "vm_arrays.h"
 #include "vm_strings.h"
 #include "cci.h"
-
+#include "ExpandableMemBlock.h"
 
 bool exn_raised()
 {

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_int.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_int.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_int.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/exception/exceptions_int.cpp Thu Apr 10 02:53:50 2008
@@ -22,6 +22,7 @@
 #define LOG_DOMAIN "exn"
 #include "clog.h"
 
+#include "open/hythread_ext.h"
 #include "exceptions.h"
 #include "exceptions_impl.h"
 

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=646720&r1=646719&r2=646720&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 10 02:53:50 2008
@@ -377,7 +377,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 (super->get_depth() >= vm_max_fast_instanceof_depth())
+    else if ((unsigned)super->get_depth() >= vm_max_fast_instanceof_depth())
         VM_Statistics::get_vm_stats().num_type_checks_super_is_too_deep ++;
     UNSAFE_REGION_END
 }
@@ -1944,7 +1944,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 (super->get_depth() >= vm_max_fast_instanceof_depth())
+    else if ((unsigned)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

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni.cpp Thu Apr 10 02:53:50 2008
@@ -36,6 +36,7 @@
 
 #include "jni.h"
 #include "lock_manager.h"
+#include "vtable.h"
 #include "Class.h"
 #include "classloader.h"
 #include "environment.h"

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_method.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_method.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_method.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_method.cpp Thu Apr 10 02:53:50 2008
@@ -29,6 +29,7 @@
 #include "jni_utils.h"
 #include "jni_direct.h"
 
+#include "vtable.h"
 #include "Class.h"
 #include "environment.h"
 #include "exceptions.h"

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_utils.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_utils.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_utils.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jni/jni_utils.cpp Thu Apr 10 02:53:50 2008
@@ -682,7 +682,7 @@
     if(loader == NULL) {
         bool res = st_get_frame(0, &stf);
         if (res)
-            loader = (ClassLoader*)class_get_class_loader(method_get_class(stf.method));
+            loader = stf.method->get_class()->get_class_loader();
         else
             loader = env->vm->vm_env->system_class_loader;
     }

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_break.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_break.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_break.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_break.cpp Thu Apr 10 02:53:50 2008
@@ -29,6 +29,7 @@
 #include "environment.h"
 #include "Class.h"
 #include "cxxlog.h"
+#include "vm_log.h"
 #include "cci.h"
 
 #include "suspend_checker.h"
@@ -45,12 +46,7 @@
     assert(bp);
 
     TRACE2("jvmti.break", "Process breakpoint: "
-            << (bp->method
-                ? class_get_name(method_get_class((Method*)bp->method)) : "(nil)")
-            << "."
-            << (bp->method ? method_get_name((Method*)bp->method) : "(nil)")
-            << (bp->method ? method_get_descriptor((Method*)bp->method) : "")
-            << " :" << bp->location << " :" << bp->addr );
+            << bp->method << " :" << bp->location << " :" << bp->addr );
 
     DebugUtilsTI *ti = VM_Global_State::loader_env->TI;
     if (ti->getPhase() != JVMTI_PHASE_LIVE)
@@ -76,18 +72,12 @@
         if (env->global_events[JVMTI_EVENT_BREAKPOINT - JVMTI_MIN_EVENT_TYPE_VAL])
         {
             TRACE2("jvmti.break", "Calling global breakpoint callback: "
-                << class_get_name(method_get_class((Method*)method)) << "."
-                << method_get_name((Method*)method)
-                << method_get_descriptor((Method*)method)
-                << " :" << location << " :" << addr);
+                << method << " :" << location << " :" << addr);
 
             func((jvmtiEnv*)env, jni_env, (jthread)hThread, method, location);
 
             TRACE2("jvmti.break", "Finished global breakpoint callback: "
-                << class_get_name(method_get_class((Method*)method)) << "."
-                << method_get_name((Method*)method)
-                << method_get_descriptor((Method*)method)
-                << " :" << location << " :" << addr);
+                << method << " :" << location << " :" << addr);
         }
         else
         {
@@ -102,18 +92,12 @@
                 if (et->thread == hythread_self())
                 {
                     TRACE2("jvmti.break", "Calling local breakpoint callback: "
-                        << class_get_name(method_get_class((Method*)method)) << "."
-                        << method_get_name((Method*)method)
-                        << method_get_descriptor((Method*)method)
-                        << " :" << location << " :" << addr);
+                        << method << " :" << location << " :" << addr);
 
                     func((jvmtiEnv*)env, jni_env, (jthread)hThread, method, location);
 
                     TRACE2("jvmti.break", "Finished local breakpoint callback: "
-                        << class_get_name(method_get_class((Method*)method)) << "."
-                        << method_get_name((Method*)method)
-                        << method_get_descriptor((Method*)method)
-                        << " :" << location << " :" << addr);
+                        << method << " :" << location << " :" << addr);
                 }
             }
         }
@@ -139,10 +123,7 @@
                    jmethodID method,
                    jlocation location)
 {
-    TRACE2("jvmti.break", "SetBreakpoint is called for method: "
-        << class_get_name(method_get_class((Method*)method)) << "."
-        << method_get_name((Method*)method)
-        << method_get_descriptor((Method*)method)
+    TRACE2("jvmti.break", "SetBreakpoint is called for method: " << method
         << " :" << location);
     SuspendEnabledChecker sec;
 
@@ -159,11 +140,7 @@
         return JVMTI_ERROR_INVALID_METHODID;
 
     Method *m = (Method*) method;
-    TRACE2("jvmti.break", "SetBreakpoint: "
-        << class_get_name(method_get_class((Method *)method)) << "."
-        << method_get_name((Method *)method)
-        << method_get_descriptor((Method *)method)
-        << " :" << location);
+    TRACE2("jvmti.break", "SetBreakpoint: " << method << " :" << location);
 
 #if defined (__INTEL_COMPILER) 
 #pragma warning( push )
@@ -218,10 +195,7 @@
                      jmethodID method,
                      jlocation location)
 {
-    TRACE2("jvmti.break", "ClearBreakpoint is called for method: "
-        << class_get_name(method_get_class((Method*)method)) << "."
-        << method_get_name((Method*)method)
-        << method_get_descriptor((Method*)method)
+    TRACE2("jvmti.break", "ClearBreakpoint is called for method: " << method
         << " :" << location);
     SuspendEnabledChecker sec;
     jvmtiError errorCode;
@@ -237,11 +211,7 @@
         return JVMTI_ERROR_INVALID_METHODID;
 
     Method *m = (Method*) method;
-    TRACE2("jvmti.break", "ClearBreakpoint: "
-        << class_get_name(method_get_class((Method*)method)) << "."
-        << method_get_name((Method*)method)
-        << method_get_descriptor((Method*)method)
-        << " :" << location);
+    TRACE2("jvmti.break", "ClearBreakpoint: " << method << " :" << location);
 
 #if defined (__INTEL_COMPILER) 
 #pragma warning( push )

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_break_intf.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_break_intf.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_break_intf.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_break_intf.cpp Thu Apr 10 02:53:50 2008
@@ -41,7 +41,7 @@
 #include "cci.h"
 #include "port_thread.h"
 #include "port_crash_handler.h"
-
+#include "open/vm_class_info.h"
 
 #if (defined _IA32_) || (defined _EM64T_)
 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_class.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_class.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_class.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_class.cpp Thu Apr 10 02:53:50 2008
@@ -412,9 +412,9 @@
 
     *status_ptr = 0;
 
-    if( class_is_primitive( cl ) ) {
+    if( cl->is_primitive() ) {
         *status_ptr = JVMTI_CLASS_STATUS_PRIMITIVE;
-    } else if( class_is_array( cl ) ) {
+    } else if( cl->is_array() ) {
         *status_ptr = JVMTI_CLASS_STATUS_ARRAY;
     } else {
         switch(cl->get_state())
@@ -826,4 +826,5 @@
 
     return JVMTI_NYI;
 }
+
 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_event.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_event.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_event.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_event.cpp Thu Apr 10 02:53:50 2008
@@ -24,6 +24,7 @@
 
 #define LOG_DOMAIN "jvmti"
 #include "cxxlog.h"
+#include "vm_log.h"
 #include "port_mutex.h"
 
 #include "open/vm_method_access.h"
@@ -596,17 +597,13 @@
             if (NULL != func)
             {
                 TRACE2("jvmti.event.cml",
-                    "Callback JVMTI_EVENT_COMPILED_METHOD_LOAD calling, method = " <<
-                    method->get_class()->get_name()->bytes << "." << method->get_name()->bytes <<
-                    method->get_descriptor()->bytes);
+                    "Callback JVMTI_EVENT_COMPILED_METHOD_LOAD calling, method = " << method);
 
                 func((jvmtiEnv*)ti_env, (jmethodID)method, codeSize,
                     codeAddr, mapLength, jvmtiLocationMap, NULL);
 
                 TRACE2("jvmti.event.cml",
-                    "Callback JVMTI_EVENT_COMPILED_METHOD_LOAD finished, method = " <<
-                    method->get_class()->get_name()->bytes << "." << method->get_name()->bytes <<
-                    method->get_descriptor()->bytes);
+                    "Callback JVMTI_EVENT_COMPILED_METHOD_LOAD finished, method = " << method);
             }
         }
 
@@ -639,9 +636,7 @@
             if (NULL != func)
             {
                 TRACE2("jvmti.event.cml",
-                    "Emitting JVMTI_EVENT_COMPILED_METHOD_LOAD for chuncks of " <<
-                    method->get_class()->get_name()->bytes << "." << method->get_name()->bytes <<
-                    method->get_descriptor()->bytes);
+                    "Emitting JVMTI_EVENT_COMPILED_METHOD_LOAD for chuncks of " << method);
 
                 for (CodeChunkInfo* cci = method->get_first_JIT_specific_info();  cci;  cci = cci->_next)
                 {
@@ -689,9 +684,7 @@
                 }
 
                 TRACE2("jvmti.event.cml",
-                    "Emitting JVMTI_EVENT_COMPILED_METHOD_LOAD done for chuncks of " <<
-                    method->get_class()->get_name()->bytes << "." << method->get_name()->bytes <<
-                    method->get_descriptor()->bytes);
+                    "Emitting JVMTI_EVENT_COMPILED_METHOD_LOAD done for chuncks of " << method);
             }
         }
 
@@ -763,8 +756,7 @@
                 for (int jjj = 0; jjj < (*klass)->get_number_of_methods(); jjj++)
                 {
                     Method* method = (*klass)->get_method(jjj);
-                    TRACE2("jvmti.event", "    Method = " << method->get_name()->bytes <<
-                        method->get_descriptor()->bytes <<
+                    TRACE2("jvmti.event", "    Method = " << method <<
                         (method->get_state() == Method::ST_Compiled ? " compiled" : " not compiled"));
                     if (method->get_state() == Method::ST_Compiled) {
                         jvmti_send_chunks_compiled_method_load_event(method);
@@ -938,10 +930,7 @@
         JNIEnv *jni_env = p_TLS_vmthread->jni_env;
         jvmtiEnv *jvmti_env = (jvmtiEnv*) ti_env;
         if (NULL != ti_env->event_table.MethodExit) {
-            TRACE2("jvmti.stack", "Calling MethodExit callback for method: "
-                << class_get_name(method_get_class((Method*)method))
-                << "." << method_get_name((Method*)method)
-                << method_get_descriptor((Method*)method));
+            TRACE2("jvmti.stack", "Calling MethodExit callback for method: " << method);
             ti_env->event_table.MethodExit(jvmti_env, jni_env, thread, method, was_popped_by_exception, ret_val);
         }
         ti_env = next_env;
@@ -967,9 +956,7 @@
 #ifndef NDEBUG
     if( curr_thread->jvmti_thread.frame_pop_listener ) {
         TRACE2("jvmti.stack", "Prepare to PopFrame callback for thread: "
-            << curr_thread << ", method: " << class_get_name(method_get_class((Method*)method))
-            << "." << method_get_name((Method*)method)
-            << method_get_descriptor((Method*)method)
+            << curr_thread << ", method: " << method
             << ", depth: " << depth
             << (was_popped_by_exception == JNI_TRUE ? " by exception" : ""));
     }
@@ -996,9 +983,7 @@
             TRACE2("jvmti.stack", "Calling PopFrame callback for thread: "
                 << curr_thread << ", listener: " << report
                 << ", env: " << report->env << ", depth: " << report->depth
-                << " -> " << class_get_name(method_get_class((Method*)method))
-                << "." << method_get_name((Method*)method)
-                << method_get_descriptor((Method*)method));
+                << " -> " << method);
 
             jvmti_process_frame_pop_event(
                 reinterpret_cast<jvmtiEnv *>(report->env),
@@ -1092,10 +1077,7 @@
     JNIEnv *jni_env = p_TLS_vmthread->jni_env;
 
     assert(method);
-    TRACE2("jvmti.event.popframe", "PopFrame event is called for method:"
-        << class_get_name(method_get_class((Method*)method)) << "."
-        << method_get_name((Method*)method)
-        << method_get_descriptor((Method*)method) );
+    TRACE2("jvmti.event.popframe", "PopFrame event is called for method:" << method);
 
     if (NULL != ti_env->event_table.FramePop)
         ti_env->event_table.FramePop(jvmti_env, jni_env, thread, method,
@@ -1135,11 +1117,8 @@
 
         if (env->global_events[JVMTI_EVENT_NATIVE_METHOD_BIND - JVMTI_MIN_EVENT_TYPE_VAL])
         {
-            TRACE2("jvmti.event.bind", "Calling global NativeMethodBind event for method:"
-                << (method ? class_get_name(method_get_class((Method*)method)) : "(nil)") << "." 
-                << (method ? method_get_name((Method*)method) : "(nil)") 
-                << (method ? method_get_descriptor((Method*)method) : "" ) );
-
+            TRACE2("jvmti.event.bind", 
+                "Calling global NativeMethodBind event for method:" << method);
 
             callback((jvmtiEnv*)env, jni_env,
                 j_thread, method, address, new_address_ptr);
@@ -1157,11 +1136,8 @@
 
             if (et->thread == thread)
             {
-                TRACE2("jvmti.event.bind", "Calling local NativeMethodBind event for method:"
-                    << (method ? class_get_name(method_get_class((Method*)method)) : "(nil)") << "." 
-                    << (method ? method_get_name((Method*)method) : "(nil)") 
-                    << (method ? method_get_descriptor((Method*)method) : "" ) );
-
+                TRACE2("jvmti.event.bind", 
+                    "Calling local NativeMethodBind event for method:" << method);
 
                 callback((jvmtiEnv *)env, jni_env,
                     j_thread, method, address, new_address_ptr);
@@ -1212,17 +1188,13 @@
         jvmtiEnv *jvmti_env = (jvmtiEnv*) ti_env;
 
         TRACE2("jvmti.break.ss", "Calling SingleStep callback for env " << jvmti_env << ": " <<
-            class_get_name(method_get_class((Method*)method)) << "." <<
-            method_get_name((Method*)method) <<
-            method_get_descriptor((Method*)method) << " :" << location);
+            method << " :" << location);
 
         if (NULL != ti_env->event_table.SingleStep)
             ti_env->event_table.SingleStep(jvmti_env, jni_env, thread, method, location);
 
         TRACE2("jvmti.break.ss", "Finished SingleStep callback for env " << jvmti_env << ": " <<
-            class_get_name(method_get_class((Method*)method)) << "." <<
-            method_get_name((Method*)method) <<
-            method_get_descriptor((Method*)method) << " :" << location);
+            method << " :" << location);
         ti_env = next_env;
     }
 }

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_internal.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_internal.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_internal.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_internal.cpp Thu Apr 10 02:53:50 2008
@@ -26,6 +26,7 @@
 #include "cxxlog.h"
 
 #include "environment.h"
+#include "vtable.h"
 #include "jvmti_internal.h"
 
 static Boolean is_valid_instance(jobject obj, Class* clss)

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_locals.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_locals.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_locals.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_locals.cpp Thu Apr 10 02:53:50 2008
@@ -37,6 +37,7 @@
 #include "jit_intf_cpp.h"
 #include "cci.h"
 #include "Class.h"
+#include "vtable.h"
 
 #define LOG_DOMAIN "jvmti.locals"
 
@@ -596,4 +597,5 @@
 
     return set_local(env, thread, depth, slot, VM_DATA_TYPE_F8, (void*) &value);
 }
+
 

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_method.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_method.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_method.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_method.cpp Thu Apr 10 02:53:50 2008
@@ -682,10 +682,7 @@
 {
     BEGIN_RAISE_AREA;
 
-    TRACE2("jvmti.event.method.entry", "MethodEntry: " <<
-        class_get_name(method_get_class(method)) << "." <<
-        method_get_name(method) << method_get_descriptor(method));
-
+    TRACE2("jvmti.event.method.entry", "MethodEntry: " << method);
     jvmti_process_method_entry_event(reinterpret_cast<jmethodID>(method));
 
     END_RAISE_AREA;
@@ -695,9 +692,7 @@
 {
     BEGIN_RAISE_AREA;
 
-    TRACE2("jvmti.event.method.exit", "MethodExit: " <<
-        class_get_name(method_get_class(method)) << "." <<
-        method_get_name(method) << method_get_descriptor(method));
+    TRACE2("jvmti.event.method.exit", "MethodExit: " << method);
 
     Method *m = reinterpret_cast<Method *>(method);
     jmethodID mid = reinterpret_cast<jmethodID>(method);

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_pop_frame.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_pop_frame.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_pop_frame.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_pop_frame.cpp Thu Apr 10 02:53:50 2008
@@ -35,6 +35,7 @@
 #include "jvmti_break_intf.h"
 #include "cci.h"
 #include "clog.h"
+#include "open/vm_class_info.h"
 
 static void jvmti_pop_frame_callback()
 {

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_roots.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_roots.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_roots.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_roots.cpp Thu Apr 10 02:53:50 2008
@@ -28,7 +28,7 @@
 #include <open/jthread.h>
 #include <open/hythread_ext.h>
 #include <jvmti_support.h>
-
+#include "jit_import_rt.h"
 // VM headers
 #include "Class.h"
 #include "cci.h"

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_stack.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_stack.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_stack.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_stack.cpp Thu Apr 10 02:53:50 2008
@@ -40,6 +40,7 @@
 #include "jit_intf_cpp.h"
 #include "thread_manager.h"
 #include "cci.h"
+#include "open/vm_class_info.h"
 
 class JavaStackIterator
 {

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_step.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_step.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_step.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_step.cpp Thu Apr 10 02:53:50 2008
@@ -23,6 +23,7 @@
 #include "jvmti.h"
 #include "Class.h"
 #include "cxxlog.h"
+#include "vm_log.h"
 #include "jvmti_utils.h"
 #include "jvmti_internal.h"
 #include "jit_intf_cpp.h"
@@ -441,12 +442,8 @@
     } while( true );
 
     for( unsigned index = 0; index < *count; index++ ) {
-        TRACE2( "jvmti.break.ss", "Step: " << class_get_name(method_get_class(method))
-            << "." << method_get_name(method) << method_get_descriptor(method)
-            << " :" << bytecode_index << "\n      -> "
-            << class_get_name(method_get_class((*next_step)[index].method))
-            << "." << method_get_name((*next_step)[index].method)
-            << method_get_descriptor((*next_step)[index].method)
+        TRACE2( "jvmti.break.ss", "Step: " << method
+            << ((*next_step)[index].method)
             << " :" << (*next_step)[index].location << " :"
             << (*next_step)[index].native_location << ", event: "
             << (*next_step)[index].no_event );
@@ -631,9 +628,7 @@
     assert(bp);
 
     TRACE2("jvmti.break.ss", "SingleStep occured: "
-        << class_get_name(method_get_class((Method*)bp->method)) << "."
-        << method_get_name((Method*)bp->method)
-        << method_get_descriptor((Method*)bp->method)
+        << ((Method*)bp->method)
         << " :" << bp->location << " :" << bp->addr);
 
     DebugUtilsTI *ti = VM_Global_State::loader_env->TI;
@@ -689,20 +684,14 @@
             {
                 TRACE2("jvmti.break.ss",
                     "Calling JIT global SingleStep breakpoint callback: "
-                    << class_get_name(method_get_class((Method*)method)) << "."
-                    << method_get_name((Method*)method)
-                    << method_get_descriptor((Method*)method)
-                    << " :" << location << " :" << addr);
+                    << method << " :" << location << " :" << addr);
 
                 // fire global event
                 func((jvmtiEnv*)env, jni_env, (jthread)hThread, method, location);
 
                 TRACE2("jvmti.break.ss",
                     "Finished JIT global SingleStep breakpoint callback: "
-                    << class_get_name(method_get_class((Method*)method)) << "."
-                    << method_get_name((Method*)method)
-                    << method_get_descriptor((Method*)method)
-                    << " :" << location << " :" << addr);
+                    << method << " :" << location << " :" << addr);
 
                 env = next_env;
                 continue;
@@ -720,10 +709,7 @@
                 {
                     TRACE2("jvmti.break.ss",
                         "Calling JIT local SingleStep breakpoint callback: "
-                        << class_get_name(method_get_class((Method*)method)) << "."
-                        << method_get_name((Method*)method)
-                        << method_get_descriptor((Method*)method)
-                        << " :" << location << " :" << addr);
+                        << method << " :" << location << " :" << addr);
                     found = true;
 
                     func((jvmtiEnv*)env, jni_env,
@@ -731,9 +717,7 @@
 
                     TRACE2("jvmti.break.ss",
                         "Finished JIT local SingleStep breakpoint callback: "
-                        << class_get_name(method_get_class((Method*)method)) << "."
-                        << method_get_name((Method*)method)
-                        << method_get_descriptor((Method*)method)
+                        << ((Method*)method)
                         << " :" << location << " :" << addr);
                 }
             }
@@ -778,9 +762,7 @@
     for (unsigned iii = 0; iii < locations_number; iii++)
     {
         TRACE2("jvmti.break.ss", "Set single step breakpoint: "
-            << class_get_name(method_get_class(locations[iii].method)) << "."
-            << method_get_name(locations[iii].method)
-            << method_get_descriptor(locations[iii].method)
+            << locations[iii].method
             << " :" << locations[iii].location
             << " :" << locations[iii].native_location);
 
@@ -927,9 +909,7 @@
                 if (NULL == call_ip)
                 {
                     TRACE2("jvmti.break.ss", "SingleStep IP shifted in prediction to: "
-                        << class_get_name(method_get_class(func)) << "."
-                        << method_get_name(func)
-                        << method_get_descriptor(func)
+                        << func
                         << " :" << next_location << " :" << ip2);
                     bc = next_location;
                     ip = ip2;

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_tags.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_tags.h?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_tags.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_tags.h Thu Apr 10 02:53:50 2008
@@ -89,7 +89,7 @@
 inline tag_pair** ti_get_object_tptr(Managed_Object_Handle obj)
 {
     ManagedObject *o = (ManagedObject*)obj;
-    if (class_is_array(o->vt()->clss)) {
+    if (o->vt()->clss->is_array()) {
         return (tag_pair**)((VM_Vector*)obj)->get_tag_pointer_address();
     } else {
         return (tag_pair**)((ManagedObject*)obj)->get_tag_pointer_address();

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/lil/lil.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/lil/lil.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/lil/lil.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/lil/lil.cpp Thu Apr 10 02:53:50 2008
@@ -350,7 +350,6 @@
         // ? 20030613: I really don't want this code here, but for now...
         Class_Handle UNUSED ch = type_info_get_class(tih);
         assert(ch);
-        assert(class_is_valuetype(ch));
         ASSERT(0, "Unexpected data type");
     }
     case VM_DATA_TYPE_MP:

Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/jarfile_support.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/jarfile_support.cpp?rev=646720&r1=646719&r2=646720&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/jarfile_support.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/jarfile_support.cpp Thu Apr 10 02:53:50 2008
@@ -20,6 +20,7 @@
  */
 #include "jarfile_support.h"
 
+#include "port_malloc.h"
 #include <fcntl.h>
 #include <sys/types.h>
 #include <sys/stat.h>



Mime
View raw message