snap

動詞

ポインタへのポインタを直接のポインタで置き換えること。古いアドレスを、そこに見つかる転送先アドレスで置き換えること。ある機関の代表番号に電話をかけて特定の人を名指しで頼むと、交換手は、次回はポインタをsnapして直接ダイヤルしてくれることを期待して、つなぐ前にその人の内線番号を教えてくれるかもしれない。背後にある比喩は、いくつもの中間点を経由して張られた輪ゴムだろう。途中の画鋲をすべて外せば、それは最初から最後までまっすぐな線にぱちんと縮む。chase pointersを参照。

しばしば、trampolineの振る舞いは、エラーチェックを一度だけ行い、それからそれを呼び出したポインタをsnapして、以後はそのトランポリン(とその一度きりのエラーチェック)を迂回するというものだ。この文脈ではsnapping links(リンクのsnap)とも言う。たとえば、LISPの実装で、関数インターフェースのトランポリンは、呼び出し元が正しい数の引数を渡しているか確かめるかもしれない。もしそうで、かつ呼び出し元と呼び出し先の両方がコンパイルされていれば、リンクをsnapすることで、その特定の経路は、それ以上のオーバーヘッドなしに直接の手続き呼び出し命令を使えるようになる。