【手続補正書】
【提出日】平成24年5月23日(2012.5.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マネージド・ランタイム環境によってサポートされていない１つ以上のプロセッサ命令に基づいてプロセッサ命令プロキシ・スタブを生成するステップと、
前記１つ以上のプロセッサ命令をサポートする最適化マネージド・アプリケーション・プログラム・インタフェースを生成すべく、マネージド・ランタイム環境に関連するマネージド・アプリケーション・プログラム・インタフェースへ前記プロセッサ命令プロキシ・スタブを挿入するステップと、
コンパイラされたコードを生成すべく前記マネージド・ランタイム環境のコンパイラを用いて前記プロセッサ命令プロキシ・スタブを含んだ前記最適化マネージド・アプリケーション・プログラム・インタフェースをコンパイルするステップと、
を備え、
前記１つ以上のプロセッサ命令に基づいてプロセッサ命令プロキシ・スタブを生成するステップは、マネージド・ランタイム・アプリケーションのインストール時に前記プロセッサ命令プロキシ・スタブを生成するステップと、前記１つ以上のプロセッサ命令に関連する前記プロセッサを特定することに応答して前記プロセッサ命令プロキシ・スタブを生成するステップと、
を含む方法。
【請求項２】
前記１つ以上のプロセッサ命令に関連する前記プロセッサ命令プロキシ・スタブを生成するステップは、マネージド・ランタイム環境の仮想マシンに関連するレイヤにおいて前記プロセッサ命令プロキシ・スタブを生成するステップを備える請求項１に記載の方法。
【請求項３】
前記１つ以上のプロセッサ命令に関連する前記プロセッサ命令プロキシ・スタブを生成するステップは、ストリーミングＳＩＭＤ拡張（ＳＳＥ）命令、ＳＳＥ２命令、およびマルチメディア拡張命令のうちの１つに関連する前記プロセッサ命令プロキシ・スタブを生成するステップを備える請求項１に記載の方法。
【請求項４】
前記１つ以上のプロセッサ命令に関連する前記プロセッサ命令プロキシ・スタブを生成するステップは、仮想マシンのマーシャリング言語コードによって前記プロセッサ命令プロキシ・スタブを生成するステップを備える請求項１に記載の方法。
【請求項５】
前記最適化マネージド・アプリケーション・プログラム・インタフェースに基づいて、マネージド・ランタイム・アプリケーションの実行中に、前記１つ以上のプロセッサ命令に関連する機能を使用可能にするステップを更に備える請求項１に記載の方法。
【請求項６】
命令群を記録したマシンアクセス可能な媒体であって、
前記命令群は、マシン上で実行されることにより、
マネージド・ランタイム環境によってサポートされていない１つ以上のプロセッサ命令に基づいてプロセッサ命令プロキシ・スタブを生成し、
前記１つ以上のプロセッサ命令をサポートする最適化マネージド・アプリケーション・プログラム・インタフェースを生成すべく、マネージド・ランタイム環境に関連するマネージド・アプリケーション・プログラム・インタフェースへ前記プロセッサ命令プロキシ・スタブを挿入し、
コンパイラされたコードを生成すべく前記マネージド・ランタイム環境のコンパイラを用いて前記プロセッサ命令プロキシ・スタブを含んだ前記最適化マネージド・アプリケーション・プログラム・インタフェースをコンパイルし、
前記命令群は、前記マシンに、マネージド・ランタイム・アプリケーションのインストール時に前記プロセッサ命令プロキシ・スタブを生成し、かつ前記１つ以上のプロセッサ命令に関連する前記プロセッサを特定することに応答して前記プロセッサ命令プロキシ・スタブを生成することによって、前記１つ以上のプロセッサ命令に基づいてプロセッサ命令プロキシ・スタブを生成させる、
マシンがアクセス可能な媒体。
【請求項７】
前記命令群は、前記マシンに、マネージド・ランタイム環境の仮想マシンに関連するレイヤにおいて前記プロセッサ命令プロキシ・スタブを生成させることによって、前記１つ以上のプロセッサ命令に関連する前記プロセッサ命令プロキシ・スタブを生成させる請求項６に記載のマシンがアクセス可能な媒体。
【請求項８】
前記マシンに前記１つ以上のプロセッサ命令に関連する前記プロセッサ命令プロキシ・スタブを生成させる前記命令は、前記マシンに、ストリーミングＳＩＭＤ拡張（ＳＳＥ）命令、ＳＳＥ２命令、およびマルチメディア拡張命令のうちの１つに関連する前記プロセッサ命令プロキシ・スタブを生成させることを備える請求項６に記載のマシンがアクセス可能な媒体。
【請求項９】
前記命令群は、前記マシンに、仮想マシンのマーシャリング言語コードによって前記プロセッサ命令プロキシ・スタブを生成させることによって、１つ以上のプロセッサ命令に関連する前記プロセッサ命令プロキシ・スタブを生成させる請求項６に記載の媒体。
【請求項１０】
前記命令は、前記マシンに、前記最適化マネージド・アプリケーション・プログラム・インタフェースに基づいてマネージド・ランタイム・アプリケーションを実行させるために、前記１つ以上のプロセッサ命令に関連する機能を使用可能にさせる請求項６に記載の媒体。
【請求項１１】
前記マシンアクセス可能な媒体は、プログラマブル・ゲート・アレイ、特定用途向け集積回路、消去可能プログラマブル・リード・オンリー・メモリ、リード・オンリー・メモリ、ランダム・アクセス・メモリ、磁気メディア、および光メディアのうちの１つからなる請求項６に記載の媒体。
【請求項１２】
プロセッサと、
メモリと
を備え、
前記メモリは、
マネージド・ランタイム環境によってサポートされていない１つ以上のプロセッサ命令に基づいてプロセッサ命令プロキシ・スタブを生成し、前記１つ以上のプロセッサ命令をサポートする最適化マネージド・アプリケーション・プログラム・インタフェースを生成すべく、マネージド・ランタイム環境に関連するマネージド・アプリケーション・プログラム・インタフェースへ前記プロセッサ命令プロキシ・スタブを挿入するプロセッサ命令プロキシ・スタブ・ジェネレータと、
コンパイラされたコードを生成すべく前記マネージド・ランタイム環境のコンパイラを用いて前記プロセッサ命令プロキシ・スタブを含んだ前記最適化マネージド・アプリケーション・プログラム・インタフェースをコンパイルするコンパイラと、
を格納し、
前記プロセッサ命令プロキシ・スタブ・ジェネレータは、仮想マシンおよびコンパイラのうちの１つに組み込まれ、
前記プロセッサ命令プロキシ・スタブ・ジェネレータは、前記プロセッサ命令プロキシ・スタブを生成するために、前記１つ以上のプロセッサ命令に関連するプロセッサを識別する、装置。
【請求項１３】
１つ以上のプロセッサ命令は、ストリーミングＳＩＭＤ拡張（ＳＳＥ）命令、ＳＳＥ２命令、およびマルチメディア拡張命令のうちの１つを有する請求項１２に記載の装置。
【請求項１４】
前記コンパイラは、ジャスト・イン・タイム・コンパイラを有する請求項１２に記載の装置。
【請求項１５】
前記プロセッサ命令プロキシ・スタブは、マネージド・ランタイム環境の仮想マシンに関連するレイヤにおいて生成される請求項１２に記載の装置。
【請求項１６】
前記最適化マネージド・アプリケーション・プログラム・インタフェースは、マネージド・ランタイム・アプリケーションの実行に対して前記１つ以上のプロセッサ命令に関連する機能を使用可能にする請求項１２に記載の装置。
【請求項１７】
マネージド・ランタイム環境に関連する１つ以上の最適化マネージド・アプリケーション・プログラム・インタフェースを保存するダイナミック・ランダム・メモリ（ＤＲＡＭ）と、
１つ以上のプロセッサ命令に基づいてプロセッサ命令プロキシ・スタブを生成し、１つ以上の最適化マネージド・アプリケーション・プログラム・インタフェースを生成すべく、前記マネージド・ランタイム環境に関連する前記１つ以上のマネージド・アプリケーション・プログラム・インタフェースへ前記マネージド・ランタイム環境によってサポートされていない１つ以上のプロセッサ命令をサポートするネイティブコードを挿入し、コンパイラされたコードを生成すべく前記マネージド・ランタイム環境のコンパイラを用いて前記プロセッサ命令プロキシ・スタブを含んだ前記１つ以上の最適化マネージド・アプリケーション・プログラム・インタフェースをコンパイルする、前記ＤＲＡＭに接続されたプロセッサと
を備え、
前記プロセッサ命令プロキシ・スタブは、マネージド・ランタイム環境の仮想マシンに関連するレイヤにおいて生成され、かつ前記プロセッサ命令プロキシ・スタブは、マネージド・ランタイム・アプリケーションのインストール時に生成される、プロセッサシステム。
【請求項１８】
１つ以上のプロセッサ命令は、ストリーミングＳＩＭＤ拡張（ＳＳＥ）命令、ＳＳＥ２命令、およびマルチメディア拡張命令のうちの１つを有する請求項１７に記載のプロセッサシステム。
【請求項１９】
前記１つ以上の最適化マネージド・アプリケーション・プログラム・インタフェースは、マネージド・ランタイム・アプリケーションの実行時に前記１つ以上のプロセッサ命令に関連する機能を使用可能にする請求項１７に記載のプロセッサシステム。