More NATIVE_THREADS ifdefs
authorstefan <none@none>
Wed, 21 Jan 2004 00:49:42 +0000 (00:49 +0000)
committerstefan <none@none>
Wed, 21 Jan 2004 00:49:42 +0000 (00:49 +0000)
24 files changed:
builtin.c
jit/jit.c
jni.c
loader.c
main.c
mm/boehm.c
nat/Thread.c
nat/VMObject.c
src/cacao/cacao.c
src/mm/boehm.c
src/native/jni.c
src/native/vm/VMObject.c
src/native/vm/VMThread.c
src/threads/green/locks.c
src/threads/green/threadio.c
src/threads/green/threads.c
src/threads/green/threads.h
src/vm/builtin.c
src/vm/jit/jit.c
src/vm/loader.c
threads/locks.c
threads/thread.c
threads/thread.h
threads/threadio.c

index bf2511e041d9ae1cbd824c048e974f80a5774dc0..237141b23efcd105a868c18b2cbf3394acec9301 100644 (file)
--- a/builtin.c
+++ b/builtin.c
@@ -34,7 +34,7 @@
    calls instead of machine instructions, using the C calling
    convention.
 
-   $Id: builtin.c 890 2004-01-19 12:24:13Z edwin $
+   $Id: builtin.c 897 2004-01-21 00:49:42Z stefan $
 
 */
 
