This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
[RFA/JVMTI] Update jvmti.h
- From: Keith Seitz <keiths at redhat dot com>
- To: Java Patch List <java-patches at gcc dot gnu dot org>
- Date: Thu, 31 Aug 2006 15:04:57 -0700
- Subject: [RFA/JVMTI] Update jvmti.h
Hi,
I would like to update our local copy of jvmti.h with the latest and
greatest that was committed to classpath. This includes adding a new
include file, jvmti_md.h (just like jni_md.h), which is empty right now
(but won't be for long).
This will allow me to submit the (long-ago promised) event notification
mechanism for JVMTI environments. I promise that patch will really
require reviewing! :-)
Okay?
Keith
classpath/ChangeLog.gcj
2006-08-31 Keith Seitz <keiths@redhat.com>
* include/jvmti.h: Update from Classpath to get latest fixes and
improvements.
ChangeLog
2006-08-31 Keith Seitz <keiths@redhat.com>
* include/jvmti_md.h: New file.
Index: classpath/include/jvmti.h
===================================================================
--- classpath/include/jvmti.h (revision 116604)
+++ classpath/include/jvmti.h (working copy)
@@ -45,6 +45,8 @@
#define _CLASSPATH_JVMTI_H
#include <jni.h>
+#include "jvmti_md.h"
+
/* The VM might define JVMTI base types */
#ifndef _CLASSPATH_VM_JVMTI_TYPES_DEFINED
@@ -79,7 +81,7 @@
#ifdef __cplusplus
typedef struct _Jv_JVMTIEnv jvmtiEnv;
#else
-typedef const struct _Jv_jvmtiEnv jvmtiEnv;
+typedef const struct _Jv_jvmtiEnv *jvmtiEnv;
#endif
/*
@@ -140,7 +142,7 @@
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED = 70,
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED = 71,
JVMTI_ERROR_MUST_POSSESS_CAPABILITY = 99,
- JVMTI_ERROR_ILLEGAL_ARGUMENT = 103,
+ JVMTI_ERROR_ILLEGAL_ARGUMENT = 103
} jvmtiError;
/*
@@ -283,7 +285,7 @@
JVMTI_EVENT_EXCEPTION_CATCH = 59,
JVMTI_EVENT_SINGLE_STEP = 60,
JVMTI_EVENT_FRAME_POP = 61,
- JVMTI_EVENT_BERAKPOINT = 62,
+ JVMTI_EVENT_BREAKPOINT = 62,
JVMTI_EVENT_FIELD_ACCESS = 63,
JVMTI_EVENT_FIELD_MODIFICATION = 64,
JVMTI_EVENT_METHOD_ENTRY = 65,
@@ -658,7 +660,8 @@
jthread thread);
jvmtiError (JNICALL *StopThread) (jvmtiEnv *env,
- jthread thread);
+ jthread thread,
+ jobject exception);
jvmtiError (JNICALL *InterruptThread) (jvmtiEnv *env,
jthread thread);
@@ -790,7 +793,8 @@
jrawMonitorID monitor);
jvmtiError (JNICALL *RawMonitorWait) (jvmtiEnv *env,
- jrawMonitorID monitor);
+ jrawMonitorID monitor,
+ jlong millis);
jvmtiError (JNICALL *RawMonitorNotify) (jvmtiEnv *env,
jrawMonitorID monitor);
@@ -844,7 +848,7 @@
jvmtiError (JNICALL *GetSourceFileName) (jvmtiEnv *env,
jclass klass,
- char *source_name_ptr);
+ char **source_name_ptr);
jvmtiError (JNICALL *GetClassModifiers) (jvmtiEnv *env,
jclass klass,
@@ -1249,8 +1253,8 @@
jvmtiError ResumeThread (jthread thread)
{ return p->ResumeThread (this, thread); }
- jvmtiError StopThread (jthread thread)
- { return p->StopThread (this, thread); }
+ jvmtiError StopThread (jthread thread, jobject exception)
+ { return p->StopThread (this, thread, exception); }
jvmtiError InterruptThread (jthread thread)
{ return p->InterruptThread (this, thread); }
@@ -1360,8 +1364,8 @@
jvmtiError RawMonitorExit (jrawMonitorID monitor)
{ return p->RawMonitorExit (this, monitor); }
- jvmtiError RawMonitorWait (jrawMonitorID monitor)
- { return p->RawMonitorWait (this, monitor); }
+ jvmtiError RawMonitorWait (jrawMonitorID monitor, jlong millis)
+ { return p->RawMonitorWait (this, monitor, millis); }
jvmtiError RawMonitorNotify (jrawMonitorID monitor)
{ return p->RawMonitorNotify (this, monitor); }
@@ -1400,7 +1404,7 @@
jvmtiError GetClassStatus (jclass klass, jint *status_ptr)
{ return p->GetClassStatus (this, klass, status_ptr); }
- jvmtiError GetSourceFileName (jclass klass, char *source_name_ptr)
+ jvmtiError GetSourceFileName (jclass klass, char **source_name_ptr)
{ return p->GetSourceFileName (this, klass, source_name_ptr); }
jvmtiError GetClassModifiers (jclass klass, jint *modifiers_ptr)
Index: include/jvmti_md.h
===================================================================
--- include/jvmti_md.h (revision 0)
+++ include/jvmti_md.h (revision 0)
@@ -0,0 +1,32 @@
+/* jvmti_md.h
+ Copyright (C) 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+As a special exception, if you link this library with other files to
+produce an executable, this library does not by itself cause the
+resulting executable to be covered by the GNU General Public License.
+This exception does not however invalidate any other reasons why the
+executable file might be covered by the GNU General Public License. */
+
+#ifndef __GCJ_JVMTI_MD_H__
+#define __GCJ_JVMTI_MD_H__
+
+// nothing
+
+#endif /* __GCJ_JVMTI_MD_H__ */