2012/8/30 Stefan Marr smalltalk@stefan-marr.de:
Hi:
On 30 Aug 2012, at 01:14, Nicolas Cellier wrote:
See also http://code.google.com/p/cog/issues/detail?id=92 where I attached a fix for large int It's untested yet and to review carefully !
As Stefan told, there is UB-reliance in SmallInteger primitives too, but I did not fix them. We should simply compute result as signed 64 bits as proposed by Stefan (except bitShift)
This might be the simplest solution, but at least on the RoarVM I measured a significant performance impact on tight integer loops. It's 20% according to my measurements.
Might be something necessary to be considered.
Best regards Stefan
Interesting. My fix for LargeInt seem to give same or better timing than old bogus ones despite double function call for getting sign and magnitude. Note that I updated http://code.google.com/p/cog/issues/detail?id=92 with a corrected version. 1st one bogusly tried to use oop as a type, I obviously don't program VM every day ;)
Nicolas
-- Stefan Marr Software Languages Lab Vrije Universiteit Brussel Pleinlaan 2 / B-1050 Brussels / Belgium http://soft.vub.ac.be/~smarr Phone: +32 2 629 2974 Fax: +32 2 629 3525