reset_literal_pool
In reset_literal_pool
, there seems to be some confusion between pool->size
and pool->capacity
. When alloc_literal_pool
allocates a fresh pool, it initializes ret->capacity
but not ret->size
, but reset_literal_pool
uses the size. So I think the code should be changed like this:
diff --git a/lightening/lightening.c b/lightening/lightening.c
index ad990eb..ebd8578 100644
--- a/lightening/lightening.c
+++ b/lightening/lightening.c
@@ -1328,7 +1328,7 @@ static void
reset_literal_pool(jit_state_t *_jit, struct jit_literal_pool *pool)
{
pool->deadline = _jit->limit - _jit->start;
- memset(pool->entries, 0, sizeof(pool->entries[0]) * pool->size);
+ memset(pool->entries, 0, sizeof(pool->entries[0]) * pool->capacity);
pool->size = 0;
}