guile-commits
[Top][All Lists]
Advanced

[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 =



reply via email to

[Prev in Thread] Current Thread [Next in Thread]