diff options
| author | polwex <polwex@sortug.com> | 2025-10-06 01:01:41 +0700 |
|---|---|---|
| committer | polwex <polwex@sortug.com> | 2025-10-06 01:01:41 +0700 |
| commit | c4b392a179048f936c062f5ffccc2bc25627e500 (patch) | |
| tree | 09be0904be8ec4d7ea52992ef7580d42ed0c28c1 /vere/pkg/noun/v4 | |
working
Diffstat (limited to 'vere/pkg/noun/v4')
| -rw-r--r-- | vere/pkg/noun/v4/manage.c | 30 | ||||
| -rw-r--r-- | vere/pkg/noun/v4/manage.h | 13 |
2 files changed, 43 insertions, 0 deletions
diff --git a/vere/pkg/noun/v4/manage.c b/vere/pkg/noun/v4/manage.c new file mode 100644 index 0000000..0a3b723 --- /dev/null +++ b/vere/pkg/noun/v4/manage.c @@ -0,0 +1,30 @@ +/// @file + +#include "v4/manage.h" +#include "stdio.h" +#include "manage.h" +#include "allocate.h" +#include "vortex.h" +#include "options.h" + +/* u3m_v4_migrate: perform loom migration if necessary. +*/ +void +u3m_v4_migrate(void) +{ + fprintf(stderr, "loom: bytecode alignment migration running...\r\n"); + + c3_w* mem_w = u3_Loom + u3a_walign; + c3_w siz_w = c3_wiseof(u3v_home); + c3_w len_w = u3C.wor_i - u3a_walign; + c3_w* mat_w = c3_align(mem_w + len_w - siz_w, u3a_balign, C3_ALGLO); + + u3H = (void *)mat_w; + u3R = &u3H->rod_u; + + u3m_reclaim(); + + u3H->ver_w = U3V_VER4; + + fprintf(stderr, "loom: bytecode alignment migration done\r\n"); +} diff --git a/vere/pkg/noun/v4/manage.h b/vere/pkg/noun/v4/manage.h new file mode 100644 index 0000000..1059f12 --- /dev/null +++ b/vere/pkg/noun/v4/manage.h @@ -0,0 +1,13 @@ +/// @file + +#ifndef U3_MANAGE_V4_H +#define U3_MANAGE_V4_H + + /** System management. + **/ + /* u3m_v3_migrate: perform memoization loom migration if necessary. + */ + void + u3m_v4_migrate(void); + +#endif /* ifndef U3_MANAGE_V3_H */ |
