j
: Next unread message k
: Previous unread message j a
: Jump to all threads
j l
: Jump to MailingList overview
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
Attachments:
squeak-dev@lists.squeakfoundation.org