Exception and RPC implementation #181
No reviewers
Labels
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: M-Labs/nac3#181
Loading…
Reference in New Issue
No description provided.
Delete Branch "exception-rpc"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Should be used together with a modified version of artiq, because this PR will need the embedding map to work. Will push the changes to artiq later. (Note that for RPC with lists, we will need to change the firmware because lists are represented as
&CSlice<T>
in nac3 but the firmware expectsCSlice<T>
)Notable changes (apart from implementing exception and RPC)
mod_path
if it is non-empty. This is needed as exception names will be derived from class name, which should be the fully-qualified name.nac3core::codegen::concrete_type
, type resolverparse_type_annotation
function for details. If these were not modified when new primitives are added, some primitive types would be erroneously treated as classes, producing incorrect LLVM IR.i8*
with null terminator toCSlice<u8>
.%Exception
or%ZeroDivisionError
or%IndexError
, as all exception types share the same layout...).Close issues:
Current issues:
5e72c2d45d
toaefd10c312
aefd10c312
tob18626b149
Changes for artiq:
f23b7a6154