+2004-06-08 Miroslaw Dobrzanski-Neumann <mne@mosaic-ag.com>
+
+ * jit/jit-alloc.c: fix ROUND_END_PTR so that it adds the size
+ after casting to jit_nuint.
+
2004-06-07 Thong Nguyen <tim@veridicus.com>
* configure.in, jit/jit-insn.c: add "_setjmp" to the list of
#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)
/* 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));
/* 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)
{
#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));