pca006132
4132c450a5
firmware: runtime changes for exception
...
Ported from:
M-Labs/artiq-zynq#162
This includes new API for exception handling, some refactoring to avoid
code duplication for exception structures, and modified protocols to
send nested exceptions and avoid string allocation.
2022-01-26 07:16:54 +08:00
pca006132
536b3e0c26
test: added test case for nested exceptions and try
2022-01-26 07:16:54 +08:00
pca006132
ba34700798
coredevice: report nested exceptions
2022-01-26 07:16:54 +08:00
pca006132
6ec003c1c9
compiler: fixed dead code eliminator
...
Instead of removing basic blocks with no predecessor, we will now mark
and remove all blocks that are unreachable from the entry block. This
can handle loops that are dead code. This is needed as we will now
generate more complicated code for exception handling which the old dead
code eliminator failed to handle.
2022-01-26 07:16:54 +08:00
pca006132
da4ff44377
compiler: fixed try codegen and allocate exceptions
...
Exceptions are now allocated in the runtime when we raise the exception,
and destroyed when we exit the catch block. Nested exception and try
block is now supported, and should behave the same as in CPython.
Exceptions raised in except blocks will now unwind through finally
blocks, matching the behavior in CPython. Reraise will now preserve
backtrace.
Phi block LLVM IR generation is modified to handle landingpads, which
one ARTIQ IR will map to multiple LLVM IR.
2022-01-26 07:16:54 +08:00
pca006132
4644e105b1
compiler: modified exception representation
...
Exception name is replaced by exception ID, which requires no
allocation. Other strings in the exception can now be 'host-only'
strings, which is represented by a CSlice with len = usize::MAX and
ptr = key, to avoid the need for allocation when raising exceptions
through RPC.
2022-01-26 07:16:54 +08:00
hartytp
715bff3ebf
Revert "Merge pull request #1544 from airwoodix/dataset-compression" ( #1838 )
...
* Revert "Merge pull request #1544 from airwoodix/dataset-compression"
This reverts commit 311a818a49
, reversing
changes made to 7ffe4dc2e3
.
* fix accidental revert of f42bea06a8
2022-01-25 10:02:15 +08:00
Sebastien Bourdeauducq
1c56b08a4b
flake: update dependencies
2022-01-19 21:17:39 +08:00
Sebastien Bourdeauducq
b452789f03
Merge branch 'master' into nac3
2022-01-19 21:07:10 +08:00
Sebastien Bourdeauducq
f58aa3bdf6
flake: update qasync
2022-01-19 20:44:50 +08:00
Sebastien Bourdeauducq
4e420fc297
flake: update inputs
2022-01-19 20:18:54 +08:00
Sebastien Bourdeauducq
5597be3356
flake: add beta to version string
2022-01-19 20:17:11 +08:00
Sebastien Bourdeauducq
f542f045da
manual: use git+https URL for ARTIQ flake
...
github: flake URL lacks revCount
2022-01-19 20:04:20 +08:00
Sebastien Bourdeauducq
53878fe1d4
flake: get version number from nix
2022-01-19 19:58:55 +08:00
Sebastien Bourdeauducq
735cd1eb3e
manual: update development instructions
2022-01-14 16:50:08 +08:00
Steve Fan
3f812c4c2c
comm_kernel: fix RPC exception handling ( #1801 )
2022-01-12 15:23:37 +08:00
occheung
b6c59a0cb3
update misoc dependencies
...
Suppress warning when compiling libunwind.
7242dc5a41
2022-01-11 17:32:19 +08:00
Steve Fan
de5892a00a
comm_kernel: check if elements are within bounds for RPC list ( #1824 )
2022-01-11 17:16:45 +08:00
Peter Drmota
4eee49f889
gateware.test.suservo: Fix tests for python >=3.7
...
Closes #1748
2022-01-11 17:16:09 +08:00
occheung
9eee0e5a7b
gateware/suservo: fix profile no. in test
...
Follow-up/Test update for 9d49302
.
2022-01-11 14:20:47 +08:00
Steve Fan
d7dd75e833
comm_kernel: fix off-by-one error for numeric value range check
2022-01-11 10:13:42 +08:00
Spaqin
095fb9e333
add Almazny support ( #1780 )
2022-01-11 09:55:39 +08:00
Sebastien Bourdeauducq
4e3e0d129c
firmware: fix compilation warning
2022-01-11 09:31:26 +08:00
pca006132
12ee326fb4
firmware: fixed personality function
2022-01-11 09:30:19 +08:00
occheung
61349f9685
sinara_tester: fix outdated API
2022-01-10 17:23:28 +08:00
occheung
cea0a15e1e
suservo: use default urukul profile
2022-01-10 16:21:39 +08:00
occheung
8b45f917d1
urukul: use default profile
2022-01-10 16:21:39 +08:00
pca006132
6542b65db3
compiler: fixed exception codegen issues
2022-01-10 15:54:29 +08:00
pca006132
9f90088fa6
compiler: generate appropriate landingpad IR
...
When used together with modified personality function, we got ~20%
performance improvement in exception unwinding with zynq.
2022-01-10 15:54:29 +08:00
occheung
5e1847e7c1
compiler: rename `variables` to `retainedNodes`
...
Part of the changes that was made to LLVM 6 by the time that LLVM 7 was released.
LLVM commit: 2c864551df
LLVM differential review: https://reviews.llvm.org/D45024
2022-01-10 11:28:37 +08:00
occheung
6f3c49528d
compiler: revert cabe5ac
...
The lack of debug emitter causes #1821 .
2022-01-10 11:26:03 +08:00
Sebastien Bourdeauducq
02555e48a0
update NAC3, use power operator
2022-01-09 11:45:10 +08:00
Sebastien Bourdeauducq
eaa1505c94
update documentation ( #1820 )
2022-01-08 11:55:52 +08:00
Leon Riesebos
f42bea06a8
worker_db: removed warning for writing a dataset that is also in the archive
...
Signed-off-by: Leon Riesebos <leon.riesebos@duke.edu>
2022-01-08 11:48:18 +08:00
occheung
9d493028e5
gateware/suservo: write to profile 7
...
Fixes #1817 .
2022-01-07 16:41:19 +08:00
Sebastien Bourdeauducq
4ad8f5d6c7
flake: reexport and use mimalloc-enabled Python
2022-01-04 22:20:12 +08:00
Sebastien Bourdeauducq
59af28d6f7
flake: use LLVM 13 for consistency with NAC3
2022-01-04 22:11:19 +08:00
Sebastien Bourdeauducq
17d217d47d
flake: update nac3
2022-01-04 22:09:52 +08:00
Sebastien Bourdeauducq
c795cb40ea
flake: update nac3
2021-12-28 11:49:01 +08:00
Sebastien Bourdeauducq
51cb8adba0
update NAC3
2021-12-26 08:50:02 +08:00
Sebastien Bourdeauducq
bbac477092
tools: fix importlib issue
2021-12-21 13:20:11 +08:00
Sebastien Bourdeauducq
97365de104
flake: update nac3
2021-12-20 18:18:43 +08:00
Sebastien Bourdeauducq
243fe5ea88
flake: update nac3
2021-12-20 18:02:15 +08:00
Sebastien Bourdeauducq
088c3b470e
update NAC3, use new Kernel type annotation
2021-12-20 17:56:40 +08:00
Sebastien Bourdeauducq
d853604380
flake: update dependencies
2021-12-20 17:27:43 +08:00
Steve Fan
c0a7be0a90
llvm_ir: move stacksave before lltag alloca in build_rpc
...
Signed-off-by: Steve Fan <sf@m-labs.hk>
2021-12-19 00:07:07 +00:00
Sebastien Bourdeauducq
9e5e234af3
stop using explicit ProactorEventLoop on Windows
...
It is now the default in Python.
2021-12-14 20:06:38 +08:00
Sebastien Bourdeauducq
352317df11
test_dataset_db: remove (too much breakage on Windows)
2021-12-14 19:27:15 +08:00
Sebastien Bourdeauducq
a518963a47
test_dataset_db: disable tests broken on windows
2021-12-14 19:19:22 +08:00
Sebastien Bourdeauducq
37f14d94d0
test_dataset_db: fix for windows
2021-12-14 19:07:17 +08:00