@@ -1010,7 +1010,7 @@ void builtin_displaymethodexception(methodinfo *method)
  */
 void internal_lock_mutex_for_object(java_objectheader *object)
 {
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        mutexHashEntry *entry;
        int hashValue;
 
@@ -1060,7 +1060,7 @@ void internal_lock_mutex_for_object(java_objectheader *object)
  */
 void internal_unlock_mutex_for_object (java_objectheader *object)
 {
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        int hashValue;
        mutexHashEntry *entry;
 
@@ -1092,7 +1092,7 @@ void internal_unlock_mutex_for_object (java_objectheader *object)
 
 void builtin_monitorenter(java_objectheader *o)
 {
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        int hashValue;
 
        assert(blockInts == 0);
@@ -1115,7 +1115,7 @@ void builtin_monitorenter(java_objectheader *o)
 
 void builtin_monitorexit (java_objectheader *o)
 {
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        int hashValue;
 
        assert(blockInts == 0);
index 178d3f611c460401d99e355fe91985b0a44d0a67..c877520d9040298159a6d2f41b83a4ba1f16c3f7 100644 (file)
--- a/jit/jit.c
+++ b/jit/jit.c
@@ -29,7 +29,7 @@
 
    Changes: Edwin Steiner
 
-   $Id: jit.c 892 2004-01-19 12:32:29Z edwin $
+   $Id: jit.c 897 2004-01-21 00:49:42Z stefan $
 
 */
 
@@ -1454,7 +1454,9 @@ methodptr jit_compile(methodinfo *m)
        pthread_mutex_lock(&compiler_mutex);
 #endif
 
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        intsDisable();      /* disable interrupts */
+#endif
 
        regs_ok = false;
 
@@ -1477,7 +1479,9 @@ methodptr jit_compile(methodinfo *m)
                utf_sprint(logtext+strlen(logtext), m->name);
                utf_sprint(logtext+strlen(logtext), m->descriptor);
                log_text(logtext);
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
                intsRestore();                             /* enable interrupts again */
+#endif
                return (methodptr) do_nothing_function;    /* return empty method     */
        }
 
@@ -1595,7 +1599,9 @@ methodptr jit_compile(methodinfo *m)
                compilingtime += (stoptime - starttime);
        }
 
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        intsRestore();    /* enable interrupts again */
+#endif
 
 #if defined(USE_THREADS) && defined(NATIVE_THREADS)
        pthread_mutex_unlock(&compiler_mutex);
diff --git a/jni.c b/jni.c
index 289e01556125e136545b6e11edfda9e03c876b28..e3e5ca983d59496c49b1c19b4c1834f09f319e94 100644 (file)
--- a/jni.c
+++ b/jni.c
@@ -28,7 +28,7 @@
 
    Changes: Joseph Wenninger
 
-   $Id: jni.c 862 2004-01-06 23:42:01Z stefan $
+   $Id: jni.c 897 2004-01-21 00:49:42Z stefan $
 
 */
 
@@ -212,7 +212,9 @@ char fill_callblock_objA(void *obj, utf *descr, jni_callblock blk[], java_object
     u4 dummy;
     char c;
     char *cp;
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
     intsDisable();
+#endif
        if (utf_char==0) {
                utf_char=utf_new_char("java/lang/Character");
                utf_bool=utf_new_char("java/lang/Boolean");
@@ -223,7 +225,9 @@ char fill_callblock_objA(void *obj, utf *descr, jni_callblock blk[], java_object
                utf_float=utf_new_char("java/lang/Float");
                utf_double=utf_new_char("java/lang/Double");
        }
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
     intsRestore();
+#endif
 
        /*
          log_text("fill_callblock");
index e8d8bd58d3e424205c3ca445e425be4484203552..aae004cf1020aa2cfe40b3891175c0cc77c44fd8 100644 (file)
--- a/loader.c
+++ b/loader.c
@@ -30,7 +30,7 @@
             Mark Probst
                        Edwin Steiner
 
-   $Id: loader.c 890 2004-01-19 12:24:13Z edwin $
+   $Id: loader.c 897 2004-01-21 00:49:42Z stefan $
 
 */
 
@@ -2785,7 +2785,7 @@ void class_init(classinfo *c)
 {
        methodinfo *m;
        s4 i;
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        int b;
 #endif
 
@@ -2849,7 +2849,7 @@ void class_init(classinfo *c)
                log_text(logtext);
        }
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        b = blockInts;
        blockInts = 0;
 #endif
@@ -2857,7 +2857,7 @@ void class_init(classinfo *c)
        /* now call the initializer */
        asm_calljavafunction(m, NULL, NULL, NULL, NULL);
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        assert(blockInts == 0);
        blockInts = b;
 #endif
@@ -2896,14 +2896,14 @@ void class_init(classinfo *c)
                        return;
                }
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
                b = blockInts;
                blockInts = 0;
 #endif
 
                asm_calljavafunction(m, NULL, NULL, NULL, NULL);
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
                assert(blockInts == 0);
                blockInts = b;
 #endif
@@ -3200,7 +3200,9 @@ classinfo *loader_load(utf *topname)
 
        loader_load_running++;
        
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        intsDisable();
+#endif
 
        if (getloadingtime)
                starttime = getcputime();
@@ -3277,7 +3279,9 @@ classinfo *loader_load(utf *topname)
                }
        }
 
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        intsRestore();
+#endif
        
 #if defined(USE_THREADS) && defined(NATIVE_THREADS)
        pthread_mutex_unlock(&compiler_mutex);
@@ -3656,7 +3660,7 @@ void loader_init(u1 *stackbottom)
        /* correct vftbl-entries (retarded loading of class java/lang/String) */
        stringtable_update();
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        if (stackbottom!=0)
                initLocks();
 #endif
@@ -3758,7 +3762,9 @@ void loader_compute_subclasses()
 {
        classinfo *c;
        
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        intsDisable();                     /* schani */
+#endif
 
        c = list_first(&linkedclasses);
        while (c) {
@@ -3787,7 +3793,9 @@ void loader_compute_subclasses()
        cast_unlock();
 #endif
 
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        intsRestore();                      /* schani */
+#endif
 }
 
 
diff --git a/main.c b/main.c
index 3c8d71c493f30471b1544ab5e7236049b967061b..7bcca06a707e069be357846dbbc3acc80d7c2160 100644 (file)
--- a/main.c
+++ b/main.c
@@ -37,7 +37,7 @@
      - Calling the class loader
      - Running the main method
 
-   $Id: main.c 895 2004-01-19 13:53:43Z edwin $
+   $Id: main.c 897 2004-01-21 00:49:42Z stefan $
 
 */
 
@@ -119,7 +119,7 @@ bool opt_verify = true;        /* true if classfiles should be verified      */
 
 static classinfo *topclass;
 
-#ifndef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
 void **stackbottom = 0;
 #endif
 
@@ -567,7 +567,7 @@ void exit_handler(void)
        if (showconstantpool) class_showconstantpool(topclass);
        if (showutf) utf_show();
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        clear_thread_flags();           /* restores standard file descriptor
                                       flags */
 #endif
@@ -618,7 +618,7 @@ int main(int argc, char **argv)
        char *specificmethodname = NULL;
        char *specificsignature = NULL;
 
-#ifndef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        stackbottom = &dummy;
 #endif
        
@@ -903,7 +903,7 @@ int main(int argc, char **argv)
        /* initialize the garbage collector */
        gc_init();
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        initThreads((u1*) &dummy);
 #endif
 
@@ -954,7 +954,7 @@ int main(int argc, char **argv)
                        printf("\n");
                }
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
                killThread(currentThread);
 #endif
                fprintf(stderr, "still here\n");
index 0ca2deaa314e065bee0d425ec40820c082a94b20..fb9800452155b8fe24f93672ddcbd3444f39f5ff 100644 (file)
@@ -26,7 +26,7 @@
 
    Authors: Stefan Ring
 
-   $Id: boehm.c 862 2004-01-06 23:42:01Z stefan $
+   $Id: boehm.c 897 2004-01-21 00:49:42Z stefan $
 
 */
 
@@ -84,7 +84,7 @@ static void *stackcall_free(void *p, u4 bytelength)
 }
 
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
 #define MAINTHREADCALL(r,m,pp,ll) \
        if (currentThread == NULL || currentThread == mainThread) { \
                r = m(pp, ll); \
index 683b5ddf3e00288940d85cde1d529deceef4db24..b6478e08f88f3c3f836a2eca7425ec7ec7dd708d 100644 (file)
@@ -28,7 +28,7 @@
 
    Changes: Joseph Wenninger
 
-   $Id: Thread.c 873 2004-01-11 20:59:29Z twisti $
+   $Id: Thread.c 897 2004-01-21 00:49:42Z stefan $
 
 */
 
@@ -70,7 +70,7 @@ JNIEXPORT java_lang_Thread* JNICALL Java_java_lang_Thread_currentThread(JNIEnv *
        if (runverbose)
                log_text("java_lang_Thread_currentThread called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        t = (java_lang_Thread *) currentThread;
   
        if (!t->group) {
@@ -112,7 +112,7 @@ JNIEXPORT s4 JNICALL Java_java_lang_Thread_isAlive(JNIEnv *env, java_lang_Thread
        if (runverbose)
                log_text("java_lang_Thread_isAlive called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        return aliveThread((thread *) this);
 #else
        return 0;
@@ -154,7 +154,7 @@ JNIEXPORT void JNICALL Java_java_lang_Thread_nativeResume(JNIEnv *env, java_lang
        if (runverbose)
                log_text("java_lang_Thread_resume0 called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        resumeThread((thread *) this);
 #endif
 }
@@ -170,7 +170,7 @@ JNIEXPORT void JNICALL Java_java_lang_Thread_nativeSetPriority(JNIEnv *env, java
     if (runverbose) 
                log_text("java_lang_Thread_setPriority0 called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        setPriorityThread((thread *) this, par1);
 #endif
 }
@@ -186,7 +186,7 @@ JNIEXPORT void JNICALL Java_java_lang_Thread_sleep(JNIEnv *env, jclass clazz, s8
        if (runverbose)
                log_text("java_lang_Thread_sleep called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        sleepThread(millis);
 #endif
 }
@@ -202,7 +202,7 @@ JNIEXPORT void JNICALL Java_java_lang_Thread_start(JNIEnv *env, java_lang_Thread
        if (runverbose) 
                log_text("java_lang_Thread_start called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        startThread((thread*)this);
 #endif
 }
@@ -219,7 +219,7 @@ JNIEXPORT void JNICALL Java_java_lang_Thread_nativeStop(JNIEnv *env, java_lang_T
                log_text ("java_lang_Thread_stop0 called");
 
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        if (currentThread == (thread*)this) {
                log_text("killing");
                killThread(0);
@@ -246,7 +246,7 @@ JNIEXPORT void JNICALL Java_java_lang_Thread_nativeSuspend(JNIEnv *env, java_lan
        if (runverbose)
                log_text("java_lang_Thread_suspend0 called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        suspendThread((thread*)this);
 #endif
 }
@@ -262,7 +262,7 @@ JNIEXPORT void JNICALL Java_java_lang_Thread_yield(JNIEnv *env, jclass clazz)
        if (runverbose)
                log_text("java_lang_Thread_yield called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        yieldThread();
 #endif
 }
index 425a66c5d279d99290214139387d71123f66968d..f3baf6202cf15ba620da1332d13a76abc545a3f0 100644 (file)
@@ -28,7 +28,7 @@
 
    Changes: Joseph Wenninger
 
-   $Id: VMObject.c 873 2004-01-11 20:59:29Z twisti $
+   $Id: VMObject.c 897 2004-01-21 00:49:42Z stefan $
 
 */
 
@@ -101,7 +101,7 @@ JNIEXPORT void JNICALL Java_java_lang_VMObject_notify(JNIEnv *env, jclass clazz,
        if (runverbose)
                log_text("java_lang_Object_notify called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        signal_cond_for_object(&this->header);
 #endif
 }
@@ -117,7 +117,7 @@ JNIEXPORT void JNICALL Java_java_lang_VMObject_notifyAll(JNIEnv *env, jclass cla
        if (runverbose)
                log_text("java_lang_Object_notifyAll called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        broadcast_cond_for_object(&this->header);
 #endif
 }
@@ -133,7 +133,7 @@ JNIEXPORT void JNICALL Java_java_lang_VMObject_wait(JNIEnv *env, jclass clazz, j
        if (runverbose)
                log_text("java_lang_Object_wait called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        wait_cond_for_object(&this->header, time);
 #endif
 }
index 8d0ff3448d22d527ba195a1975c5e29ed982d6b0..39d3600608b1d337ba1072bfd70d83d394c36200 100644 (file)
@@ -37,7 +37,7 @@
      - Calling the class loader
      - Running the main method
 
-   $Id: cacao.c 895 2004-01-19 13:53:43Z edwin $
+   $Id: cacao.c 897 2004-01-21 00:49:42Z stefan $
 
 */
 
@@ -119,7 +119,7 @@ bool opt_verify = true;        /* true if classfiles should be verified      */
 
 static classinfo *topclass;
 
-#ifndef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
 void **stackbottom = 0;
 #endif
 
@@ -567,7 +567,7 @@ void exit_handler(void)
        if (showconstantpool) class_showconstantpool(topclass);
        if (showutf) utf_show();
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        clear_thread_flags();           /* restores standard file descriptor
                                       flags */
 #endif
@@ -618,7 +618,7 @@ int main(int argc, char **argv)
        char *specificmethodname = NULL;
        char *specificsignature = NULL;
 
-#ifndef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        stackbottom = &dummy;
 #endif
        
@@ -903,7 +903,7 @@ int main(int argc, char **argv)
        /* initialize the garbage collector */
        gc_init();
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        initThreads((u1*) &dummy);
 #endif
 
@@ -954,7 +954,7 @@ int main(int argc, char **argv)
                        printf("\n");
                }
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
                killThread(currentThread);
 #endif
                fprintf(stderr, "still here\n");
index 0ca2deaa314e065bee0d425ec40820c082a94b20..fb9800452155b8fe24f93672ddcbd3444f39f5ff 100644 (file)
@@ -26,7 +26,7 @@
 
    Authors: Stefan Ring
 
-   $Id: boehm.c 862 2004-01-06 23:42:01Z stefan $
+   $Id: boehm.c 897 2004-01-21 00:49:42Z stefan $
 
 */
 
@@ -84,7 +84,7 @@ static void *stackcall_free(void *p, u4 bytelength)
 }
 
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
 #define MAINTHREADCALL(r,m,pp,ll) \
        if (currentThread == NULL || currentThread == mainThread) { \
                r = m(pp, ll); \
index 289e01556125e136545b6e11edfda9e03c876b28..e3e5ca983d59496c49b1c19b4c1834f09f319e94 100644 (file)
@@ -28,7 +28,7 @@
 
    Changes: Joseph Wenninger
 
-   $Id: jni.c 862 2004-01-06 23:42:01Z stefan $
+   $Id: jni.c 897 2004-01-21 00:49:42Z stefan $
 
 */
 
@@ -212,7 +212,9 @@ char fill_callblock_objA(void *obj, utf *descr, jni_callblock blk[], java_object
     u4 dummy;
     char c;
     char *cp;
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
     intsDisable();
+#endif
        if (utf_char==0) {
                utf_char=utf_new_char("java/lang/Character");
                utf_bool=utf_new_char("java/lang/Boolean");
@@ -223,7 +225,9 @@ char fill_callblock_objA(void *obj, utf *descr, jni_callblock blk[], java_object
                utf_float=utf_new_char("java/lang/Float");
                utf_double=utf_new_char("java/lang/Double");
        }
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
     intsRestore();
+#endif
 
        /*
          log_text("fill_callblock");
index 425a66c5d279d99290214139387d71123f66968d..f3baf6202cf15ba620da1332d13a76abc545a3f0 100644 (file)
@@ -28,7 +28,7 @@
 
    Changes: Joseph Wenninger
 
-   $Id: VMObject.c 873 2004-01-11 20:59:29Z twisti $
+   $Id: VMObject.c 897 2004-01-21 00:49:42Z stefan $
 
 */
 
@@ -101,7 +101,7 @@ JNIEXPORT void JNICALL Java_java_lang_VMObject_notify(JNIEnv *env, jclass clazz,
        if (runverbose)
                log_text("java_lang_Object_notify called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        signal_cond_for_object(&this->header);
 #endif
 }
@@ -117,7 +117,7 @@ JNIEXPORT void JNICALL Java_java_lang_VMObject_notifyAll(JNIEnv *env, jclass cla
        if (runverbose)
                log_text("java_lang_Object_notifyAll called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        broadcast_cond_for_object(&this->header);
 #endif
 }
@@ -133,7 +133,7 @@ JNIEXPORT void JNICALL Java_java_lang_VMObject_wait(JNIEnv *env, jclass clazz, j
        if (runverbose)
                log_text("java_lang_Object_wait called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        wait_cond_for_object(&this->header, time);
 #endif
 }
index 92c5a130e852877ae7bb9c9170a9f6be8fcdcc0d..33eddef508152486e20fa564c083ef0473770ab8 100644 (file)
@@ -28,7 +28,7 @@
 
    Changes: Joseph Wenninger
 
-   $Id: VMThread.c 873 2004-01-11 20:59:29Z twisti $
+   $Id: VMThread.c 897 2004-01-21 00:49:42Z stefan $
 
 */
 
@@ -70,7 +70,7 @@ JNIEXPORT java_lang_Thread* JNICALL Java_java_lang_Thread_currentThread(JNIEnv *
        if (runverbose)
                log_text("java_lang_Thread_currentThread called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        t = (java_lang_Thread *) currentThread;
   
        if (!t->group) {
@@ -112,7 +112,7 @@ JNIEXPORT s4 JNICALL Java_java_lang_Thread_isAlive(JNIEnv *env, java_lang_Thread
        if (runverbose)
                log_text("java_lang_Thread_isAlive called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        return aliveThread((thread *) this);
 #else
        return 0;
@@ -154,7 +154,7 @@ JNIEXPORT void JNICALL Java_java_lang_Thread_nativeResume(JNIEnv *env, java_lang
        if (runverbose)
                log_text("java_lang_Thread_resume0 called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        resumeThread((thread *) this);
 #endif
 }
@@ -170,7 +170,7 @@ JNIEXPORT void JNICALL Java_java_lang_Thread_nativeSetPriority(JNIEnv *env, java
     if (runverbose) 
                log_text("java_lang_Thread_setPriority0 called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        setPriorityThread((thread *) this, par1);
 #endif
 }
@@ -186,7 +186,7 @@ JNIEXPORT void JNICALL Java_java_lang_Thread_sleep(JNIEnv *env, jclass clazz, s8
        if (runverbose)
                log_text("java_lang_Thread_sleep called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        sleepThread(millis);
 #endif
 }
@@ -202,7 +202,7 @@ JNIEXPORT void JNICALL Java_java_lang_Thread_start(JNIEnv *env, java_lang_Thread
        if (runverbose) 
                log_text("java_lang_Thread_start called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        startThread((thread*)this);
 #endif
 }
@@ -219,7 +219,7 @@ JNIEXPORT void JNICALL Java_java_lang_Thread_nativeStop(JNIEnv *env, java_lang_T
                log_text ("java_lang_Thread_stop0 called");
 
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        if (currentThread == (thread*)this) {
                log_text("killing");
                killThread(0);
@@ -246,7 +246,7 @@ JNIEXPORT void JNICALL Java_java_lang_Thread_nativeSuspend(JNIEnv *env, java_lan
        if (runverbose)
                log_text("java_lang_Thread_suspend0 called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        suspendThread((thread*)this);
 #endif
 }
@@ -262,7 +262,7 @@ JNIEXPORT void JNICALL Java_java_lang_Thread_yield(JNIEnv *env, jclass clazz)
        if (runverbose)
                log_text("java_lang_Thread_yield called");
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        yieldThread();
 #endif
 }
index f200794c816d0228f274d974f9b3e2f13e8d2ae2..0a9e1ddf5bc34b1ac00ddbaa452b5301203ccbf0 100644 (file)
@@ -25,6 +25,8 @@
 #include "native.h"
 #include "loader.h"
 
+#if !defined(NATIVE_THREADS)
+
 static classinfo *class_java_lang_IllegalMonitorStateException;
 
 extern thread* currentThread;
@@ -567,3 +569,5 @@ internal_broadcast_cond (iCv* cv)
                cv->cvWaiters = 0;
     }
 }
+
+#endif
index cc7b20b66feea92387372ac44c85b29145a5d379..1f9036cec65808a5d08bbafc321df216c127bc0c 100644 (file)
@@ -23,6 +23,7 @@
 #include "config.h"
 #include "thread.h"
 
+#if !defined(NATIVE_THREADS)
 
 #define        TH_READ         0
 #define        TH_WRITE        1
@@ -475,3 +476,5 @@ checkEvents(bool block)
        }
     }
 }
+
+#endif
index 5a94efa9a4448bc2f005137bb6dad3fe6278c26b..7ae98e6d87ee5ce65b4fcff2a97a9b9c48f86396 100644 (file)
@@ -97,7 +97,16 @@ int cast_counter;
 #ifndef HAVE___THREAD
 pthread_key_t tkey_threadinfo;
 #endif
-#endif
+
+void cast_lock()
+{
+}
+
+void cast_unlock()
+{
+}
+
+#else // !defined(NATIVE_THREADS)
 
 static classinfo *class_java_lang_ThreadDeath;
 
@@ -842,10 +851,4 @@ reschedule(void)
     }
 }
 
-void cast_lock()
-{
-}
-
-void cast_unlock()
-{
-}
+#endif
index b7fa974525c458240fe1c8474f95884f268a6070..509395e80bdf0ba8ff3705d8fcc5b0171730c808 100644 (file)
@@ -49,6 +49,8 @@
 #define SDBG(s)                s
 #endif
 
+#if !defined(NATIVE_THREADS)
+
 struct _thread;
 
 typedef struct _ctx
@@ -175,7 +177,7 @@ typedef struct {
        java_objectheader *_exceptionptr;
 } nativethread;
 
-#if defined(NATIVE_THREADS)
+#else // defined(NATIVE_THREADS)
 
 #if !defined(HAVE___THREAD)
 extern pthread_key_t tkey_threadinfo;
index bf2511e041d9ae1cbd824c048e974f80a5774dc0..237141b23efcd105a868c18b2cbf3394acec9301 100644 (file)
@@ -34,7 +34,7 @@
    calls instead of machine instructions, using the C calling
    convention.
 
-   $Id: builtin.c 890 2004-01-19 12:24:13Z edwin $
+   $Id: builtin.c 897 2004-01-21 00:49:42Z stefan $
 
 */
 
@@ -1010,7 +1010,7 @@ void builtin_displaymethodexception(methodinfo *method)
  */
 void internal_lock_mutex_for_object(java_objectheader *object)
 {
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        mutexHashEntry *entry;
        int hashValue;
 
@@ -1060,7 +1060,7 @@ void internal_lock_mutex_for_object(java_objectheader *object)
  */
 void internal_unlock_mutex_for_object (java_objectheader *object)
 {
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        int hashValue;
        mutexHashEntry *entry;
 
@@ -1092,7 +1092,7 @@ void internal_unlock_mutex_for_object (java_objectheader *object)
 
 void builtin_monitorenter(java_objectheader *o)
 {
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        int hashValue;
 
        assert(blockInts == 0);
@@ -1115,7 +1115,7 @@ void builtin_monitorenter(java_objectheader *o)
 
 void builtin_monitorexit (java_objectheader *o)
 {
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        int hashValue;
 
        assert(blockInts == 0);
index 178d3f611c460401d99e355fe91985b0a44d0a67..c877520d9040298159a6d2f41b83a4ba1f16c3f7 100644 (file)
@@ -29,7 +29,7 @@
 
    Changes: Edwin Steiner
 
-   $Id: jit.c 892 2004-01-19 12:32:29Z edwin $
+   $Id: jit.c 897 2004-01-21 00:49:42Z stefan $
 
 */
 
@@ -1454,7 +1454,9 @@ methodptr jit_compile(methodinfo *m)
        pthread_mutex_lock(&compiler_mutex);
 #endif
 
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        intsDisable();      /* disable interrupts */
+#endif
 
        regs_ok = false;
 
@@ -1477,7 +1479,9 @@ methodptr jit_compile(methodinfo *m)
                utf_sprint(logtext+strlen(logtext), m->name);
                utf_sprint(logtext+strlen(logtext), m->descriptor);
                log_text(logtext);
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
                intsRestore();                             /* enable interrupts again */
+#endif
                return (methodptr) do_nothing_function;    /* return empty method     */
        }
 
@@ -1595,7 +1599,9 @@ methodptr jit_compile(methodinfo *m)
                compilingtime += (stoptime - starttime);
        }
 
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        intsRestore();    /* enable interrupts again */
+#endif
 
 #if defined(USE_THREADS) && defined(NATIVE_THREADS)
        pthread_mutex_unlock(&compiler_mutex);
index e8d8bd58d3e424205c3ca445e425be4484203552..aae004cf1020aa2cfe40b3891175c0cc77c44fd8 100644 (file)
@@ -30,7 +30,7 @@
             Mark Probst
                        Edwin Steiner
 
-   $Id: loader.c 890 2004-01-19 12:24:13Z edwin $
+   $Id: loader.c 897 2004-01-21 00:49:42Z stefan $
 
 */
 
@@ -2785,7 +2785,7 @@ void class_init(classinfo *c)
 {
        methodinfo *m;
        s4 i;
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        int b;
 #endif
 
@@ -2849,7 +2849,7 @@ void class_init(classinfo *c)
                log_text(logtext);
        }
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        b = blockInts;
        blockInts = 0;
 #endif
@@ -2857,7 +2857,7 @@ void class_init(classinfo *c)
        /* now call the initializer */
        asm_calljavafunction(m, NULL, NULL, NULL, NULL);
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        assert(blockInts == 0);
        blockInts = b;
 #endif
@@ -2896,14 +2896,14 @@ void class_init(classinfo *c)
                        return;
                }
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
                b = blockInts;
                blockInts = 0;
 #endif
 
                asm_calljavafunction(m, NULL, NULL, NULL, NULL);
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
                assert(blockInts == 0);
                blockInts = b;
 #endif
@@ -3200,7 +3200,9 @@ classinfo *loader_load(utf *topname)
 
        loader_load_running++;
        
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        intsDisable();
+#endif
 
        if (getloadingtime)
                starttime = getcputime();
@@ -3277,7 +3279,9 @@ classinfo *loader_load(utf *topname)
                }
        }
 
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        intsRestore();
+#endif
        
 #if defined(USE_THREADS) && defined(NATIVE_THREADS)
        pthread_mutex_unlock(&compiler_mutex);
@@ -3656,7 +3660,7 @@ void loader_init(u1 *stackbottom)
        /* correct vftbl-entries (retarded loading of class java/lang/String) */
        stringtable_update();
 
-#ifdef USE_THREADS
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        if (stackbottom!=0)
                initLocks();
 #endif
@@ -3758,7 +3762,9 @@ void loader_compute_subclasses()
 {
        classinfo *c;
        
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        intsDisable();                     /* schani */
+#endif
 
        c = list_first(&linkedclasses);
        while (c) {
@@ -3787,7 +3793,9 @@ void loader_compute_subclasses()
        cast_unlock();
 #endif
 
+#if defined(USE_THREADS) && !defined(NATIVE_THREADS)
        intsRestore();                      /* schani */
+#endif
 }
 
 
index f200794c816d0228f274d974f9b3e2f13e8d2ae2..0a9e1ddf5bc34b1ac00ddbaa452b5301203ccbf0 100644 (file)
@@ -25,6 +25,8 @@
 #include "native.h"
 #include "loader.h"
 
+#if !defined(NATIVE_THREADS)
+
 static classinfo *class_java_lang_IllegalMonitorStateException;
 
 extern thread* currentThread;
@@ -567,3 +569,5 @@ internal_broadcast_cond (iCv* cv)
                cv->cvWaiters = 0;
     }
 }
+
+#endif
index 5a94efa9a4448bc2f005137bb6dad3fe6278c26b..7ae98e6d87ee5ce65b4fcff2a97a9b9c48f86396 100644 (file)
@@ -97,7 +97,16 @@ int cast_counter;
 #ifndef HAVE___THREAD
 pthread_key_t tkey_threadinfo;
 #endif
-#endif
+
+void cast_lock()
+{
+}
+
+void cast_unlock()
+{
+}
+
+#else // !defined(NATIVE_THREADS)
 
 static classinfo *class_java_lang_ThreadDeath;
 
@@ -842,10 +851,4 @@ reschedule(void)
     }
 }
 
-void cast_lock()
-{
-}
-
-void cast_unlock()
-{
-}
+#endif
index b7fa974525c458240fe1c8474f95884f268a6070..509395e80bdf0ba8ff3705d8fcc5b0171730c808 100644 (file)
@@ -49,6 +49,8 @@
 #define SDBG(s)                s
 #endif
 
+#if !defined(NATIVE_THREADS)
+
 struct _thread;
 
 typedef struct _ctx
@@ -175,7 +177,7 @@ typedef struct {
        java_objectheader *_exceptionptr;
 } nativethread;
 
-#if defined(NATIVE_THREADS)
+#else // defined(NATIVE_THREADS)
 
 #if !defined(HAVE___THREAD)
 extern pthread_key_t tkey_threadinfo;
index cc7b20b66feea92387372ac44c85b29145a5d379..1f9036cec65808a5d08bbafc321df216c127bc0c 100644 (file)
@@ -23,6 +23,7 @@
 #include "config.h"
 #include "thread.h"
 
+#if !defined(NATIVE_THREADS)
 
 #define        TH_READ         0
 #define        TH_WRITE        1
@@ -475,3 +476,5 @@ checkEvents(bool block)
        }
     }
 }
+
+#endif