Since DelayScheduler runs very often at the highest priority, the desire is to have it highly optimised. One way to do this is put everything into a very long method to avoid the overhead of message sends.
Another might be to keep it logical split into several method for readability, but have those methods in-lined. I'm sure how pragmatic doing that would be, but it sparked my curiosity.... how do you go about designating a method/message to be inlined. I see OCASTTranslator>>visitMessageNode: (presumably) calls RBMessageNode>>isInlined which does a bundle of checks, for example RBMessageNode>>isInlineIf checks (#(ifTrue: ifFalse: ifTrue:ifFalse: ifFalse:ifTrue:) includes: self selector) ifFalse: But there also seems to be an <inline> pragma per WarpBlt>>rgbMap:from:to: What are the trade-off between these approaches, particularly for the special case where a method may have only one sender, where code is broken into small "private" methods mainly for readability. Also, do you need to manually supply the inlined bytecode yourself? cheers -ben