* src/vm/jit/asmpart.h [!JIT_COMPILER_VIA_SIGNAL]
[cacao.git] / src / vm / signal.c
index f20196d82476bc17c8c690d453f7d1765ca683c5..979b0f521d57108de521257bb65128d6c7283b76 100644 (file)
@@ -288,6 +288,10 @@ void *signal_handle(int type, intptr_t val,
                p = patcher_handler(xpc);
                break;
 
+       case EXCEPTION_HARDWARE_COMPILER:
+               p = jit_compile_handle(xpc, pv, ra, (void *) val);
+               break;
+
        default:
                /* Let's try to get a backtrace. */
 
@@ -322,7 +326,10 @@ void *signal_handle(int type, intptr_t val,
        /* unwrap and return the exception object */
        /* AFTER: removing stackframeinfo */
 
-       return LLNI_UNWRAP(p);
+       if (type == EXCEPTION_HARDWARE_COMPILER)
+               return p;
+       else
+               return LLNI_UNWRAP(p);
 }