Commit Graph

36 Commits

Author SHA1 Message Date
Kyle Galloway
814bcb146b jvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count as a sigle slot.
2007-03-12  Kyle Galloway  <kgallowa@redhat.com>

	* jvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count
	as a sigle slot.

From-SVN: r122864
2007-03-12 20:15:25 +00:00
Kyle Galloway
b389f63b05 jvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count as a sigle slot.
2007-03-12  Kyle Galloway  <kgallowa@redhat.com>

	* jvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count
	as a sigle slot.

From-SVN: r122863
2007-03-12 20:12:47 +00:00
Kyle Galloway
61a36e0df4 jvmti.cc (_Jv_JVMTI_GetLocalVariableTable): Fix _Jv_Malloc parameters.
2007-03-06  Kyle Galloway  <kgallowa@redhat.com>
	* jvmti.cc(_Jv_JVMTI_GetLocalVariableTable): Fix _Jv_Malloc parameters.
	* testsuite/libjava.jvmti/interp/natgetlocalvartable.cc
	(do_getlocalvartable_tests): Add Deallocate calls to free strings.

From-SVN: r122630
2007-03-06 18:22:28 +00:00
Kyle Galloway
532e9fe7d3 jvmti.cc (_Jv_JVMTI_GetArgumentsSize): New function.
2007-02-21  Kyle Galloway  <kgallowa@redhat.com>

	* jvmti.cc (_Jv_JVMTI_GetArgumentsSize): New function.
	* testsuite/libjava.jvmti/interp/getargssize.java: New test.
	* testsuite/libjava.jvmti/interp/getargssize.h: Ditto.
	* testsuite/libjava.jvmti/interp/getargssize.jar: Ditto.
	* testsuite/libjava.jvmti/interp/getargssize.out: Ditto.
	* testsuite/libjava.jvmti/interp/natgetargssize.cc: Ditto.

From-SVN: r122201
2007-02-21 18:09:24 +00:00
Kyle Galloway
ce359ed916 interpret.cc: Add extra DEBUG_LOCALS_INSN calls for multi-slot variables to maintain type info.
2007-02-16  Kyle Galloway  <kgallowa@redhat.com>

	* interpret.cc: Add extra DEBUG_LOCALS_INSN calls for multi-slot
	variables to maintain type info.
	* interpret-run.cc: Add local variable info to frame in the debug
	interpreter.
	* jvmti.cc (getLocalFrame): New method.
	(_Jv_JVMTI_GetLocalObject): New method.
	(_Jv_JVMTI_GetLocallInt): New method.
	(_Jv_JVMTI_GetLocalFloat): New method.
	(_Jv_JVMTI_GetLocalLong): New method.
	(_Jv_JVMTI_GetLocalDouble): New method.
	(_Jv_JVMTI_SetLocalObject): New method.
	(_Jv_JVMTI_SetLocalInt): New method.
	(_Jv_JVMTI_SetLocalFloat): New method.
	(_Jv_JVMTI_SetLocalLong): New method.
	(_Jv_JVMTI_SetLocalDouble): New method.

From-SVN: r122048
2007-02-16 18:32:07 +00:00
Kyle Galloway
fe60528edc defineclass.cc (_Jv_ClassReader::read_one_code_attribute): Added LocalVariableTable attribute handling.
2007-02-15  Kyle Galloway  <kgallowa@redhat.com>

	* defineclass.cc (_Jv_ClassReader::read_one_code_attribute):
    Added LocalVariableTable attribute handling.
    (_Jv_ClassReader::pool_Utf8_to_char_arr): New method.
    * jvmti.cc (_Jv_JVMTI_GetLocalVariableTable): New method.
    * include/java-interp.h: Added local_var_table and
    local_var_table_len fields to _Jv_InterpMethod.
    (_Jv_InterpMethod::get_local_var_table): New method.
    * testsuite/libjava.jvmti/interp/getlocalvartable.java: New
    test.
    * testsuite/libjava.jvmti/interp/getlocalvartable.jar: New test.
    * testsuite/libjava.jvmti/interp/getlocalvartable.out: Output
    for new test.
    * testsuite/libjava.jvmti/interp/getlocalvartable.h: New test.
    * testsuite/libjava.jvmti/interp/natgetlocalvartable.cc: New
    test.

