JP2004295889A - データ処理システム内での処理タスクの実行を制御する方法および装置 - Google Patents
データ処理システム内での処理タスクの実行を制御する方法および装置 Download PDFInfo
- Publication number
- JP2004295889A JP2004295889A JP2004088343A JP2004088343A JP2004295889A JP 2004295889 A JP2004295889 A JP 2004295889A JP 2004088343 A JP2004088343 A JP 2004088343A JP 2004088343 A JP2004088343 A JP 2004088343A JP 2004295889 A JP2004295889 A JP 2004295889A
- Authority
- JP
- Japan
- Prior art keywords
- execution
- data
- processing task
- memory
- memory management
- 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.)
- Pending
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
- 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
Abstract
【解決手段】データ処理システム内での処理タスクの実行は、データ記憶装置に対するメモリエリアの割当てを含むその処理タスクを実行し(段階120)、次に実行点において前記処理タスクの実際の実行経路を中断し(段階130)、メモリ管理を行うことにより制御される。そのメモリ管理は、実行のコースにおいて生じ、メモリエリアのそれぞれをポイントする基準値を指定する実行点における処理タスクによりアクセス可能である、1つまたはそれ以上のデータアイテムの識別(段階140)を含む。識別されたデータアイテムに対応する基準値と、与えられた実行点までの実行中に割当てられたメモリエリアと、の間の相関が決定される(段階150)。その相関に依存して、割当てられたメモリエリアに対するメモリ管理動作が行われる(段階160)。
【選択図】図1
Description
データ記憶装置に対するメモリエリアの割当てを含む前記処理タスクを実行するステップと、
メモリ管理を行うために、実行点において前記処理タスクの実際の実行経路を中断するステップと、を含み、前記メモリ管理は、
実行のコースにおいて生じ、前記メモリエリアのそれぞれをポイントする基準値を指定する前記実行点における前記処理タスクによりアクセス可能である、1つまたはそれ以上のデータアイテムを識別するステップと、
識別されたデータアイテムに対応する基準値と、前記実行点までの前記実行中に割当てられたメモリエリアと、の間の相関を決定するステップと、
前記相関に依存して、割当てられたメモリエリアに対するメモリ管理動作を行うステップと、
を含む。
データ記憶装置に対するメモリエリアの割当てを含む前記処理タスクを実行する動作が可能な実行ロジックと、
メモリ管理を行うために、実行点において前記処理タスクの実際の実行経路を中断する動作が可能なタスク中断ロジックと、
実行のコースにおいて生じ、かつ前記メモリエリアのそれぞれをポイントする基準値を指定する前記実行点における前記処理タスクによりアクセス可能である、1つまたはそれ以上のデータアイテムを識別する動作が可能な基準識別ロジックと、
識別されたデータアイテムに対応する基準値と、前記実行点までの前記実行中に割当てられたメモリエリアと、の間の相関を決定する動作が可能な相関ロジックと、
前記相関に依存して、割当てられたメモリエリアに対するメモリ管理動作を行うよう操作可能なメモリ管理ロジックと、
を含む。
データ記憶装置に対するメモリエリアの割当てを含む前記処理タスクを実行する動作が可能な実行コードと、
メモリ管理を行うために、実行点において前記処理タスクの実際の実行経路を中断する動作が可能な中断コードと、
実行のコースにおいて生じ、かつ前記メモリエリアのそれぞれをポイントする基準値を指定する前記実行点における前記処理タスクによりアクセス可能である、1つまたはそれ以上のデータアイテムを識別する動作が可能な基準識別コードと、
識別されたデータアイテムに対応する基準値と、前記実行点までの前記実行中に割当てられたメモリエリアと、の間の相関を決定する動作が可能な相関コードと、
前記相関に依存して、割当てられたメモリエリアに対するメモリ管理動作を行うよう操作可能なメモリ管理コードと、
を含む。
I. 「それぞれの命令は、その呼出しに至る実行経路にかかわらず、オペランドスタックおよびローカル変数アレイ内のアーギュメントの適切なタイプおよび数によってのみ実行されなければならない。整数型の値を操作する命令はまた、ブール型、バイト型、文字型、およびショート(short)型の値を操作することもできる。」
II. もし命令を、いくつかの異なる実行経路に沿って実行することができれば、オペランドスタックは、とる経路にかかわらず命令の実行の前に同じ深さをもたなければならない。」
222 メモリエリア
226 メモリエリア
228 メモリエリア
250 メモリエリア
Claims (30)
- データ処理システム内における処理タスクの実行を制御する方法において、前記方法は、
データ記憶装置に対するメモリエリアの割当てを含む前記処理タスクを実行するステップと、
メモリ管理を行うために、実行点において前記処理タスクの実際の実行経路を中断するステップと、を含み、前記メモリ管理は、
実行のコースにおいて生じ、かつ前記メモリエリアのそれぞれをポイントする基準値を指定する前記実行点における前記処理タスクによりアクセス可能である、1つまたはそれ以上のデータアイテムを識別するステップと、
識別されたデータアイテムに対応する基準値と、前記実行点までの前記実行中に割当てられたメモリエリアと、の間の相関を決定するステップと、
前記相関に依存して、割当てられたメモリエリアに対するメモリ管理動作を行うステップと、
を含む、前記方法。 - 前記1つまたはそれ以上のデータアイテムのそれぞれはオペランドである、請求項1記載の方法。
- 前記識別するステップは、
前記実行点に至る可能な実行経路を識別するステップであって、前記可能な実行経路は前記実際の実行経路とは異なるかもしれない、前記ステップと、
前記可能な実行経路のシミュレートされた実行を行うステップと、を含み、
前記処理タスクにとってアクセス可能である前記1つまたはそれ以上のデータアイテムは、前記現在の実行点への前記可能な実行経路をたどることにより識別される、
請求項2記載の方法。 - 前記メモリ管理動作は、前記識別されたデータアイテムを介して直接または間接に前記処理タスクによりアクセス可能である、全ての前記メモリエリアへのマーク付けと、前記処理タスクの後の実行中における再割当てのための、マーク付けされていないメモリエリアの収集と、を含む、請求項3記載の方法。
- 前記メモリ管理動作は、前記マーク付けされていないメモリエリアの、再割当ての前における圧縮を含む、請求項4記載の方法。
- 前記1つまたはそれ以上のデータアイテムのそれぞれはローカル変数である、請求項1記載の方法。
- 前記識別するステップは、
前記処理タスクに対応する複数のプログラム命令を走査し、前記1つまたはそれ以上のデータアイテムのそれぞれに対応するそれぞれの記憶命令のためのデータタイプをログするステップと、
もしそれぞれのデータアイテムに対する異なる記憶命令のために異なるデータタイプがログされたならば、前記1つまたはそれ以上のデータアイテムの少なくとも1つをマルチプルタイプ変数として分類するステップと、
マルチプルタイプ変数として分類された前記1つまたはそれ以上のデータアイテムのそれぞれのために、前記実行点までの全ての可能な実行経路をシミュレートし、前記可能な実行経路のそれぞれのための前記複数のプログラム命令のそれぞれにおいて、それぞれのマルチプルタイプ変数に関連するデータタイプを決定するステップと、
前記現在の実行点に対応する前記複数のプログラム命令の1つにおいて、前記マルチプルタイプ変数のそれぞれにおける前記決定されたデータタイプをチェックするステップと、を含み、
前記メモリ管理動作は、前記決定されたデータタイプをチェックする前記ステップの結果に依存して行われる、
請求項6記載の方法。 - 前記メモリ管理動作は、もし前記決定されたデータタイプが前記現在の実行点における前記可能な実行経路の異なるものに対し異なるならば、前記データアイテムに、再割当てのために適切であるとしてタグ付けすることを含む、請求項7記載の方法。
- 前記処理タスクは、オブジェクト指向プログラム言語で書かれたコンピュータプログラムの成分である、請求項1記載の方法。
- 前記オブジェクト指向プログラム言語はジャバ(R)である、請求項9記載の方法。
- コンピュータを制御してデータ処理システム内における処理タスクの実行を制御するコンピュータプログラムを有するコンピュータプログラム製品において、前記コンピュータプログラムは、
データ記憶装置に対するメモリエリアの割当てを含む前記処理タスクを実行する動作が可能な実行コードと、
メモリ管理を行うために、実行点において前記処理タスクの実際の実行経路を中断する動作が可能な中断コードと、
実行のコースにおいて生じ、かつ前記メモリエリアのそれぞれをポイントする基準値を指定する前記実行点における前記処理タスクによりアクセス可能である、1つまたはそれ以上のデータアイテムを識別する動作が可能な基準識別コードと、
識別されたデータアイテムに対応する基準値と、前記実行点までの前記実行中に割当てられたメモリエリアと、の間の相関を決定する動作が可能な相関コードと、
前記相関に依存して、割当てられたメモリエリアに対するメモリ管理動作を行うよう操作可能なメモリ管理コードと、
を含む、前記コンピュータプログラム製品。 - 前記1つまたはそれ以上のデータアイテムのそれぞれはオペランドである、請求項11記載のコンピュータプログラム製品。
- 前記基準識別コードは、
前記実行点に至る可能な実行経路を識別する動作が可能な経路識別コードであって、前記可能な実行経路は前記実際の実行経路とは異なるかもしれない、前記経路識別コードと、
前記可能な実行経路のシミュレートされた実行を行う動作が可能な経路シミュレーションコードと、を含み、
前記処理タスクにとってアクセス可能である前記1つまたはそれ以上のデータアイテムは、前記現在の実行点への前記可能な実行経路をたどることにより識別される、
請求項12記載のコンピュータプログラム製品。 - 前記メモリ管理コードは、前記識別されたデータアイテムを介して直接または間接に前記処理タスクによりアクセス可能である、全ての前記メモリエリアにマーク付けし、また、前記処理タスクの後の実行中における再割当てのための、マーク付けされていないメモリエリアを収集する動作が可能である、請求項13記載のコンピュータプログラム製品。
- 前記メモリ管理コードは、前記マーク付けされていないメモリエリアを、再割当ての前に圧縮する動作が可能である、請求項14記載のコンピュータプログラム製品。
- 前記1つまたはそれ以上のデータアイテムのそれぞれはローカル変数である、請求項11記載のコンピュータプログラム製品。
- 前記基準識別コードは、
前記処理タスクに対応する複数のプログラム命令を走査し、前記1つまたはそれ以上のデータアイテムのそれぞれに対応するそれぞれの記憶命令のためのデータタイプをログする走査コードと、
もしそれぞれのデータアイテムに対する異なる記憶命令のために異なるデータタイプがログされたならば、前記1つまたはそれ以上のデータアイテムの少なくとも1つをマルチプルタイプ変数として分類する動作が可能な分類コードと、
マルチプルタイプ変数として分類された前記1つまたはそれ以上のデータアイテムのそれぞれのために、前記実行点までの全ての可能な実行経路をシミュレートし、前記可能な実行経路のそれぞれのための前記複数のプログラム命令のそれぞれにおいて、それぞれのマルチプルタイプ変数に関連するデータタイプを決定する動作が可能な経路シミュレーションコードと、
前記現在の実行点に対応する前記複数のプログラム命令の1つにおいて、前記マルチプルタイプ変数のそれぞれにおける前記決定されたデータタイプをチェックする動作が可能なデータタイプチェックコードと、を含み、
前記メモリ管理コードは、前記メモリ管理動作を、前記データタイプチェックコードの結果に依存して行うよう操作可能である、
請求項16記載のコンピュータプログラム製品。 - 前記メモリ管理コードは、もし前記決定されたデータタイプが前記現在の実行点における前記可能な実行経路の異なるものに対し異なるならば、前記データアイテムに、再割当てのために適切であるとしてタグ付けする動作が可能である、請求項17記載のコンピュータプログラム製品。
- 前記処理タスクは、オブジェクト指向プログラム言語で書かれたコンピュータプログラムの成分である、請求項11記載のコンピュータプログラム製品。
- 前記オブジェクト指向プログラム言語はジャバ(R)である、請求項19記載のコンピュータプログラム製品。
- データ処理システム内における処理タスクの実行を制御する動作が可能なデータ処理装置において、前記データ処理装置は、
データ記憶装置に対するメモリエリアの割当てを含む前記処理タスクを実行する動作が可能な実行ロジックと、
メモリ管理を行うために、実行点において前記処理タスクの実際の実行経路を中断する動作が可能なタスク中断ロジックと、
実行のコースにおいて生じ、かつ前記メモリエリアのそれぞれをポイントする基準値を指定する前記実行点における前記処理タスクによりアクセス可能である、1つまたはそれ以上のデータアイテムを識別する動作が可能な基準識別ロジックと、
識別されたデータアイテムに対応する基準値と、前記実行点までの前記実行中に割当てられたメモリエリアと、の間の相関を決定する動作が可能な相関ロジックと、
前記相関に依存して、割当てられたメモリエリアに対するメモリ管理動作を行うよう操作可能なメモリ管理ロジックと、
を含む前記データ処理装置。 - 前記1つまたはそれ以上のデータアイテムのそれぞれはオペランドである、請求項21記載のデータ処理装置。
- 前記基準識別ロジックは、
前記実行点に至る可能な実行経路を識別する動作が可能な経路識別ロジックであって、前記可能な実行経路は前記実際の実行経路とは異なるかもしれない、前記経路識別ロジックと、
前記可能な実行経路のシミュレートされた実行を行う動作が可能な経路シミュレーションロジックと、を含み、
前記処理タスクにとってアクセス可能である前記1つまたはそれ以上のデータアイテムは、前記現在の実行点への前記可能な実行経路をたどることにより識別される、
請求項22記載のデータ処理装置。 - 前記メモリ管理ロジックは、前記識別されたデータアイテムを介して直接または間接に前記処理タスクによりアクセス可能である、全ての前記メモリエリアにマーク付けし、また、前記処理タスクの後の実行中における再割当てのための、マーク付けされていないメモリエリアを収集する動作が可能である、請求項23記載のデータ処理装置。
- 前記メモリ管理ロジックは、前記マーク付けされていないメモリエリアを、再割当ての前に圧縮する動作が可能である、請求項24記載のデータ処理装置。
- 前記1つまたはそれ以上のデータアイテムのそれぞれはローカル変数である、請求項21記載のデータ処理装置。
- 前記基準識別ロジックは、
前記処理タスクに対応する複数のプログラム命令を走査し、前記1つまたはそれ以上のデータアイテムのそれぞれに対応するそれぞれの記憶命令のためのデータタイプをログする走査ロジックと、
もしそれぞれのデータアイテムに対する異なる記憶命令のために異なるデータタイプがログされたならば、前記1つまたはそれ以上のデータアイテムの少なくとも1つをマルチプルタイプ変数として分類する動作が可能な分類ロジックと、
マルチプルタイプ変数として分類された前記1つまたはそれ以上のデータアイテムのそれぞれのために、前記実行点までの全ての可能な実行経路をシミュレートし、前記可能な実行経路のそれぞれのための前記複数のプログラム命令のそれぞれにおいて、それぞれのマルチプルタイプ変数に関連するデータタイプを決定する動作が可能な経路シミュレーションロジックと、
前記現在の実行点に対応する前記複数のプログラム命令の1つにおいて、前記マルチプルタイプ変数のそれぞれにおける前記決定されたデータタイプをチェックする動作が可能なデータタイプチェックロジックと、を含み、
前記メモリ管理ロジックは、前記メモリ管理動作を、前記決定されたデータタイプのチェックの結果に依存して行うよう操作可能である、
請求項26記載のデータ処理装置。 - 前記メモリ管理ロジックは、もし前記決定されたデータタイプが前記現在の実行点における前記可能な実行経路の異なるものに対し異なるならば、前記データアイテムに、再割当てのために適切であるとしてタグ付けする動作が可能である、請求項27記載のデータ処理装置。
- 前記処理タスクは、オブジェクト指向プログラム言語で書かれたコンピュータプログラムの成分である、請求項21記載のデータ処理装置。
- 前記オブジェクト指向プログラム言語はジャバ(R)である、請求項29記載のデータ処理装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0306970A GB2399897B (en) | 2003-03-26 | 2003-03-26 | Memory recycling in computer systems |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004295889A true JP2004295889A (ja) | 2004-10-21 |
Family
ID=9955571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004088343A Pending JP2004295889A (ja) | 2003-03-26 | 2004-03-25 | データ処理システム内での処理タスクの実行を制御する方法および装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8176286B2 (ja) |
JP (1) | JP2004295889A (ja) |
GB (1) | GB2399897B (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009535682A (ja) * | 2006-04-28 | 2009-10-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | スコープ・メモリ・システム内での参照の作成 |
US11314640B2 (en) | 2013-12-13 | 2022-04-26 | International Business Machines Corporation | Method, program, and system for reducing the cost of stack scanning |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7313789B1 (en) * | 2004-02-27 | 2007-12-25 | Sun Microsystems, Inc. | Methods and systems for reducing a program size |
US7458072B2 (en) * | 2004-10-06 | 2008-11-25 | Microsoft Corporation | Execution context infrastructure |
US7685601B2 (en) * | 2005-02-28 | 2010-03-23 | Sony Computer Entertainment Inc. | Methods and apparatus for segmented stack management in a processor system |
GB0512809D0 (en) * | 2005-06-23 | 2005-08-03 | Ibm | Arrangement and method for garbage collection in a computer system |
US8949555B1 (en) * | 2007-08-30 | 2015-02-03 | Virident Systems, Inc. | Methods for sustained read and write performance with non-volatile memory |
US8504878B2 (en) * | 2010-05-04 | 2013-08-06 | Oracle International Corporation | Statistical analysis of heap dynamics for memory leak investigations |
US8522216B2 (en) | 2010-05-04 | 2013-08-27 | Oracle International Corporation | Memory leak detection |
US8819382B2 (en) * | 2012-08-09 | 2014-08-26 | Apple Inc. | Split heap garbage collection |
US9747088B2 (en) * | 2013-04-22 | 2017-08-29 | Embarcadero Technologies, Inc. | Automatic reference counting |
US9740716B2 (en) * | 2013-08-21 | 2017-08-22 | Oracle International Corporation | System and method for dynamically selecting a garbage collection algorithm based on the contents of heap regions |
KR20200027204A (ko) * | 2018-09-04 | 2020-03-12 | 삼성전자주식회사 | 전자장치 및 그 제어방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000047931A (ja) * | 1998-03-06 | 2000-02-18 | Sun Microsyst Inc | コンピュ―タメモリの世代動的管理のための方法及び装置 |
JP2000099351A (ja) * | 1997-11-21 | 2000-04-07 | Omron Corp | プログラム制御装置とメモリ割当装置および方法 |
WO2001050270A2 (en) * | 2000-01-05 | 2001-07-12 | Sun Microsystems, Inc. | Methods and apparatus for improving locality of reference through memory management |
JP2001209572A (ja) * | 2000-01-28 | 2001-08-03 | Matsushita Electric Ind Co Ltd | ガベージコレクション装置および方法 |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3889243A (en) | 1973-10-18 | 1975-06-10 | Ibm | Stack mechanism for a data processor |
US4236204A (en) | 1978-03-13 | 1980-11-25 | Motorola, Inc. | Instruction set modifier register |
US4587632A (en) | 1980-05-27 | 1986-05-06 | At&T Bell Laboratories | Lookahead stack oriented computer |
US4922414A (en) * | 1982-12-17 | 1990-05-01 | Symbolics Inc. | Symbolic language data processing system |
DE3726192A1 (de) | 1987-08-06 | 1989-02-16 | Otto Mueller | Stacksteuerung |
US5136696A (en) | 1988-06-27 | 1992-08-04 | Prime Computer, Inc. | High-performance pipelined central processor for predicting the occurrence of executing single-cycle instructions and multicycle instructions |
US5440749A (en) | 1989-08-03 | 1995-08-08 | Nanotronics Corporation | High performance, low cost microprocessor architecture |
US5355483A (en) * | 1991-07-18 | 1994-10-11 | Next Computers | Asynchronous garbage collection |
US5455775A (en) | 1993-01-25 | 1995-10-03 | International Business Machines Corporation | Computer design system for mapping a logical hierarchy into a physical hierarchy |
US5873097A (en) * | 1993-05-12 | 1999-02-16 | Apple Computer, Inc. | Update mechanism for computer storage container manager |
US5644709A (en) * | 1994-04-21 | 1997-07-01 | Wisconsin Alumni Research Foundation | Method for detecting computer memory access errors |
GB2289353B (en) | 1994-05-03 | 1997-08-27 | Advanced Risc Mach Ltd | Data processing with multiple instruction sets |
US5638525A (en) | 1995-02-10 | 1997-06-10 | Intel Corporation | Processor capable of executing programs that contain RISC and CISC instructions |
US5752035A (en) | 1995-04-05 | 1998-05-12 | Xilinx, Inc. | Method for compiling and executing programs for reprogrammable instruction set accelerator |
US5619665A (en) | 1995-04-13 | 1997-04-08 | Intrnational Business Machines Corporation | Method and apparatus for the transparent emulation of an existing instruction-set architecture by an arbitrary underlying instruction-set architecture |
US5838948A (en) | 1995-12-01 | 1998-11-17 | Eagle Design Automation, Inc. | System and method for simulation of computer systems combining hardware and software interaction |
KR100466722B1 (ko) | 1996-01-24 | 2005-04-14 | 선 마이크로시스템즈 인코퍼레이티드 | 어레이경계검사방법및장치와,이를포함하는컴퓨터시스템 |
KR100513138B1 (ko) | 1996-01-24 | 2005-09-07 | 선 마이크로시스템즈 인코퍼레이티드 | 네트워크 또는 로컬 메모리로부터 수신된 명령 세트를실행하는 프로세서 및 컴퓨터 시스템 |
EP0976030B1 (en) | 1996-01-24 | 2008-07-02 | Sun Microsystems, Inc. | Instruction folding for a stack-based machine |
US6038643A (en) | 1996-01-24 | 2000-03-14 | Sun Microsystems, Inc. | Stack management unit and method for a processor having a stack |
US5742802A (en) | 1996-02-16 | 1998-04-21 | International Business Machines Corporation | Method and system for efficiently mapping guest instruction in an emulation assist unit |
US6031992A (en) | 1996-07-05 | 2000-02-29 | Transmeta Corporation | Combining hardware and software to provide an improved microprocessor |
US5926832A (en) | 1996-09-26 | 1999-07-20 | Transmeta Corporation | Method and apparatus for aliasing memory data in an advanced microprocessor |
JP3330378B2 (ja) | 1996-11-13 | 2002-09-30 | ラツ,ヤイール | リアルタイムプログラム言語アクセラレータ |
US5953741A (en) | 1996-11-27 | 1999-09-14 | Vlsi Technology, Inc. | Stack cache for stack-based processor and method thereof |
US5937193A (en) | 1996-11-27 | 1999-08-10 | Vlsi Technology, Inc. | Circuit arrangement for translating platform-independent instructions for execution on a hardware platform and method thereof |
US6009499A (en) | 1997-03-31 | 1999-12-28 | Sun Microsystems, Inc | Pipelined stack caching circuit |
US5875336A (en) | 1997-03-31 | 1999-02-23 | International Business Machines Corporation | Method and system for translating a non-native bytecode to a set of codes native to a processor within a computer system |
US6149318A (en) * | 1997-04-15 | 2000-11-21 | Samuel C. Kendall | Link-time and run-time error detection, and program instrumentation |
US5892966A (en) | 1997-06-27 | 1999-04-06 | Sun Microsystems, Inc. | Processor complex for executing multimedia functions |
US6088786A (en) | 1997-06-27 | 2000-07-11 | Sun Microsystems, Inc. | Method and system for coupling a stack based processor to register based functional unit |
US6003126A (en) | 1997-07-01 | 1999-12-14 | International Business Machines | Special instruction register including allocation field utilized for temporary designation of physical registers as general registers |
US6317872B1 (en) | 1997-07-11 | 2001-11-13 | Rockwell Collins, Inc. | Real time processor optimized for executing JAVA programs |
WO1999018484A2 (en) | 1997-10-02 | 1999-04-15 | Koninklijke Philips Electronics N.V. | A processing device for executing virtual machine instructions |
WO1999018486A2 (en) | 1997-10-02 | 1999-04-15 | Koninklijke Philips Electronics N.V. | Data processing device for processing virtual machine instructions |
US6009509A (en) | 1997-10-08 | 1999-12-28 | International Business Machines Corporation | Method and system for the temporary designation and utilization of a plurality of physical registers as a stack |
JP3027845B2 (ja) | 1997-11-21 | 2000-04-04 | オムロン株式会社 | プログラム制御装置および方法 |
US6070173A (en) | 1997-11-26 | 2000-05-30 | International Business Machines Corporation | Method and apparatus for assisting garbage collection process within a java virtual machine |
US6122638A (en) | 1997-11-26 | 2000-09-19 | International Business Machines Corporation | Object-oriented processor and method for caching intermediate data in an object-oriented processor |
US6167535A (en) | 1997-12-09 | 2000-12-26 | Sun Microsystems, Inc. | Object heap analysis techniques for discovering memory leaks and other run-time information |
US6148391A (en) | 1998-03-26 | 2000-11-14 | Sun Microsystems, Inc. | System for simultaneously accessing one or more stack elements by multiple functional units using real stack addresses |
US6374286B1 (en) | 1998-04-06 | 2002-04-16 | Rockwell Collins, Inc. | Real time processor capable of concurrently running multiple independent JAVA machines |
US6286016B1 (en) * | 1998-06-09 | 2001-09-04 | Sun Microsystems, Inc. | Incremental heap expansion in a real-time garbage collector |
US6212612B1 (en) * | 1998-07-15 | 2001-04-03 | Intelect Communications Inc. | System and method for synchronized, multi-channel data management with dynamically configurable routing |
GB9825102D0 (en) * | 1998-11-16 | 1999-01-13 | Insignia Solutions Plc | Computer system |
US6442751B1 (en) * | 1998-12-14 | 2002-08-27 | International Business Machines Corporation | Determination of local variable type and precision in the presence of subroutines |
US6338134B1 (en) | 1998-12-29 | 2002-01-08 | International Business Machines Corporation | Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data |
US7013454B2 (en) * | 1999-02-22 | 2006-03-14 | Sun Microsystems, Inc. | Thread suspension system and method using trapping instructions |
US6249793B1 (en) * | 1999-06-10 | 2001-06-19 | Sun Microsystems, Inc. | Mostly concurrent compaction in a garbage collection system |
US6427154B1 (en) * | 1999-12-16 | 2002-07-30 | International Business Machines Corporation | Method of delaying space allocation for parallel copying garbage collection |
US6944637B2 (en) * | 2000-02-07 | 2005-09-13 | Esmertec Ag | Reduced size objects headers |
US6978285B2 (en) * | 2002-08-22 | 2005-12-20 | Intel Corporation | Methods and apparatus for concurrent enumeration of an object reference root set |
-
2003
- 2003-03-26 GB GB0306970A patent/GB2399897B/en not_active Expired - Fee Related
-
2004
- 2004-02-20 US US10/781,867 patent/US8176286B2/en active Active
- 2004-03-25 JP JP2004088343A patent/JP2004295889A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000099351A (ja) * | 1997-11-21 | 2000-04-07 | Omron Corp | プログラム制御装置とメモリ割当装置および方法 |
JP2000047931A (ja) * | 1998-03-06 | 2000-02-18 | Sun Microsyst Inc | コンピュ―タメモリの世代動的管理のための方法及び装置 |
WO2001050270A2 (en) * | 2000-01-05 | 2001-07-12 | Sun Microsystems, Inc. | Methods and apparatus for improving locality of reference through memory management |
JP2001209572A (ja) * | 2000-01-28 | 2001-08-03 | Matsushita Electric Ind Co Ltd | ガベージコレクション装置および方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009535682A (ja) * | 2006-04-28 | 2009-10-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | スコープ・メモリ・システム内での参照の作成 |
US11314640B2 (en) | 2013-12-13 | 2022-04-26 | International Business Machines Corporation | Method, program, and system for reducing the cost of stack scanning |
Also Published As
Publication number | Publication date |
---|---|
GB2399897A (en) | 2004-09-29 |
US8176286B2 (en) | 2012-05-08 |
GB0306970D0 (en) | 2003-04-30 |
GB2399897B (en) | 2006-02-01 |
GB2399897A8 (en) | 2005-07-27 |
US20040193828A1 (en) | 2004-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7711920B2 (en) | Method and system for dynamically managing storage of data objects generated during execution of a computer program | |
EP0874318B1 (en) | A method and apparatus for locating object pointers used within exact garbage collection | |
US6049810A (en) | Method and apparatus for implementing a write barrier of a garbage collected heap | |
US5920876A (en) | Performing exact garbage collection using bitmaps that identify pointer values within objects | |
US6047125A (en) | Garbage collection system for improved use of memory by removal of reference conflicts | |
US5903900A (en) | Method and apparatus for optimizing exact garbage collection of array nodes in a carded heap | |
US6839726B2 (en) | Apparatus, method, and program for implementing garbage collection suitable for real-time processing | |
US7143124B2 (en) | Detection of dead regions during incremental collection | |
US6038572A (en) | Method and apparatus for localizing nodes in a garbage collected carded heap | |
US6820101B2 (en) | Methods and apparatus for optimizing garbage collection using separate heaps of memory for storing local objects and non-local objects | |
US7197521B2 (en) | Method and system performing concurrently mark-sweep garbage collection invoking garbage collection thread to track and mark live objects in heap block using bit vector | |
US6996590B2 (en) | Method and system for the garbage collection of shared data | |
EP0874319A2 (en) | Method and apparatus for locating nodes in a carded heap | |
US7870170B2 (en) | Method and apparatus for determining leaks in a Java heap | |
US5915255A (en) | Method and apparatus for referencing nodes using links | |
US7100003B2 (en) | Method and apparatus for generating data for use in memory leak detection | |
US7043509B2 (en) | Parallel non-contiguous allocation and card parsing | |
KR20010043785A (ko) | 메모리 복구 방법 | |
JP2002541552A (ja) | メモリ再利用方法 | |
US6912553B1 (en) | Virtual machine memory management | |
US20060242635A1 (en) | Method and system for optimizing array sizes in a JAVA virtual machine | |
JP2004295889A (ja) | データ処理システム内での処理タスクの実行を制御する方法および装置 | |
US6735761B1 (en) | Compile method frame detection method and device code discarding method and computer | |
US7653793B1 (en) | Use of memory protection to implement replicating collection in an incremental, copying garbage collector | |
US20170277623A1 (en) | Method of ascertaining primary cause of memory consumption in program, and computer system and computer program for the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060419 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090414 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090714 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090717 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090813 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090818 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090914 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090917 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091014 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091110 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100310 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100428 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20100528 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110601 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110606 |