* src/vm/jit/trap.cpp (trap_handle) [__MIPS__]: Use executionstate for trap
[cacao.git] / src / vm / jit / trap.cpp
index 3f77c9746e90b59ce5b2b6ef4187dcd356595889..f43b1e7d09535ceaecefef1db029e283a9c769a5 100644 (file)
@@ -119,7 +119,7 @@ void trap_handle(int sig, void *xpc, void *context)
                vm_abort("trap_handle: The program counter is NULL!");
 #endif
 
-#if defined(__ALPHA__) || defined(__ARM__) || defined(__I386__) || defined(__POWERPC__) || defined(__POWERPC64__) || defined(__X86_64__)
+#if defined(__ALPHA__) || defined(__ARM__) || defined(__I386__) || defined(__MIPS__) || defined(__POWERPC__) || defined(__POWERPC64__) || defined(__X86_64__)
 # if !defined(NDEBUG)
        /* Perform a sanity check on our execution state functions. */
 
@@ -162,8 +162,8 @@ void trap_handle(int sig, void *xpc, void *context)
                // NOTE: Some archs use SIGILL for other traps too, but it's OK to
                // do this check anyway because it will fail.
                if (patcher_is_patched_at(xpc) == true) {
-                       // XXX remove this debug output!
-                       log_println("trap_handle: Detected patcher race condition (PR85) at %p", xpc);
+                       if (opt_PrintWarnings)
+                               log_println("trap_handle: Detected patcher race condition (PR85) at %p", xpc);
                        return;
                }
 
@@ -271,7 +271,7 @@ void trap_handle(int sig, void *xpc, void *context)
 #if defined(ENABLE_REPLACEMENT)
        case TRAP_COUNTDOWN:
 # if defined(__I386__)
-               replace_me_wrapper((char*)xpc - 13, context);
+               replace_me_wrapper((uint8_t*) xpc - 13, context);
 # endif
                p = NULL;
                break;
@@ -295,7 +295,7 @@ void trap_handle(int sig, void *xpc, void *context)
 
        stacktrace_stackframeinfo_remove(&sfi);
 
-#if defined(__ALPHA__) || defined(__ARM__) || defined(__I386__) || defined(__POWERPC__) || defined(__POWERPC64__) || defined(__X86_64__)
+#if defined(__ALPHA__) || defined(__ARM__) || defined(__I386__) || defined(__MIPS__) || defined(__POWERPC__) || defined(__POWERPC64__) || defined(__X86_64__)
        /* Update execution state and set registers. */
        /* AFTER: removing stackframeinfo */
 
@@ -380,4 +380,5 @@ void trap_handle(int sig, void *xpc, void *context)
  * c-basic-offset: 4
  * tab-width: 4
  * End:
+ * vim:noexpandtab:sw=4:ts=4:
  */