CA2389168A1 - A method for garbage collection of unused methods - Google Patents

A method for garbage collection of unused methods Download PDF

Info

Publication number
CA2389168A1
CA2389168A1 CA002389168A CA2389168A CA2389168A1 CA 2389168 A1 CA2389168 A1 CA 2389168A1 CA 002389168 A CA002389168 A CA 002389168A CA 2389168 A CA2389168 A CA 2389168A CA 2389168 A1 CA2389168 A1 CA 2389168A1
Authority
CA
Canada
Prior art keywords
methods
program
regenerated
garbage collection
references
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
Application number
CA002389168A
Other languages
French (fr)
Other versions
CA2389168C (en
Inventor
Joakim Dahlstedt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Appeal Virtual Machines Ab
Joakim Dahlstedt
Bea Systems Stockholm Engineering Ab
Bea Systems, Inc.
Oracle International Corporation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Appeal Virtual Machines Ab, Joakim Dahlstedt, Bea Systems Stockholm Engineering Ab, Bea Systems, Inc., Oracle International Corporation filed Critical Appeal Virtual Machines Ab
Publication of CA2389168A1 publication Critical patent/CA2389168A1/en
Application granted granted Critical
Publication of CA2389168C publication Critical patent/CA2389168C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation
    • Y10S707/99957Garbage collection

Abstract

A method for improving the effectiveness of a data processing application when using a virtual machine, wherein the program includes a large number of methods, i.e. program sections, that are stored in the memory of the computer used, and wherein the program uses a garbage collecting procedure. The invention is characterised by analysing in a first step all so called thread stacks with respect to the procedures required thereby; causing each of said requisite methods to be regenerated in a second step, wherein occurring references to a method prior to the regeneration are replaced with references to regenerated methods; and by erasing all non-regenerated methods in a third step and placing corresponding memory space at the disposal of the program.
CA002389168A 1999-10-28 2000-10-27 A method for garbage collection of unused methods Expired - Lifetime CA2389168C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9903890-3 1999-10-28
SE9903890A SE514318C2 (en) 1999-10-28 1999-10-28 Process for streamlining a data processing process using a virtual machine and using a garbage collection procedure
PCT/SE2000/002096 WO2001031455A1 (en) 1999-10-28 2000-10-27 A method for garbage collection of unused methods

Publications (2)

Publication Number Publication Date
CA2389168A1 true CA2389168A1 (en) 2001-05-03
CA2389168C CA2389168C (en) 2009-10-06

Family

ID=20417516

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002389168A Expired - Lifetime CA2389168C (en) 1999-10-28 2000-10-27 A method for garbage collection of unused methods

Country Status (11)

Country Link
US (2) US7194494B1 (en)
EP (1) EP1240589B1 (en)
JP (1) JP4150518B2 (en)
KR (1) KR20020070270A (en)
CN (1) CN100382047C (en)
AT (1) ATE402443T1 (en)
AU (1) AU768181B2 (en)
CA (1) CA2389168C (en)
DE (1) DE60039628D1 (en)
SE (1) SE514318C2 (en)
WO (1) WO2001031455A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005018425A (en) * 2003-06-26 2005-01-20 Matsushita Electric Ind Co Ltd Program conversion method, program and storage medium
EP1659496B1 (en) * 2003-06-30 2010-09-01 Panasonic Corporation Garbage collection system
EP1622009A1 (en) * 2004-07-27 2006-02-01 Texas Instruments Incorporated JSM architecture and systems
DE102007026693A1 (en) 2007-06-08 2008-12-11 Robert Bosch Gmbh Method and device for reorganizing data in a storage system, in particular for control devices in motor vehicles
CA2700217C (en) * 2010-04-01 2011-07-19 Ibm Canada Limited - Ibm Canada Limitee Write barrier elision for reference arrays
US10606614B2 (en) * 2016-07-31 2020-03-31 Oracle International Corporation Container-based language runtime using a variable-sized container for an isolated method
CN114265670B (en) * 2022-03-02 2022-09-23 阿里云计算有限公司 Memory block sorting method, medium and computing device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797810A (en) * 1986-06-26 1989-01-10 Texas Instruments Incorporated Incremental, multi-area, generational, copying garbage collector for use in a virtual address space
US5088036A (en) * 1989-01-17 1992-02-11 Digital Equipment Corporation Real time, concurrent garbage collection system and method
US5293614A (en) * 1991-04-08 1994-03-08 Texas Instruments Incorporated System and method for hard real-time garbage collection requiring a write barrier but no read barrier
US5355483A (en) * 1991-07-18 1994-10-11 Next Computers Asynchronous garbage collection
CA2098459A1 (en) * 1992-06-15 1993-12-16 James L. Adcock Computer method and system for conservative-stack and generational heap garbage collection
US5692193A (en) * 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
US6463581B1 (en) * 1996-10-03 2002-10-08 International Business Machines Corporation Method for determining reachable methods in object-oriented applications that use class libraries
US6041179A (en) * 1996-10-03 2000-03-21 International Business Machines Corporation Object oriented dispatch optimization
US5915255A (en) * 1997-04-23 1999-06-22 Sun Microsystems, Inc. Method and apparatus for referencing nodes using links
US5873105A (en) * 1997-06-26 1999-02-16 Sun Microsystems, Inc. Bounded-pause time garbage collection system and method including write barrier associated with a source instance of a partially relocated object
EP1049979B1 (en) 1997-12-19 2003-05-02 Microsoft Corporation Incremental garbage collection
US6654951B1 (en) * 1998-12-14 2003-11-25 International Business Machines Corporation Removal of unreachable methods in object-oriented applications based on program interface analysis

Also Published As

Publication number Publication date
SE9903890D0 (en) 1999-10-28
US7194494B1 (en) 2007-03-20
US20070073794A1 (en) 2007-03-29
ATE402443T1 (en) 2008-08-15
EP1240589A1 (en) 2002-09-18
JP4150518B2 (en) 2008-09-17
AU1563201A (en) 2001-05-08
CA2389168C (en) 2009-10-06
KR20020070270A (en) 2002-09-05
EP1240589B1 (en) 2008-07-23
JP2003513356A (en) 2003-04-08
WO2001031455A1 (en) 2001-05-03
SE9903890L (en) 2001-02-12
CN1402847A (en) 2003-03-12
CN100382047C (en) 2008-04-16
AU768181B2 (en) 2003-12-04
DE60039628D1 (en) 2008-09-04
SE514318C2 (en) 2001-02-12

Similar Documents

Publication Publication Date Title
DE69814170T2 (en) INCREMENTAL FREE STORAGE COLLECTOR
JP3560535B2 (en) Method and system for detecting and coalescing free space during garbage collection
US7490117B2 (en) Dynamic performance monitoring-based approach to memory management
US6490599B2 (en) On-the-fly garbage collector
JP3881702B2 (en) Bounded downtime garbage collection system and method including a write barrier for source and target instances of partially relocated objects
CN101727355B (en) Handling method and system for memory access events
CA2033589A1 (en) System and method for software application event collection
WO2006124142A3 (en) Implementation for collecting unmanaged memory
WO1996009584A3 (en) A microcontroller system for performing operations of multiple microcontrollers
KR20010020494A (en) Bounded-pause time garbage collection system and method including read and write barriers associated with an instance of a partially relocated object
GB2406933A (en) Autonomic memory leak detection and remediation
CA2389168A1 (en) A method for garbage collection of unused methods
WO2002017085A3 (en) Memory garbage collection method and apparatus
US6999979B2 (en) Efficient encoding of references into a collection set
US7321908B2 (en) Mostly concurrent garbage collection
US8176286B2 (en) Memory recycling in computer systems
WO2002037272A3 (en) Improved frameworks for invoking methods in virtual machines
CN103077029B (en) A kind of restorative procedure importing table and device
ATE244930T1 (en) UNIVERSAL DEVICE AND METHOD AND TOOLS FOR USE THEREOF
Hasan A high-performance space saving dynamic memory manager
JPH03156649A (en) Garbage collection processing system
JPH0222746A (en) Garbage collection system
Hampel Design and Implementation of Garbage Collectors for Program Code
JPH04242839A (en) Memory dump system
JPH0341530A (en) Memory dump collecting system

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20201027