From 23620262cb35e10f36fbe8993c79bb44db374fe2 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Mon, 7 Jun 2004 22:07:11 +0000 Subject: [PATCH] Fix ROUND_END_PTR so that it adds the size after casting to jit_nuint. --- ChangeLog | 5 +++++ jit/jit-alloc.c | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 89f81b3..9aa0daa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,9 @@ +2004-06-08 Miroslaw Dobrzanski-Neumann + + * jit/jit-alloc.c: fix ROUND_END_PTR so that it adds the size + after casting to jit_nuint. + 2004-06-07 Thong Nguyen * configure.in, jit/jit-insn.c: add "_setjmp" to the list of diff --git a/jit/jit-alloc.c b/jit/jit-alloc.c index 35867b1..cd3ea47 100644 --- a/jit/jit-alloc.c +++ b/jit/jit-alloc.c @@ -158,8 +158,8 @@ void jit_flush_exec(void *ptr, unsigned int size) #define ROUND_BEG_PTR(p) \ ((void *)((((jit_nuint)(p)) / CLSIZE) * CLSIZE)) -#define ROUND_END_PTR(p) \ - ((void *)(((((jit_nuint)(p)) + CLSIZE - 1)/CLSIZE)*CLSIZE)) +#define ROUND_END_PTR(p,s) \ + ((void *)(((((jit_nuint)(p)) + (s) + CLSIZE - 1)/CLSIZE)*CLSIZE)) #if defined(__GNUC__) #if defined(PPC) @@ -171,7 +171,7 @@ void jit_flush_exec(void *ptr, unsigned int size) /* Flush the data out of the data cache */ p = ROUND_BEG_PTR (ptr); - end = ROUND_END_PTR (p + size); + end = ROUND_END_PTR (p, size); while (p < end) { __asm__ __volatile__ ("dcbst 0,%0" :: "r"(p)); @@ -194,7 +194,7 @@ void jit_flush_exec(void *ptr, unsigned int size) /* Flush the CPU cache on sparc platforms */ register unsigned char *p = ROUND_BEG_PTR (ptr); - register unsigned char *end = ROUND_END_PTR (p + size); + register unsigned char *end = ROUND_END_PTR (p, size); __asm__ __volatile__ ("stbar"); while (p < end) { @@ -221,7 +221,7 @@ void jit_flush_exec(void *ptr, unsigned int size) #elif (defined(__ia64) || defined(__ia64__)) && defined(linux) #define CLSIZE 32 register unsigned char *p = ROUND_BEG_PTR (ptr); - register unsigned char *end = ROUND_END_PTR (p + size); + register unsigned char *end = ROUND_END_PTR (p, size); while(p < end) { asm volatile("fc %0" :: "r"(p)); -- 2.47.3