harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From py...@apache.org
Subject svn commit: r436699 - in /incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main: java/org/apache/harmony/instrument/internal/ native/instrument/shared/
Date Fri, 25 Aug 2006 07:47:37 GMT
Author: pyang
Date: Fri Aug 25 00:47:36 2006
New Revision: 436699

URL: http://svn.apache.org/viewvc?rev=436699&view=rev
Log:
Patch applied for HARMONY-1274 ([classlib][instrument]Refine implementation of Intrumentation)

Modified:
    incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/java/org/apache/harmony/instrument/internal/InstrumentationImpl.java
    incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/native/instrument/shared/inst_agt.c
    incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/native/instrument/shared/instrument.c
    incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/native/instrument/shared/instrument.h

Modified: incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/java/org/apache/harmony/instrument/internal/InstrumentationImpl.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/java/org/apache/harmony/instrument/internal/InstrumentationImpl.java?rev=436699&r1=436698&r2=436699&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/java/org/apache/harmony/instrument/internal/InstrumentationImpl.java
(original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/java/org/apache/harmony/instrument/internal/InstrumentationImpl.java
Fri Aug 25 00:47:36 2006
@@ -31,37 +31,6 @@
      * Consts
      * ----------------------------------------------------------------------------
      */
-    private static final int JVMTI_SUCCEED = 0;
-
-    private static final int JVMTI_ERROR_MUST_POSSESS_CAPABILITY = 99;
-
-    private static final int JVMTI_ERROR_NULL_POINTER = 100;
-
-    private static final int JVMTI_ERROR_UNMODIFIABLE_CLASS = 79;
-
-    private static final int JVMTI_ERROR_INVALID_CLASS = 21;
-
-    private static final int JVMTI_ERROR_UNSUPPORTED_VERSION = 68;
-
-    private static final int JVMTI_ERROR_INVALID_CLASS_FORMAT = 60;
-
-    private static final int JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION = 61;
-
-    private static final int JVMTI_ERROR_FAILS_VERIFICATION = 62;
-
-    private static final int JVMTI_ERROR_NAMES_DONT_MATCH = 69;
-
-    private static final int JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED = 63;
-
-    private static final int JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED = 64;
-
-    private static final int JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED = 66;
-
-    private static final int JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED = 67;
-
-    private static final int JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED
= 70;
-
-    private static final int JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED
= 71;
 
     private static final Class[] PREMAIN_SIGNATURE = new Class[] {
             String.class, Instrumentation.class };
@@ -100,6 +69,7 @@
      * @see java.lang.instrument.Instrumentation#addTransformer(java.lang.instrument.ClassFileTransformer)
      */
     public void addTransformer(ClassFileTransformer transformer) {
+        System.out.println("Coming!");
         if (null == transformer) {
             throw new NullPointerException();
         }
@@ -126,59 +96,10 @@
                 throw new NullPointerException();
             }
         }
