You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by va...@apache.org on 2008/04/10 11:54:06 UTC
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/
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>