WO2004099944A3 - Apparatus and methods for desynchronizing object-oriented software applications in managed runtime environments - Google Patents

Apparatus and methods for desynchronizing object-oriented software applications in managed runtime environments Download PDF

Info

Publication number
WO2004099944A3
WO2004099944A3 PCT/US2004/008588 US2004008588W WO2004099944A3 WO 2004099944 A3 WO2004099944 A3 WO 2004099944A3 US 2004008588 W US2004008588 W US 2004008588W WO 2004099944 A3 WO2004099944 A3 WO 2004099944A3
Authority
WO
WIPO (PCT)
Prior art keywords
program code
desynchronizing
methods
software applications
oriented software
Prior art date
Application number
PCT/US2004/008588
Other languages
French (fr)
Other versions
WO2004099944A2 (en
Inventor
Gansha Wu
Guei-Yuan Lueh
Xiaohua Shi
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Priority to EP04760489A priority Critical patent/EP1618474B1/en
Priority to AT04760489T priority patent/ATE432496T1/en
Priority to DE602004021249T priority patent/DE602004021249D1/en
Priority to CN2004800184565A priority patent/CN1813243B/en
Publication of WO2004099944A2 publication Critical patent/WO2004099944A2/en
Publication of WO2004099944A3 publication Critical patent/WO2004099944A3/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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/458Synchronisation, e.g. post-wait, barriers, locks
    • 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
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation

Abstract

Apparatus and methods for desynchronizing object-oriented software applications in managed runtime environments are disclosed. Apparatus and methods for desynchronizing synchronized program code determine a type of the program code during just-in-time compilation of the program code and modify the program code during just-in-time compilation of the program code based on the type of the program code to desynchronize the program code.
PCT/US2004/008588 2003-04-30 2004-03-19 Apparatus and methods for desynchronizing object-oriented software applications in managed runtime environments WO2004099944A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP04760489A EP1618474B1 (en) 2003-04-30 2004-03-19 Apparatus and methods for desynchronizing object-oriented software applications in managed runtime environments
AT04760489T ATE432496T1 (en) 2003-04-30 2004-03-19 DEVICES AND METHODS FOR DESYNCHRONIZING OBJECT-ORIENTED SOFTWARE APPLICATIONS IN MANAGED RUNTIME ENVIRONMENTS
DE602004021249T DE602004021249D1 (en) 2003-04-30 2004-03-19 DEVICES AND METHOD FOR ENSYNCHRONIZING OBJECT-ORIENTED SOFTWARE APPLICATIONS IN MANAGED TIME ENVIRONMENTS
CN2004800184565A CN1813243B (en) 2003-04-30 2004-03-19 Apparatus and methods for desynchronizing object-oriented software applications in managed runtime environments

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/427,320 US20040221272A1 (en) 2003-04-30 2003-04-30 Apparatus and methods for desynchronizing object-oriented software applications in managed runtime environments
US10/427,320 2003-04-30

Publications (2)

Publication Number Publication Date
WO2004099944A2 WO2004099944A2 (en) 2004-11-18
WO2004099944A3 true WO2004099944A3 (en) 2005-01-20

Family

ID=33310108

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/008588 WO2004099944A2 (en) 2003-04-30 2004-03-19 Apparatus and methods for desynchronizing object-oriented software applications in managed runtime environments

Country Status (6)

Country Link
US (1) US20040221272A1 (en)
EP (1) EP1618474B1 (en)
CN (1) CN1813243B (en)
AT (1) ATE432496T1 (en)
DE (1) DE602004021249D1 (en)
WO (1) WO2004099944A2 (en)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788657B2 (en) * 2004-02-27 2010-08-31 Tvworks, Llc Targeted runtime compilation
US7395530B2 (en) * 2004-08-30 2008-07-01 International Business Machines Corporation Method for implementing single threaded optimizations in a potentially multi-threaded environment
US7895603B1 (en) * 2005-07-20 2011-02-22 Oracle America, Inc. Mechanism for enabling virtual method dispatch structures to be created on an as-needed basis
US7823153B1 (en) 2005-09-30 2010-10-26 Symantec Corporation System and method for detecting and logging in-line synchronization primitives in application program code
US7930684B2 (en) * 2005-10-12 2011-04-19 Symantec Operating Corporation System and method for logging and replaying asynchronous events
US8117605B2 (en) * 2005-12-19 2012-02-14 Oracle America, Inc. Method and apparatus for improving transactional memory interactions by tracking object visibility
US8117600B1 (en) * 2005-12-29 2012-02-14 Symantec Operating Corporation System and method for detecting in-line synchronization primitives in binary applications
KR100763199B1 (en) * 2006-02-20 2007-10-04 삼성전자주식회사 Method for calling a method in virtual machine environment and system including a virtual machine processing the method
US8176491B1 (en) * 2006-08-04 2012-05-08 Oracle America, Inc. Fast synchronization of simple synchronized methods
US8020155B2 (en) * 2006-11-28 2011-09-13 Oracle America, Inc. Mechanism for optimizing function execution
US8438554B1 (en) * 2008-12-11 2013-05-07 Nvidia Corporation System, method, and computer program product for removing a synchronization statement
US8849780B2 (en) * 2009-11-02 2014-09-30 Sap Ag System and method for automation of consistent lock management
US20110179398A1 (en) * 2010-01-15 2011-07-21 Incontact, Inc. Systems and methods for per-action compiling in contact handling systems
US8997049B1 (en) * 2010-05-21 2015-03-31 Cadence Design Systems, Inc. Method and system for debugging of compiled code using an interpreter
US20120030649A1 (en) * 2010-08-02 2012-02-02 Advanced Bionics AG, c/o Froriep Renggli Methods and Systems for Automatic Generation of Multithread-Safe Software Code
US9569184B2 (en) 2012-09-05 2017-02-14 Microsoft Technology Licensing, Llc Generating native code from intermediate language code for an application
US8959495B2 (en) * 2012-09-14 2015-02-17 Oracle International Corporation Unifying static and dynamic compiler optimizations in source-code bases
US8881123B2 (en) 2012-11-30 2014-11-04 Oracle International Corporation Enabling symbol resolution of private symbols in legacy programs and optimizing access to the private symbols
US20170083298A1 (en) * 2015-09-23 2017-03-23 Microsoft Technology Licensing, Llc Resilient format for distribution of ahead-of-time compiled code components
CN110874213B (en) * 2019-11-12 2021-02-12 广州银汉科技有限公司 Runtime type extension and reflection method of static strong type language

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617569A (en) * 1992-04-09 1997-04-01 Microsoft Corporation Method and system for implementing pointers to members in a compiler for an object-oriented programming language
US5920720A (en) * 1997-02-25 1999-07-06 Microsoft Corporation Efficient computer based virtual machine object structure
US6141794A (en) * 1998-10-16 2000-10-31 Sun Microsystems, Inc. System and method for synchronizing access to shared variables in a virtual machine in a digital computer system
US6330714B1 (en) * 1999-02-08 2001-12-11 International Business Machines Corporation Method and computer program product for implementing redundant lock avoidance
WO2002041143A2 (en) * 2000-11-20 2002-05-23 Zucotto Wireless Inc. Method of byte code quickening

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151703A (en) * 1996-05-20 2000-11-21 Inprise Corporation Development system with methods for just-in-time compilation of programs
US5924098A (en) * 1997-06-30 1999-07-13 Sun Microsystems, Inc. Method and apparatus for managing a linked-list data structure
US6085035A (en) * 1997-09-09 2000-07-04 Sun Microsystems, Inc. Method and apparatus for efficient operations on primary type values without static overloading
KR20010072477A (en) * 1998-08-13 2001-07-31 썬 마이크로시스템즈, 인코포레이티드 Method and apparatus of translating and executing native code in a virtual machine environment
US6567974B1 (en) * 2000-02-25 2003-05-20 Sun Microsystems, Inc. Small memory footprint system and method for separating applications within a single virtual machine
US6557168B1 (en) * 2000-02-25 2003-04-29 Sun Microsystems, Inc. System and method for minimizing inter-application interference among static synchronized methods
US6665865B1 (en) * 2000-04-27 2003-12-16 Microsoft Corporation Equivalence class based synchronization optimization
US6757891B1 (en) * 2000-07-12 2004-06-29 International Business Machines Corporation Method and system for reducing the computing overhead associated with thread local objects
US7065755B2 (en) * 2001-03-15 2006-06-20 Sun Microsystems, Inc. Method and apparatus for removing class initialization barriers from shared compiled methods
US7003768B2 (en) * 2001-03-15 2006-02-21 Sun Microsystems, Inc. Method and apparatus for class intialization barriers and access to class variables in multitasking virtual machines

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617569A (en) * 1992-04-09 1997-04-01 Microsoft Corporation Method and system for implementing pointers to members in a compiler for an object-oriented programming language
US5920720A (en) * 1997-02-25 1999-07-06 Microsoft Corporation Efficient computer based virtual machine object structure
US6141794A (en) * 1998-10-16 2000-10-31 Sun Microsystems, Inc. System and method for synchronizing access to shared variables in a virtual machine in a digital computer system
US6330714B1 (en) * 1999-02-08 2001-12-11 International Business Machines Corporation Method and computer program product for implementing redundant lock avoidance
WO2002041143A2 (en) * 2000-11-20 2002-05-23 Zucotto Wireless Inc. Method of byte code quickening

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BOGDA J ET AL: "Removing unnecessary synchronization in Java", SIGPLAN NOTICES ACM USA, vol. 34, no. 10, October 1999 (1999-10-01), pages 35 - 46, XP002301518, ISSN: 0362-1340 *
RUF E: "Effective synchronization removal for Java", SIGPLAN NOTICES ACM USA, vol. 35, no. 5, May 2000 (2000-05-01), pages 208 - 218, XP002301519, ISSN: 0362-1340 *

Also Published As

Publication number Publication date
DE602004021249D1 (en) 2009-07-09
EP1618474A2 (en) 2006-01-25
WO2004099944A2 (en) 2004-11-18
CN1813243A (en) 2006-08-02
US20040221272A1 (en) 2004-11-04
ATE432496T1 (en) 2009-06-15
EP1618474B1 (en) 2009-05-27
CN1813243B (en) 2012-01-18

Similar Documents

Publication Publication Date Title
WO2004099944A3 (en) Apparatus and methods for desynchronizing object-oriented software applications in managed runtime environments
AU2003232692A1 (en) Process for compiling and executing software applications in a multi-processor environment
AU2002367854A1 (en) System, method and computer program product for generating a shader program
CA2289347A1 (en) Method and apparatus for round-trip software engineering
AU2003290640A1 (en) Software simulator generated from a hardware description
AU2002365045A1 (en) System and method for automated test-case generation for software
AU2003264088A1 (en) Software for generating a computer application code and software description language
TW200511195A (en) Apparatus and method for controlling brightness level of display
AU2003289301A1 (en) Software execution control system and software execution control program
WO2003056473A3 (en) System, method, and article of manufacture for profiling an application targeted for reconfigurable logic using calls to profiling functions
AU2002238019A1 (en) System and method for generating and maintaining software code
WO2002037261A3 (en) A software development process
EP1049010A3 (en) Method and apparatus for generating a platform-specific compiler
HK1091665A1 (en) Software code signing system and method
GB0208088D0 (en) Method and system for the generation of a computer model
AU2003221343A1 (en) Thioepoxy based polymerizable composition and method for production thereof
WO2005052760A3 (en) System for optimizing application start-up
WO2004104823A3 (en) Apparatus and methods for restoring synchronization to object-oriented software applications in managed runtime enviroments
RS35304A (en) Method for producing an impact- resistant polymethylmethacr ylate, and corresponding polymethylmethacrylate (pmma)
AU2003261021A1 (en) System and method for executing and building a software application
WO2004040442A3 (en) Creating software applications
AU2003238204A1 (en) Method, device and computer program product for generating a three-dimensional model
AU2002367792A1 (en) Method for operating software object using natural language and program for the same
WO2003098436A3 (en) Method of controlling access to cryptographic resources
MXPA04010915A (en) Dynamic human resources knowledge base and process.

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG 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 MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004760489

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 20048184565

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2004760489

Country of ref document: EP