[kaffe] CVS kaffe (kaz): test/internal/jit_stub.c: Changed ABORT to KAFFEVM_ABORT.
Kaffe CVS
cvs-commits at kaffe.org
Fri May 6 21:02:49 PDT 2005
PatchSet 6445
Date: 2005/05/07 03:56:55
Author: kaz
Branch: HEAD
Tag: (none)
Log:
2005-05-07 Ito Kazumitsu <kaz at maczuka.gcd.org>
* test/internal/jit_stub.c: Changed ABORT to KAFFEVM_ABORT.
Members:
ChangeLog:1.3973->1.3974
test/internal/jit_stub.c:INITIAL->1.11
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.3973 kaffe/ChangeLog:1.3974
--- kaffe/ChangeLog:1.3973 Sat May 7 01:44:23 2005
+++ kaffe/ChangeLog Sat May 7 03:56:55 2005
@@ -1,5 +1,9 @@
2005-05-07 Ito Kazumitsu <kaz at maczuka.gcd.org>
+ * test/internal/jit_stub.c: Changed ABORT to KAFFEVM_ABORT.
+
+2005-05-07 Ito Kazumitsu <kaz at maczuka.gcd.org>
+
Resynced with GNU Classpath:
2005-05-05 Chris Burdess <dog at gnu.org>
===================================================================
Checking out kaffe/test/internal/jit_stub.c
RCS: /home/cvs/kaffe/kaffe/test/internal/jit_stub.c,v
VERS: 1.11
***************
--- /dev/null Sun Aug 4 19:57:58 2002
+++ kaffe/test/internal/jit_stub.c Sat May 7 04:02:48 2005
@@ -0,0 +1,201 @@
+/*
+ * jit_stub.c
+ *
+ * Copyright (c) 2003, 2004 University of Utah and the Flux Group.
+ * All rights reserved.
+ *
+ * This file is licensed under the terms of the GNU Public License.
+ * See the file "license.terms" for information on usage and redistribution
+ * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+ *
+ * Contributed by the Flux Research Group, Department of Computer Science,
+ * University of Utah, http://www.cs.utah.edu/flux/
+ */
+
+#include "config.h"
+
+#if defined(TRANSLATOR)
+
+#include <stdio.h>
+
+#include <jni.h>
+#include <kaffe/version.h>
+
+#include "../../libltdl/ltdl.h"
+#include "debug.h"
+#include "itypes.h"
+#include "classMethod.h"
+#include "thread.h"
+#include "jthread.h"
+#include "stringParsing.h"
+#include "stringSupport.h"
+#include "md.h"
+
+#include <xprof/debugFile.h>
+
+KaffeVM_Arguments vmargs;
+JNIEnv* env;
+int noExit = 0;
+
+extern int internal_test(parsedString *ps);
+
+/* If not otherwise specified, assume at least 1MB for main thread */
+#ifndef MAINSTACKSIZE
+#define MAINSTACKSIZE (1024*1024)
+#endif
+
+#define CLASSPATH1 "KAFFECLASSPATH"
+#define CLASSPATH2 "CLASSPATH"
+#define BOOTCLASSPATH "BOOTCLASSPATH"
+
+#define TEST_CLASSES "TEST_CLASSES"
+
+extern Hjava_lang_Class* ObjectClass;
+extern Hjava_lang_Class* StringClass;
+extern Hjava_lang_Class* SystemClass;
+extern Hjava_lang_Class* javaLangFloatClass;
+extern Hjava_lang_Class* javaLangDoubleClass;
+extern Hjava_lang_Class* javaLangThrowable;
+extern Hjava_lang_Class* javaLangNullPointerException;
+extern Hjava_lang_Class* javaLangArrayIndexOutOfBoundsException;
+
+/* Initialisation prototypes */
+void initClasspath(void);
+void initNative(void);
+
+int main(int argc, char *argv[])
+{
+ int threadStackSize;
+ int retval = 1;
+ char *cp;
+
+ dbgSetMaskStr("MOREJIT,JIT");
+ vmargs.version = JNI_VERSION_1_1;
+ JNI_GetDefaultJavaVMInitArgs(&vmargs);
+
+#if defined(KAFFE_XDEBUGGING)
+ machine_debug_filename = "xdb.as";
+#endif
+
+ /* set up libtool/libltdl dlopen emulation */
+ LTDL_SET_PRELOADED_SYMBOLS();
+
+ cp = getenv(BOOTCLASSPATH);
+ vmargs.bootClasspath = cp;
+
+ cp = getenv(CLASSPATH1);
+ if (cp == 0) {
+ cp = getenv(CLASSPATH2);
+#if defined(DEFAULT_CLASSPATH)
+ if (cp == 0) {
+ cp = DEFAULT_CLASSPATH;
+ }
+#endif
+ }
+ vmargs.classpath = cp;
+
+ /* Machine specific initialisation first */
+#if defined(INIT_MD)
+ INIT_MD();
+#endif
+
+ Kaffe_JavaVMArgs = vmargs;
+ threadStackSize = Kaffe_JavaVMArgs.nativeStackSize;
+
+ /* Register allocation types with gc subsystem */
+ main_collector = initCollector();
+ KGC_init(main_collector);
+
+ /* Initialise the (native) threading system */
+ initNativeThreads(threadStackSize);
+
+ /* Initialise the string and utf8 systems */
+ stringInit();
+ utf8ConstInit();
+
+#if defined(KAFFE_XDEBUGGING)
+ machine_debug_file = createDebugFile(machine_debug_filename);
+#endif
+
+ /* Setup CLASSPATH */
+ initClasspath();
+
+ /* Init native support */
+ initNative();
+
+ /* Create the initialise and finalize names and signatures. */
+ init_name = utf8ConstNew("<clinit>", -1);
+ final_name = utf8ConstNew("finalize", -1);
+ void_signature = utf8ConstNew("()V", -1);
+ constructor_name = utf8ConstNew("<init>", -1);
+ Code_name = utf8ConstNew("Code", -1);
+ LineNumberTable_name = utf8ConstNew("LineNumberTable", -1);
+ LocalVariableTable_name = utf8ConstNew("LocalVariableTable", -1);
+ ConstantValue_name = utf8ConstNew("ConstantValue", -1);
+ Exceptions_name = utf8ConstNew("Exceptions", -1);
+ SourceFile_name = utf8ConstNew("SourceFile", -1);
+ InnerClasses_name = utf8ConstNew("InnerClasses", -1);
+
+ if (!(init_name && final_name && void_signature &&
+ constructor_name && Code_name && LineNumberTable_name &&
+ LocalVariableTable_name && ConstantValue_name &&
+ Exceptions_name && SourceFile_name && InnerClasses_name)) {
+ dprintf("not enough memory to run kaffe\n");
+ KAFFEVM_ABORT();
+ }
+
+ {
+ Hjava_lang_Thread mainThread;
+ parsedString testName;
+ char *tests;
+ int stackSize;
+
+ initTypes();
+ loadStaticClass(&ObjectClass, "java/lang/Object");
+ loadStaticClass(&StringClass, "java/lang/String");
+ loadStaticClass(&SystemClass, "java/lang/System");
+ loadStaticClass(&javaLangFloatClass, "java/lang/Float");
+ loadStaticClass(&javaLangDoubleClass, "java/lang/Double");
+ loadStaticClass(&javaLangThrowable, "java/lang/Throwable");
+ loadStaticClass(&javaLangNullPointerException, "java/lang/NullPointerException");
+ loadStaticClass(&javaLangArrayIndexOutOfBoundsException, "java/lang/ArrayIndexOutOfBoundsException");
+ memset(&mainThread, 0, sizeof(mainThread));
+
+ if( (tests = getenv(TEST_CLASSES)) )
+ {
+ retval = parseString(
+ tests,
+ SPO_NotEmpty,
+ SPO_Do,
+ SPO_NonEmptyString, &testName,
+ SPO_Expect, ".class",
+ SPO_WhileSpace,
+ SPO_Handle, internal_test, &testName,
+ SPO_End,
+ SPO_End,
+ SPO_End);
+ retval = !retval;
+ }
+ else
+ {
+ int lpc;
+
+ for( lpc = 1; lpc < argc; lpc++ )
+ {
+ testName.data = argv[lpc];
+ testName.len = strlen(argv[lpc]);
+ internal_test(&testName);
+ }
+ }
+ }
+ return( retval );
+}
+
+#else
+
+int main(int argc, char *argv[])
+{
+ return( 0 );
+}
+
+#endif
More information about the kaffe
mailing list