VisualWorks:インライン展開
2007/03/30 (Fri) 22:07:46 JST
特定のレシーバ・引数とメッセージを組み合わせると、コンパイル時にメッセージ送信が別のバイトコード (if, jump) に置き換えられます。いずれも引数にブロックをとる次のメッセージがインライン展開の対象になります
- ?BlockClosure
- whileTrue
- whileTrue:
- whileFalse
- whileFalse:
- repeat
- Boolean
- and:
- or:
- ifTrue:
- ifFalse:
- ifTrue:ifFalse:
- ifFalse:ifTrue:
- Number
- to:do:
- to:by:do:
- timesRepeat:
Inverse Pages: VisualWorks