From-SVN: r121999
2007-02-15 15:08:27 +00:00
Keith Seitz
9606c9dd5e jvmti.cc (_Jv_JVMTI_GetStackTrace): Remove cast from jthread to Thread *; it is no longer needed.
* jvmti.cc (_Jv_JVMTI_GetStackTrace): Remove cast
        from jthread to Thread *; it is no longer needed.
        (_Jv_JVMTI_GetFrameCount): Likewise.
        Fix small formatting typo.

From-SVN: r121878
2007-02-13 02:44:51 +00:00
Keith Seitz
896b1c8792 java-interp.h (_Jv_Frame::depth): New function.
* include/java-interp.h (_Jv_Frame::depth):
        New function.
        * jvmti.cc (_Jv_JVMTI_GetFrameCount): Use _Jv_Frame::depth.

From-SVN: r121709
2007-02-08 01:55:29 +00:00
Kyle Galloway
04ab45732d jvmti.cc (CHECK_FOR_NATIVE_METHOD): New macro.
2007-02-07  Kyle Galloway  <kgallowa@redhat.com>

    * jvmti.cc (CHECK_FOR_NATIVE_METHOD): New macro.
    (_Jv_JVMTI_GetMaxLocals): New method.
    * include/java-interp.h
    (_Jv_InterpMethod::get_max_locals): New method.

From-SVN: r121700
2007-02-07 23:28:04 +00:00
Keith Seitz
d6df67efcd jvmti.cc (_envListLock): Change type to ReentrantReadWriteLock.
* jvmti.cc (_envListLock): Change type to
        ReentrantReadWriteLock.
        (_Jv_JVMTI_DisposeEnvironment): Switch to read/write
        lock.
        (check_enabled_event): Likewise.
        (_Jv_GetJVMTIEnv): Likewise.
        (_Jv_JVMTI_Init): Likewise.
        (_Jv_JVMTI_PostEvent): Likewise.

From-SVN: r121616
2007-02-05 21:28:55 +00:00
Keith Seitz
c6923d93eb jvmti-int.h (JVMTI): Declare member "enabled".
* include/jvmti-int.h (JVMTI): Declare member "enabled".
        * jvmti.cc (JVMTI): Add member "enabled".
        (_Jv_GetJVMTIEnv): Mark JVMTI enabled.
        * interpret.cc (_Jv_InterpMethod::ncode): Use JVMTI::enabled
        instead of gnu::classpath::jdwp::Jdwp::isDebugging.
        (_Jv_CompileMethod): If JVMTI is enabled, use run_debug
        instead of run to compile the method.

        * interpret-run.cc [DEBUG] (NEXT_INSN): Add JVMTI single step
        notification.

From-SVN: r121442
2007-01-31 23:25:39 +00:00
Kyle Galloway
3927313117 java-interp.h: Added _Jv_Frame class and its two subclasses _Jv_InterpFrame and _Jv_NativeFrame.
2007-01-29  Kyle Galloway  <kgallowa@redhat.com>

	* include/java-interp.h:  Added _Jv_Frame class and its two
	subclasses _Jv_InterpFrame and _Jv_NativeFrame.  Also moved
	_Jv_FrameType from java-stack.h.
	* include/java-stack.h: Removed _Jv_FrameType.
	* java/lang/Thread.java: Added frame member to hold new
	composite frame stack.
	* java/lang/Thread.h: Regenerated.
	* java/lang/Thread.class: Rebuilt.
	* jni.cc (_Jv_JNIMethod::call): Push a frame onto the stack when
	calling a JNI method.
	* jvmti.cc (_Jv_JVMTI_GetStackTrace): New Method.
	(_Jv_JVMTI_GetFrameCount): New method.
	* stacktrace.cc (UnwindTraceFn): Modified to use new _Jv_Frame
	classes.
	* testsuite/libjava.jvmti/interp/getstacktrace.jar: New test.
	* testsuite/libjava.jvmti/interp/natgetstacktrace.cc: New test.
	* testsuite/libjava.jvmti/interp/getstacktrace.h: New test.
	* testsuite/libjava.jvmti/interp/getstacktrace.jar: New test.
	* testsuite/libjava.jvmti/interp/getstacktrace.out: Output file
	for test.

