[ENH][VM] - mark/sweep changes & correction to headerTypeBytes references

John M McIntosh johnmci at mac.com
Tue Jul 8 00:24:04 UTC 2003


Mmm if you understand what CArrayAccessor does, then you understand  
that you don't need
to add one when you use a 'C array' in InterpreterSimulator. This  
changeset removes the unneeded +1
and tweaks the mark/sweep logic just a bit to remove a global variable  
reference, and an unneeded
double store.

Some of you might note the addition of a instance variable  
youngStartLocal to Interpreter, but thru the
magic of VMMaker that gets folded into a local variable, versus a  
global in markAndTrace: which then
removes a clock cycle, and stall from every object reference in the GC  
logic. A tiny but annoying detail when I
wanted to ensure all major usages of variables are register based if  
possible.

If someone has an working InterpreterSimulator they need to test to  
make sure I didn't break anything
because I've not run a smoke test with this change set on   
InterpreterSimulator.

--
======================================================================== 
===
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: BitOfGCTuning-JMM.5.cs.gz
Type: application/x-gzip
Size: 5239 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20030707/113758d2/BitOfGCTuning-JMM.5.cs.bin


More information about the Squeak-dev mailing list