【手続補正書】
【提出日】平成27年4月6日(2015.4.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
コール・スタックに含まれたルート・オブジェクトであって、整数表現およびポインター表現を含むルート・オブジェクトを特定するステップと、
前記整数表現にタグを付けて、該タグ付き整数表現をオブジェクト・グラフに含ませる、タグ付けステップと、
前記ルート・オブジェクトを、対応する１組のメモリー位置まで追跡するステップと、
その後の追跡を、タグなしポインター表現に関連する１組のメモリー位置に対して実行するステップであって、前記オブジェクト・グラフによって特定されるタグ付き整数表現に関連する１組のメモリー位置に対しては、前記その後の追跡がスキップされる、ステップと、
前記コール・スタックによって到達不可能な１組のオブジェクトに割り当てられたメモリーを解放するステップと、
を含む、方法。
【請求項２】
請求項１記載の方法において、前記タグ付けステップが、前記整数表現を異なるデータ構造に変換するステップを含む、方法。
【請求項３】
請求項２記載の方法において、前記変換するステップが、前記異なるデータ構造における少なくとも１つのビットをタグ専用にするステップを含む、方法。
【請求項４】
請求項１記載の方法において、前記解放するステップが、到達可能なオブジェクトをそれぞれヒープの元の記憶位置に保存するステップを含む、方法。
【請求項５】
請求項４記載の方法において、前記保存するステップが、前記ヒープ内における１組の固定境界にしたがって、ヒープ・オブジェクトの分離を維持するステップを含む、方法。
【請求項６】
請求項１記載の方法であって、更に、
前記コール・スタックを実行するステップであって、コールされたオブジェクトがヒープ上に載せられる、ステップと、
前記ヒープのサイズをしきい値と比較するステップであって、ガベージ・コレクション・アルゴリズムの開始が、前記ヒープのサイズが前記しきい値を超えるかどうかに基づいている、ステップと、
を含む、方法。
【請求項７】
請求項６記載の方法において、前記実行するステップが、ジャヴァスクリプトをコンパイルするステップを含む、方法。
【請求項８】
請求項６記載の方法において、前記実行するステップが、文書オブジェクト・モデルを変更するステップを含む、方法。
【請求項９】
メモリー管理デバイスであって、
コンピューター実行可能コンポーネントが格納されたメモリーと、
前記メモリーに通信可能に結合されているプロセッサーであって、前記コンピューター実行可能コンポーネントを実行するように構成されたプロセッサーと、
を含み、前記コンピューター実行可能コンポーネントが、
コール・スタックに含まれるルート・オブジェクトであって、整数表現およびポインター表現を含むルート・オブジェクトを特定するように構成されたスキャニング・コンポーネントと、
オブジェクト・グラフにおいて前記整数表現にタグを付けるように構成されたタギング・コンポーネントであって、タグ付き整数表現がタグなしポインター表現から区別可能である、タギング・コンポーネントと、
前記ルート・オブジェクトを対応する１組のメモリー位置まで追跡するように構成された追跡コンポーネントであって、その後の追跡が前記タグなしポインター表現に関連する１組のメモリー位置に対して行われ、かつ、前記オブジェクト・グラフによって特定された前記タグ付き整数表現に関連する１組のメモリー位置に対しては、前記その後の追跡がスキップされる、追跡コンポーネントと、
前記コール・スタックによって到達不可能な１組オブジェクトに割り当てられたメモリーを解放するように構成されたリサイクリング・コンポーネントと、
を含む、メモリー管理デバイス。
【請求項１０】
請求項９記載のメモリー管理デバイスにおいて、前記タギング・コンポーネントが、前記整数表現を異なるデータ構造に変換するように構成された、メモリー管理デバイス。
【請求項１１】
請求項１０記載のメモリー管理デバイスにおいて、前記タギング・コンポーネントが、前記異なるデータ構造における少なくとも１つのビットをタグ専用にするように構成された、メモリー管理デバイス。
【請求項１２】
請求項９記載のメモリー管理デバイスにおいて、前記リサイクリング・コンポーネントが、到達可能なオブジェクトをそれぞれヒープの元の記憶位置に保存するように構成されている、メモリー管理デバイス。
【請求項１３】
請求項１２記載のメモリー管理デバイスにおいて、前記リサイクリング・コンポーネントが、前記ヒープ内における１組の固定境界にしたがって、ヒープ・オブジェクトの分離を維持するように構成されている、メモリー管理デバイス。
【請求項１４】
請求項９記載のメモリー管理デバイスにおいて、前記リサイクリング・コンポーネントが、前記コール・スタックによってコールされたオブジェクトをヒープに載せるように構成され、前記リサイクリング・コンポーネントが更に、前記ヒープのサイズがしきい値を超えたかどうかに基づいて、ガベージ・コレクション・アルゴリズムを開始するように構成された、メモリー管理デバイス。
【請求項１５】
請求項９記載のメモリー管理デバイスにおいて、前記コール・スタックが、ジャヴァスクリプトのコンパイルと関連付けられた、メモリー管理デバイス。
【請求項１６】
請求項９記載のメモリー管理デバイスにおいて、前記コール・スタックが、文書オブジェクト・モデルの変更に関連している、メモリー管理デバイス。
【請求項１７】
コンピューター読取可能命令を含んだコンピューター読み取り可能記憶媒体であって、前記コンピューター読み取り可能命令は、少なくとも１つのコンピュータ・デバイスに、
コール・スタックと関連するオブジェクト・グラフにおいて整数表現をダグ付けするステップであって、タグ付けされたオブジェクト・グラフにルート・オブジェクトが含まれ、該ルート・オブジェクトが、タグ付け整数表現およびタグなしポインター表現を含む、ステップと、
前記コール・スタックの実行中にオブジェクトのヒープを生成するステップであって、該オブジェクトのヒープが、前記コール・スタックの実行された部分に含まれるオブジェクトを含んでいる、ステップと、
前記コール・スタックの実行されていない部分に含まれる非実行オブジェクトを前記ヒープ上の対応するメモリー位置まで追跡するステップであって、その後の追跡を、タグなしポインター表現に関連するメモリー位置に対して実行し、かつ、前記オブジェクト・グラフによって特定されるタグ付き整数表現に関連するメモリー位置に対しては、前記その後の追跡をスキップする、ステップと、
前記ヒープ上の到達不可能オブジェクトであって、前記コール・スタックの実行されていない部分によって到達不可能な到達不可能オブジェクトに対応するメモリー位置をクリアするステップと、
を少なくとも実行させる命令を含んでいるコンピューター読み取り可能記憶媒体。
【請求項１８】
請求項１７記載のコンピューター読み取り可能記憶媒体において、前記コンピューター読み取り可能命令はさらに、前記コール・スタックの実行中に、前記ヒープのサイズをモニタリングする命令を含み、該サイズがしきい値を超えたときに、前記メモリー位置をクリアするステップがトリガーされる、コンピューター読み取り可能記憶媒体。
【請求項１９】
請求項１７記載のコンピューター読み取り可能記憶媒体において、前記コンピューター読み取り可能命令はさらに、前記オブジェクト・グラフを生成する命令を含む、コンピューター読み取り可能記憶媒体。
【請求項２０】
請求項１７記載のコンピューター読み取り可能記憶媒体において、前記メモリー位置をクリアするステップは、前記ヒープの元のメモリー位置における到達可能なオブジェクトの記憶をそれぞれ保存するステップを含み、前記到達可能なオブジェクトが、前記コール・スタックの実行されていない部分によって到達可能である、コンピューター読み取り可能記憶媒体。