PR148 again: don't defuse IF_LCMPxx
[cacao.git] / src / vm / jit / builtin.cpp
index ff1e2dd9c9c7ae9532d8cfa1a30241fa7d361cc9..615f4b8dc2d51175a66a0b748c3d64c2d14de337 100644 (file)
@@ -1,6 +1,6 @@
 /* src/vm/jit/builtin.cpp - functions for unsupported operations
 
-   Copyright (C) 1996-2005, 2006, 2007, 2008
+   Copyright (C) 1996-2005, 2006, 2007, 2008, 2010
    CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
 
    This file is part of CACAO.
@@ -75,6 +75,7 @@
 #include "vm/string.hpp"
 
 #include "vm/jit/asmpart.h"
+#include "vm/jit/emit-common.hpp"
 #include "vm/jit/stubs.hpp"
 #include "vm/jit/trace.hpp"
 
@@ -862,7 +863,7 @@ java_handle_t *builtin_new(classinfo *c)
        LLNI_vftbl_direct(o) = c->vftbl;
 
 #if defined(ENABLE_THREADS)
-       LLNI_DIRECT(o)->lockword.init();
+       Lockword(LLNI_DIRECT(o)->lockword).init();
 #endif
 
        CYCLES_STATS_GET(cycles_end);
@@ -944,7 +945,7 @@ java_handle_t *builtin_tlh_new(classinfo *c)
        LLNI_vftbl_direct(o) = c->vftbl;
 
 # if defined(ENABLE_THREADS)
-       LLNI_DIRECT(o)->lockword.init();
+       Lockword(LLNI_DIRECT(o)->lockword).init();
 # endif
 
        CYCLES_STATS_GET(cycles_end);
@@ -1023,7 +1024,7 @@ java_object_t *builtin_fast_new(classinfo *c)
        o->vftbl = c->vftbl;
 
 #if defined(ENABLE_THREADS)
-       LLNI_DIRECT(o)->lockword.init();
+       Lockword(LLNI_DIRECT(o)->lockword).init();
 #endif
 
        CYCLES_STATS_GET(cycles_end);
@@ -1408,7 +1409,6 @@ s8 builtin_lxor(s8 a, s8 b)
 #endif /* !(SUPPORT_LONG && SUPPORT_LONG_LOGICAL) */
 
 
-#if !(SUPPORT_LONG && SUPPORT_LONG_CMP)
 s4 builtin_lcmp(s8 a, s8 b)
 { 
        if (a < b)
@@ -1419,7 +1419,6 @@ s4 builtin_lcmp(s8 a, s8 b)
 
        return 0;
 }
-#endif /* !(SUPPORT_LONG && SUPPORT_LONG_CMP) */
 
 
 /* functions for unsupported floating instructions ****************************/
@@ -2162,7 +2161,7 @@ java_handle_t *builtin_clone(void *env, java_handle_t *o)
 #endif
 
 #if defined(ENABLE_THREADS)
-               LLNI_DIRECT(co)->lockword.init();
+               Lockword(LLNI_DIRECT(co)->lockword).init();
 #endif
 
                LLNI_CRITICAL_END;
@@ -2197,7 +2196,7 @@ java_handle_t *builtin_clone(void *env, java_handle_t *o)
 #endif
 
 #if defined(ENABLE_THREADS)
-       LLNI_DIRECT(co)->lockword.init();
+       Lockword(LLNI_DIRECT(co)->lockword).init();
 #endif
 
        LLNI_CRITICAL_END;