From d514171d6f7174ebef6a25d34e1c16c91803c0c6 Mon Sep 17 00:00:00 2001 From: abdul124 Date: Wed, 21 Aug 2024 16:34:25 +0800 Subject: [PATCH] firmware: sync exception names and ids --- src/libksupport/src/eh_artiq.rs | 36 ++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/src/libksupport/src/eh_artiq.rs b/src/libksupport/src/eh_artiq.rs index b42b880..1587e47 100644 --- a/src/libksupport/src/eh_artiq.rs +++ b/src/libksupport/src/eh_artiq.rs @@ -477,20 +477,28 @@ extern "C" fn stop_fn( } } -// Must be kept in sync with preallocate_runtime_exception_names() in artiq/language/embedding_map.py -static EXCEPTION_ID_LOOKUP: [(&str, u32); 12] = [ - ("RuntimeError", 0), - ("RTIOUnderflow", 1), - ("RTIOOverflow", 2), - ("RTIODestinationUnreachable", 3), - ("DMAError", 4), - ("I2CError", 5), - ("CacheError", 6), - ("SPIError", 7), - ("ZeroDivisionError", 8), - ("IndexError", 9), - ("UnwrapNoneError", 10), - ("SubkernelError", 11), +// Must be kept in sync with preallocate_runtime_exception_names() in `artiq.compiler.embedding` +static EXCEPTION_ID_LOOKUP: [(&str, u32); 20] = [ + ("RTIOUnderflow", 0), + ("RTIOOverflow", 1), + ("RTIODestinationUnreachable", 2), + ("DMAError", 3), + ("I2CError", 4), + ("CacheError", 5), + ("SPIError", 6), + ("SubkernelError", 7), + ("AssertionError", 8), + ("AttributeError", 9), + ("IndexError", 10), + ("IOError", 11), + ("KeyError", 12), + ("NotImplementedError", 13), + ("OverflowError", 14), + ("RuntimeError", 15), + ("TimeoutError", 16), + ("TypeError", 17), + ("ValueError", 18), + ("ZeroDivisionError", 19), ]; pub fn get_exception_id(name: &str) -> u32 {