From: Nicholas Clark Date: Sat, 2 Jul 2005 16:25:06 +0000 (+0000) Subject: Copying the first parameter in the macro del_body seems to reduce X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=49c04cc736aa68243fdda5fe18290db6911dd403;p=p5sagit%2Fp5-mst-13.2.git Copying the first parameter in the macro del_body seems to reduce code size. Presumably an expression is no longer evaluated twice. p4raw-id: //depot/perl@25053 --- diff --git a/sv.c b/sv.c index d416b1b..83c2d4e 100644 --- a/sv.c +++ b/sv.c @@ -1127,9 +1127,10 @@ S_new_body(pTHX_ void **arena_root, void **root, size_t size) #define del_body(thing, root) \ STMT_START { \ + void **thing_copy = (void **)thing; \ LOCK_SV_MUTEX; \ - *(void **)thing = *root; \ - *root = (void*)thing; \ + *thing_copy = *root; \ + *root = (void*)thing_copy; \ UNLOCK_SV_MUTEX; \ } STMT_END