From-SVN: r121314
2007-01-29 22:05:56 +00:00
Keith Seitz
68254f23e8 jvmti_md.h (_CLASSPATH_VM_JVMTI_TYPES_DEFINED): Define.
* include/jvmti_md.h (_CLASSPATH_VM_JVMTI_TYPES_DEFINED):
        Define.
        [__GCJ_JNI_IMPL__]: Define our own JVMTI types when building
        gcj. All jvmti object types now are defined to be their
        corresponding java classes.
        * jvmti.cc (_Jv_JVMTI_SuspendThread): Remove casting from
        jthread to Thread*.
        (_Jv_JVMTI_ResumeThread): Likewise.
        (_Jv_JVMTI_InterruptThread): Likewise.
        (_Jv_JVMTI_SetEventNotificationMode): Likewise.
        * gnu/classpath/jdwp/natVMVirtualMachine.cc
        (jdwpClassPrepareCB): Likewise.
        (jdwpThreadEndCB): Likewise.
        (jdwpThreadStartCB): Likewise.
        (jdwpVMInitCB): Likewise.

From-SVN: r121296
2007-01-29 17:43:34 +00:00
Keith Seitz
ff393407cf jvmti.cc (_Jv_JVMTI_GetMethodName): New function.
* jvmti.cc (_Jv_JVMTI_GetMethodName): New function.
        (_Jv_JVMTI_Interface): Define GetMethodName.
        * testsuite/libjava.jvmti/getmethodname.java: New file.
        * testsuite/libjava.jvmti/natgetmethodname.cc: New file.
        * testsuite/libjava.jvmti/getmethodname.out: New file.

From-SVN: r121179
2007-01-25 18:04:01 +00:00
Keith Seitz
2b3c67882e Class.h (_Jv_GetClassStatus): Declare.
* java/lang/Class.h (_Jv_GetClassStatus): Declare.
        * java/lang/natClass.cc (_Jv_GetClassStatus): New function.
        * jvmti.cc (_Jv_JVMTI_GetClassStatus): New function.
        (_Jv_JVMTI_Interface): Define GetClassStatus.

From-SVN: r121074
2007-01-23 01:06:10 +00:00
Marco Trudel
70686a71f6 jvmti.cc (_Jv_JVMTI_GetAllThreads): Now static.
2007-01-17  Marco Trudel  <mtrudel@gmx.ch>

	* jvmti.cc (_Jv_JVMTI_GetAllThreads): Now static.  Use JNICALL.
	Fixed indentation.  Removed unused variable.

From-SVN: r120854
2007-01-17 12:55:52 +00:00
Kyle Galloway
05794ce850 jvmti.cc (_Jv_JVMTI_GetAllThreads): New function.
2007-01-16  Kyle Galloway  <kgallowa@redhat.com>

	* jvmti.cc (_Jv_JVMTI_GetAllThreads): New function.
	* testsuite/libjava.jvmti/getallthreads.java: New test.
	* testsuite/libjava.jvmti/natgetallthreads.cc: Ditto.
	* testsuite/libjava.jvmti/getallthreads.out: Ditto.
	* testsuite/libjava.jvmti/getallthreads.h: Ditto.
	* testsuite/libjava.jvmti/getallthreads.jar: Ditto.

From-SVN: r120827
2007-01-16 15:06:28 +00:00
Keith Seitz
081070150c jvmti.cc (_Jv_JVMTI_GetLineNumberTable): New function.
* jvmti.cc (_Jv_JVMTI_GetLineNumberTable): New function.
        (_Jv_JVMTI_Interface): Define GetLineNumberTable.

From-SVN: r118419
2006-11-02 16:59:04 +00:00
Keith Seitz
444dd946c8 Location.java: New file.
* gnu/gcj/jvmti/Location.java: New file.
        * gnu/gcj/jvmti/BreakpointManager.java: New file.
        * jvmti.cc (_Jv_JVMTI_SetBreakpoint): New function.
        (_Jv_JVMTI_ClearBreakpoint): New function.
        (_Jv_JVMTI_Interface): Define SetBreakpoint and ClearBreakpoint.
        * sources.am: Regenerated.
        * Makefile.in: Regenerated.

