[ENH][VM] - faster method activation.
John M McIntosh
johnmci at smalltalkconsulting.com
Wed Aug 6 19:28:15 UTC 2003
All methods require activation, and this is a followon to a note I had
posted a year or more back, altering activateNewMethod but with some
additions.
In Interpreter>>activateNewMethod and
Interpreter>>internalActivateNewMethod we move a bunch of data into the
new method context. These nicely written stores resolve into somewhat
complex calculations to store data mostly sequentially into the
context. Although smart compilers do common subexpression elimination
if we choose to alter the smalltalk code to actually represent what we
want to do, plus alter the two "for loops" a bit why
the compiler becomes much more happy and generates much more efficient
code resulting in faster execution.
On the powerpc this results in messages sends becoming 2% faster.
--
========================================================================
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
========================================================================
===
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SlightlyFasterActivate-JMM.2.cs.gz
Type: application/x-gzip
Size: 1169 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20030806/1831dc23/SlightlyFasterActivate-JMM.2.cs.bin
More information about the Squeak-dev
mailing list
|