多型インラインキャッシュ(PIC)は、高価なルックアップ手順(通常はハッシュテーブルルックアップ)を避けるために、実際のメソッドをオブジェクトの型でキャッシュすることによって機能します。多型インラインキャッシュはどのように変更可能な型で動作しますか?
型オブジェクトが変更可能な場合(つまり、メソッドが実行時に別のものに変更された場合)、型の比較はどのように処理されますか?
私が思いついた考え方は、メソッドが調整されるたびに増えていく「クラスカウンタ」ですが、猿のパッチを当てた環境では非常に高価なようですそのクラスのメソッドが変更されていなくても、そのクラスのすべてのPIC。
この問題はJavaScriptに直接当てはまるため、良い解決策が必要であると確信しています.3つの大きなJavaScript仮想マシンにはすべてPICがあります。
これは、災害のためのレシピのように聞こえます。 –