WO2000001170A3 - Method, apparatus, and article of manufacture for processing a virtual call in a multi-threaded program - Google Patents

Method, apparatus, and article of manufacture for processing a virtual call in a multi-threaded program Download PDF

Info

Publication number
WO2000001170A3
WO2000001170A3 PCT/US1999/014376 US9914376W WO0001170A3 WO 2000001170 A3 WO2000001170 A3 WO 2000001170A3 US 9914376 W US9914376 W US 9914376W WO 0001170 A3 WO0001170 A3 WO 0001170A3
Authority
WO
WIPO (PCT)
Prior art keywords
virtual call
address identifier
manufacture
call
address
Prior art date
Application number
PCT/US1999/014376
Other languages
French (fr)
Other versions
WO2000001170A2 (en
Inventor
Mario Iwan Wolczko
Ross Charles Knippel
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Priority to AU47190/99A priority Critical patent/AU4719099A/en
Publication of WO2000001170A2 publication Critical patent/WO2000001170A2/en
Publication of WO2000001170A3 publication Critical patent/WO2000001170A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • G06F9/4491Optimising based on receiver type

Abstract

Methods, systems, and articles of manufacture consistent with the present invention process a virtual call during execution of a multi-threaded program by ensuring that the steps of patching the virtual call to the appropriate method are performed within a single instruction cycle. This prevents other threads from executing instructions related to the virtual call in the middle of the patching procedure. Methods, systems, and articles of manufacture consistent with the present invention identify a target, such as a targeted method and a class of a receiver object, associated with the virtual call and then determine an address identifier, such as a memory address pointer to the class of the receiver object. By ensuring that the address identifier is within a restricted address space, a predetermined boundary of the memory storage device can be used to patch the call to the identified target and patch the address identifier for the identified target to the correct address identifier within a single instruction cycle.
PCT/US1999/014376 1998-06-30 1999-06-24 Method, apparatus, and article of manufacture for processing a virtual call in a multi-threaded program WO2000001170A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU47190/99A AU4719099A (en) 1998-06-30 1999-06-24 Method, apparatus, and article of manufacture for processing a virtual call in amulti-threaded program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/106,879 US6401137B1 (en) 1998-06-30 1998-06-30 Method, apparatus, and article of manufacture for processing a virtual call in a multi-threaded program
US09/106,879 1998-06-30

Publications (2)

Publication Number Publication Date
WO2000001170A2 WO2000001170A2 (en) 2000-01-06
WO2000001170A3 true WO2000001170A3 (en) 2002-09-26

Family

ID=22313757

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/014376 WO2000001170A2 (en) 1998-06-30 1999-06-24 Method, apparatus, and article of manufacture for processing a virtual call in a multi-threaded program

Country Status (3)

Country Link
US (1) US6401137B1 (en)
AU (1) AU4719099A (en)
WO (1) WO2000001170A2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6507946B2 (en) * 1999-06-11 2003-01-14 International Business Machines Corporation Process and system for Java virtual method invocation
US7216346B2 (en) 2002-12-31 2007-05-08 International Business Machines Corporation Method and apparatus for managing thread execution in a multithread application
US7409713B2 (en) * 2003-12-02 2008-08-05 Xtreamlok Pty. Ltd Method of protecting software code
US7526760B1 (en) * 2004-03-17 2009-04-28 Sun Microsystems, Inc. Methods for implementing virtual method invocation with shared code
US8037482B1 (en) * 2004-09-14 2011-10-11 Azul Systems, Inc. Accelerated class check
US7401202B1 (en) * 2004-09-14 2008-07-15 Azul Systems, Inc. Memory addressing
US9740504B2 (en) * 2014-01-23 2017-08-22 Qualcomm Incorporated Hardware acceleration for inline caches in dynamic languages
US9934024B2 (en) 2014-01-24 2018-04-03 Hewlett Packard Enterprise Development Lp Dynamically patching kernels using storage data structures

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2097541A1 (en) * 1993-06-01 1994-12-02 William G. O'farrell Concurrency Control Through a Class Library in Object Oriented Technology

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2242293A (en) * 1990-01-05 1991-09-25 Apple Computer Apparatus and method for dynamic linking of computer software components
US5365606A (en) * 1991-11-27 1994-11-15 Visystems, Inc. Virtual software machine running multiple program modules in a single address space of a target computer
US5404484A (en) * 1992-09-16 1995-04-04 Hewlett-Packard Company Cache system for reducing memory latency times
JPH0784851A (en) * 1993-09-13 1995-03-31 Toshiba Corp Shared data managing method
US5613120A (en) * 1994-10-20 1997-03-18 Silicon Graphics, Inc. System and method for enabling, without recompilation, modification of class definitions and implementations in an object-oriented computer program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2097541A1 (en) * 1993-06-01 1994-12-02 William G. O'farrell Concurrency Control Through a Class Library in Object Oriented Technology

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
L. PETER DEUTSCH ET AL.: "Efficient Implementation of the Smalltalk-80 System", CONFERENCE RECORD OT THE 11TH ANNUAL ACM SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, AALT LAKE CITY, UT, USA, 1984, pages 297 - 302, XP002121029 *
UNGAR D ET AL: "Architecture of SOAR: Smalltalk on a RISC", 11TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE. CONFERENCE PROCEEDINGS (CAT. NO. 84CH2051-1), ANN ARBOR, MI, USA, 5-7 JUNE 1984, 1984, Silver Spring, MD, USA, IEEE Comput. Soc. Press, USA, pages 188 - 197, XP002121028, ISBN: 0-8186-0538-3 *

Also Published As

Publication number Publication date
WO2000001170A2 (en) 2000-01-06
AU4719099A (en) 2000-01-17
US6401137B1 (en) 2002-06-04

Similar Documents

Publication Publication Date Title
EP0996059A3 (en) Class loading model
US7987473B1 (en) Accelerated class check
WO2000001170A3 (en) Method, apparatus, and article of manufacture for processing a virtual call in a multi-threaded program
TW332268B (en) Protected programmable memory cartridge and computer system using same
DE60006141D1 (en) ADMINISTRATIVE PROTOCOL, VERIFICATION PROCEDURE AND TRANSFORMING A REMOTELY LOADED PROGRAM FRAGMENT AND CORRESPONDING SYSTEMS
GB2402521B (en) Method and apparatus for loading a trustable operating system
DE69919404D1 (en) ON-LINE TROUBLESHOOTING AND PROCESSING SYSTEM AND METHOD
WO2003085497A3 (en) System and method for execution of a secured environment initialization instruction
WO2000034854A3 (en) Method of executing an interpreter program
WO2008114560A1 (en) Computer, operation rule application method, and operating system
WO2014149583A8 (en) Minimizing switchover time during operating system kernel update in a hot swappable program memory
MX2021010551A (en) Process and methods for reclaiming flammable and non-flammable hydrofluoro-olefin containing refrigerants.
TW359624B (en) Method for performing derivative scenario in game program
CN111638990B (en) Memory leakage processing method and device and storage medium
CN106372498B (en) Software protection method and device
CA2003004A1 (en) Apparatus and method for executing a conditional branch instruction
EP0797143A3 (en) Information processing apparatus and method, and scheduling device
US7296270B2 (en) Method and control unit for controlling technical procedures in a motor vehicle
ATE251776T1 (en) METHOD AND APPARATUS FOR CONTROLLING A JUMP DELAY SLOT IN A PIPELINE PROCESSOR
AU2003303026A1 (en) Washing method for a dishwasher, and dishwasher for carrying out one such method
CN111427620A (en) Starting method and device of embedded system
JPS63284644A (en) Instruction address output circuit
CN106529650A (en) Expansion method for intelligent card mask application and device
JPS5525192A (en) Illegal processing system for option instruction
Rowlett Building an object process around use cases

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG