背景.リリース.最高でしょ?『最高でしょ?』(さいこうでしょ?)は、日本のシンガーソングライターである玉置浩二のライブ・ビデオ。解説.LIVE!!「今日というこの日を生きていこう」解説.解説.会場.概要.生涯.解説.解説.解説.収録曲.解説.トレーシング実行時コンパイル概要.技術詳細.トレーシング実行時コンパイラは実行時に以下のステップを経る:第一に、ループに関するプロファイリング情報を収集する。次にホットループを特定した後、トレーシング実行モードに移行し、そのループを実行するのに用いられたすべての演算を記録する。記録された演算列はトレース(trace)と呼ばれる。その後トレースは最適化され機械語にコンパイルされる。再びそのループが実行される際はオリジナルのコードではなくコンパイル済みのトレースを実行する。以下で各ステップを詳細に説明する。プロファイリングフェーズ.プロファイリングの目的はホットループを特定することである。よく使われる方法は、すべてのループについて繰り返し回数を数えることである。この数がある特定のしきい値を超えた場合、そのループはホットループとみなされ、トレーシングモードが有効化される。トレーシングフェーズ.トレーシングフェーズ下ではループの実行は通常通りだが、加えてすべての実行された演算がトレースに記録される。記録される演算はたいていは中間言語として保存される。ループ内からの関数コールも追跡され、場合によってはトレース内にインライン展開される。トレーシングはループが終了するかスタート点にジャンプするまで継続される。トレーシングは実行時において行われるため実行時情報を含むことができる(例、実行時型情報)。この情報は最適化においてコードの品質を上げるのに使うことができる。最適化とコード生成フェーズ.トレースは制御フローのない一列の実行パスでしかないため最適化は容易である。以下は典型的な最適化例である:最適化の後トレースは機械語に変換される。最適化と同様に、トレースは分岐のない一列のデータであるため機械語変換は容易である。実行.トレースが機械語にコンパイルされた後に再びこのループが実行される場合は機械語の方を実行する。トレースの実行はガードが失敗するまで続けられる。歴史.