From-SVN: r118391
2006-11-01 18:20:19 +00:00
Keith Seitz
f356a436f0 java-stack.h (ncodeMap): Declare.
* include/java-stack.h (ncodeMap): Declare.
        (_Jv_StackTrace): Make _Jv_GetMethodDeclaringClass friend.
        * java/lang/Class.h (_Jv_GetMethodDeclaringClass): Declare.
        * java/lang/natClass.cc (_Jv_GetMethodDeclaringClass): New
        function.
        * stacktrace.cc (ncodeMap): Redefine from file global to global
        for class _Jv_StackTrace.
        (_Jv_StackTrace::UpdateNCodeMap): Add interpreted classes, too,
        so that _Jv_GetMethodDeclaringClass can find them all.
        (_Jv_StackTrace::ClassForFrame): Exclude interpreted classes.
        * jvmti.cc (_Jv_JVMTI_GetMethodDeclaringClass): New function.
        (_Jv_JVMTI_Interface): Define GetMethodDeclaringClass function.

From-SVN: r118100
2006-10-28 02:15:12 +00:00
Keith Seitz
dc0aeb6069 jvmti-int.h (JVMTI): Declare all members "extern".
* include/jvmti-int.h (JVMTI): Declare all members "extern".
        * jvmti.cc (JVMTI): Define.

From-SVN: r117670
2006-10-12 18:18:52 +00:00
Marco Trudel
f8e0488413 jvmti.cc (_Jv_JVMTI_GetErrorName): Now static.
2006-09-22  Marco Trudel  <mtrudel@gmx.ch>

	* jvmti.cc (_Jv_JVMTI_GetErrorName): Now static.  Marked JNICALL.

From-SVN: r117153
2006-09-22 21:31:15 +00:00
Keith Seitz
ebf29cf63f jvmti.cc (_Jv_JVMTI_DisposeEnvironment): Check for enabled events.
* jvmti.cc (_Jv_JVMTI_DisposeEnvironment): Check for enabled
        events.
        (check_enabled_event): New function.
        (check_enabled_events): New function.
        (post_event): New function.
        (_Jv_JVMTI_SetEventNotificationMode): New function.
        (_Jv_JVMTI_SetEventCallbacks): New function.
        (_Jv_JVMTI_Interface): Define SetEventNotificationMode and
        SetEventCallbacks members.
        * include/jvmti-int.h: New file.
        * include/jvmti_md.h (EVENT_SLOTS) [__GCJ_JNI_IMP__]: Define.
        (_CLASSPATH_JVMTIENV_CONTENTS) [__GCJ_JNI_IMPL__]: Define.
        * testsuite/libjava.jvmti/events.java: New file.
        * testsuite/libjava.jvmti/events.out: New file.
        * testsuite/libjava.jvmti/natevents.cc: New file.

From-SVN: r117133
2006-09-22 02:12:12 +00:00
Keith Seitz
e853e26e11 jvmti.cc (_Jv_JVMTI_CreateRawMonitor): Use _Jv_MallocUnchked and return JVMTI_ERROR_OUT_OF_MEMORY if necessary.
* jvmti.cc (_Jv_JVMTI_CreateRawMonitor): Use _Jv_MallocUnchked
        and return JVMTI_ERROR_OUT_OF_MEMORY if necessary.
        (_Jv_JVMTI_GetClassMethods): Likewise.
        (_Jv_JVMTI_GetClassLoaderClasses): Likewise.
        (_Jv_JVMTI_GetJNIFunctionTable): Likewise.

From-SVN: r117098
2006-09-21 00:09:48 +00:00
Keith Seitz
192896142d jvmti.cc (_Jv_JVMTI_GetErrorName): New function.
* jvmti.cc (_Jv_JVMTI_GetErrorName): New function.
        (_Jv_JVMTI_Interface): Define GetErrorName member.
        * testsuite/libjava.jvmti/geterrorname.java: New file.
        * testsuite/libjava.jvmti/geterrorname.out: New file.
        * testsuite/libjava.jvmti/natgeterrorname.cc: New file.

