On 17.07.2008, at 16:20, Matt Wilmas wrote:

Hi all,

Replying to this OLD message about the ZEND_SIGNED_MULTIPLY_LONG() change...
It's just a small thing, but it's been on the TODO for a while, so I
attempted to correct the issue with my original patch that used "long long" type, which wasn't available on the older MSVC versions, etc. I created a zend_long64 type (when possible, #if logic copied from snprintf.h's WIDE_INT definition), hopefully it's mostly correct/OK, and maybe it can be used
elsewhere too.

Since the new memory manager, ..._MULTIPLY_LONG() isn't used for
safe_emalloc() anymore, so I made another safe_address() variation (overflow safe, I hope). I noticed ~0.6% slowdown on bench.php, though it seems this zend_ulong64 version should use fewer cycles than the doubles one for sure,
if someone wants to analyze it more. :-)

Finally, is it even possible to also have a Windows assembly version of
these 2 things, where I left the comments?  There is for
zend_mm_[high|low]_bit(), but they're very simple...

http://realplain.com/php/multiply_long.diff
http://realplain.com/php/multiply_long_5_3.diff


any takers for this patch?
otherwise it will probably not make the cut by the 24th

regards,
Lukas Kahwe Smith
[EMAIL PROTECTED]




--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to