summaryrefslogtreecommitdiff
path: root/vere/pkg/past/migrate_v4.c
blob: 3ca4176c444fc063e1c4095a222fa4beff2bdbc5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "v3.h"
#include "v4.h"
#include "options.h"

#     define  u3m_v3_reclaim  u3m_v4_reclaim

/* u3_migrate_v4: perform loom migration if necessary.
*/
void
u3_migrate_v4(c3_d eve_d)
{
  u3_v3_load(u3C.wor_i);

  if ( eve_d != u3H_v3->arv_u.eve_d ) {
    fprintf(stderr, "loom: migrate (v4) stale snapshot: have %"
                    PRIu64 ", need %" PRIu64 "\r\n",
                    u3H_v3->arv_u.eve_d, eve_d);
    abort();
  }

  fprintf(stderr, "loom: bytecode alignment migration running...\r\n");

  u3m_v3_reclaim();

  u3H_v4 = u3H_v3;
  u3H_v4->ver_w = U3V_VER4;

  fprintf(stderr, "loom: bytecode alignment migration done\r\n");
}