From-SVN: r117086
2006-09-20 16:56:53 +00:00
Keith Seitz
af91f02dba jvmti.cc (THREAD_DEFAULT_TO_CURRENT): Clarify parameter list.
* jvmti.cc (THREAD_DEFAULT_TO_CURRENT): Clarify parameter list.
        (THREAD_CHECK_VALID): Likewise.
        (THREAD_CHECK_ALIVE): Likewise.
        (_Jv_JVMTI_SuspendThread): Call THREAD_CHECK_VALID on a Thread not
        jthread.
        (_Jv_JVMTI_ResumeThread): Likewise.
        (_Jv_JVMTI_InterruptThread): Likewise.

        (_Jv_JVMTI_DisposeEnvironment): Probably unwise to dereference an object
        that was just freed.

From-SVN: r117064
2006-09-19 23:12:17 +00:00
Keith Seitz
a56913dd37 jvmti.cc (THREAD_DEFAULT_TO_CURRENT): Encapsulate in do..while loop.
* jvmti.cc (THREAD_DEFAULT_TO_CURRENT): Encapsulate in do..while loop.
        (THREAD_CHECK_VALID): Likewise.
        (THREAD_CHECK_IS_ALIVE): Likewise.
        (NULL_CHECK): Likewise.
        (ILLEGAL_ARGUMENT): Likewise.

From-SVN: r116636
2006-09-01 17:58:22 +00:00
Keith Seitz
e6789bef7a jvm.h (_Jv_JVMTI_Init): Declare.
* include/jvm.h (_Jv_JVMTI_Init): Declare.
        * jvmti.cc (_Jv_JVMTI_Init): New function.
        * prims.cc (_Jv_CreateJavaVM): Initialize JVMTI.

        * jvmti.cc (ILLEGAL_ARGUMENT): New macro.
        (_Jv_JVMTI_Allocate): Use ILLEGAL_ARUMENT.

        * jvmti.cc (_jvmtiEnvironments): New linked list of
        JVMTI environments.
        (FOREACH_ENVIRONMENT): New macro.
        (_envListLock): New object to act as synchronization lock
        for _jvmtiEnvironments.
        (_Jv_JVMTI_DisposeEnvironment): Check for NULL environment.
        Remove the environment from the list of known environments.
        (_Jv_GetJVMTIEnv): Add the new environment to the list
        of known environments.

From-SVN: r116635
2006-09-01 17:42:23 +00:00
Keith Seitz
59294c2bdf jvmti.cc (_Jv_JVMTI_RawMonitorWait): Add millis parameter.
* jvmti.cc (_Jv_JVMTI_RawMonitorWait): Add millis parameter.
        Pass millis to _Jv_CondWait.

From-SVN: r116611
2006-08-31 22:56:23 +00:00
Mark Wielaard
76b63f3c5f jvmti.cc: Include gcj/method.h.
2006-08-04  Mark Wielaard  <mark@klomp.org>

	* jvmti.cc: Include gcj/method.h.

From-SVN: r115943
2006-08-05 03:17:07 +00:00
Tom Tromey
cb86b2b6db jvmti.cc: Added MAYBE_UNUSED to 'env' parameters.
* jvmti.cc: Added MAYBE_UNUSED to 'env' parameters.
	(_Jv_JVMTI_GetObjectSize): Cast _Jv_GetArrayElementFromElementType
	result to _Jv_uintptr_t.

From-SVN: r115942
2006-08-05 01:28:36 +00:00
Tom Tromey
224aaa4139 jvmti.cc (REQUIRE_PHASE): New macro.
* jvmti.cc (REQUIRE_PHASE): New macro.
	(_Jv_JVMTI_InterruptThread): New function.
	(_Jv_JVMTI_CreateRawMonitor): Likewise.
	(_Jv_JVMTI_DestroyRawMonitor): Likewise.
	(_Jv_JVMTI_RawMonitorEnter): Likewise.
	(_Jv_JVMTI_RawMonitorExit): Likewise.
	(_Jv_JVMTI_RawMonitorWait): Likewise.
	(_Jv_JVMTI_RawMonitorNotify): Likewise.
	(_Jv_JVMTI_RawMonitorNotifyAll): Likewise.
	(_Jv_JVMTI_Allocate): Likewise.
	(_Jv_JVMTI_Deallocate): Likewise.
	(_Jv_JVMTI_GetClassModifiers): Likewise.
	(_Jv_JVMTI_GetClassMethods): Likewise.
	(_Jv_JVMTI_IsInterface): Likewise.
	(_Jv_JVMTI_IsArrayClass): Likewise.
	(_Jv_JVMTI_GetClassLoader): Likewise.
	(_Jv_JVMTI_GetObjectHashCode): Likewise.
	(_Jv_JVMTI_GetFieldModifiers): Likewise.
	(_Jv_JVMTI_IsFieldSynthetic): Likewise.
	(_Jv_JVMTI_GetMethodModifiers): Likewise.
	(_Jv_JVMTI_IsMethodNative): Likewise.
	(_Jv_JVMTI_IsMethodSynthetic): Likewise.
	(_Jv_JVMTI_GetClassLoaderClasses): Likewise.
	(_Jv_JVMTI_ForceGarbageCollection): Likewise.
	(_Jv_JVMTI_GetSystemProperty): Likewise.
	(_Jv_JVMTI_SetSystemProperty): Likewise.
	(_Jv_JVMTI_GetTime): Likewise.
	(_Jv_JVMTI_GetAvailableProcessors): Likewise.
	(_Jv_JVMTI_AddToBootstrapClassLoaderSearch): Likewise.
	(_Jv_JVMTI_SetVerboseFlag): Likewise.
	(_Jv_JVMTI_GetObjectSize): Likewise.
	(_Jv_JVMTI_SetJNIFunctionTable): Likewise.
	(_Jv_JVMTI_GetJNIFunctionTable): Likewise.
	(_Jv_JVMTI_Interface): Updated.
	(NULL_CHECK): New macro.

From-SVN: r115907
2006-08-03 17:13:51 +00:00
Mohan Embar
3201e73d96 jvmti.cc (_Jv_JVMTI_SuspendThread): Add missing JNICALL attribute.
2006-07-23  Mohan Embar  <gnustuff@thisiscool.com>

	* jvmti.cc (_Jv_JVMTI_SuspendThread): Add missing JNICALL
	attribute.
	(_Jv_JVMTI_ResumeThread): Likewise.
	(_Jv_JVMTI_DisposeEnvironment): Likewise.

From-SVN: r115692
2006-07-23 23:59:24 +00:00
Keith Seitz
303f32ccd7 boehm.cc (_Jv_SuspendThread): Don't ifdef the function declaration, just the contents.
* boehm.cc (_Jv_SuspendThread): Don't ifdef the function declaration,
        just the contents.
        (_Jv_ResumeThread): Likewise.
        * posix-threads.cc: Revert 2006-06-19 _Jv_ThreadDebugSuspend,
        _Jv_ThreadDebugResume, _Jv_ThreadDebugSuspendCount patch. Moving
        to JVMTI instead.
        * include/posix-threads.h: Likewise.
        * win32-threads.cc: Likewise.
        * include/win32-threads.h: Likewise.
        * jvmti.cc (_Jv_JVMTI_SuspentThread): New function.
        (_Jv_JVMTI_ResumeThread): New function.
        (_Jv_JVMTI_Interface): Define SuspendThread and ResumeThread.

From-SVN: r115655
2006-07-21 23:45:03 +00:00
Keith Seitz
326d5132e4 jvmti.cc (_Jv_JVMTI_DisposeEnvironment): New function.
* jvmti.cc (_Jv_JVMTI_DisposeEnvironment): New function.
        (_Jv_JVMTI_Interface): Define DisposeEnvironment method.

From-SVN: r115631
2006-07-20 22:20:09 +00:00
Keith Seitz
94f473ee2c jvm.h (_Jv_GetJVMTIEnv): Declare.
* include/jvm.h (_Jv_GetJVMTIEnv): Declare.
        * jni.cc (_Jv_JNI_GetEnv): Handle JVMTI requests.
        * jvmti.cc: New file.
        * Makefile.am (libgcj_la_SOURCES): Add jvmti.cc.
        * Makefile.in: Regenerate.

From-SVN: r115629
2006-07-20 19:30:30 +00:00