diff --git a/src/core/vm.c b/src/core/vm.c index 082297e5..0080d014 100644 --- a/src/core/vm.c +++ b/src/core/vm.c @@ -58,7 +58,7 @@ JANET_THREAD_LOCAL jmp_buf *janet_vm_jmp_buf = NULL; * a switch inside an infinite loop. For GCC/clang, we use * computed gotos. */ #if defined(__GNUC__) && !defined(__EMSCRIPTEN__) -/*#define JANET_USE_COMPUTED_GOTOS*/ +#define JANET_USE_COMPUTED_GOTOS #endif #ifdef JANET_USE_COMPUTED_GOTOS @@ -291,6 +291,191 @@ static JanetSignal run_vm(JanetFiber *fiber, Janet in, JanetFiberStatus status) &&label_JOP_NUMERIC_GREATER_THAN, &&label_JOP_NUMERIC_GREATER_THAN_EQUAL, &&label_JOP_NUMERIC_EQUAL, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, + &&label_unknown_op, &&label_unknown_op }; #endif diff --git a/test/suite7.janet b/test/suite7.janet index 476586e5..437409f9 100644 --- a/test/suite7.janet +++ b/test/suite7.janet @@ -156,11 +156,11 @@ (assert (= (|(+ $0 $1 $3 $2 $6) 0 1 2 3 4 5 6) 12) "function shorthand 9") # Simple function break -(debug/fbreak map) +(debug/fbreak map 1) (def f (fiber/new (fn [] (map inc [1 2 3])) :a)) (resume f) (assert (= :debug (fiber/status f)) "debug/fbreak") -(debug/unfbreak map) +(debug/unfbreak map 1) (map inc [1 2 3]) (end-suite)