[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] java.lang.Runtime split
From: |
Mark Wielaard |
Subject: |
Re: [PATCH] java.lang.Runtime split |
Date: |
Sat, 27 Dec 2003 17:34:57 +0100 |
Hi,
On Sat, 2003-12-27 at 11:50, Jeroen Frijters wrote:
> I committed the split of java.lang.Runtime into java.lang.Runtime and
> java.lang.VMRuntime.
Thanks. But a few suggestions/tips:
- Also announce this on the main classpath list so people know the
discussion period is over and they now have to update their VMs.
- Use cvs diff -N when files are added/removed so they show up in the
patch. This is nicer for people reading the list so they don't have to
cvs up to see any new files.
- When adding/(re)moving files don't forget to update the Makefile.am
EXTRA_DIST entries. They tell the build system which files should be
included in a release tar ball.
- We do now have a way to autogenerate the .h files.
Made the following patch to fix that. Which I will commit.
2003-12-27 Mark Wielaard <address@hidden>
* include/Makefile.am: Add java_lang_VMRuntime.h generation rule.
* include/java_lang_VMRuntime.h: Regenerated.
* java/lang/Makefile.am (EXTRA_DIST): Add Runtime.java.
* vm/reference/java/lang/Makefile.am: Remove Runtime.java, add
VMRuntime.java.
This does show a problem with autogenerated files though.
My autogenerated version is different from yours.
Which javah program did you use to generate your version with?
I used gcjh (GCC) 3.3.3 20031206 (prerelease) (Debian).
Maybe we shouldn't include them in CVS but autogenerate them always?
In the past the free javah programs were buggy so you sometimes had to
hand-edit the result, but that was a long time ago.
For VMRuntime it isn't a real issue yet since we don't actually have any
native (JNI/Posix) implementations yet. Although I would like to have
them.
Tips for all classpath hackers:
- Use configure --enable-maintainer-mode --enable-regen-headers
This will rerun the autotools when necessary and shows when include
headers are/should be regenerated.
- make distcheck
Makes a real distribution (twice) and checks that all necessary files
are included/generated. Makes sure you don't forget to update
Makefile.am EXTRA_DIST entries.
Cheers,
Mark
? runtime.diff
Index: include/Makefile.am
===================================================================
RCS file: /cvsroot/classpath/classpath/include/Makefile.am,v
retrieving revision 1.6
diff -u -r1.6 Makefile.am
--- include/Makefile.am 25 Dec 2003 17:07:08 -0000 1.6
+++ include/Makefile.am 27 Dec 2003 16:17:14 -0000
@@ -42,6 +42,7 @@
$(top_srcdir)/include/java_lang_Math.h \
$(top_srcdir)/include/java_lang_Object.h \
$(top_srcdir)/include/java_lang_VMFloat.h \
+$(top_srcdir)/include/java_lang_VMRuntime.h \
$(top_srcdir)/include/java_lang_VMSystem.h \
$(top_srcdir)/include/java_lang_reflect_Array.h \
$(top_srcdir)/include/java_net_InetAddress.h \
@@ -133,6 +134,8 @@
$(JAVAH) -o $@ java.lang.Object
$(top_srcdir)/include/java_lang_VMFloat.h:
$(top_srcdir)/vm/reference/java/lang/VMFloat.java
$(JAVAH) -o $@ java.lang.VMFloat
+$(top_srcdir)/include/java_lang_VMRuntime.h:
$(top_srcdir)/vm/reference/java/lang/VMRuntime.java
+ $(JAVAH) -o $@ java.lang.VMRuntime
$(top_srcdir)/include/java_lang_VMSystem.h:
$(top_srcdir)/vm/reference/java/lang/VMSystem.java
$(JAVAH) -o $@ java.lang.VMSystem
$(top_srcdir)/include/java_lang_reflect_Array.h:
$(top_srcdir)/java/lang/reflect/Array.java
Index: include/java_lang_VMRuntime.h
===================================================================
RCS file: /cvsroot/classpath/classpath/include/java_lang_VMRuntime.h,v
retrieving revision 1.1
diff -u -r1.1 java_lang_VMRuntime.h
--- include/java_lang_VMRuntime.h 27 Dec 2003 10:48:48 -0000 1.1
+++ include/java_lang_VMRuntime.h 27 Dec 2003 16:17:14 -0000
@@ -10,21 +10,21 @@
{
#endif
-extern jint Java_java_lang_VMRuntime_availableProcessors(JNIEnv *, jclass);
-extern jlong Java_java_lang_VMRuntime_freeMemory(JNIEnv *, jclass);
-extern jlong Java_java_lang_VMRuntime_totalMemory(JNIEnv *, jclass);
-extern jlong Java_java_lang_VMRuntime_maxMemory(JNIEnv *, jclass);
-extern void Java_java_lang_VMRuntime_gc(JNIEnv *, jclass);
-extern void Java_java_lang_VMRuntime_runFinalization(JNIEnv *, jclass);
-extern void Java_java_lang_VMRuntime_runFinalizationForExit(JNIEnv *, jclass);
-extern void Java_java_lang_VMRuntime_traceInstructions(JNIEnv *, jclass,
jboolean);
-extern void Java_java_lang_VMRuntime_traceMethodCalls(JNIEnv *, jclass,
jboolean);
-extern void Java_java_lang_VMRuntime_runFinalizersOnExit(JNIEnv *, jclass,
jboolean);
-extern void Java_java_lang_VMRuntime_exit(JNIEnv *, jclass, jint);
-extern jint Java_java_lang_VMRuntime_nativeLoad(JNIEnv *, jclass, jstring);
-extern jstring Java_java_lang_VMRuntime_nativeGetLibname(JNIEnv *, jclass,
jstring, jstring);
-extern jobject Java_java_lang_VMRuntime_exec(JNIEnv *, jclass, jobjectArray,
jobjectArray, jobject);
-extern void Java_java_lang_VMRuntime_insertSystemProperties(JNIEnv *, jclass,
jobject);
+extern JNIEXPORT jint JNICALL Java_java_lang_VMRuntime_availableProcessors
(JNIEnv *env, jclass);
+extern JNIEXPORT jlong JNICALL Java_java_lang_VMRuntime_freeMemory (JNIEnv
*env, jclass);
+extern JNIEXPORT jlong JNICALL Java_java_lang_VMRuntime_totalMemory (JNIEnv
*env, jclass);
+extern JNIEXPORT jlong JNICALL Java_java_lang_VMRuntime_maxMemory (JNIEnv
*env, jclass);
+extern JNIEXPORT void JNICALL Java_java_lang_VMRuntime_gc (JNIEnv *env,
jclass);
+extern JNIEXPORT void JNICALL Java_java_lang_VMRuntime_runFinalization (JNIEnv
*env, jclass);
+extern JNIEXPORT void JNICALL Java_java_lang_VMRuntime_runFinalizationForExit
(JNIEnv *env, jclass);
+extern JNIEXPORT void JNICALL Java_java_lang_VMRuntime_traceInstructions
(JNIEnv *env, jclass, jboolean);
+extern JNIEXPORT void JNICALL Java_java_lang_VMRuntime_traceMethodCalls
(JNIEnv *env, jclass, jboolean);
+extern JNIEXPORT void JNICALL Java_java_lang_VMRuntime_runFinalizersOnExit
(JNIEnv *env, jclass, jboolean);
+extern JNIEXPORT void JNICALL Java_java_lang_VMRuntime_exit (JNIEnv *env,
jclass, jint);
+extern JNIEXPORT jint JNICALL Java_java_lang_VMRuntime_nativeLoad (JNIEnv
*env, jclass, jstring);
+extern JNIEXPORT jstring JNICALL Java_java_lang_VMRuntime_nativeGetLibname
(JNIEnv *env, jclass, jstring, jstring);
+extern JNIEXPORT jobject JNICALL Java_java_lang_VMRuntime_exec (JNIEnv *env,
jclass, jobjectArray, jobjectArray, jobject);
+extern JNIEXPORT void JNICALL Java_java_lang_VMRuntime_insertSystemProperties
(JNIEnv *env, jclass, jobject);
#ifdef __cplusplus
}
Index: java/lang/Makefile.am
===================================================================
RCS file: /cvsroot/classpath/classpath/java/lang/Makefile.am,v
retrieving revision 1.15
diff -u -r1.15 Makefile.am
--- java/lang/Makefile.am 25 Sep 2003 16:04:16 -0000 1.15
+++ java/lang/Makefile.am 27 Dec 2003 16:17:15 -0000
@@ -58,6 +58,7 @@
Package.java \
Process.java \
Runnable.java \
+Runtime.java \
RuntimeException.java \
RuntimePermission.java \
SecurityException.java \
Index: vm/reference/java/lang/Makefile.am
===================================================================
RCS file: /cvsroot/classpath/classpath/vm/reference/java/lang/Makefile.am,v
retrieving revision 1.7
diff -u -r1.7 Makefile.am
--- vm/reference/java/lang/Makefile.am 25 Sep 2003 16:04:16 -0000 1.7
+++ vm/reference/java/lang/Makefile.am 27 Dec 2003 16:17:16 -0000
@@ -3,12 +3,12 @@
SUBDIRS = reflect
EXTRA_DIST = \
-Runtime.java \
VMClass.java \
VMClassLoader.java \
VMDouble.java \
VMFloat.java \
VMObject.java \
+VMRuntime.java \
VMSecurityManager.java \
VMString.java \
VMSystem.java \