summaryrefslogtreecommitdiff
path: root/rts/linker/BufferBuilder.h
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2022-05-23 15:55:30 -0400
committerGHC GitLab CI <ghc-ci@gitlab-haskell.org>2022-05-23 23:05:26 -0400
commitf390cfc51ca93ef883a454308942ca3f8497ae31 (patch)
treeafbe6f3d48d7facd80a47b388a90066d4ddcb91b /rts/linker/BufferBuilder.h
parent1ca1efdc8758458a28414f6d00c679b8f9a6bd0a (diff)
downloadhaskell-wip/gdb-jit-object.tar.gz
(cherry picked from commit 07c9532947a623a065d43ef5f69e530ca762f986)
Diffstat (limited to 'rts/linker/BufferBuilder.h')
-rw-r--r--rts/linker/BufferBuilder.h37
1 files changed, 0 insertions, 37 deletions
diff --git a/rts/linker/BufferBuilder.h b/rts/linker/BufferBuilder.h
deleted file mode 100644
index facccb8335..0000000000
--- a/rts/linker/BufferBuilder.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#pragma once
-
-#include <stddef.h>
-#include <stdint.h>
-
-struct BufferBuilder {
- uint8_t *buffer; // start of buffer
- uint8_t *head; // next unfilled byte
- uint8_t *end; // end of buffer
-};
-
-struct BufferBuilder buffer_builder_new(size_t initial_sz);
-void buffer_builder_free(struct BufferBuilder *bb);
-size_t buffer_builder_filled_size(struct BufferBuilder *bb);
-size_t buffer_builder_reserved_size(struct BufferBuilder *bb);
-void buffer_builder_realloc(struct BufferBuilder *bb, size_t new_sz);
-uint8_t *buffer_builder_push(struct BufferBuilder *bb, uint8_t *x, size_t sz);
-void buffer_builder_append(struct BufferBuilder *bb, struct BufferBuilder *src);
-
-#define buffer_builder_push_struct(bb, x) \
- (typeof(x)*) buffer_builder_push(bb, (uint8_t *) &x, sizeof(x))
-
-#define DEFINE_BUILDER(ty) \
- static inline ty ## _t* buffer_builder_ ## ty(struct BufferBuilder *bb, ty ## _t x) \
- { return (ty ## _t *) buffer_builder_push(bb, (uint8_t *) &x, sizeof(x)); }
-
-DEFINE_BUILDER(uint8);
-DEFINE_BUILDER(uint16);
-DEFINE_BUILDER(uint32);
-DEFINE_BUILDER(uint64);
-DEFINE_BUILDER(int8);
-DEFINE_BUILDER(int16);
-DEFINE_BUILDER(int32);
-DEFINE_BUILDER(int64);
-
-#undef DEFINE_BUILDER
-