[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 01/03: Clear literal pool more thoroughly
From: |
Andy Wingo |
Subject: |
[Guile-commits] 01/03: Clear literal pool more thoroughly |
Date: |
Tue, 21 May 2019 06:41:06 -0400 (EDT) |
wingo pushed a commit to branch master
in repository guile.
commit d2c15dd6cd8367ca7395a20d26a6244467d54cc3
Author: Andy Wingo <address@hidden>
Date: Tue May 21 12:38:53 2019 +0200
Clear literal pool more thoroughly
---
lightening/lightening.c | 23 ++++++++++-------------
1 file changed, 10 insertions(+), 13 deletions(-)
diff --git a/lightening/lightening.c b/lightening/lightening.c
index 588e0c3..6c8fdfe 100644
--- a/lightening/lightening.c
+++ b/lightening/lightening.c
@@ -185,9 +185,6 @@ jit_begin(jit_state_t *_jit, uint8_t* buf, size_t length)
_jit->limit = buf + length;
_jit->overflow = 0;
_jit->frame_size = 0;
-#ifdef JIT_NEEDS_LITERAL_POOL
- clear_literal_pool(_jit->pool);
-#endif
}
jit_bool_t
@@ -1212,6 +1209,15 @@ jit_load_args(jit_state_t *_jit, size_t argc,
jit_operand_t args[])
}
#ifdef JIT_NEEDS_LITERAL_POOL
+static void
+clear_literal_pool(struct jit_literal_pool *pool)
+{
+ pool->deadline = -1;
+ pool->size = 0;
+ pool->byte_size = 0;
+ memset(pool->entries, 0, sizeof(pool->entries[0]) * pool.size);
+}
+
#define INITIAL_LITERAL_POOL_CAPACITY 12
static struct jit_literal_pool*
alloc_literal_pool(jit_state_t *_jit, size_t capacity)
@@ -1222,21 +1228,12 @@ alloc_literal_pool(jit_state_t *_jit, size_t capacity)
_jit->alloc (sizeof (struct jit_literal_pool) +
sizeof (struct jit_literal_pool_entry) * capacity);
ASSERT (ret);
- ret->deadline = -1;
- ret->size = 0;
ret->capacity = capacity;
+ clear_literal_pool(ret);
return ret;
}
static void
-clear_literal_pool(struct jit_literal_pool *pool)
-{
- pool->deadline = -1;
- pool->size = 0;
- pool->byte_size = 0;
-}
-
-static void
grow_literal_pool(jit_state_t *_jit)
{
struct jit_literal_pool *new_pool =