JP2005100402A - オブジェクト指向プログラムのための領域ベースのメモリ管理 - Google Patents
オブジェクト指向プログラムのための領域ベースのメモリ管理 Download PDFInfo
- Publication number
- JP2005100402A JP2005100402A JP2004275876A JP2004275876A JP2005100402A JP 2005100402 A JP2005100402 A JP 2005100402A JP 2004275876 A JP2004275876 A JP 2004275876A JP 2004275876 A JP2004275876 A JP 2004275876A JP 2005100402 A JP2005100402 A JP 2005100402A
- Authority
- JP
- Japan
- Prior art keywords
- region
- shape graph
- regions
- code
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】 オブジェクト指向プログラムが、指定された領域内でオブジェクトを作成するように修正され、メモリ割り当て解除が、領域全体に対して同時に起こるようにする。内容、および領域の間の関連づけが、プログラムコードの分析から作成される1つまたは複数の形状グラフによって記述される。形状グラフによって格納される領域関連づけメタデータは、領域ベースのメモリ管理を行わせ、渡される各オブジェクトに対するメソッドに1つの領域のみが渡されることを要求する。
【選択図】 図1
Description
図1は、形状グラフを利用する、領域ベースのメモリ管理システムの一実装形態を示す。図示した実施形態は、オブジェクト指向プログラムコード150を受け入れて、コンパイルされたプログラム160にコンパイルするコンパイラ100を示す。代替実装形態では、オブジェクト指向プログラムコードは、Java(登録商標)ソースコード、C#ソースコード、MLソースコード、または他のソースコードを含むことができる。さらに、図示した実施形態は、1つのプログラムコードのコンパイルを示すが、別の実装形態では、多くの別個のコードまたはライブラリを含むコードが使われることができる。コンパイルされたプログラム160は、実行可能コード165および1つまたは複数の形状グラフ170を含み、次いで、複数の領域を備えるメモリ140を含む実行コンピュータ130によって実行されることができる。
図2は、領域ベースのメモリ140を使用する例示的なコンピュータ130を示すブロック図を示す。図に示す実施形態において、メモリは、それぞれが様々なオブジェクト230を含む3つの領域210を備える。図2が示すように、領域ベースのメモリシステムに含まれるオブジェクトは、オブジェクト230をつなぐ細い矢印によって示されるように、他のオブジェクトへの参照を含むことができる。たとえば、図2の領域aにあるオブジェクトCは、領域βにあるオブジェクトDへの参照、および領域eにあるオブジェクトEへの参照の両方を含む。さらに、オブジェクトAも、オブジェクトDへの参照を含み、オブジェクトBは、オブジェクトFへの参照を含む。一実装形態では、こうした参照は、オブジェクトA、B、およびCに含まれるフィールドを含む。あるいは、オブジェクトへの参照は、メソッドすなわち関数のローカル変数中に保持されることもできる。平易にするために、本明細書で使用する「フィールド」という用語は、概して、オブジェクトクラスにおいて記述されるフィールドだけでなく、グローバル変数およびローカル変数を含むどのオブジェクト参照も指す。
図3は、一実施形態における、形状グラフを利用する、領域ベースのメモリ管理を使用するプログラムを作成する処理を示す。代替実装形態では、図3に表される処理は、変更されることができる。すなわち、ブロックは、異なる順序で実施され、結合され、または下位ブロックに分割されることができる。処理は、ブロック310で始まり、ここで、プログラムコード150が分析されて、1つまたは複数の形状グラフ170を作成する。形状グラフの作成処理は、図4、5、および6に関連してより詳細に説明される。図3の処理は、ブロック320に進み、ここで、コンピュータ130がランタイム時に形状グラフを使用することを可能にするための手段が、メモリ管理コードジェネレータ120によってオブジェクト指向プログラムコード150に追加される。次に、ブロック330で、実行可能コードが、修正されたオブジェクト指向プログラムコード150から生成される。最後に、ブロック340で、ブロック310の処理で作成された形状グラフ170が、ブロック330の処理で生成された実行可能コード165とともに含められて、完成した、コンパイルされたプログラム160を作成する。
図7aおよび7bは、一般的な形状グラフによる、領域に格納されるオブジェクトの2つの例を示す。図に示す例では、形状グラフは、別個のエンティティとして示されるのではなく、図に示す、領域をつなぐエッジによって示される。両方の例が導出される形状グラフは、以下のコードの分析から作成される。
図8は、メモリ管理コードジェネレータ120によってブロック320で実施される、形状グラフを使用するための手段を追加する処理の一実装形態を記述する。代替実装形態では、図8に表される処理は、変更されることができる。すなわち、ブロックは、異なる順序で実施され、結合され、または下位ブロックに分割されることができる。一実装形態において図8の処理によって追加される手段は、コンパイルに先立って、メソッド呼出しやインラインコードなどのソースコードとして追加されることができる。あるいは、手段は、コンパイルがそれに対して開始され、または完了している、たとえばバイトコードやマシンコードの形のコードに追加される。さらに、何らかの手段を含めることは、新しいコードの追加だけでなく、既存プログラムコードの処理または変換を伴う場合がある。一実装形態は、領域および形状グラフ処理ルーチンを、実行プログラム260の形状グラフハンドラ270に統合するが、他の実装形態では、ルーチンは、概してオブジェクト指向プログラムのコードに組み込まれる。
上述したコンパイラ100および実行コンピュータ130(図1)は、一般的ないくつかの例として、様々な形式(パーソナル、ワークステーション、サーバ、可搬型、ラップトップ、タブレット、または他のモバイル型)のコンピュータ、分散計算機ネットワーク、およびウェブサービスを含む、様々な計算装置および環境のいずれにおいても実装されることができる。コンパイラ100およびランタイム環境260は、図9に示すようなコンピュータまたは他の計算機環境内で実行される、ハードウェア回路、ならびにコンパイル用ソフトウェアまたはランタイムソフトウェアにおいて実装されることができる。
110 形状グラフジェネレータ
120 メモリ管理コードジェネレータ
130 実行コンピュータ
150 オブジェクト指向プログラムコード
160 コンパイルされたプログラム
165 実行可能コード
170 形状グラフ(群)
140 メモリ
260 実行プログラム
270 ランタイム形状グラフハンドラ
900 計算機環境
910 処理装置
920 メモリ
940 記憶装置
950 入力装置(群)
960 出力装置(群)
970 通信接続(群)
980 ソフトウェア(コンパイラソフトウェアまたはランタイム環境)
Claims (20)
- 複数のオブジェクトを含むオブジェクト指向プログラムを実行するメモリを管理するシステムであって、
各領域が少なくとも1つのオブジェクトを含む複数の領域に区分されたコンピュータ可読メモリと、
前記領域の間の関係を記述する少なくとも1つの領域形状グラフであって、前記関係は、前記領域に含まれるオブジェクトの間の参照に少なくとも部分的に基づく領域形状グラフとを備え、
目標オブジェクトへの参照が与えられると、前記目標オブジェクトを含む前記領域は、前記少なくとも1つの領域形状グラフからの情報を用いることによって識別されることができることを特徴とするシステム。 - 前記少なくとも1つの領域形状グラフは、エッジによって連結された複数のノードを含み、
各ノードは、メモリ中の領域を表し、
各エッジは、ある領域の前記オブジェクトと、別の領域の前記オブジェクトとの間の1つまたは複数の参照を表すことを特徴とする請求項1に記載のシステム。 - 前記形状グラフからの情報を用いることは、
前記目標オブジェクトへの参照を有するオブジェクトを含む、メモリ中の第1の領域を識別すること、
前記識別された第1の領域を表す、前記少なくとも1つの形状グラフ中の第1のノードを識別すること、
前記目標オブジェクトへの前記参照を表す前記識別された第1のノードから導かれる前記エッジを識別すること、
前記識別されたエッジから導かれる第2のノードを識別すること、および
前記第2のノードによって、前記目標オブジェクトを含む前記領域として表される前記領域を識別することを含むことを特徴とする請求項2に記載のシステム。 - 各領域は、それに関連づけられた形状グラフを有し、各形状グラフは、それが関連づけられた前記領域とともに格納されることを特徴とする請求項1に記載のシステム。
- 領域に対して、前記領域に含まれるオブジェクトが前記領域外のどのフィールドによっても参照されないときを判定し、
このような判定を行うと、前記領域を削除するように構成されたメモリ管理ソフトウェアモジュールをさらに備えることを特徴とする請求項1に記載のシステム。 - オブジェクトが参照されないときを判定するように構成されることは、
各領域ごとに、前記領域に含まれるオブジェクトに対して行われる参照数のカウントを保有し、
領域に対する前記カウントがゼロであると判定すると、前記領域に含まれるオブジェクトが、他のどのフィールドによっても参照されないと判定するように構成されることを含むことを特徴とする請求項5に記載のシステム。 - ガベージコレクタをさらに備えることを特徴とする請求項5に記載のシステム。
- 少なくとも1つの形状グラフは、領域の総数より少ないことを特徴とする請求項1に記載のシステム。
- メソッドに渡されるすべてのオブジェクトに対して、多くとも1つの領域パラメータがメソッドに渡されることを特徴とする請求項1に記載のシステム。
- 領域ベースのメモリ管理を利用するシステムにおいて実行されるように構成されたオブジェクト指向プログラムをコンパイルする方法であって、
オブジェクト指向プログラム用のソースコードを受け取るステップと、
前記ソースコードに対してポイント先分析を実施して、前記プログラム用の領域関連づけメタデータを含む少なくとも1つのデータ構造を作成するステップと、
前記プログラムに手段を追加するステップであって、前記手段は、
前記データ構造中の情報に基づいて、領域内にオブジェクトを作成させ、
領域内のオブジェクトが前記領域外のどのフィールドによっても参照されないという判定が行われると、前記領域内の全オブジェクトの削除を引き起こすように構成されるステップと、
前記プログラムをコンパイルするステップと
を含むことを特徴とする方法。 - 領域関連づけメタデータを含む前記データ構造は、形状グラフを含むことを特徴とする請求項10に記載の方法。
- ポイント先分析を実施するステップは、
前記オブジェクト指向プログラムのメソッドに含まれるステートメントに基づいて、パラメータ用のエイリアスセットを作成するステップと、
前記プログラムのメソッドに含まれるステートメントに基づいて、前記エイリアスセットを単一化するステップと、
エイリアスセットによって定義されるノード、およびエイリアスセットの間のフィールドマッピングによって定義されるエッジを有する少なくとも1つの形状グラフを作成するステップと、
前記形状グラフの前記ノードを、可能なメモリ領域に関連づけるステップと
を含むことを特徴とする請求項11に記載の方法。 - 前記追加される手段は、
形状グラフを与えられると領域を作成する領域作成コードと、
領域およびオブジェクト情報を与えられると、特定の領域内にオブジェクトを割り振るオブジェクト割り当てコードと、
領域およびフィールドの識別子を与えられると、そのフィールドによって参照される前記領域を識別する領域ルックアップコードとを少なくとも部分的に含むことを特徴とする請求項11に記載の方法。 - 前記追加される手段は、2つの領域と、一方の領域内のオブジェクトを参照する他方の領域内のオブジェクトからのフィールドへの参照とを与えられると、前記フィールドに対応するエッジを介して、前記2つの領域に対応する前記ノードを連結する前記形状グラフを設定するフィールド設定コードをさらに含むことを特徴とする請求項13に記載の方法。
- 領域ベースのメモリ管理を利用することは、
各領域または領域の組用に、その領域または組に含まれる前記オブジェクトに対して行われる参照数のカウントを保有すること、および
1つの領域または領域の組用の前記カウントがゼロであると判定すると、前記領域または組を削除することを少なくとも部分的に含み、
前記追加される手段は、
1つの領域または領域の組を与えられると、その領域または組用に保有された前記カウントを増加させる増分コードと、
1つの領域または領域の組を与えられると、その領域または組用に保有された前記カウントを減少させる減分コードとをさらに含むことを特徴とする請求項13に記載の方法。 - 命令を含むコンピュータ可読媒体であって、前記命令は、実行されると、領域ベースのメモリ管理を利用するシステムにおいて実行されるオブジェクト指向プログラムをコンピュータにコンパイルさせ、前記コンパイルは、
オブジェクト指向プログラム用のソースコードを受け取る処理と、
前記ソースコードに対してポイント先分析を実施して、前記プログラム用の少なくとも1つの形状グラフテンプレートを作成する処理と、
前記プログラムに手段を追加する処理であって、前記手段は、
前記形状グラフテンプレートに基づいて、領域内にオブジェクトを作成させ、
領域内のオブジェクトが前記領域外のどのオブジェクトによっても参照されないという判定が行われると、前記領域内の全オブジェクトの削除を引き起こすように構成される処理と、
前記プログラムをコンパイルする処理を実施することによって行われることを特徴とするコンピュータ可読媒体。 - ポイント先分析を実施する処理は、
前記オブジェクト指向プログラムのメソッドに含まれるステートメントに基づいて、パラメータ用のエイリアスセットを作成すること、
前記プログラムのメソッドに含まれるステートメントに基づいて、前記エイリアスセットを単一化すること、
エイリアスセットによって定義されるノード、およびエイリアスセットの間のフィールドマッピングによって定義されるエッジを有する少なくとも1つの形状グラフを作成すること、及び、
前記形状グラフの前記ノードを、可能なメモリ領域に関連づけることを含むことを特徴とする請求項16に記載のコンピュータ可読媒体。 - 前記追加される手段は、
形状グラフを与えられると領域を作成する領域作成コードと、
領域およびオブジェクト情報を与えられると、特定の領域内にオブジェクトを割り振るオブジェクト割り当てコードと、
領域およびフィールドの識別子を与えられると、そのフィールドによって参照される前記領域を識別する領域ルックアップコードとを少なくとも部分的に含むことを特徴とする請求項16に記載のコンピュータ可読媒体。 - 前記追加される手段は、2つの領域と、一方の領域内のオブジェクトを参照する他方の領域内のオブジェクトからのフィールドへの参照とを与えられると、前記フィールドに対応するエッジを介して、前記2つの領域に対応する前記ノードを連結する前記形状グラフを設定するフィールド設定コードをさらに含むことを特徴とする請求項18に記載のコンピュータ可読媒体。
- 領域ベースのメモリ管理を利用することは、
各領域または領域の組用に、その領域または組に含まれる前記オブジェクトに対して行われる参照数のカウントを保有すること、および
1つの領域または領域の組用の前記カウントがゼロであると判定すると、前記領域または組を削除することを少なくとも部分的に含み、
前記追加される手段は、
1つの領域または領域の組を与えられると、その領域または組用に保有された前記カウントを増加させる増分コードと、
1つの領域または領域の組を与えられると、その領域または組用に保有された前記カウントを減少させる減分コードとをさらに含むことを特徴とする請求項18に記載のコンピュータ可読媒体。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US50520503P | 2003-09-23 | 2003-09-23 | |
US60/505,205 | 2003-09-23 | ||
US10/783,124 | 2004-02-19 | ||
US10/783,124 US7263532B2 (en) | 2003-09-23 | 2004-02-19 | Region-based memory management for object-oriented programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005100402A true JP2005100402A (ja) | 2005-04-14 |
JP4896384B2 JP4896384B2 (ja) | 2012-03-14 |
Family
ID=34198314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004275876A Expired - Fee Related JP4896384B2 (ja) | 2003-09-23 | 2004-09-22 | メモリを効率的に管理するための方法およびプログラム |
Country Status (5)
Country | Link |
---|---|
US (2) | US7263532B2 (ja) |
EP (1) | EP1519273B1 (ja) |
JP (1) | JP4896384B2 (ja) |
KR (1) | KR20050030139A (ja) |
CN (1) | CN100474251C (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5403362B2 (ja) * | 2007-08-02 | 2014-01-29 | 日本電気株式会社 | パターン検査システム、パターン検査装置、方法およびパターン検査用プログラム |
US8914391B2 (en) | 2011-05-20 | 2014-12-16 | International Business Machines Corporation | Method, program, and system for converting part of graph data to data structure as an image of homomorphism |
US9208590B2 (en) | 2011-05-20 | 2015-12-08 | International Business Machines Corporation | Manipulation of an object as an image of a mapping of graph data |
US10754766B2 (en) | 2014-03-21 | 2020-08-25 | Red Hat Israel, Ltd. | Indirect resource management |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050283771A1 (en) * | 2004-06-22 | 2005-12-22 | Nokia Corporation | System and method for decreasing the memory footprint of applications with automatic memory management systems |
US8204931B2 (en) | 2004-12-28 | 2012-06-19 | Sap Ag | Session management within a multi-tiered enterprise network |
WO2006111010A1 (en) * | 2005-04-18 | 2006-10-26 | Research In Motion Limited | Centralized memory management in wireless terminal devices |
US8589562B2 (en) | 2005-04-29 | 2013-11-19 | Sap Ag | Flexible failover configuration |
CN100461176C (zh) * | 2006-01-26 | 2009-02-11 | 无锡永中科技有限公司 | 基于对象存储库的对象引用方法 |
US9311082B2 (en) * | 2006-12-29 | 2016-04-12 | Sap Se | System and method for processing graph objects |
US8640086B2 (en) * | 2006-12-29 | 2014-01-28 | Sap Ag | Graphical user interface system and method for presenting objects |
US20080163063A1 (en) * | 2006-12-29 | 2008-07-03 | Sap Ag | Graphical user interface system and method for presenting information related to session and cache objects |
US8230477B2 (en) * | 2007-02-21 | 2012-07-24 | International Business Machines Corporation | System and method for the automatic evaluation of existing security policies and automatic creation of new security policies |
US8332939B2 (en) * | 2007-02-21 | 2012-12-11 | International Business Machines Corporation | System and method for the automatic identification of subject-executed code and subject-granted access rights |
US20080307174A1 (en) * | 2007-06-08 | 2008-12-11 | Apple Inc. | Dual Use Memory Management Library |
US8650228B2 (en) * | 2008-04-14 | 2014-02-11 | Roderick B. Wideman | Methods and systems for space management in data de-duplication |
US8776032B2 (en) * | 2009-01-29 | 2014-07-08 | Microsoft Corporation | Automatic region-based verification of garbage collectors |
US8341602B2 (en) * | 2009-01-29 | 2012-12-25 | Microsoft Corporation | Automated verification of a type-safe operating system |
US8549490B2 (en) | 2009-09-29 | 2013-10-01 | International Business Machines Corporation | Static code analysis for packaged application customization |
JP5185242B2 (ja) * | 2009-12-04 | 2013-04-17 | 株式会社東芝 | コンパイル装置 |
US8239404B2 (en) * | 2010-06-10 | 2012-08-07 | Microsoft Corporation | Identifying entries and exits of strongly connected components |
CN102722432B (zh) * | 2011-03-29 | 2016-02-24 | 国际商业机器公司 | 追踪内存访问的方法和装置 |
US8966635B2 (en) * | 2012-02-24 | 2015-02-24 | Hewlett-Packard Development Company, L.P. | Software module object analysis |
US9292281B2 (en) * | 2014-06-27 | 2016-03-22 | Vmware, Inc. | Identifying code that exhibits ideal logging behavior |
US9405659B2 (en) | 2014-06-27 | 2016-08-02 | Vmware, Inc. | Measuring the logging quality of a computer program |
US9552274B2 (en) * | 2014-06-27 | 2017-01-24 | Vmware, Inc. | Enhancements to logging of a computer program |
AU2015289442B2 (en) * | 2014-07-18 | 2019-07-11 | Ab Initio Technology Llc | Managing lineage information |
EP3304358A1 (en) * | 2015-06-05 | 2018-04-11 | Hexagon Technology Center GmbH | Method and apparatus for performing a geometric transformation on objects in an object-oriented environment using a multiple-transaction technique |
US9880743B1 (en) * | 2016-03-31 | 2018-01-30 | EMC IP Holding Company LLC | Tracking compressed fragments for efficient free space management |
FR3070775B1 (fr) * | 2017-09-04 | 2019-08-23 | Vsora | Allocation dynamique utilisant plusieurs piles |
CN108459552B (zh) * | 2018-01-31 | 2021-07-23 | 南京拓控信息科技股份有限公司 | 一种智能化面向对象的可编程的自动化控制方法 |
US11416392B2 (en) * | 2019-06-20 | 2022-08-16 | Microsoft Technology Licensing, Llc | Arena-based memory management |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0728691A (ja) * | 1993-07-09 | 1995-01-31 | Nec Corp | ガーベージコレクション効率化方法 |
JP2002278828A (ja) * | 2001-03-21 | 2002-09-27 | Sony Corp | ガーベージコレクション実行方法、コンピュータプログラム、プログラム格納媒体、および情報処理装置 |
JP2002534737A (ja) * | 1999-01-06 | 2002-10-15 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 低減されたメモリ条件でプログラムコードを実行するための装置 |
JP2003050740A (ja) * | 2001-05-29 | 2003-02-21 | Matsushita Electric Ind Co Ltd | ガベージコレクション装置及びガベージコレクション方法 |
JP2003519834A (ja) * | 2000-01-05 | 2003-06-24 | サン・マイクロシステムズ・インコーポレイテッド | メモリ管理によって参照の局所性を改善するための方法および装置 |
JP2003529149A (ja) * | 2000-03-28 | 2003-09-30 | タオ グループ リミテッド | ガーベジコレクション |
JP2005521117A (ja) * | 2001-07-31 | 2005-07-14 | サン・マイクロシステムズ・インコーポレーテッド | Javaプログラミング環境におけるオブジェクトの表現のための2ティアのクラスタ |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US155764A (en) * | 1874-10-06 | Improvement in lifting-jacks | ||
US126560A (en) * | 1872-05-07 | Improvement in churns | ||
US30575A (en) * | 1860-11-06 | Improvement in apparatus for trying oils | ||
US4989132A (en) * | 1988-10-24 | 1991-01-29 | Eastman Kodak Company | Object-oriented, logic, and database programming tool with garbage collection |
US5687368A (en) * | 1994-07-22 | 1997-11-11 | Iowa State University Research Foundation, Inc. | CPU-controlled garbage-collecting memory module |
US6009410A (en) * | 1997-10-16 | 1999-12-28 | At&T Corporation | Method and system for presenting customized advertising to a user on the world wide web |
US6175957B1 (en) * | 1997-12-09 | 2001-01-16 | International Business Machines Corporation | Method of, system for, and computer program product for providing efficient utilization of memory hierarchy through code restructuring |
JP3385957B2 (ja) | 1998-03-04 | 2003-03-10 | 日本電気株式会社 | 分散システム、メモリ管理装置及び方法、並びに記録媒体 |
US6006197A (en) * | 1998-04-20 | 1999-12-21 | Straightup Software, Inc. | System and method for assessing effectiveness of internet marketing campaign |
US6941321B2 (en) * | 1999-01-26 | 2005-09-06 | Xerox Corporation | System and method for identifying similarities among objects in a collection |
US6286001B1 (en) * | 1999-02-24 | 2001-09-04 | Doodlebug Online, Inc. | System and method for authorizing access to data on content servers in a distributed network |
US6249793B1 (en) * | 1999-06-10 | 2001-06-19 | Sun Microsystems, Inc. | Mostly concurrent compaction in a garbage collection system |
US6434576B1 (en) * | 1999-08-19 | 2002-08-13 | Sun Microsystems, Inc. | Popular-object handling in a train-algorithm-based garbage collector |
US6964037B1 (en) * | 1999-09-19 | 2005-11-08 | Kestrel Institute | Method and apparatus for determining colimits of hereditary diagrams |
US6865657B1 (en) * | 2000-06-02 | 2005-03-08 | Sun Microsystems, Inc. | Garbage collector for a virtual heap |
US20050234985A1 (en) * | 2004-04-09 | 2005-10-20 | Nexjenn Media, Inc. | System, method and computer program product for extracting metadata faster than real-time |
-
2004
- 2004-02-19 US US10/783,124 patent/US7263532B2/en not_active Expired - Fee Related
- 2004-09-22 EP EP04022556.7A patent/EP1519273B1/en not_active Not-in-force
- 2004-09-22 JP JP2004275876A patent/JP4896384B2/ja not_active Expired - Fee Related
- 2004-09-23 KR KR1020040076272A patent/KR20050030139A/ko not_active Application Discontinuation
- 2004-09-23 CN CNB2004101023346A patent/CN100474251C/zh not_active Expired - Fee Related
-
2007
- 2007-08-22 US US11/843,532 patent/US20080010327A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0728691A (ja) * | 1993-07-09 | 1995-01-31 | Nec Corp | ガーベージコレクション効率化方法 |
JP2002534737A (ja) * | 1999-01-06 | 2002-10-15 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 低減されたメモリ条件でプログラムコードを実行するための装置 |
JP2003519834A (ja) * | 2000-01-05 | 2003-06-24 | サン・マイクロシステムズ・インコーポレイテッド | メモリ管理によって参照の局所性を改善するための方法および装置 |
JP2003529149A (ja) * | 2000-03-28 | 2003-09-30 | タオ グループ リミテッド | ガーベジコレクション |
JP2002278828A (ja) * | 2001-03-21 | 2002-09-27 | Sony Corp | ガーベージコレクション実行方法、コンピュータプログラム、プログラム格納媒体、および情報処理装置 |
JP2003050740A (ja) * | 2001-05-29 | 2003-02-21 | Matsushita Electric Ind Co Ltd | ガベージコレクション装置及びガベージコレクション方法 |
JP2005521117A (ja) * | 2001-07-31 | 2005-07-14 | サン・マイクロシステムズ・インコーポレーテッド | Javaプログラミング環境におけるオブジェクトの表現のための2ティアのクラスタ |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8943084B2 (en) | 1920-05-20 | 2015-01-27 | International Business Machines Corporation | Method, program, and system for converting part of graph data to data structure as an image of homomorphism |
JP5403362B2 (ja) * | 2007-08-02 | 2014-01-29 | 日本電気株式会社 | パターン検査システム、パターン検査装置、方法およびパターン検査用プログラム |
US8914391B2 (en) | 2011-05-20 | 2014-12-16 | International Business Machines Corporation | Method, program, and system for converting part of graph data to data structure as an image of homomorphism |
US9208590B2 (en) | 2011-05-20 | 2015-12-08 | International Business Machines Corporation | Manipulation of an object as an image of a mapping of graph data |
US10754766B2 (en) | 2014-03-21 | 2020-08-25 | Red Hat Israel, Ltd. | Indirect resource management |
Also Published As
Publication number | Publication date |
---|---|
EP1519273A3 (en) | 2009-01-07 |
US20080010327A1 (en) | 2008-01-10 |
KR20050030139A (ko) | 2005-03-29 |
CN100474251C (zh) | 2009-04-01 |
US20050065973A1 (en) | 2005-03-24 |
CN1661559A (zh) | 2005-08-31 |
EP1519273A2 (en) | 2005-03-30 |
JP4896384B2 (ja) | 2012-03-14 |
US7263532B2 (en) | 2007-08-28 |
EP1519273B1 (en) | 2016-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4896384B2 (ja) | メモリを効率的に管理するための方法およびプログラム | |
US7533123B1 (en) | Declarative pinning | |
JP3110040B2 (ja) | 手順間レジスタ割付けを伴うコンピュータプログラムのコンパイル方法及び装置 | |
US6047125A (en) | Garbage collection system for improved use of memory by removal of reference conflicts | |
US6381738B1 (en) | Method for optimizing creation and destruction of objects in computer programs | |
Tofte et al. | A region inference algorithm | |
JP5868429B2 (ja) | 領域に基づくガベージ・コレクタを用いてクラスを漸進的にアンロードするための方法、コンピュータ・プログラム製品、および装置 | |
US7912877B2 (en) | Leveraging garbage collection to dynamically infer heap invariants | |
US6253215B1 (en) | Method, apparatus, and article of manufacture for facilitating resource management for applications having two types of program code | |
US6675379B1 (en) | Automatic removal of array memory leaks | |
US7693919B2 (en) | Eager reference-counting garbage collection | |
JP2003015876A (ja) | オブジェクト指向システム | |
US20200356384A1 (en) | Intelligently determining a virtual machine configuration during runtime based on garbage collection characteristics | |
US20090094301A1 (en) | Applications of overlooking root information for improving nondeferred reference-counting garbage collection | |
Jones et al. | A fast analysis for thread-local garbage collection with dynamic class loading | |
US8103706B2 (en) | Nondeferred reference-counting garbage collection using overlooking roots | |
US11789863B2 (en) | On-the-fly remembered set data structure adaptation | |
US11875193B2 (en) | Tracking frame states of call stack frames including colorless roots | |
US11573794B2 (en) | Implementing state-based frame barriers to process colorless roots during concurrent execution | |
US11513954B2 (en) | Consolidated and concurrent remapping and identification for colorless roots | |
Lang | Improved stack allocation using escape analysis in the KESO multi-JVM | |
Ægidius Mogensen | Memory Management | |
Jones et al. | Collecting the garbage without blocking the traffic | |
ァゥ et al. | Escape Analysis for Java | |
Hallenberg | The ML Kit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100720 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101020 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101119 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110221 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110308 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110708 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20110711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110711 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110803 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110826 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111124 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111213 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111221 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4896384 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150106 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |