From 492efb7e7e9dc6951677559a99a4cc8af4c74d3f Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Mon, 28 Mar 2011 15:06:30 +0200 Subject: [PATCH] Clean up DynASM glue macros. Thanks to Josh Haberman. --- dynasm/dasm_proto.h | 23 ++++++++++++++++++++--- src/buildvm.c | 14 -------------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/dynasm/dasm_proto.h b/dynasm/dasm_proto.h index 7d3f77f6..7fac22ab 100644 --- a/dynasm/dasm_proto.h +++ b/dynasm/dasm_proto.h @@ -14,17 +14,34 @@ #define DASM_VERSION 10202 /* 1.2.2 */ #ifndef Dst_DECL -#define Dst_DECL dasm_State *Dst +#define Dst_DECL dasm_State **Dst #endif -#ifndef Dst_GET -#define Dst_GET (Dst) +#ifndef Dst_REF +#define Dst_REF (*Dst) #endif #ifndef DASM_FDEF #define DASM_FDEF extern #endif +#ifndef DASM_M_GROW +#define DASM_M_GROW(ctx, t, p, sz, need) \ + do { \ + size_t _sz = (sz), _need = (need); \ + if (_sz < _need) { \ + if (_sz < 16) _sz = 16; \ + while (_sz < _need) _sz += _sz; \ + (p) = (t *)realloc((p), _sz); \ + if ((p) == NULL) exit(1); \ + (sz) = _sz; \ + } \ + } while(0) +#endif + +#ifndef DASM_M_FREE +#define DASM_M_FREE(ctx, p, sz) free(p) +#endif /* Internal DynASM encoder state. */ typedef struct dasm_State dasm_State; diff --git a/src/buildvm.c b/src/buildvm.c index d69fc1d6..152c95f0 100644 --- a/src/buildvm.c +++ b/src/buildvm.c @@ -42,20 +42,6 @@ #include "../dynasm/dasm_proto.h" /* Glue macros for DynASM. */ -#define DASM_M_GROW(ctx, t, p, sz, need) \ - do { \ - size_t _sz = (sz), _need = (need); \ - if (_sz < _need) { \ - if (_sz < 16) _sz = 16; \ - while (_sz < _need) _sz += _sz; \ - (p) = (t *)realloc((p), _sz); \ - if ((p) == NULL) exit(1); \ - (sz) = _sz; \ - } \ - } while(0) - -#define DASM_M_FREE(ctx, p, sz) free(p) - static int collect_reloc(BuildCtx *ctx, uint8_t *addr, int idx, int type); #define DASM_EXTERN(ctx, addr, idx, type) \