commit-classpath
[Top][All Lists]
Advanced

[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 \

reply via email to

[Prev in Thread] Current Thread [Next in Thread]