String buffers, part 2b: Add extended string buffers. Use in serializer.

Sponsored by fmad.io.
This commit is contained in:
Mike Pall
2021-06-01 00:55:51 +02:00
parent 394fb6267a
commit 61990cef05
6 changed files with 210 additions and 98 deletions

View File

@@ -34,13 +34,17 @@ typedef struct MRef {
#if LJ_GC64
#define mref(r, t) ((t *)(void *)(r).ptr64)
#define mrefu(r) ((r).ptr64)
#define setmref(r, p) ((r).ptr64 = (uint64_t)(void *)(p))
#define setmrefu(r, u) ((r).ptr64 = (uint64_t)(u))
#define setmrefr(r, v) ((r).ptr64 = (v).ptr64)
#else
#define mref(r, t) ((t *)(void *)(uintptr_t)(r).ptr32)
#define mrefu(r) ((r).ptr32)
#define setmref(r, p) ((r).ptr32 = (uint32_t)(uintptr_t)(void *)(p))
#define setmrefu(r, u) ((r).ptr32 = (uint32_t)(u))
#define setmrefr(r, v) ((r).ptr32 = (v).ptr32)
#endif