Loading... (original) (raw)

On compiling the JDK code with the new gcc compiler option "-fvisibility=hidden"quite some speed improvements on all platforms are observed, but for it to work, SAP code which is marked with "JNI_EXPORT" needs to be exported correctly by the compiler. The attached patch fixes this.

The attached "jni_md.h.new" file is a version of the file, how it could look like.
% more jni_md.h.diff
--- jni_md.h 2007-07-19 15:13:07.661299000 +0200
+++ jni_md.h.new 2007-07-19 15:12:02.826109000 +0200
@@ -8,9 +8,16 @@
#ifndef _JAVASOFT_JNI_MD_H_
#define _JAVASOFT_JNI_MD_H_

-#define JNIEXPORT
-#define JNIIMPORT
-#define JNICALL
+#if defined(__GNUC__) && (__GNUC__ >= 4)
+# define JNIEXPORT __attribute__((visibility("default")))
+# define JNIIMPORT __attribute__((visibility("default")))
+# define JNICALL
+#else
+# define JNIEXPORT
+# define JNIIMPORT
+# define JNICALL
+#endif
+

typedef int jint;
#ifdef _LP64 /* 64-bit Solaris */