JP5379779B2 - コンピュータにおけるオブジェクトの処理方法、プログラム及びシステム - Google Patents
コンピュータにおけるオブジェクトの処理方法、プログラム及びシステム Download PDFInfo
- Publication number
- JP5379779B2 JP5379779B2 JP2010253987A JP2010253987A JP5379779B2 JP 5379779 B2 JP5379779 B2 JP 5379779B2 JP 2010253987 A JP2010253987 A JP 2010253987A JP 2010253987 A JP2010253987 A JP 2010253987A JP 5379779 B2 JP5379779 B2 JP 5379779B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- stack frame
- stack
- heap
- working set
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
class S {
}
class T {
S a;
}
void foo() {
S a = new S();
bar(a);
}
void bar(S a) {
T b = new T();
b.a = a;
...
}
void foo() {
//ここでアドレスAにスタック割当てしたとする。
Object x = new Object();
bar(x);
}
void bar(Object y) {
System.out.println(y);
barbar();
}
void barbar() {
barbarbar()
}
void barbarbar() {
...
}
104 ヒープ
106、112 スタック・オブジェクト
202 ヒープ・オブジェクト
404 CPU
406 主記憶
408 ハードディスク・ドライブ
502 オペレーティング・システム
504 JVM
802 スタック
804 ヒープ
806、814 スタック・オブジェクト
808 ヒープ・オブジェクト
Claims (8)
- コンピュータの処理により、スタック・フレームにあるオブジェクトをヒープ・オブジェクト化する方法であって、
ヒープ領域にコピーすべきスタック・フレーム上の所定のオブジェクトのアドレスをワーキング・セットに格納するステップと、
前記所定のオブジェクトをヒープ領域にコピーして、そのヒープ領域上でのアドレスを保持するステップと、
スタック・フレームを順に辿り、前記ワーキング・セットに格納したアドレスを指示するポインタが見つかると、それが指示するアドレスを、前記ヒープ領域上でのアドレスに変換し、次のスタック・フレームに進むステップであって、当該アドレス変換において、変換したアドレスがスタック・フレーム上のオブジェクトのフィールドの値として格納されている場合は、そのオブジェクトのアドレスをワーキング・セットに格納するステップと、
スタック・フレームに前記ワーキング・セットに格納したアドレスを指示するポインタが見つからないことに応答して、処理を停止するステップを有する、
方法。 - 請求項1の方法を実行するステップを含む、スタック圧縮方法。
- 請求項1の方法を実行するステップを含む、ワーク・スティーリング方法。
- 前記各ステップは、Java(R)仮想マシン上で実行される、請求項1の方法。
- コンピュータの処理により、スタック・フレームにあるオブジェクトをヒープ・オブジェクト化するプログラムであって、
前記コンピュータに、
ヒープ領域にコピーすべきスタック・フレーム上の所定のオブジェクトのアドレスをワーキング・セットに格納するステップと、
前記所定のオブジェクトをヒープ領域にコピーして、そのヒープ領域上でのアドレスを保持するステップと、
スタック・フレームを順に辿り、前記ワーキング・セットに格納したアドレスを指示するポインタが見つかると、それが指示するアドレスを、前記ヒープ領域上でのアドレスに変換し、次のスタック・フレームに進むステップであって、当該アドレス変換において、変換したアドレスがスタック・フレーム上のオブジェクトのフィールドの値として格納されている場合は、そのオブジェクトのアドレスをワーキング・セットに格納するステップと、
スタック・フレームに前記ワーキング・セットに格納したアドレスを指示するポインタが見つからないことに応答して、処理を停止するステップを実行させる、
プログラム。 - 前記各ステップは、Java(R)仮想マシン上で実行される、請求項5のプログラム。
- コンピュータの処理により、スタック・フレームにあるオブジェクトをヒープ・オブジェクト化するシステムであって、
ヒープ領域にコピーすべきスタック・フレーム上の所定のオブジェクトのアドレスをワーキング・セットに格納する手段と、
前記所定のオブジェクトをヒープ領域にコピーして、そのヒープ領域上でのアドレスを保持する手段と、
スタック・フレームを順に辿り、前記ワーキング・セットに格納したアドレスを指示するポインタが見つかると、それが指示するアドレスを、前記ヒープ領域上でのアドレスに変換し、次のスタック・フレームに進む手段であって、当該アドレス変換において、変換したアドレスがスタック・フレーム上のオブジェクトのフィールドの値として格納されている場合は、そのオブジェクトのアドレスをワーキング・セットに格納する手段と、
スタック・フレームに前記ワーキング・セットに格納したアドレスを指示するポインタが見つからないことに応答して、処理を停止する手段を有する、
システム。 - 前記各手段は、Java(R)仮想マシン上で実行される、請求項7のシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010253987A JP5379779B2 (ja) | 2010-11-12 | 2010-11-12 | コンピュータにおけるオブジェクトの処理方法、プログラム及びシステム |
US13/287,242 US8838874B2 (en) | 2010-11-12 | 2011-11-02 | Method, program, and system for processing object in computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010253987A JP5379779B2 (ja) | 2010-11-12 | 2010-11-12 | コンピュータにおけるオブジェクトの処理方法、プログラム及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012104038A JP2012104038A (ja) | 2012-05-31 |
JP5379779B2 true JP5379779B2 (ja) | 2013-12-25 |
Family
ID=46048729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010253987A Active JP5379779B2 (ja) | 2010-11-12 | 2010-11-12 | コンピュータにおけるオブジェクトの処理方法、プログラム及びシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8838874B2 (ja) |
JP (1) | JP5379779B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9753846B2 (en) * | 2012-09-06 | 2017-09-05 | Red Hat, Inc. | Adjusting the operating memory used by a virtual machine during runtime |
US11146629B2 (en) * | 2014-09-26 | 2021-10-12 | Red Hat, Inc. | Process transfer between servers |
US10853343B2 (en) * | 2017-05-16 | 2020-12-01 | Sap Se | Runtime data persistency for in-memory database systems |
CN112100017B (zh) * | 2019-06-17 | 2023-07-21 | 腾讯科技(深圳)有限公司 | 一种内存资源监控方法及装置 |
US11397568B2 (en) * | 2019-12-10 | 2022-07-26 | International Business Machines Corporation | Escape analysis support for method redefinition |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5949973A (en) * | 1997-07-25 | 1999-09-07 | Memco Software, Ltd. | Method of relocating the stack in a computer system for preventing overrate by an exploit program |
GB2345159B (en) * | 1998-12-23 | 2003-08-20 | Ibm | Virtual machine memory management |
US6247027B1 (en) * | 1999-05-17 | 2001-06-12 | Sun Microsystems, Inc. | Facilitating garbage collection during object versioning for space and time dimensional computing |
US7085789B1 (en) * | 2001-07-30 | 2006-08-01 | Microsoft Corporation | Compact garbage collection tables |
JP2004078750A (ja) * | 2002-08-21 | 2004-03-11 | Nippon Telegr & Teleph Corp <Ntt> | オブジェクト管理装置および方法とプログラム |
US7168071B2 (en) * | 2003-09-30 | 2007-01-23 | Intel Corporation | Method and system of permitting stack allocation to programs having open-world features |
US8341614B2 (en) * | 2008-06-06 | 2012-12-25 | Apple Inc. | Memory management for closures |
US8825719B2 (en) * | 2008-10-30 | 2014-09-02 | Microsoft Corporation | Incremental lock-free stack scanning for garbage collection |
-
2010
- 2010-11-12 JP JP2010253987A patent/JP5379779B2/ja active Active
-
2011
- 2011-11-02 US US13/287,242 patent/US8838874B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8838874B2 (en) | 2014-09-16 |
JP2012104038A (ja) | 2012-05-31 |
US20120124018A1 (en) | 2012-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6272674B1 (en) | Method and apparatus for loading a Java application program | |
US6948172B1 (en) | Preemptive multi-tasking with cooperative groups of tasks | |
JP5182801B2 (ja) | コンピューティング環境内のメモリ管理方法、メモリ管理システム及びコンピュータ・プログラム | |
JP5379779B2 (ja) | コンピュータにおけるオブジェクトの処理方法、プログラム及びシステム | |
US8429629B2 (en) | In-kernel virtual machine for low overhead startup and low resource usage | |
JP5980916B2 (ja) | コンピュータにより実行される方法及びコンピュータシステム | |
JP2007213490A (ja) | アプリケーションサーバシステムおよび仮想マシンプログラム | |
JP2011081610A (ja) | オブジェクト最適配置装置、オブジェクト最適配置方法、及びオブジェクト最適配置プログラム | |
US11456914B2 (en) | Implementing affinity and anti-affinity with KUBERNETES | |
US11994988B2 (en) | Multi-ring shared, traversable, and dynamic advanced database | |
US11271895B1 (en) | Implementing advanced networking capabilities using helm charts | |
JP5588072B2 (ja) | メモリ割り当て方法、プログラム、及びシステム | |
WO2006111208A1 (en) | Process and system for real-time relocation of objects during garbage collection | |
JP2008107966A (ja) | 計算機システム | |
US8930677B2 (en) | Computer operation control method, program, and system | |
US20090282206A1 (en) | Method for Resolving Memory Leak Problems Resulting from Loitering Objects | |
JP5889270B2 (ja) | スタック・スキャンのコストを削減するための方法、プログラム及びシステム | |
US7401178B1 (en) | Expanded memory space in environments including virtual machines | |
US8533686B2 (en) | Methods and systems for porting Sysprof | |
US9921858B2 (en) | Apparatus and method for realizing runtime system for programming language | |
JP6173031B2 (ja) | コンピュータにおいてオブジェクトを管理するための方法、プログラム及びシステム | |
JP6103994B2 (ja) | 文字列データ処理方法、プログラム及びシステム | |
CN115934662A (zh) | 文件共享方法、装置、电子设备和存储介质 | |
JP2020113244A (ja) | Rtosアプリケーションデバッグ装置及びrtosアプリケーションデバッグ方法 | |
Chandran et al. | Agent based memory management framework for a multi processor environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130802 |
|
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: 20130903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130927 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5379779 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |