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
This commit is contained in:
parent
85a92f7ef5
commit
192896142d
@ -1,3 +1,11 @@
|
||||
2006-09-20 Keith Seitz <keiths@redhat.com>
|
||||
|
||||
* 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.
|
||||
|
||||
2006-09-20 Gary Benson <gbenson@redhat.com>
|
||||
|
||||
* java/net/InetAddress.java: Mostly merged with Classpath.
|
||||
|
215
libjava/jvmti.cc
215
libjava/jvmti.cc
@ -651,6 +651,219 @@ _Jv_JVMTI_GetObjectSize (MAYBE_UNUSED jvmtiEnv *env, jobject object,
|
||||
return JVMTI_ERROR_NONE;
|
||||
}
|
||||
|
||||
jvmtiError
|
||||
_Jv_JVMTI_GetErrorName (MAYBE_UNUSED jvmtiEnv *env, jvmtiError error,
|
||||
char **name_ptr)
|
||||
{
|
||||
NULL_CHECK (name_ptr);
|
||||
|
||||
const char *name;
|
||||
switch (error)
|
||||
{
|
||||
case JVMTI_ERROR_NONE:
|
||||
name = "none";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_NULL_POINTER:
|
||||
name = "null pointer";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_OUT_OF_MEMORY:
|
||||
name = "out of memory";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_ACCESS_DENIED:
|
||||
name = "access denied";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_WRONG_PHASE:
|
||||
name = "wrong phase";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_INTERNAL:
|
||||
name = "internal error";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_UNATTACHED_THREAD:
|
||||
name = "unattached thread";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_INVALID_ENVIRONMENT:
|
||||
name = "invalid environment";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_INVALID_PRIORITY:
|
||||
name = "invalid priority";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_THREAD_NOT_SUSPENDED:
|
||||
name = "thread not suspended";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_THREAD_SUSPENDED:
|
||||
name = "thread suspended";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_THREAD_NOT_ALIVE:
|
||||
name = "thread not alive";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_CLASS_NOT_PREPARED:
|
||||
name = "class not prepared";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_NO_MORE_FRAMES:
|
||||
name = "no more frames";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_OPAQUE_FRAME:
|
||||
name = "opaque frame";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_DUPLICATE:
|
||||
name = "duplicate";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_NOT_FOUND:
|
||||
name = "not found";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_NOT_MONITOR_OWNER:
|
||||
name = "not monitor owner";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_INTERRUPT:
|
||||
name = "interrupted";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_UNMODIFIABLE_CLASS:
|
||||
name = "unmodifiable class";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_NOT_AVAILABLE:
|
||||
name = "not available";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_ABSENT_INFORMATION:
|
||||
name = "absent information";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_INVALID_EVENT_TYPE:
|
||||
name = "invalid event type";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_NATIVE_METHOD:
|
||||
name = "native method";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_INVALID_THREAD:
|
||||
name = "invalid thread";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_INVALID_THREAD_GROUP:
|
||||
name = "invalid thread group";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_INVALID_OBJECT:
|
||||
name = "invalid object";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_INVALID_CLASS:
|
||||
name = "invalid class";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_INVALID_METHODID:
|
||||
name = "invalid method ID";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_INVALID_LOCATION:
|
||||
name = "invalid location";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_INVALID_FIELDID:
|
||||
name = "invalid field ID";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_TYPE_MISMATCH:
|
||||
name = "type mismatch";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_INVALID_SLOT:
|
||||
name = "invalid slot";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_INVALID_MONITOR:
|
||||
name = "invalid monitor";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_INVALID_CLASS_FORMAT:
|
||||
name = "invalid class format";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION:
|
||||
name = "circular class definition";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED:
|
||||
name = "unsupported redefinition: method added";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED:
|
||||
name = "unsupported redefinition: schema changed";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_INVALID_TYPESTATE:
|
||||
name = "invalid type state";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_FAILS_VERIFICATION:
|
||||
name = "fails verification";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED:
|
||||
name = "unsupported redefinition: hierarchy changed";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED:
|
||||
name = "unsupported redefinition: method deleted";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_UNSUPPORTED_VERSION:
|
||||
name = "unsupported version";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_NAMES_DONT_MATCH:
|
||||
name = "names do not match";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED:
|
||||
name = "unsupported redefinition: class modifiers changed";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED:
|
||||
name = "unsupported redefinition: method modifiers changed";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_MUST_POSSESS_CAPABILITY:
|
||||
name = "must possess capability";
|
||||
break;
|
||||
|
||||
case JVMTI_ERROR_ILLEGAL_ARGUMENT:
|
||||
name = "illegal argument";
|
||||
break;
|
||||
|
||||
default:
|
||||
return JVMTI_ERROR_ILLEGAL_ARGUMENT;
|
||||
}
|
||||
|
||||
*name_ptr = (char *) _Jv_MallocUnchecked (strlen (name) + 1);
|
||||
if (*name_ptr == NULL)
|
||||
return JVMTI_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
strcpy (*name_ptr, name);
|
||||
return JVMTI_ERROR_NONE;
|
||||
}
|
||||
|
||||
#define RESERVED NULL
|
||||
#define UNIMPLEMENTED NULL
|
||||
|
||||
@ -783,7 +996,7 @@ struct _Jv_jvmtiEnv _Jv_JVMTI_Interface =
|
||||
UNIMPLEMENTED, // GetExtensionEvents
|
||||
UNIMPLEMENTED, // SetExtensionEventCallback
|
||||
_Jv_JVMTI_DisposeEnvironment, // DisposeEnvironment
|
||||
UNIMPLEMENTED, // GetErrorName
|
||||
_Jv_JVMTI_GetErrorName, // GetErrorName
|
||||
UNIMPLEMENTED, // GetJLocationFormat
|
||||
UNIMPLEMENTED, // GetSystemProperties
|
||||
_Jv_JVMTI_GetSystemProperty, // GetSystemProperty
|
||||
|
12
libjava/testsuite/libjava.jvmti/geterrorname.java
Normal file
12
libjava/testsuite/libjava.jvmti/geterrorname.java
Normal file
@ -0,0 +1,12 @@
|
||||
// Test JVMTI GetErrorName
|
||||
|
||||
public class geterrorname
|
||||
{
|
||||
public static native void do_errorname_tests ();
|
||||
|
||||
public static void main (String[] args)
|
||||
{
|
||||
System.out.println ("JVMTI GetErrorName tests");
|
||||
do_errorname_tests ();
|
||||
}
|
||||
}
|
49
libjava/testsuite/libjava.jvmti/geterrorname.out
Normal file
49
libjava/testsuite/libjava.jvmti/geterrorname.out
Normal file
@ -0,0 +1,49 @@
|
||||
JVMTI GetErrorName tests
|
||||
none
|
||||
null pointer
|
||||
out of memory
|
||||
access denied
|
||||
wrong phase
|
||||
internal error
|
||||
unattached thread
|
||||
invalid environment
|
||||
invalid priority
|
||||
thread not suspended
|
||||
thread suspended
|
||||
thread not alive
|
||||
class not prepared
|
||||
no more frames
|
||||
opaque frame
|
||||
duplicate
|
||||
not found
|
||||
not monitor owner
|
||||
interrupted
|
||||
unmodifiable class
|
||||
not available
|
||||
absent information
|
||||
invalid event type
|
||||
native method
|
||||
invalid thread
|
||||
invalid thread group
|
||||
invalid object
|
||||
invalid class
|
||||
invalid method ID
|
||||
invalid location
|
||||
invalid field ID
|
||||
type mismatch
|
||||
invalid slot
|
||||
invalid monitor
|
||||
invalid class format
|
||||
circular class definition
|
||||
unsupported redefinition: method added
|
||||
unsupported redefinition: schema changed
|
||||
invalid type state
|
||||
fails verification
|
||||
unsupported redefinition: hierarchy changed
|
||||
unsupported redefinition: method deleted
|
||||
unsupported version
|
||||
names do not match
|
||||
unsupported redefinition: class modifiers changed
|
||||
unsupported redefinition: method modifiers changed
|
||||
must possess capability
|
||||
illegal argument
|
76
libjava/testsuite/libjava.jvmti/natgeterrorname.cc
Normal file
76
libjava/testsuite/libjava.jvmti/natgeterrorname.cc
Normal file
@ -0,0 +1,76 @@
|
||||
#include <gcj/cni.h>
|
||||
|
||||
#include <jvm.h>
|
||||
#include <jvmti.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "jvmti-int.h"
|
||||
#include "geterrorname.h"
|
||||
|
||||
static void
|
||||
get_error (jvmtiEnv *env, jvmtiError err)
|
||||
{
|
||||
char *s;
|
||||
env->GetErrorName (err, &s);
|
||||
printf ("%s\n", s);
|
||||
env->Deallocate (reinterpret_cast<unsigned char *> (s));
|
||||
}
|
||||
|
||||
void
|
||||
geterrorname::do_errorname_tests ()
|
||||
{
|
||||
jvmtiEnv *env;
|
||||
JavaVM *vm = _Jv_GetJavaVM ();
|
||||
vm->GetEnv (reinterpret_cast<void **> (&env), JVMTI_VERSION_1_0);
|
||||
|
||||
get_error (env, JVMTI_ERROR_NONE);
|
||||
get_error (env, JVMTI_ERROR_NULL_POINTER);
|
||||
get_error (env, JVMTI_ERROR_OUT_OF_MEMORY);
|
||||
get_error (env, JVMTI_ERROR_ACCESS_DENIED);
|
||||
get_error (env, JVMTI_ERROR_WRONG_PHASE);
|
||||
get_error (env, JVMTI_ERROR_INTERNAL);
|
||||
get_error (env, JVMTI_ERROR_UNATTACHED_THREAD);
|
||||
get_error (env, JVMTI_ERROR_INVALID_ENVIRONMENT);
|
||||
get_error (env, JVMTI_ERROR_INVALID_PRIORITY);
|
||||
get_error (env, JVMTI_ERROR_THREAD_NOT_SUSPENDED);
|
||||
get_error (env, JVMTI_ERROR_THREAD_SUSPENDED);
|
||||
get_error (env, JVMTI_ERROR_THREAD_NOT_ALIVE);
|
||||
get_error (env, JVMTI_ERROR_CLASS_NOT_PREPARED);
|
||||
get_error (env, JVMTI_ERROR_NO_MORE_FRAMES);
|
||||
get_error (env, JVMTI_ERROR_OPAQUE_FRAME);
|
||||
get_error (env, JVMTI_ERROR_DUPLICATE);
|
||||
get_error (env, JVMTI_ERROR_NOT_FOUND);
|
||||
get_error (env, JVMTI_ERROR_NOT_MONITOR_OWNER);
|
||||
get_error (env, JVMTI_ERROR_INTERRUPT);
|
||||
get_error (env, JVMTI_ERROR_UNMODIFIABLE_CLASS);
|
||||
get_error (env, JVMTI_ERROR_NOT_AVAILABLE);
|
||||
get_error (env, JVMTI_ERROR_ABSENT_INFORMATION);
|
||||
get_error (env, JVMTI_ERROR_INVALID_EVENT_TYPE);
|
||||
get_error (env, JVMTI_ERROR_NATIVE_METHOD);
|
||||
get_error (env, JVMTI_ERROR_INVALID_THREAD);
|
||||
get_error (env, JVMTI_ERROR_INVALID_THREAD_GROUP);
|
||||
get_error (env, JVMTI_ERROR_INVALID_OBJECT);
|
||||
get_error (env, JVMTI_ERROR_INVALID_CLASS);
|
||||
get_error (env, JVMTI_ERROR_INVALID_METHODID);
|
||||
get_error (env, JVMTI_ERROR_INVALID_LOCATION);
|
||||
get_error (env, JVMTI_ERROR_INVALID_FIELDID);
|
||||
get_error (env, JVMTI_ERROR_TYPE_MISMATCH);
|
||||
get_error (env, JVMTI_ERROR_INVALID_SLOT);
|
||||
get_error (env, JVMTI_ERROR_INVALID_MONITOR);
|
||||
get_error (env, JVMTI_ERROR_INVALID_CLASS_FORMAT);
|
||||
get_error (env, JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION);
|
||||
get_error (env, JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED);
|
||||
get_error (env, JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED);
|
||||
get_error (env, JVMTI_ERROR_INVALID_TYPESTATE);
|
||||
get_error (env, JVMTI_ERROR_FAILS_VERIFICATION);
|
||||
get_error (env, JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED);
|
||||
get_error (env, JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED);
|
||||
get_error (env, JVMTI_ERROR_UNSUPPORTED_VERSION);
|
||||
get_error (env, JVMTI_ERROR_NAMES_DONT_MATCH);
|
||||
get_error (env,
|
||||
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED);
|
||||
get_error (env,
|
||||
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED);
|
||||
get_error (env, JVMTI_ERROR_MUST_POSSESS_CAPABILITY);
|
||||
get_error (env, JVMTI_ERROR_ILLEGAL_ARGUMENT);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user