Experimental Bytecode

Hans-Martin Mosner hmm at heeg.de
Fri Mar 30 11:39:27 UTC 2001


On one of those days I stumbled over the method Interpreter>>experimentalBytecode. It's a very simple mechanism to get better performance for some common bytecode sequences, but the comment says that this bytecode is never generated. After implementing a method which would generate it, I knew why: the interpreter crashes when it gets there.
But all is not lost... This changeset contains a fix for the Interpreter so that it correctly handles the shortcut bytecodes 138..143. I also added support in InstructionStream for simulating these bytecodes, and a method in CompiledMethod which scans for optimizable bytecode sequences and transforms them.
To use all this, you need to generate a new VM.
Do not execute CompiledMethod>>optimizeForExperimentalBytecode when running with an old VM, or your changed method will crash that VM!

Cheers,
Hans-Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: XperBytecode-hmm.1.cs.gz
Type: application/octet-stream
Size: 2614 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20010330/67d4d740/XperBytecode-hmm.1.cs.obj


More information about the Squeak-dev mailing list