From 5d989f064b0aa4ec0add96a25e6a6ca9cd4a2ace Mon Sep 17 00:00:00 2001 From: Nikos Mavrogeorgis Date: Sat, 8 Feb 2025 19:02:30 +0100 Subject: [PATCH] [recode] Account for spilled values of four bytes Currently, the `recode` functionality assumes that a `live_value` that is not an alloca should have a default size of 8 bytes. However, we have encountered cases, like in the Unifico-compiled `loop` example, where a spilled value can be of size 4. Thus, we extend the rewrite functions `_get_val` and `_put_val`, to account for this case as well. --- criu-3.15/lib/py/st_reg_transform.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/criu-3.15/lib/py/st_reg_transform.py b/criu-3.15/lib/py/st_reg_transform.py index 31d0dd5..37f5743 100644 --- a/criu-3.15/lib/py/st_reg_transform.py +++ b/criu-3.15/lib/py/st_reg_transform.py @@ -271,7 +271,12 @@ def _get_val(ctx, val, arch=False, return_loc = False): raw_val.append(struct.unpack( '