【手続補正書】
【提出日】平成18年9月5日(2006.9.5)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  実行時における関数の実行性能を増大させるための、コンピュータ上で実行される方法であって、
実行時に前記関数をコンパイルし、
実行時に前記関数に含まれている、処理過程に対するコールを識別し、
実行時に前記関数の有効性と前記関数のコンパイレーションステータスとを示す前記関数のステータスを示す従属性情報であって、前記処理過程に関するクラス情報と、名前情報と、及びシグネチャ情報とを含む従属性情報を、前記関数に対して付加することを備える、方法。
【請求項２】  請求項１に記載の方法において、前記処理過程は仮想処理過程であり、前記方法はさらに、
実行時に前記関数に関連するクラス構造体を解析することを備え、
前記クラス構造体の解析は、前記仮想処理過程が実質的に前記コールの唯一のターゲットである時期の決定を含む、方法。
【請求項３】  請求項１又は請求項２のいずれかの請求項に記載の方法はさらに、
実行時に前記仮想処理過程が実質的に前記コールの唯一のターゲットであると決定されるとき、前記仮想処理過程を前記関数にインラインすることを備える、方法。
【請求項４】  請求項１又は請求項２のいずれかの請求項に記載の方法はさらに、
実行時に前記仮想処理過程に対する直接コールを前記関数中に配置することを備える、方法。
【請求項５】  請求項１乃至請求項４のいずれかの請求項に記載の方法はさらに、
実行時に前記関数がコンパイレーションに適する時期を決定することを備える、方法。
【請求項６】  請求項１乃至請求項５のいずれかの請求項に記載の方法はさらに、
実行時に前記関数に関連するクラスをローディングし、
実行時に前記関数が有効である旨を前記従属性情報が示す時期、前記関数が逆最適化に適当である旨を前記従属性情報が示す時期、また、前記関数が再最適化に適当である旨を前記従属性情報が示す時期を決定することを備える、方法。
【請求項７】  請求項６に記載の方法において、前記クラスのローディングは、
前記関数が前記処理過程に対する実質的に唯一のコール元でない時期を決定し、
前記関数が前記処理過程に対する実質的に唯一のコール元でないと決定されたとき、前記関数を逆コンパイルすることを備える、方法。
【請求項８】  請求項６に記載の方法において、前記クラスのローディングは、
前記関数が前記処理過程に対する実質的に唯一のコール元でない時期を決定し、
前記関数が前記処理過程に対する実質的に唯一のコール元でないと決定された場合には、前記関数を再コンパイルすることを備える、方法。
【請求項９】  実行時中にシステムのクラス階層に関連する第１のクラスを解析するための、コンピュータ上で実行される方法であって、
実行時に前記第１のクラスをマークし、
実行時に前記クラス階層に含まれていると共に、前記第１のクラスに関連付けられている第２のクラスを、実質的に前記第１のクラスに関連付けられている第２のクラスと識別することでマークし、
実行時に従属性情報を含むと共に前記システムに関連するコンパイル済関数を査閲し、前記従属性情報は、前記コンパイル済関数の有効性ステータス、及び最適化ステータスを表示するための情報であり、前記従属性情報に関して前記第１のクラス及び前記第２のクラスの少なくとも一方が識別される時期の決定を含み、
実行時に前記従属性情報に関して前記第１のクラス及び前記第２のクラスの少なくとも一方が識別されるとき、前記コンパイル済関数が無効である時期を決定することを備える、方法。
【請求項１０】請求項９に記載の方法はさらに、
実行時に前記コンパイル済関数が無効であるとき、前記コンパイル済関数をインタプリット済形式に効率よく配置して、前記コンパイル関数を逆コンパイルすることを備える、方法。
【請求項１１】請求項９に記載の方法はさらに、
実行時に前記コンパイル済関数が無効であるとき、前記コンパイル済関数が前記第１のクラスを継承することを許容して、前記コンパイル済関数を再コンパイルする、方法。
【請求項１２】実行時に、関数の実行性能を増大するために好適な計算機システムであって、
プロセッサと、
前記関数をコンパイルするコンパイラと、
前記関数に含まれている、処理過程に対するコールを識別するコール識別部と、
前記関数の有効性ステータスの時期を含む前記関数のステータスを示す従属性情報を、前記関数に付加するために適した機構とを備える、計算機システム。
【請求項１３】請求項１２に記載の計算機システムにおいて、前記処理過程は仮想処理過程であり、前記計算機システムはさらに、
前記関数に関連するクラス構造体を解析する解析器を備え、
前記解析器は、前記仮想処理過程が実質的に前記コールの唯一のターゲットである時期を決定する、計算機システム。
【請求項１４】請求項１２又は請求項１３のいずれかの請求項に記載の計算機システムはさらに、
前記仮想処理過程が実質的に前記コールの唯一のターゲットであると決定されるとき、前記仮想処理過程を前記関数にインラインするインライナーを備える、計算機システム。
【請求項１５】実行時における関数の実行性能を増大させるための、コンピュータプログラムを格納するコンピュータ読み取り可能媒体であって、コンピュータによって実行される、
実行時に前記関数をコンパイルするコンピュータコードと、
実行時に前記関数に含まれている、処理過程に対するコールを識別するコンピュータコードと、
実行時に前記関数の有効性及び前記関数のコンパイレーションステータスを示す前記関数のステータスを表示すると共に、前記処理過程に関するクラス情報、名前情報、及びシグネチャ情報を含む、従属性情報を前記関数に対して付加するコンピュータコードと
を格納するコンピュータ読み取り可能媒体。
【請求項１６】請求項１５に記載のコンピュータ読み取り可能媒体において、前記処理過程は仮想処理過程であり、前記コンピュータ読み取り可能媒体はさらに、
実行時に前記関数に関連するクラス構造体を解析するコンピュータコードを備え、
実行時に前記クラス構造体の解析は、前記仮想処理過程が実質的に前記コールの唯一のターゲットである時期を決定する、コンピュータ読み取り可能媒体。
【請求項１７】請求項１６又は請求項１７のいずれかの請求項に記載のコンピュータ読み取り可能媒体はさらに、
実行時に前記仮想処理過程は前記コールの実質的に唯一のターゲットであると決定されたとき、前記仮想処理過程を前記関数にインラインするコンピュータコードを備える、コンピュータ読み取り可能媒体。
【請求項１８】請求項１５又は請求項１６のいずれかの請求項に記載のコンピュータ読み取り可能媒体はさらに、
実行時に前記仮想処理過程に対する直接コールを前記関数中に配置するコンピュータコードを備える、コンピュータ読み取り可能媒体。
【請求項１９】請求項１５乃至請求項１８のいずれかの請求項に記載のコンピュータ読み取り可能媒体はさらに、
実行時に前記関数がコンパイレーションに適する時期を決定するコンピュータコードを備える、コンピュータ読み取り可能媒体。
【請求項２０】請求項１５乃至請求項１９のいずれかの請求項に記載のコンピュータ読み取り可能媒体はさらに、
実行時に前記関数に関連するクラスをロードするコンピュータコードと、
実行時に前記従属性情報が、前記関数は有効である旨を示す時期、前記関数は逆最適化に適当である旨を示す時期、また、前記関数は再最適化に適当である旨を示す時期を決定するコンピュータコードを備える、コンピュータ読み取り可能媒体。
【請求項２１】請求項１５乃至請求項２０のいずれかの請求項に記載のコンピュータ読み取り可能媒体において、前記コンピュータ読み取り可能媒体は、フロッピーディスク、ハードディスク、テープ、搬送波に具象化されたデータ信号、ＣＤ−ＲＯＭ、システムメモリ、フラッシュメモリから構成される群から選択される、コンピュータ読み取り可能媒体。
【請求項２２】計算機環境において用いるためのコンパイル済メソッドの構造体であって、
１つ以上の仮想関数に対する最適化コールを含むコンパイル済コード領域、
前記１つ以上の仮想関数に関連するクラスに関連する情報と、前記１つ以上の仮想関数の名前に関連する情報と、前記１つ以上の仮想関数のシグネチャに関連する情報とを含む従属性情報を有するヘッダ領域を備える、コンパイル済メソッドの構造体。