aboutsummaryrefslogtreecommitdiffhomepage
path: root/x86_64/emit.c
diff options
context:
space:
mode:
Diffstat (limited to 'x86_64/emit.c')
-rw-r--r--x86_64/emit.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/x86_64/emit.c b/x86_64/emit.c
index 3fc93b0..2786e22 100644
--- a/x86_64/emit.c
+++ b/x86_64/emit.c
@@ -738,7 +738,6 @@ static struct blkaddr {
uint relreloc;
};
} *blkaddr;
-static uint nblkaddr;
static void
Xjcc(uchar **pcode, enum cc cc, struct block *dst)
@@ -1356,10 +1355,7 @@ emitbin(struct function *fn)
} while ((blk = blk->lprev) != fn->entry);
}
- if (nblkaddr < fn->nblk) {
- blkaddr = xrealloc(blkaddr, (nblkaddr = fn->nblk) * sizeof *blkaddr);
- }
- memset(blkaddr, 0, nblkaddr * sizeof *blkaddr);
+ blkaddr = allocz(fn->passarena, fn->nblk * sizeof *blkaddr, 0);
blk = fn->entry;
do {