"実行対象プログラムに含まれる命令のうち、逐次解釈による実行回数が閾値以上となった命令の翻訳コードを生成して第一の記憶部に記憶し、所定のタイミングで前記翻訳コードの一部又は全部を前記第一の記憶部より破棄する処理をコンピュータが実行し、前記生成する処理は、前記翻訳コードが破棄されてから所定期間において、前記閾値を前記実行回数に対して相対的に低下させることを特徴とする命令処理方法。前記破棄する処理は、破棄対象の前記翻訳コードの中で、当該翻訳コードの生成後に前記実行対象プログラムにおいて当該翻訳コードに対応する命令が更新されていない翻訳コードを示す情報を第二の記憶部に記憶し、前記生成する処理は、前記第二の記憶部が記憶する情報が示す前記翻訳コードに関して、破棄されてからの所定期間において前記閾値を低下させる請求項1記載の命令処理方法。前記破棄する処理は、前記第一の記憶部が前記翻訳コードに関連付けて記憶する該翻訳コードに対応する命令の識別情報を退避し、前記生成する処理は、退避されている前記識別情報に係る命令に関して、破棄されてからの所定期間において前記閾値を低下させる請求項1又は2記載の命令処理方法。実行対象プログラムに含まれる命令のうち、逐次解釈による実行回数が閾値以上となった命令の翻訳コードを生成して第一の記憶部に記憶する生成部と、所定のタイミングで前記翻訳コードの一部又は全部を前記第一の記憶部より破棄する破棄部とを有し、前記生成部は、前記翻訳コードが破棄されてから所定期間において、前記閾値を前記実行回数に対して相対的に低下させる命令処理装置。実行対象プログラムに含まれる命令のうち、逐次解釈による実行回数が閾値以上となった命令の翻訳コードを生成して第一の記憶部に記憶し、所定のタイミングで前記翻訳コードの一部又は全部を前記第一の記憶部より破棄する処理をコンピュータに実行させ、前記生成する処理は、前記翻訳コードが破棄されてから所定期間において、前記閾値を前記実行回数に対して相対的に低下させる命令処理プログラム。GC実行後における命令実行時には、実行対象の命令に対する翻訳コードが存在しない可能性が高くなる。その結果、GC実行前には翻訳コードを用いて高速実行されていた命令に関して、逐次解釈が行われ、性能が低下してしまう可能性がある。GCによってコードキャッシュから破棄された命令が、GC実行前の程度まで性能が復帰するには、当該命令の実行回数が改めて上記閾値以上となるまでの時間が必要とされた。1側面では、翻訳コードの破棄による性能の低下期間を短縮することのできる命令処理方法、命令処理装置、及び命令処理プログラムの提供を目的とする。一案では、命令処理方法は、実行対象プログラムに含まれる命令のうち、逐次解釈による実行回数が閾値以上となった命令の翻訳コードを生成して第一の記憶部に記憶し、所定のタイミングで前記翻訳コードの一部又は全部を前記第一の記憶部より破棄する処理をコンピュータが実行し、前記生成する処理は、前記翻訳コードが破棄されてから所定期間において、前記閾値を前記実行回数に対して相対的に低下させる。一態様によれば、翻訳コードの破棄による性能の低下期間を短縮することができる。以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における情報処理装置のハードウェア構成例を示す図である。図1の情報処理装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。情報処理装置10での処理を実現するプログラムは、記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って情報処理装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。なお、記録媒体101の一例としては、CD-ROM、DVDディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDDHardDiskDrive又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。図2は、第一の実施の形態における情報処理装置の機能構成例を示す図である。同図において、情報処理装置10は、逐次解釈部11、翻訳要求キュー12、翻訳部13、コードキャッシュ部14、及び翻訳コード破棄部15等を有する。逐次解釈部11、翻訳部13、及び翻訳コード破棄部15は、情報処理装置10にインストールされたプログラムがCPU104に実行させる処理によって実現される。翻訳要求キュー12、コードキャッシュ部14は、例えば、メモリ装置103を用いて実現可能である。逐次解釈部11は、実行対象プログラムTpのソースコード又は中間的な表現中間コードの各命令を逐次的に解釈して実行する。実行対象プログラムTpは、本実施の形態において実行対象とされるプログラムが、メモリ装置103にロードされた状態のデータである。逐次解釈部11は、実行対象プログラムTpが含む命令ごとに、逐次解釈による当該命令の実行回数すなわち、逐次解釈の実行回数を計測する。逐次解釈部11は、実行回数が閾値以上となった命令が発生した場合、当該命令のアドレスすなわち、実行対象プログラムTp内の位置情報を指定して、翻訳要求を翻訳要求キュー12に入力する。翻訳要求キュー12は、翻訳要求をFIFOFirstInFirstOutのリスト構造で保持する。なお、厳密には、実行回数は、実行対象プログラムTp内の各分岐命令の分岐先ごとに計測される。分岐命令間に含まれる命令群の実行回数は一致するため、命令ごとに実行回数を計測する必要はないからである。したがって、翻訳要求には、分岐先のアドレスが指定される。翻訳部13は、翻訳要求キュー12より翻訳要求を取り出し、取り出された翻訳要求に指定されたアドレスに係る命令群を機械語によるネイティブコードに翻訳する。例えば、翻訳要求に指定されたアドレスに係る命令から次の分岐命令までの命令群命令が一つの場合も含む。が翻訳される。以下、翻訳部13によって翻訳された又は生成されたコードを翻訳コードという。翻訳部13は、翻訳コードをコードキャッシュ部14に記憶する。コードキャッシュ部14は、翻訳コードや、翻訳コードの管理情報を記憶するための管理テーブル等を記憶する。翻訳コード破棄部15は、コードキャッシュ部14に関して、ガーベージコレクションGCを実行する。すなわち、翻訳コード破棄部15は、コードキャッシュ部14の空き領域を確保するため、コードキャッシュ部14が記憶する一部又は全部の翻訳コード及び一部又は全部の管理情報等を所定のタイミングで破棄削除する。なお、逐次解釈部11は、インタプリタと呼ばれるプログラムを用いて実現されてもよい。また、翻訳部13は、ジャストインタイムコンパイラJust-In-Timeコンパイラと呼ばれるプログラムを用いて実現されてもよい。更に、翻訳コード破棄部15は、ガーベージコレクタと呼ばれるプログラムを用いて実現されてもよい。以下、情報処理装置10が実行する処理手順について説明する。図3は、第一の実施の形態の情報処理装置が実行する処理手順の一例を説明するための図である。実行対象プログラムTpがメモリ装置103にロードされ、実行対象プログラムTpの実行が開始されると、実行対象プログラムTpの終了まで、以下の処理手順が繰り返し実行される。まず、逐次解釈部11は、実行対象プログラムTpより命令を読み出すS1。逐次解釈部11は、読み出された命令が分岐命令でなければ、当該命令を逐次的に解釈し、解釈結果をCPU104に実行させるS2。逐次解釈部11は、また、読み出された命令が分岐命令であり、分岐先のアドレスに関してコードキャッシュ部14に翻訳コードが生成されていない場合、分岐先のアドレスに係る命令を逐次的に解釈し、解釈結果をCPU104に実行させるS2。一方、読み出された命令が分岐命令であり、かつ、分岐先のアドレスに関してコードキャッシュ部14に翻訳コードが生成されている場合、逐次解釈部11は、当該翻訳コードをCPU104に実行させる。S3。翻訳コードの実行が終了すると、逐次解釈部11に処理制御が復帰するS4。なお、分岐先のアドレスに関して翻訳コードが生成されているか否かや、コードキャッシュ部14内における翻訳コードの位置アドレスは、例えば、コードキャッシュ部14内の管理テーブルを参照して判定される。図4は、第一の実施の形態の管理テーブル14Taの構成例を示す図である。同図において、管理テーブル14Taは、アドレス、実行回数、翻訳済フラグ、翻訳先アドレス等を記憶する。アドレスは、分岐先の命令のアドレスである。なお、アドレスは、管理テーブル14Taに含まれていなくてもよい。アドレスと管理テーブル14Taの各レコードとの対応付けが別途管理されていてもよい。実行回数は、当該アドレスに係る命令群の逐次的な実行回数である。翻訳済フラグは、当該アドレスに係る命令群に関して翻訳コードが生成されているか否かを示す情報である。例えば、trueは、翻訳コードは生成されている翻訳済であることを示し、falseは、翻訳コードは生成されていれていない翻訳済でないことを示す。翻訳先アドレスは、コードキャッシュ部14において、翻訳コードが記憶された位置アドレスを示す。また、実行回数は、コードキャッシュ部14外においてすなわち、管理テーブル14Ta外において管理されてもよい。したがって、逐次解釈部11は、管理テーブル14Taにおいて、分岐先のアドレスに対応する翻訳済みフラグがtrueであれば、分岐先のアドレスに関して翻訳コードは生成されていると判定する。この場合、逐次解釈部11は、当該アドレスに対応する翻訳先アドレスに基づいて、翻訳コードの記憶位置を特定する。但し、翻訳済フラグの代わりに、翻訳先アドレスに基づいて、分岐先のアドレスに関して翻訳コードが生成されているか否かが判定されてもよい。すなわち、翻訳先アドレスに値が記録されている場合、分岐先のアドレスに関して翻訳コードは生成されていると判定されてもよい。この場合、管理テーブル14Taに翻訳済フラグは含まれていなくてもよい。なお、逐次解釈部11は、ステップS2の実行時において、読み出された命令が分岐命令である場合、管理テーブル14Taにおいて、分岐先のアドレスに対応する実行回数に1を加算する。但し、分岐先のアドレスに対応するレコードが無い場合、逐次解釈部11は、当該アドレスに対応するレコードを管理テーブル14Taに追加し、当該レコードの実行回数に1を記録する。1の加算の結果、実行回数が閾値以上となった場合、逐次解釈部11は、翻訳要求を翻訳要求キュー12に入力するS5。翻訳要求には、分岐先の命令のアドレスが指定される。なお、図3の翻訳キュー12内における各矩形は、翻訳要求を表現する。翻訳部13は、翻訳要求キュー12に入力された翻訳要求を古い順に取り出すS6。翻訳部13は、取り出された翻訳要求に指定されたアドレスに係る命令群について翻訳処理を実行するS7。翻訳処理によって、当該命令群に関する翻訳コードが生成される。翻訳部13は、生成された翻訳コードをコードキャッシュ部14に記憶するS8。翻訳部13は、また、管理テーブル14Taにおいて、当該アドレスに対応する翻訳済フラグをtrueに更新し、当該アドレスに対応する翻訳先アドレスに、翻訳コードが記憶されたアドレスを記録する。例えば、管理テーブル14Taに新たなレコードが追加され、又は新たな翻訳コードがコードキャッシュ部14に記憶され、コードキャッシュ部14の空き領域が所定量以下になると、翻訳コード破棄部15に対して、GCの実行が要求されるS11又はS12。翻訳コード破棄部15は、要求に応じ、GCを実行するS13。すなわち、翻訳コード破棄部15は、一部又は全部の翻訳コード、及び管理テーブル14Taの一部又は全部のレコードをコードキャッシュ部14より破棄削除するS13。その結果、破棄された翻訳コード又はレコードに使用されていたメモリ領域は解放される。なお、破棄対象が一部の翻訳コードに限定される場合、管理テーブル14Taにおいて破棄されるレコードは、破棄対象の翻訳コードに対応するレコードである。すなわち、破棄対象の翻訳コードのアドレスを翻訳先アドレスとして含むレコードが破棄される。続いて、翻訳コード破棄部15は、翻訳コード等を破棄した時刻以下、GC実行時刻という。を、例えば、メモリ装置103に記録するS14。GC実行時刻は、逐次解釈部11が、実行回数に対する閾値を動的に変化させるために用いられる。すなわち、上述したステップS2において、逐次解釈部11は、GC実行時刻から所定期間においては、実質的又は相対的に当該閾値を低下させる。閾値が低下することにより、GC実行時刻から所定期間においては、通常より少ない実行回数でも、翻訳コードが生成されるようになる。したがって、実行頻度の高い命令群に関して、翻訳コードが再生成される時期を早めることができる。その結果、GCの実行による性能の低下期間の短縮化を期待することができる。図3における逐次解釈部11の処理手順について、更に詳細に説明する。図5は、第一の実施の形態の逐次解釈部の処理手順の一例を説明するためのフローチャートである。なお、同図は、読み出された命令が分岐命令である場合の処理手順を示す。ステップS110において、逐次解釈部11は、管理テーブル14Taを参照して、分岐先のアドレスに対する翻訳コードの有無を判定する。分岐先のアドレスに対応するレコードが管理テーブル14Taに有り、かつ、当該レコードの翻訳済フラグの値がtrueである場合、逐次解釈部11は、当該翻訳コードは有ると判定する。一方、分岐先のアドレスに対応するレコードが管理テーブル14Taに無い場合、又は当該レコードが管理テーブル14Taに有り、かつ、当該レコードの翻訳済フラグの値がfalseである場合、逐次解釈部11は、当該翻訳コードは無いと判定する。当該翻訳コードが無い場合S110でNo、逐次解釈部11は、分岐先のアドレスの命令を逐次的に解釈し、解釈結果をCPU104に実行させるS120。続いて、逐次解釈部11は、管理テーブル14Taにおいて、分岐先のアドレスに対応する実行回数に1を加算するS130。但し、分岐先のアドレスに対応するレコードが無い場合、逐次解釈部11は、当該アドレスに対応するレコードを管理テーブル14Taに追加し、当該レコードの実行回数に1を記録する。なお、後述のステップS170における実行回数は、ステップS130において更新又は記録された実行回数である。続いて、逐次解釈部11は、GC実行時刻がメモリ装置103に記録されているか否かを判定するS140。すなわち、実行対象プログラムTpの実行開始後において、GCが実行されたか否かが判定される。GC実行時刻がメモリ装置103に記録されている場合すなわち、GCが実行されている場合S140でYes、逐次解釈部11は、現在時刻とGC実行時刻の差分すなわち、GC実行時刻からの経過時間を算出するS150。算出結果は、変数after_gc_timeに代入される。一方、GC実行時刻がメモリ装置103に記録されていない場合すなわち、GCが実行されていない場合S140でNo、逐次解釈部11は、変数after_gc_timeにMAX_GC_TIMEを代入するS160。MAX_GC_TIMEは、GC実行後、実行回数に対する閾値を低下させる期間である。当該期間MAX_GC_TIMEは、予め決定され、例えば、補助記憶装置102に記録されている。ステップS150又はS160に続いて、逐次解釈部11は、以下の式1が閾値以上であるか否かを判定するS170。MAX_GC_TIME×実行回数/minafter_gc_time,MAX_GC_TIME1ここで、minx,yは、xとyとの最小値を示す。したがって、after_gc_time<MAX_GC_TIMEの場合すなわち、GC実行時刻からの経過時間がMAX_GC_TIME未満である場合、minafter_gc_time,MAX_GC_TIMEの値は、after_gc_timeとなる。一方、after_gc_time≧MAX_GC_TIMEの場合すなわち、GC実行時刻からの経過時間がMAX_GC_TIME以上である場合、minafter_gc_time,MAX_GC_TIMEの値は、MAX_GC_TIMEとなる。上記より、ステップS170では、GC実行時刻からの経過時間がMAX_GC_TIME未満である場合、式1の値は、実際の実行回数より大きな値となる。一方、GC実行時刻からの経過時間がMAX_GC_TIME以上である場合、式1の値は、実際の実行回数と一致する。したがって、GC実行時刻からの経過時間がMAX_GC_TIME未満である場合、当該経過時間が小さい程、閾値は実質的に小さくなる。一方、GC実行時刻からの経過時間がMAX_GC_TIME以上である場合、閾値は、本来の値となる。式1の値が閾値以上である場合S170でYes、逐次解釈部11は、分岐先のアドレスが指定された翻訳要求を生成し、当該翻訳要求を翻訳要求キュー12に入力するS180。一方、式1の値が閾値未満である場合S170でNo、ステップS180は実行されない。なお、分岐先のアドレスに対する翻訳コードが有る場合S110でYes、逐次解釈部11は、管理テーブル14Taにおいて、当該アドレスに対する翻訳先アドレスに記憶されている翻訳コードをCPU104に実行させるS190。なお、上記では、GC実行時刻が記録される例を示したが、時刻を計測するタイマーが用いられてもよい。この場合、図3のステップS14において、翻訳コード破棄部15は、当該タイマーの値を0に初期化する。図5のステップS150において、逐次解釈部11は、その時のタイマーの値をafter_gc_timeに代入する。次に、第二の実施の形態について説明する。第二の実施の形態では、第一の実施の形態と異なる点について説明する。したがって、特に言及しない点については、第一の実施の形態と同様でよい。図6は、第二の実施の形態の情報処理装置が実行する処理手順の一例を説明するための図である。図6中、図3と同一部分には同一符号を付し、その説明は省略する。図6では、図3のステップS14がステップS14aに置き換わっている。ステップS14aにおいて、翻訳コード破棄部15は、GC実行時GC実行直後における、コードキャッシュ部14の翻訳コードの残量以下、GC実行時翻訳コード量という。を、例えば、メモリ装置103に記録する。GC実行時翻訳コード量は、逐次解釈部11が、実行回数に対する閾値を動的に変化させるために用いられる。すなわち、図6のステップS2において、逐次解釈部11は、GC実行時翻訳コード量から所定量の翻訳コードが生成されるまですなわち、GC実行後の翻訳量が所定量になるまでは、実質的に当該閾値を低下させる。その結果、第一の実施の形態と同様の効果を得ることができる。このように、GC実行後の所定期間は、時刻ではなく、翻訳コード量等、時刻の経過に応じて変化する他の指標を用いて計測されてもよい。第一の実施の形態における図5は、図7に示されるように置き換えられればよい。図7は、第二の実施の形態の逐次解釈部の処理手順の一例を説明するためのフローチャートである。図7中、図5と同一ステップには同一符号を付し、その説明は省略する。図7では、図5のステップS140、S150、S160、及びS170のそれぞれが、ステップS140a、S150a、S160a、又はS170aに置き換わっている。ステップS140aにおいて、逐次解釈部11は、GC実行時翻訳コード量がメモリ装置103に記録されているか否かを判定する。GC実行時翻訳コード量がメモリ装置103に記録されている場合すなわち、GCが実行されている場合S140aでYes、逐次解釈部11は、現在のコードキャッシュ部14における翻訳コードの残量と、GC実行時翻訳コード量との差分すなわち、GC実行時からの翻訳コード量を算出するS150a。算出結果は、変数after_gc_volに代入される。一方、一方、GC実行時翻訳コード量がメモリ装置103に記録されていない場合すなわち、GCが実行されていない場合S140aでNo、逐次解釈部11は、変数after_gc_volにMAX_GC_VOLを代入するS160a。上記において、第二の実施の形態では、GC実行後の翻訳量が所定量になるまで閾値が実質的に低下すると述べた。MAX_GC_VOLは、当該所定量を示す。MAX_GC_VOLは、予め決定され、例えば、補助記憶装置102に記録されている。ステップS150a又はS160bに続いて、逐次解釈部11は、以下の式2が閾値以上であるか否かを判定するS170a。MAX_GC_VOL×実行回数/minafter_gc_vol,MAX_GC_VOL2式2は、第一の実施の形態の式1におけるafter_gc_time及びMAX_GC_TIMEのそれぞれが、after_gc_vol又はMAX_GC_VOLに置換されたものである。したがって、GC実行時からの翻訳コード量がMAX_GC_VOL未満である場合、当該翻訳コード量が小さい程、閾値は実質的に小さくなる。一方、GC実行時刻からの経過時間がMAX_GC_VOL以上である場合、閾値は、本来の値となる。なお、上記第一及び第二の実施の形態において、GC実行時時刻からの経過時間がMAX_GC_TIME未満である場合、又はGC実行時からの翻訳コード量がMAX_GC_VOL未満である場合において、式1又は式2の値は一定となるようにしてもよい。この場合、例えば、式1におけるafter_gc_time又は式2におけるafter_gc_volの値を、MAX_GC_TIME/n、又はMAX_GC_VOL/nとしてもよい。ここで、n>1である。その結果、GC実行時時刻からの経過時間がMAX_GC_TIME未満である場合、又はGC実行時からの翻訳コード量がMAX_GC_VOL未満である場合において、閾値の実質的な低下の程度は一定となる。また、第一及び第二の実施の形態では、所定期間において命令の実行回数を過大評価されることにより、閾値が実質的に低下する例について説明したが、閾値それ自体が動的に変化するようにしてもよい。例えば、翻訳要求キュー12に蓄積されている翻訳要求の数に応じて閾値が変化してもよい。この場合、ステップS170又はS170aにおいて用いられる閾値は、例えば、以下の式3に基づいて算出される。閾値=翻訳要求キュー12に蓄積されている翻訳要求の数×定数A定数B3例えば、定数A=1024、定数B=1が式3に当てはめられて、閾値が算出されてもよい。次に、第三の実施の形態について説明する。第三の実施の形態では、第一の実施の形態と異なる点について説明する。したがって、特に言及しない点については、第一の実施の形態と同様でよい。第三の実施の形態では、翻訳コードと実行対象プログラムTpとの間に不整合が発生する場合について考慮する。斯かる不整合の発生は、実行対象プログラムTpが、CPU104と異なるアーキテクチャのCPUのエミュレーションを実現するためのプログラムである場合に、特に顕在化する。すなわち、第三の実施の形態は、実行対象プログラムTp、逐次解釈部11、コードキャッシュ部14、及び翻訳コード翻訳コード破棄部15が、CPU104と異なるアーキテクチャのCPUをエミュレータとして機能する場合に好適である。但し、他の場合に第三の実施の形態が適用されてもよい。翻訳コードの不整合は、例えば、図8に示されるような状況において発生する。図8は、翻訳コードに不整合が発生する状況の一例を説明するための図である。同図では、自己書き換えの例が示されている。すなわち、実行対象プログラムTpの命令の実行逐次的な実行又は当該命令を含む翻訳コードによる実行により、実行対象プログラムTpの一部の命令Pが動的に書き換えられることがある。このように、プログラムが実行時に自分自身の命令を書き換えることを自己書き換えという。この場合、図8において、書き換えられた命令Pを含む翻訳コードCpは、実行対象プログラムTpの現在の状態と異なることになる。すなわち、翻訳コードCpに不整合が発生した状態となる。不整合な翻訳コードCpの実行は、回避されなければならない。そこで、逐次解釈部11は、不整合な翻訳コードCpに対して無効であることを示す情報を関連付ける。当該情報を関連付けるため、第三の実施の形態の管理テーブル14Tは、例えば、図9に示されるような構成を有する。図9は、第三の実施の形態の管理テーブルの構成例を示す図である。同図において、管理テーブル14Tbは、アドレスに関連付けて無効化フラグを記憶する。無効化フラグは、当該アドレスに係る翻訳コードが無効であるか否かを示す情報である。無効化フラグの初期値はfalseである。翻訳コードに不整合が発生した又は発生した可能性が有る場合、無効化フラグの値はtrueに更新される。翻訳コードに関して無効化フラグがtrueに更新されることを、本実施の形態において、翻訳コードの無効化という。逐次解釈部11は、分岐先のアドレスに対する無効化フラグの値がtrueである場合、翻訳コードは実行対象とせずに、改めて、当該分岐先の命令を逐次的に実行する。本実施の形態において、無効化フラグの更新は、逐次解釈部11によって行われる。或る翻訳コードに不整合が発生したことを検知するために、逐次解釈部11又は翻訳部13は、翻訳コードが生成された命令が属する実行対象プログラムTpのページに関して、ページテーブルのアクセス権として読み込み可ReadOnlyを設定しておく。すなわち、当該ページに対する書き込みは禁止される。その後、実行対象プログラムTpの命令の実行により、当該ページに対して自己書き換えを実行しようとすると、アクセス違反に関する例外が発生する。逐次解釈部11は、当該例外を補足キャッチするためのハンドラを介して、当該例外の発生を検知する。逐次解釈部11は、当該例外の発生を検知すると、当該例外によって通知されたアドレスを含むページに属する翻訳コードに係るアドレスに関して、管理テーブル14Tbの無効化フラグをtrueに更新する。なお、翻訳コードの不整合は、新たなプロセスが生成された場合やスワッピングが発生した場合等において、仮想アドレスと物理アドレスとのマッピングの変更が必要となったときにも発生する。この場合に関しても、逐次解釈部11は、影響を受ける翻訳コードに関して無効化フラグをtrueにする。ここで、無効化された翻訳コード及び無効化されていない有効な翻訳コードのそれぞれと、GCとの関係について説明する。無効化された翻訳コードは、不要な翻訳コードであり、今後使用することができない翻訳コードである。したがって、当該翻訳コードに関してGCが実行されることによる性能上の不利益は、相対的に小さいものと考えられる。一方、有効な翻訳コードは、今後も使用することができ、また、使用される可能性の有る翻訳コードである。したがって、当該翻訳コードに関してGCが実行されることによる性能上の不利益は、相対的に大きいものと考えられる。以上に鑑みて、第三の実施の形態では、無効化された翻訳コードと有効な翻訳コードとの間で、GCの実行後の実行回数に対する閾値を変えることができるようにする。すなわち、有効な翻訳コードは、早期に復帰されるように、閾値が実質的に下げられる。このような制御を実現するため、第三の実施の形態の情報処理装置10は、例えば、図10に示されるような機能構成を有する。図10は、第三の実施の形態における情報処理装置の機能構成例を示す図である。同図において、情報処理装置10は、強制破棄フラグ記憶部16を更に有する。強制破棄フラグ記憶部16は、例えば、メモリ装置103又は補助記憶装置102を用いて実現可能である。強制破棄フラグ記憶部16は、有効な翻訳コードであったが、GCの実行により強制的に破棄された翻訳コードを識別するための情報以下、強制破棄フラグという。を記憶する。但し、翻訳コードごとに強制破棄フラグを管理するのは、管理情報の増加を招く。そこで、本実施の形態において、強制破棄フラグは、実行対象プログラムTpのページ単位に管理される。図11は、強制破棄フラグ記憶部の構成例を示す図である。同図に示されるように、強制破棄フラグ記憶部16は、ページアドレスごとに強制破棄フラグを記憶する。ページアドレスは、ページの開始アドレスである。ページのサイズは決まっているため、開始アドレスに基づいて、各ページの範囲が特定される。なお、ページのサイズは、OSOperatingSystemによって管理されるページのサイズと必ずしも一致していなくてもよい。GC実行時に既に無効化されていた翻訳コードを含むページに関しては、強制破棄フラグにfalseが記録され、有効であった翻訳コードのみを含むページに関しては、強制破棄フラグにtrueが記録される。なお、強制破棄フラグは、当該翻訳コードの生成後に、実行対象プログラムTpにおいて当該翻訳コードに対応する命令が更新されていない翻訳コードを示す情報の一例である。以下、第三の実施の形態の処理手順について説明する。図12は、第三の実施の形態のGCの実行処理の処理手順の一例を説明するためのフローチャートである。同図は、一回のGCにおいてすなわち、図3のS13の一回の実行において実行される処理である。ステップS201において、翻訳コード破棄部15は、強制破棄フラグ記憶部16における、全てのページアドレスに対する強制破棄フラグをfalseに初期化する。続いて、翻訳コード破棄部15は、破棄対象の翻訳コード群を決定するS202。破棄対象の決定方法は、公知の方法が用いられればよい。一部の翻訳コードが破棄対象とされてもよいし、全部の翻訳コードが破棄対象とされてもよい。破棄対象の翻訳コード群が有る場合S203でYes、翻訳コード破棄部15は、当該翻訳コード群のうちの一つの翻訳コードを処理対象以下、対象翻訳コードという。とするS204。続いて、翻訳コード破棄部15は、管理テーブル14Tbにおいて、対象翻訳コードに対応するレコードの無効化フラグを参照して、対象翻訳コードは無効化されているか否かを判定するS205。すなわち、無効化フラグがtureであるかfalseであるかが確認される。対象翻訳コードが無効化されていない場合S205でNo、翻訳コード破棄部15は、実行対象プログラムTpのページの中で、対象翻訳コードが属するページのアドレスを求めるS206。続いて、翻訳コード破棄部15は、強制破棄フラグ記憶部16において、当該ページのアドレスに対する強制破棄フラグの値をtrueに更新するS207。すなわち、対象翻訳コードに関して、対象翻訳コードの生成後、実行対象プログラムTpにおいて対象翻訳コードに対応する命令は更新されていないことを示す情報が強制破棄フラグ記憶部16に記録される。ここでいう更新とは、例えば、自己書き換え等による更新である。続いて、翻訳コード破棄部15は、対象翻訳コード、及び管理テーブル14Tbにおいて対象翻訳コードに対応するレコード等をコードキャッシュ部14より破棄するS208。なお、対象翻訳コードが無効化されている場合S205でYes、強制破棄フラグの更新は行われずに、対象翻訳コード等に関して破棄が実行されるS209。続いて、翻訳コード破棄部15は、破棄対象の翻訳コード群に属する全ての翻訳コードについてステップS203以降を繰り返す。図12の処理の結果、強制破棄フラグ記憶部16は、有効であった翻訳コードのみを含むページに関してtrueを記憶した状態となる。続いて、第三の実施の形態の逐次解釈部11の処理手順について説明する。図13は、第三の実施の形態の逐次解釈部の処理手順の一例を説明するためのフローチャートである。図13中、図5と同一ステップには同一符号を付し、その説明は省略する。図13では、ステップS132及びS133が追加されている。ステップS132において、逐次解釈部11は、分岐先アドレスを含むページに対する強制破棄フラグの値を強制破棄フラグ記憶部16より取得する。取得された強制破棄フラグの値がtrueである場合S133でYes、ステップS140以降が実行される。すなわち、GC実行後の一定期間において、閾値が実質的に下げられる。一方、取得された強制破棄フラグの値がfalseである場合S133でNo、ステップS160以降が実行される。すなわち、閾値の実質的な低下は行われない。なお、図13のステップS140、S150、S160、及びS170のそれぞれは、図7のステップS140a、S150a、S160a、又はS170aに置き換えられてもよい。すなわち、第二の実施の形態と同様に、GC実行後の所定期間が、翻訳コード量によって計測されてもよい。また、上記では、ページごとに強制破棄フラグが管理される例を示したが、翻訳コードごと分岐先アドレスごとに強制破棄フラグが管理されてもよい。この場合、より厳密に、無効化されていた翻訳コードと、有効であった翻訳コードとの閾値を実質的に変えることができる。上述したように、第三の実施の形態によれば、使用される可能性が有った翻訳コードについて、使用される可能性の無い翻訳コードに比較して、GC実行後の復帰時期を早めることができる。その結果、翻訳コードの破棄による性能の低下期間を短縮することができる。次に、第四の実施の形態について説明する。第四の実施の形態では、第一の実施の形態と異なる点について説明する。したがって、特に言及しない点については、第一の実施の形態と同様でよい。図14は、第四の実施の形態における情報処理装置の機能構成例を示す図である。同図において情報処理装置10は、コードキャッシュ部14a及びコードキャッシュ部14bの二つのコードキャッシュ部14を有する。コードキャッシュ部14a及びコードキャッシュ部14bは、第一の実施の形態のコードキャッシュ部14が二分割されたものでもよいし、第一の実施の形態のコードキャッシュ部14の二つに相当するものであってもよい。以下、第四の実施の形態の処理手順について説明する。図15は、第四の実施の形態の翻訳コード破棄部の初期化処理の処理手順の一例を示す図である。同図の処理手順は、実行対象プログラムTpの一回の実行に関して、翻訳コード破棄部15が最初に起動される際に実行される。ステップS301において、翻訳コード破棄部15は、コードキャッシュ部14aがカレントコードキャッシュであることをメモリ装置103に記録する。例えば、カレントコードキャッシュを特定するための変数に、コードキャッシュ部14aの先頭アドレスが代入される。なお、カレントコードキャッシュとは、使用対象とされるコードキャッシュ部14をいう。図16は、第四の実施の形態のGCの実行処理の処理手順の一例を説明するためのフローチャートである。同図は、一回のGCにおいてすなわち、図3のS13の一回の実行において実行される処理である。ステップS311において、翻訳コード破棄部15は、カレントコードキャッシュは、ラストコードキャッシュであることをメモリ装置103に記録する。例えば、カレントコードキャッシュを特定するための変数の値が、ラストコードキャッシュを特定するための変数に代入される。なお、ラストコードキャッシュとは、最後に使用されたコードキャッシュ部14をいう。続いて、翻訳コード破棄部15は、コードキャッシュ部14a及びbのうち、ラストコードキャッシュでない方が、カレントコードキャッシュであることをメモリ装置103に記録するS312。すなわち、ステップS311及びS312では、カレントコードキャッシュとラストコードキャッシュとの入れ替えが行われる。具体的には、コードキャッシュ部14a及びbのうち、前回のGC実行時から現時点までに使用対象でなかった方が、使用対象カレントコードキャッシュとされる。続いて、翻訳コード破棄部15は、カレントコードキャッシュについてGCを実行するS313。例えば、図16の開始時点において、コードキャッシュ部14aがカレントコードキャッシュであったとする。コードキャッシュ部14aは、GCが実行されるまで使用されていたため、翻訳コードが記録され、管理テーブル14Tに対する記録等も行われている。ステップS311及びS312の実行により、コードキャッシュ部14aはラストコードキャッシュとなり、コードキャッシュ部14bがカレントコードキャッシュとなる。したがって、ステップS313では、コードキャッシュ部14bが、GCの対象とされる。その結果、コードキャッシュ部14aに対する記録内容は、退避又は保存された状態となる。このように、第四の実施の形態では、GCまでにカレントコードキャッシュに対して行われた記録内容が退避される。続いて、図17は、第四の実施の形態における翻訳部の処理手順の一例を説明するためのフローチャートである。図17中、図3と同一ステップS6、S7には同一ステップ番号を付し、その説明は省略する。図17では、ステップS8の代わりにステップS8aが実行される。ステップS8aにおいて、翻訳部13は、生成された翻訳コードをカレントコードキャッシュに記憶する。また、翻訳部13は、カレントコードキャッシュの管理テーブル14Tにおいて、翻訳要求に指定されたアドレスに対応する翻訳済フラグをtrueに更新し、当該アドレスに対応する翻訳先アドレスに、翻訳コードが記憶されたアドレスを記録する。続いて、図18は、第四の実施の形態の逐次解釈部の処理手順の一例を説明するためのフローチャートである。図18中、図5と同一ステップには同一符号を付し、その説明は省略する。図13では、ステップS110がステップS110aに置き換えられ、ステップS131が追加されている。ステップS110aにおいて、逐次解釈部11は、カレントコードキャッシュの管理テーブル14Taを参照して、分岐先のアドレスに対する翻訳コードの有無を判定する。また、ステップS131において、逐次解釈部11は、ラストコードキャッシュの管理テーブル14Taを参照して、分岐先のアドレスに対する翻訳コードの有無を判定する。ラストコードキャッシュに当該翻訳コードが有る場合S131でYes、ステップS140以降が実行される。すなわち、GC実行後の一定期間において、閾値が実質的に下げられる。一方、ラストコードキャッシュに当該翻訳コード無い場合S131でNo、ステップS160以降が実行される。すなわち、閾値の実質的な低下は行われない。なお、図18のステップS140、S150、S160、及びS170のそれぞれは、図7のステップS140a、S150a、S160a、又はS170aに置き換えられてもよい。すなわち、第二の実施の形態と同様に、GC実行後の所定期間が、翻訳コード量によって計測されてもよい。なお、上記では、カレントコードキャッシュ及びラストコードキャッシュに関して、コードキャッシュ部14a及びコードキャッシュ部14bを入れ替えることにより、カレントコードキャッシュの記憶内容を退避する例について説明した。但し、コードキャッシュ部14aが常に使用対象カレントコードキャッシュとされてもよい。この場合、図16のステップS311及びS312の代わりに、コードキャッシュ部14aの内容が、コードキャッシュ部14bにコピーされる処理が実行されればよい。その結果、GC前のコードキャッシュ部14aの内容を退避することができる。なお、退避対象は、カレントコードキャッシュの記憶内容の全部でなくてよい。翻訳コードが生成されていた命令群を識別可能な情報が退避されればよい。本実施の形態では、管理テーブル14Taにおけるアドレスの値が退避されればよい。上述したように、第四の実施の形態によれば、過去に翻訳コードが生成されている命令群に関して、実質的に閾値を低下させることができる。したがって、斯かる命令群の翻訳を優先させることができる。過去に翻訳コードが生成されている命令群は、以降の実行頻度も高い傾向にある。したがって、斯かる命令群の翻訳コードの再生成が早期化されることにより、翻訳コードの破棄による性能の低下期間を短縮することができる。また、全ての命令群に関して一律に閾値が低下される場合に比べて、翻訳コード量の増大を抑制することができる。なお、ステップS131において、分岐先のアドレスに対する翻訳コードの有無のみではなく、分岐先アドレスに対する実行回数が閾値α以上であるか否かが判定されてもよい。当実行回数が閾値α以上であれば、ステップS140以降が実行され、閾値α未満であれば、ステップS160以降が実行されるようにしてもよい。そうすることで、より実行頻度の高い命令群に翻訳対象を限定することができる。この場合、退避対象には、管理テーブル14Taにおけるアドレスの値に加えて、実行回数の値が含まれるようにすればよい。また、閾値αは、ステップS170において利用される閾値と同じであってもよいし、異なっていてもよい。次に、第五の実施の形態について説明する。第五の実施の形態は、第三の実施の形態と第四の実施の形態とを組み合わせたものである。したがって、逐次解釈部11は、図19に示される処理を実行する。図19は、第五の実施の形態の逐次解釈部の処理手順の一例を説明するためのフローチャートである。図19は、図18のステップS131の後に、図16のステップS132及びS133が追加されたものである。同図の処理手順は、図16及び図18等より自明であるため省略する。第五の実施の形態によれば、第三及び第四の実施の形態の双方の効果を得ることができる。なお、上記各実施の形態において、翻訳部13は、生成部の一例である。翻訳コード破棄部15は、破棄部の一例である。コードキャッシュ部14は、第一の記憶部の一例である。強制破棄フラグ記憶部16は、第二の記憶部の一例である。以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形変更が可能である。以上の説明に関し、更に以下の項を開示する。付記1実行対象プログラムに含まれる命令のうち、逐次解釈による実行回数が閾値以上となった命令の翻訳コードを生成して第一の記憶部に記憶し、所定のタイミングで前記翻訳コードの一部又は全部を前記第一の記憶部より破棄する処理をコンピュータが実行し、前記生成する処理は、前記翻訳コードが破棄されてから所定期間において、前記閾値を前記実行回数に対して相対的に低下させることを特徴とする命令処理方法。付記2前記破棄する処理は、破棄対象の前記翻訳コードの中で、当該翻訳コードの生成後に前記実行対象プログラムにおいて当該翻訳コードに対応する命令が更新されていない翻訳コードを示す情報を第二の記憶部に記憶し、前記生成する処理は、前記第二の記憶部が記憶する情報が示す前記翻訳コードに関して、破棄されてからの所定期間において前記閾値を低下させる付記1記載の命令処理方法。付記3前記破棄する処理は、前記第一の記憶部が前記翻訳コードに関連付けて記憶する該翻訳コードに対応する命令の識別情報を退避し、前記生成する処理は、退避されている前記識別情報に係る命令に関して、破棄されてからの所定期間において前記閾値を低下させる付記1又は2記載の命令処理方法。付記4実行対象プログラムに含まれる命令のうち、逐次解釈による実行回数が閾値以上となった命令の翻訳コードを生成して第一の記憶部に記憶する生成部と、所定のタイミングで前記翻訳コードの一部又は全部を前記第一の記憶部より破棄する破棄部とを有し、前記生成部は、前記翻訳コードが破棄されてから所定期間において、前記閾値を前記実行回数に対して相対的に低下させる命令処理装置。付記5前記破棄部は、破棄対象の前記翻訳コードの中で、当該翻訳コードの生成後に前記実行対象プログラムにおいて当該翻訳コードに対応する命令が更新されていない翻訳コードを示す情報を第二の記憶部に記憶し、前記生成部は、前記第二の記憶部が記憶する情報が示す前記翻訳コードに関して、破棄されてからの所定期間において前記閾値を低下させる付記4記載の命令処理装置。付記6前記破棄部は、前記第一の記憶部が前記翻訳コードに関連付けて記憶する該翻訳コードに対応する命令の識別情報を退避し、前記生成部は、退避されている前記識別情報に係る命令に関して、破棄されてからの所定期間において前記閾値を低下させる付記4又は5記載の命令処理装置。付記7実行対象プログラムに含まれる命令のうち、逐次解釈による実行回数が閾値以上となった命令の翻訳コードを生成して第一の記憶部に記憶し、所定のタイミングで前記翻訳コードの一部又は全部を前記第一の記憶部より破棄する処理をコンピュータに実行させ、前記生成する処理は、前記翻訳コードが破棄されてから所定期間において、前記閾値を前記実行回数に対して相対的に低下させる命令処理プログラム。付記8前記破棄する処理は、破棄対象の前記翻訳コードの中で、当該翻訳コードの生成後に前記実行対象プログラムにおいて当該翻訳コードに対応する命令が更新されていない翻訳コードを示す情報を第二の記憶部に記憶し、前記生成する処理は、前記第二の記憶部が記憶する情報が示す前記翻訳コードに関して、破棄されてからの所定期間において前記閾値を低下させる付記7記載の命令処理プログラム。付記9前記破棄する処理は、前記第一の記憶部が前記翻訳コードに関連付けて記憶する該翻訳コードに対応する命令の識別情報を退避し、前記生成する処理は、退避されている前記識別情報に係る命令に関して、破棄されてからの所定期間において前記閾値を低下させる付記7又は8記載の命令処理プログラム。"