[Vm-dev] [commit][3340] in assertCStackWellAligned, note that masking a value with ( x-1) can never give a result of x.

commits at squeakvm.org commits at squeakvm.org
Thu May 14 00:52:12 UTC 2015


Revision: 3340
Author:   rowledge
Date:     2015-05-13 17:52:09 -0700 (Wed, 13 May 2015)
Log Message:
-----------
in assertCStackWellAligned, note that masking a value with (x-1) can never give a result of x. And don't do it again.

Modified Paths:
--------------
    branches/Cog/platforms/Cross/vm/sqCogStackAlignment.h

Modified: branches/Cog/platforms/Cross/vm/sqCogStackAlignment.h
===================================================================
--- branches/Cog/platforms/Cross/vm/sqCogStackAlignment.h	2015-05-13 00:03:29 UTC (rev 3339)
+++ branches/Cog/platforms/Cross/vm/sqCogStackAlignment.h	2015-05-14 00:52:09 UTC (rev 3340)
@@ -40,7 +40,7 @@
 	 * ARM DUI 0041C Page 9-7
 	 */
 #  if __GNUC__
-/ * # define getsp() ({ void *sp; asm volatile ("mov %0, %%sp" : "=r"(sp) : ); sp;}) */
+/* # define getsp() ({ void *sp; asm volatile ("mov %0, %%sp" : "=r"(sp) : ); sp;}) */
 
 #   define getfp() ({ unsigned long fp;					\
 					  asm volatile ("mov %0, %%fp" : "=r"(fp) : );	\
@@ -67,7 +67,7 @@
 	extern sqInt cFramePointerInUse;										\
 	if (cFramePointerInUse)													\
 		assert((getfp() & STACK_ALIGN_MASK) == STACK_FP_ALIGN_BYTES);		\
-	assert((ceGetSP() & STACK_ALIGN_MASK) == STACK_FP_ALIGN_BYTES);			\
+	assert((ceGetSP() & STACK_ALIGN_MASK) == 0);	\
 } while (0)
 # endif
 #else /* defined(STACK_ALIGN_BYTES) */



More information about the Vm-dev mailing list