[llvm-commits] CVS: llvm-java/runtime/runtime.c
Alkis Evlogimenos
alkis at cs.uiuc.edu
Thu Mar 31 17:56:48 PST 2005
Changes in directory llvm-java/runtime:
runtime.c updated: 1.23 -> 1.24
---
Log message:
Instead of calling class initialization functions one by one, create
an array of initialization functions to run before main. This also
includes string constant initialization functions as well.
---
Diffs of the changes: (+8 -2)
runtime.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
Index: llvm-java/runtime/runtime.c
diff -u llvm-java/runtime/runtime.c:1.23 llvm-java/runtime/runtime.c:1.24
--- llvm-java/runtime/runtime.c:1.23 Mon Mar 28 13:19:27 2005
+++ llvm-java/runtime/runtime.c Thu Mar 31 19:56:36 2005
@@ -352,11 +352,17 @@
const JNIEnv llvm_java_JNIEnv = &llvm_java_JNINativeInterface;
-extern void llvm_java_static_init(void);
+typedef void (*ClassInitializerFunction)(void);
+
+extern const ClassInitializerFunction llvm_java_class_initializers;
+
extern void llvm_java_main(int, char**);
int main(int argc, char** argv) {
- llvm_java_static_init();
+ const ClassInitializerFunction* classInit = &llvm_java_class_initializers;
+ while (*classInit)
+ (*classInit++)();
+
llvm_java_main(argc, argv);
return 0;
}
More information about the llvm-commits
mailing list