summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2020-06-19 16:26:53 +0200
committerAndy Wingo <wingo@pobox.com>2020-06-19 16:26:53 +0200
commit85d2766aa40e0f36f3c0d06fdd8911ddd23b0d92 (patch)
tree173706266f225e0f496c0be208744d6d544e7782
parenta0b9d866380b04aff27dcbcf1e13051f3d9685ad (diff)
parent6e317e70dd1d67c36d082c8da3ab220aa3ba2aeb (diff)
downloadguile-85d2766aa40e0f36f3c0d06fdd8911ddd23b0d92.tar.gz
Merge upstream 'lightening'
* libguile/lightening: Merge from https://gitlab.com/wingo/lightening.
-rw-r--r--libguile/lightening/lightening/arm-cpu.c13
-rw-r--r--libguile/lightening/lightening/lightening.c4
2 files changed, 12 insertions, 5 deletions
diff --git a/libguile/lightening/lightening/arm-cpu.c b/libguile/lightening/lightening/arm-cpu.c
index 0e38883ef..4445266af 100644
--- a/libguile/lightening/lightening/arm-cpu.c
+++ b/libguile/lightening/lightening/arm-cpu.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2017, 2019 Free Software Foundation, Inc.
+ * Copyright (C) 2012-2017,2019-2020 Free Software Foundation, Inc.
*
* This file is part of GNU lightning.
*
@@ -195,8 +195,15 @@ emit_wide_thumb(jit_state_t *_jit, uint32_t inst)
emit_u16_with_pool(_jit, inst & 0xffff);
}
-/* from binutils */
-# define rotate_left(v, n) (v << n | v >> (32 - n))
+static uint32_t
+rotate_left(uint32_t v, uint32_t n) {
+ if (n == 0) {
+ return v;
+ }
+ ASSERT(n < 32);
+ return (v << n | v >> (32 - n));
+}
+
static int
encode_arm_immediate(unsigned int v)
{
diff --git a/libguile/lightening/lightening/lightening.c b/libguile/lightening/lightening/lightening.c
index 66207885f..207712622 100644
--- a/libguile/lightening/lightening/lightening.c
+++ b/libguile/lightening/lightening/lightening.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2019 Free Software Foundation, Inc.
+ * Copyright (C) 2012-2020 Free Software Foundation, Inc.
*
* This file is part of GNU lightning.
*
@@ -1241,8 +1241,8 @@ static void
reset_literal_pool(jit_state_t *_jit, struct jit_literal_pool *pool)
{
pool->deadline = _jit->limit - _jit->start;
- pool->size = 0;
memset(pool->entries, 0, sizeof(pool->entries[0]) * pool->size);
+ pool->size = 0;
}
#define INITIAL_LITERAL_POOL_CAPACITY 12