-        int result = redefineClasses_native(definitions);
-
-        switch (result) {
-        case JVMTI_SUCCEED:
-            return;
-        case JVMTI_ERROR_MUST_POSSESS_CAPABILITY:
-            throw new UnsupportedOperationException(
-                    "The environment does not possess the capability can_redefine_classes.");
//$NON-NLS-1$
-        case JVMTI_ERROR_NULL_POINTER:
-            throw new NullPointerException("One of class_bytes is NULL."); //$NON-NLS-1$
-        case JVMTI_ERROR_UNMODIFIABLE_CLASS:
-            throw new UnmodifiableClassException(
-                    "An element of class_definitions cannot be modified."); //$NON-NLS-1$
-        case JVMTI_ERROR_INVALID_CLASS:
-            throw new ClassNotFoundException(
-                    "An element of class_definitions is not a valid class."); //$NON-NLS-1$
-        case JVMTI_ERROR_UNSUPPORTED_VERSION:
-            throw new UnsupportedClassVersionError(
-                    "A new class file has a version number not supported by this VM."); //$NON-NLS-1$
-        case JVMTI_ERROR_INVALID_CLASS_FORMAT:
-            throw new ClassFormatError("A new class file is malformed."); //$NON-NLS-1$
-        case JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION:
-            throw new ClassCircularityError(
-                    "The new class file definitions would lead to a circular definition.");
//$NON-NLS-1$
-        case JVMTI_ERROR_FAILS_VERIFICATION:
-            throw new ClassFormatError("The class bytes fail verification."); //$NON-NLS-1$
-        case JVMTI_ERROR_NAMES_DONT_MATCH:
-            throw new NoClassDefFoundError(
-                    "The class name defined in a new class file is different from the name
in the old class object."); //$NON-NLS-1$
-        case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED:
-            throw new UnsupportedOperationException(
-                    "A new class file requires adding a method."); //$NON-NLS-1$
-        case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED:
-            throw new UnsupportedOperationException(
-                    "A new class version changes a field."); //$NON-NLS-1$
-        case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED:
-            throw new UnsupportedOperationException(
-                    "A direct superclass is different for a new class version, or the set
of directly implemented interfaces is different."); //$NON-NLS-1$
-        case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED:
-            throw new UnsupportedOperationException(
-                    "A new class version does not declare a method declared in the old class
version."); //$NON-NLS-1$
-        case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED:
-            throw new UnsupportedOperationException(
-                    "A new class version has different modifiers."); //$NON-NLS-1$
-        case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED:
-            throw new UnsupportedOperationException(
-                    "A method in the new class version has different modifiers than its counterpart
in the old class version."); //$NON-NLS-1$
-        default:
-            throw new InternalError("Unknown error during redefinition."); //$NON-NLS-1$
-        }
+        redefineClasses_native(definitions);
     }
 
-    private native int redefineClasses_native(ClassDefinition[] definitions);
+    private native void redefineClasses_native(ClassDefinition[] definitions);
 
     /*
      * (non-Javadoc)
@@ -191,9 +112,9 @@
         }
         int i = 0;
         int length = transformers.length;
-        for (; i < length && transformers[i] != transformer; i++)
+        for (i = length-1; i >= 0 && transformers[i] != transformer; i--)
             ;
-        if (i == length) {
+        if (i == -1) {
             return false;
         }
         ClassFileTransformer[] temp = new ClassFileTransformer[length - 1];

Modified: incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/native/instrument/shared/inst_agt.c
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/native/instrument/shared/inst_agt.c?rev=436699&r1=436698&r2=436699&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/native/instrument/shared/inst_agt.c
(original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/native/instrument/shared/inst_agt.c
Fri Aug 25 00:47:36 2006
@@ -199,16 +199,17 @@
 }
 
 char* read_attribute(JavaVM *vm, char *manifest,char *lwrmanifest, const char * target){
-	char *pos = manifest+ (strstr(lwrmanifest,target) - lwrmanifest);
+	char *pos;
 	char *end;
 	char *value;
 	int length;
-
-	PORT_ACCESS_FROM_JAVAVM(vm);
-	
-	if(NULL == pos){
+    PORT_ACCESS_FROM_JAVAVM(vm);
+    
+    if(NULL == strstr(lwrmanifest,target)){
 		return NULL;
 	}
+    
+    pos = manifest+ (strstr(lwrmanifest,target) - lwrmanifest);
 	pos += strlen(target)+2;//": "
 	end = strchr(pos, '\r');
 	if(NULL == end){

Modified: incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/native/instrument/shared/instrument.c
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/native/instrument/shared/instrument.c?rev=436699&r1=436698&r2=436699&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/native/instrument/shared/instrument.c
(original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/native/instrument/shared/instrument.c
Fri Aug 25 00:47:36 2006
@@ -16,8 +16,63 @@
 #include <stdlib.h>
 #include "instrument.h"
 #include "vmi.h"
+#include "exceptions.h"
 
 
+
+void throw_exception(JNIEnv * env,jvmtiError err){
+      switch (err) {
+        case JVMTI_ERROR_MUST_POSSESS_CAPABILITY:
+            throwNewExceptionByName(env, "java/lang/UnsupportedOperationException",
+                          "The environment does not possess the capability can_redefine_classes.");

+        case JVMTI_ERROR_NULL_POINTER:
+        	throwNewExceptionByName(env, "java/lang/NullPointerException",
+                          "One of class_bytes is NULL."); 
+        case JVMTI_ERROR_UNMODIFIABLE_CLASS:
+        	throwNewExceptionByName(env, "java/lang/instrument/UnmodifiableClassException",
+                          "An element of class_definitions cannot be modified."); 
+        case JVMTI_ERROR_INVALID_CLASS:
+            throwNewExceptionByName(env, "java/lang/ClassNotFoundException",
+                          "An element of class_definitions is not a valid class."); 
+        case JVMTI_ERROR_UNSUPPORTED_VERSION:
+        	throwNewExceptionByName(env, "java/lang/UnsupportedClassVersionError",
+                          "A new class file has a version number not supported by this VM.");

+        case JVMTI_ERROR_INVALID_CLASS_FORMAT:
+        	throwNewExceptionByName(env, "java/lang/ClassFormatError",
+                          "A new class file is malformed."); 
+        case JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION:
+        	throwNewExceptionByName(env, "java/lang/ClassCircularityError",
+                          "The new class file definitions would lead to a circular definition.");

+        case JVMTI_ERROR_FAILS_VERIFICATION:
+            throwNewExceptionByName(env, "java/lang/ClassFormatError",
+                          "The class bytes fail verification."); 
+        case JVMTI_ERROR_NAMES_DONT_MATCH:
+        	throwNewExceptionByName(env, "java/lang/NoClassDefFoundError",
+                          "The class name defined in a new class file is different from the
name in the old class object."); 
+        case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED:
+            throwNewExceptionByName(env, "java/lang/UnsupportedOperationException",
+                          "A new class file requires adding a method."); 
+        case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED:
+            throwNewExceptionByName(env, "java/lang/UnsupportedOperationException",
+                    "A new class version changes a field."); 
+        case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED:
+            throwNewExceptionByName(env, "java/lang/UnsupportedOperationException",
+                    "A direct superclass is different for a new class version, or the set
of directly implemented interfaces is different."); 
+        case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED:
+            throwNewExceptionByName(env, "java/lang/UnsupportedOperationException",
+                    "A new class version does not declare a method declared in the old class
version."); 
+        case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED:
+            throwNewExceptionByName(env, "java/lang/UnsupportedOperationException",
+                    "A new class version has different modifiers."); 
+        case JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED:
+            throwNewExceptionByName(env, "java/lang/UnsupportedOperationException",
+                    "A method in the new class version has different modifiers than its counterpart
in the old class version."); 
+        default:
+            throwNewExceptionByName(env, "java/lang/InternalError",
+                    "Unknown error during redefinition."); 
+        }
+}
+
 /*
  * This file contains native methods implementation for org/apache/harmony/instrument/internal/InstrumentationImpl
  */
@@ -109,9 +164,9 @@
 /*
  * Class:     Java_org_apache_harmony_instrument_internal_InstrumentationImpl
  * Method:    redefineClasses_native
- * Signature: ([Ljava/lang/instrument/ClassDefinition;)I
+ * Signature: ([Ljava/lang/instrument/ClassDefinition;)V
  */
-JNIEXPORT jint JNICALL Java_org_apache_harmony_instrument_internal_InstrumentationImpl_redefineClasses_1native
+JNIEXPORT void JNICALL Java_org_apache_harmony_instrument_internal_InstrumentationImpl_redefineClasses_1native
   (JNIEnv * env, jobject objThis, jobjectArray javaClassDefArr){
       PORT_ACCESS_FROM_ENV (env);
 	  jvmtiEnv* jvmti=gdata->jvmti;
@@ -122,28 +177,29 @@
 	  jsize length;
 	  jvmtiClassDefinition *class_definitions;	  
 	  int i=0;
+	  jmethodID method_clear;
 
 	  //locate the java methods needed by class definition data extraction
 	  jclass class_ClassDefinition=(*env)->FindClass(env, "java/lang/instrument/ClassDefinition");
 	  if(NULL == class_ClassDefinition){
-		return JNI_ERR;
+		return;
 	  }
 
 	  method_get_data=(*env)->GetMethodID(env, class_ClassDefinition, "getDefinitionClassFile",
"()[B");
 	  if(NULL == method_get_data){
-		return JNI_ERR;
+		return;
 	  }
 	  
 	  method_get_class=(*env)->GetMethodID(env, class_ClassDefinition, "getDefinitionClass",
"()Ljava/lang/Class;");
 	  if(NULL == method_get_class){
-		return JNI_ERR;
+		return;
 	  }
 
 	  //allocate memory for native jvmtiClassDefinition structs to hold class redefinition data
 	  length=(*env)->GetArrayLength(env, javaClassDefArr);
 	  class_definitions=(jvmtiClassDefinition*) hymem_allocate_memory(sizeof(jvmtiClassDefinition)*length);
 	  if(NULL == class_definitions){
-	  	return JNI_ERR;
+	  	return;
 	  }
 	  
 	  //extract class definition data from java array into native array
@@ -156,14 +212,14 @@
 		  jclass klass=(jclass)(*env)->CallObjectMethod(env, obj_ClassDefinition, method_get_class);
 		  if (NULL == klass){
 		    hymem_free_memory(class_definitions);
-		  	return JNI_ERR;
+		  	return;
 		  }
 		  jclass_bytes =(jbyteArray)(*env)->CallObjectMethod(env, obj_ClassDefinition, method_get_data);
 		  copy = JNI_TRUE;
 		  class_bytes = (*env)->GetByteArrayElements(env, jclass_bytes, &copy);
 		  if(NULL == class_bytes){
 			hymem_free_memory(class_definitions);
-			return JNI_ERR;
+			return;
 		  }
 		  class_byte_count = (*env)->GetArrayLength(env, jclass_bytes);
           if(copy == JNI_TRUE){
@@ -178,9 +234,15 @@
 
 	  //perform redefinition
 	  err=(*jvmti)->RedefineClasses(jvmti, length, class_definitions);
+	  if (JVMTI_ERROR_NONE!=err){
+	  	  jclass clz= (*env)->FindClass(env, "java/lang/instrument/Instrumentation");
+	  	  method_clear=(*env)->GetMethodID(env, clz, "clear", "()V");
+	  	  (*env)->CallVoidMethod(env,objThis,method_clear);
+	      throw_exception(env,err);
+	  }
 	  //free memory
 	  hymem_free_memory(class_definitions);
-	  return err;
+	  return;
 }
 
 void check_jvmti_error(JNIEnv *env, jvmtiError error, const char *msg){

Modified: incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/native/instrument/shared/instrument.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/native/instrument/shared/instrument.h?rev=436699&r1=436698&r2=436699&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/native/instrument/shared/instrument.h
(original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/instrument/src/main/native/instrument/shared/instrument.h
Fri Aug 25 00:47:36 2006
@@ -16,45 +16,13 @@
 /* DO NOT EDIT THIS FILE - it is machine generated */
 #include <jvmti.h>
 #include <jni.h>
-/* Header for class org_apache_harmony_instrument_internal_InstrumentationImpl */
-
-#ifndef _Included_org_apache_harmony_instrument_internal_InstrumentationImpl
+/* Header for class org_apache_harmony_instrument_internal_InstrumentationImpl */
+
+#ifndef _Included_org_apache_harmony_instrument_internal_InstrumentationImpl
 #define _Included_org_apache_harmony_instrument_internal_InstrumentationImpl
-#ifdef __cplusplus
-extern "C" {
+#ifdef __cplusplus
+extern "C" {
 #endif
-#undef org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_SUCCEED
-#define org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_SUCCEED 0L
-#undef org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_MUST_POSSESS_CAPABILITY
-#define org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_MUST_POSSESS_CAPABILITY
99L
-#undef org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_NULL_POINTER
-#define org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_NULL_POINTER
100L
-#undef org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_UNMODIFIABLE_CLASS
-#define org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_UNMODIFIABLE_CLASS
79L
-#undef org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_INVALID_CLASS
-#define org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_INVALID_CLASS
21L
-#undef org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_UNSUPPORTED_VERSION
-#define org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_UNSUPPORTED_VERSION
68L
-#undef org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_INVALID_CLASS_FORMAT
-#define org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_INVALID_CLASS_FORMAT
60L
-#undef org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION
-#define org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION
61L
-#undef org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_FAILS_VERIFICATION
-#define org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_FAILS_VERIFICATION
62L
-#undef org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_NAMES_DONT_MATCH
-#define org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_NAMES_DONT_MATCH
69L
-#undef org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED
-#define org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED
63L
-#undef org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED
-#define org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED
64L
-#undef org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED
-#define org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED
66L
-#undef org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED
-#define org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED
67L
-#undef org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED
-#define org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED
70L
-#undef org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED
-#define org_apache_harmony_instrument_internal_InstrumentationImpl_JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED
71L
 
 typedef struct{
 	jvmtiEnv *jvmti;
@@ -76,10 +44,10 @@
 /*
  * Class:     org_apache_harmony_instrument_internal_InstrumentationImpl
  * Method:    redefineClasses_native
- * Signature: ([Ljava/lang/instrument/ClassDefinition;)I
+ * Signature: ([Ljava/lang/instrument/ClassDefinition;)V
  */
-JNIEXPORT jint JNICALL Java_org_apache_harmony_instrument_internal_InstrumentationImpl_redefineClasses_1native
-  (JNIEnv *, jobject, jobjectArray);
+JNIEXPORT void JNICALL Java_org_apache_harmony_instrument_internal_InstrumentationImpl_redefineClasses_1native
+  (JNIEnv *, jobject, jobjectArray);
 
 /*
  * Class:     org_apache_harmony_instrument_internal_InstrumentationImpl
@@ -87,7 +55,7 @@
  * Signature: ()[Ljava/lang/Class;
  */
 JNIEXPORT jobjectArray JNICALL Java_org_apache_harmony_instrument_internal_InstrumentationImpl_getAllLoadedClasses
-  (JNIEnv *, jobject);
+  (JNIEnv *, jobject);
 
 /*
  * Class:     org_apache_harmony_instrument_internal_InstrumentationImpl
@@ -95,7 +63,7 @@
  * Signature: (Ljava/lang/ClassLoader;)[Ljava/lang/Class;
  */
 JNIEXPORT jobjectArray JNICALL Java_org_apache_harmony_instrument_internal_InstrumentationImpl_getInitiatedClasses
-  (JNIEnv *, jobject, jobject);
+  (JNIEnv *, jobject, jobject);
 
 /*
  * Class:     org_apache_harmony_instrument_internal_InstrumentationImpl
@@ -103,11 +71,11 @@
  * Signature: (Ljava/lang/Object;)J
  */
 JNIEXPORT jlong JNICALL Java_org_apache_harmony_instrument_internal_InstrumentationImpl_getObjectSize_1native
-  (JNIEnv *, jobject, jobject);
+  (JNIEnv *, jobject, jobject);
 
 void check_jvmti_error(JNIEnv *, jvmtiError, const char *);
-#ifdef __cplusplus
-}
+#ifdef __cplusplus
+}
 #endif
 #endif
 



Mime
View raw message