Status: Accepted Owner: nicolas....@gmail.com Labels: Type-Enhancement Priority-Medium Performance Maintainability
New issue 111 by nicolas....@gmail.com: Use direction aware << and >> instead of bitShift: to avoid useless Runtime test http://code.google.com/p/cog/issues/detail?id=111
As reported in vm-dev mailing list "bitShift: and runtime sign discussion" http://comments.gmane.org/gmane.comp.lang.smalltalk.squeak.vm.devel/9261
in (expr bitShift: shift), some shift have well known direction for the programmer, but the CCodeGenerator is unable to guess if shift is not literal. This results in useless runtime tests. Worse, it can increase the number of C compiler warnings after inlining.
I attach some changes to VMMaker (based on .oscog-eem.241 branch).
For sound, there is a shift sign discussion already, so we can eventually use directed shift too (based on trunk -ul.32 branch).
Attachments: VMMaker_replace_bitShift_with_directedShift.cs 12.1 KB Sound_replace_bitShift_with_directedShift.cs 1.8 KB