WO2003032155A3 - Platform-independent selective ahead-of-time compilation - Google Patents

Platform-independent selective ahead-of-time compilation Download PDF

Info

Publication number
WO2003032155A3
WO2003032155A3 PCT/US2002/031547 US0231547W WO03032155A3 WO 2003032155 A3 WO2003032155 A3 WO 2003032155A3 US 0231547 W US0231547 W US 0231547W WO 03032155 A3 WO03032155 A3 WO 03032155A3
Authority
WO
WIPO (PCT)
Prior art keywords
platform
methods
ahead
selected method
intermediate representation
Prior art date
Application number
PCT/US2002/031547
Other languages
French (fr)
Other versions
WO2003032155A2 (en
Inventor
Hinkmond Wong
Nedim Fresko
Mark Lam
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 DE60208710T priority Critical patent/DE60208710T2/en
Priority to EP02778427A priority patent/EP1451682B1/en
Priority to AU2002340087A priority patent/AU2002340087A1/en
Publication of WO2003032155A2 publication Critical patent/WO2003032155A2/en
Publication of WO2003032155A3 publication Critical patent/WO2003032155A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/47Retargetable compilers

Abstract

Methods and systems for platform-independent selective ahead-of-time compilation are herein described. A method selector comprising a profiling tool and heuristic selects a subset of methods for ahead-of-time compilation. The profiling tool ranks a set of methods according to predetermined criteria, and the heuristic identifies the subset of methods from the set of methods. An ahead-of-time compiler comprises a first unit and a second unit. The first unit converts, for each selected method, bytecodes corresponding to the selected method to a platform-independent intermediate representation. The second unit optimizes the platform-independent intermediate representation of each selected method, wherein each optimized intermediate representation is stored with a corresponding selected method. A virtual machine on a device converts an optimized intermediate representation associated with a selected method loaded onto the device to platform-dependent machine code.
PCT/US2002/031547 2001-10-05 2002-10-03 Platform-independent selective ahead-of-time compilation WO2003032155A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE60208710T DE60208710T2 (en) 2001-10-05 2002-10-03 PLATFORM INDEPENDENT IM FORWARD COMPILATION
EP02778427A EP1451682B1 (en) 2001-10-05 2002-10-03 Platform-independent selective ahead-of-time compilation
AU2002340087A AU2002340087A1 (en) 2001-10-05 2002-10-03 Platform-independent selective ahead-of-time compilation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/970,661 2001-10-05
US09/970,661 US7213240B2 (en) 2001-10-05 2001-10-05 Platform-independent selective ahead-of-time compilation

Publications (2)

Publication Number Publication Date
WO2003032155A2 WO2003032155A2 (en) 2003-04-17
WO2003032155A3 true WO2003032155A3 (en) 2004-06-24

Family

ID=25517275

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/031547 WO2003032155A2 (en) 2001-10-05 2002-10-03 Platform-independent selective ahead-of-time compilation

Country Status (5)

Country Link
US (1) US7213240B2 (en)
EP (1) EP1451682B1 (en)
AU (1) AU2002340087A1 (en)
DE (1) DE60208710T2 (en)
WO (1) WO2003032155A2 (en)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1313012A1 (en) * 2001-11-15 2003-05-21 Texas Instruments France Java DSP acceleration by byte-code optimization
US7340730B2 (en) * 2002-03-18 2008-03-04 Sun Microsystems, Inc. On demand, network accessible, run time compile server
CN100346297C (en) * 2003-02-18 2007-10-31 株式会社爱可信 Native compile method, native compile preprocessing method, computer program, and server
CA2453776A1 (en) * 2003-12-19 2005-06-19 Ibm Canada Limited-Ibm Canada Limitee Compiler optimization
US7516459B2 (en) * 2004-02-20 2009-04-07 Intel Corporation Methods and apparatus to optimize managed application program interfaces
US7929767B2 (en) * 2004-09-22 2011-04-19 Microsoft Corporation Analyzing subordinate sub-expressions in expression recognition
US7561737B2 (en) * 2004-09-22 2009-07-14 Microsoft Corporation Mathematical expression recognition
KR100725386B1 (en) * 2004-09-25 2007-06-07 삼성전자주식회사 Method for executing virtual machine application, and the digital broadcast receiver thereof
US7533376B2 (en) * 2004-10-12 2009-05-12 Picsel (Research) Limited Dynamic linking in constrained environment
US7444625B2 (en) * 2004-10-12 2008-10-28 Picsel (Research) Limited Concurrent code loading mechanism
US20060080683A1 (en) * 2004-10-12 2006-04-13 Majid Anwar Mechanism to circumvent restrictions of pre-written code components
US20060080680A1 (en) * 2004-10-12 2006-04-13 Majid Anwar Platform independent dynamic linking
US20060080681A1 (en) * 2004-10-12 2006-04-13 Majid Anwar Mechanism to extend functionality in a restricted computing environment
US7493604B2 (en) * 2004-10-21 2009-02-17 Microsoft Corporation Conditional compilation of intermediate language code based on current environment
US7657881B2 (en) 2004-12-21 2010-02-02 Intel Corporation Using optimized libraries to improve performance of deployed application code at runtime
US7581216B2 (en) * 2005-01-21 2009-08-25 International Business Machines Corporation Preserving platform independence with native accelerators for performance critical program objects
US7698697B2 (en) * 2005-03-03 2010-04-13 International Business Machines Corporation Transforming code to expose glacial constants to a compiler
US20070006178A1 (en) * 2005-05-12 2007-01-04 Microsoft Corporation Function-level just-in-time translation engine with multiple pass optimization
US7840950B2 (en) * 2006-03-09 2010-11-23 International Business Machines Corporation Programmatic compiler optimization of glacial constants
US7793275B2 (en) * 2006-03-31 2010-09-07 Intel Corporation Methods and apparatus to tune intermediate representations in a managed runtime environment
US7886286B2 (en) * 2006-05-05 2011-02-08 International Business Machines Corporation Integration of non-componentized libraries in component-based systems
WO2008002173A1 (en) * 2006-06-20 2008-01-03 Intel Corporation Method and apparatus to call native code from a managed code application
US20080244538A1 (en) * 2007-03-26 2008-10-02 Nair Sreekumar R Multi-core processor virtualization based on dynamic binary translation
US8875114B2 (en) * 2007-09-21 2014-10-28 International Business Machines Corporation Employing identifiers provided by an operating system of a processing environment to optimize the processing environment
DE102007054358B4 (en) 2007-11-14 2018-12-27 Zebris Medical Gmbh Apparatus for gait analysis for training or rehabilitation purposes
US8578056B1 (en) * 2008-03-31 2013-11-05 Symantec Corporation Optimized application streaming for just in time compiled components
US8239827B2 (en) * 2008-03-31 2012-08-07 Symantec Operating Corporation System and method for prioritizing the compilation of bytecode modules during installation of a software application
US9454390B2 (en) * 2008-04-04 2016-09-27 Intuit Inc. Executable code generated from common source code
US8473935B2 (en) * 2008-04-21 2013-06-25 Microsoft Corporation Just-ahead-of-time compilation
US8549497B2 (en) * 2008-05-05 2013-10-01 University Of New Brunswick High-level hypermedia synthesis for adaptive web
US8539464B2 (en) * 2008-10-30 2013-09-17 International Business Machines Corporation Distributed just-in-time compilation
US8375352B2 (en) * 2010-02-26 2013-02-12 GM Global Technology Operations LLC Terms management system (TMS)
US8924922B2 (en) * 2010-06-14 2014-12-30 Microsoft Corporation Pre-compiling hosted managed code
FR2961922B1 (en) 2010-06-29 2013-12-13 Flexycore SELECTIVE COMPILATION METHOD, DEVICE AND CORRESPONDING COMPUTER PROGRAM PRODUCT.
US9038049B2 (en) * 2011-09-09 2015-05-19 Microsoft Technology Licensing, Llc Automated discovery of resource definitions and relationships in a scripting environment
US9507613B2 (en) * 2012-03-30 2016-11-29 Oracle International Corporation Methods and apparatus for dynamically preloading classes
US9367292B2 (en) * 2012-06-11 2016-06-14 Empire Technology Development Llc Modulating dynamic optimizations of a computer program
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
US9665474B2 (en) 2013-03-15 2017-05-30 Microsoft Technology Licensing, Llc Relationships derived from trace data
US9575874B2 (en) 2013-04-20 2017-02-21 Microsoft Technology Licensing, Llc Error list and bug report analysis for configuring an application tracer
CN105359090A (en) * 2013-04-26 2016-02-24 纽约市哥伦比亚大学理事会 Systems and methods for mobile applications
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
US9772927B2 (en) 2013-11-13 2017-09-26 Microsoft Technology Licensing, Llc User interface for selecting tracing origins for aggregating classes of trace data
US10409572B2 (en) 2014-02-28 2019-09-10 Red Hat, Inc. Compiled file normalization
US20160306847A1 (en) * 2015-04-15 2016-10-20 Futurewei Technologies, Inc. Apparatus and Method for Using Parameterized Intermediate Representation for Just-In-Time Compilation in Database Query Execution Engine
DE202015102320U1 (en) 2015-05-06 2015-11-11 Zebris Medical Gmbh Treadmill assembly with seat and image capture and playback
US9430200B1 (en) * 2015-06-04 2016-08-30 Microsoft Technology Licensing Llc Cross-library framework architecture feature sets
US9983857B2 (en) 2015-06-16 2018-05-29 Architecture Technology Corporation Dynamic computational acceleration using a heterogeneous hardware infrastructure
US10394528B2 (en) 2016-03-30 2019-08-27 Oracle International Corporation Returning a runtime type loaded from an archive in a module system
US10191753B2 (en) 2016-03-30 2019-01-29 Oracle International Corporation Generating verification metadata and verifying a runtime type based on verification metadata
US10108442B1 (en) 2017-09-18 2018-10-23 International Business Machines Corporation Optimization and affinity for hypervisor-based just-in-time translator
KR20200057301A (en) * 2018-11-16 2020-05-26 삼성전자주식회사 User terminal device, server, control method of user terminal device and control method of server
US10782948B2 (en) * 2018-11-19 2020-09-22 Red Hat, Inc. Reducing application startup time by generating bytecode from metadata at build time
US10838750B2 (en) 2019-01-10 2020-11-17 Red Hat, Inc. Combining ahead-of-time compilation and just-in-time compilation to improve application deployment
US11194612B2 (en) * 2019-07-30 2021-12-07 International Business Machines Corporation Selective code segment compilation in virtual machine environments
US11663020B2 (en) * 2019-10-31 2023-05-30 Red Hat, Inc. Bootstrapping frameworks from a generated static initialization method for faster booting

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0943990A2 (en) * 1998-02-27 1999-09-22 Texas Instruments Incorporated Method and system of providing dynamic optimization information in a code interpretive runtime environment

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4638298A (en) * 1985-07-16 1987-01-20 Telautograph Corporation Communication system having message repeating terminals
US5280613A (en) 1990-06-25 1994-01-18 Hewlett-Packard Company ANDF installer using the HPcode-Plus compiler intermediate language
US5276881A (en) 1990-06-25 1994-01-04 Hewlett-Packard Company ANDF producer using the HPcode-Plus compiler intermediate language
US5339419A (en) 1990-06-25 1994-08-16 Hewlett-Packard Company ANDF compiler using the HPcode-plus compiler intermediate language
US5594903A (en) * 1991-02-26 1997-01-14 Lynx Real-Time Systems, Inc. Operating System architecture with reserved memory space resident program code identified in file system name space
US5812854A (en) * 1996-03-18 1998-09-22 International Business Machines Corporation Mechanism for integrating user-defined instructions with compiler-generated instructions and for optimizing the integrated instruction stream
US5815718A (en) * 1996-05-30 1998-09-29 Sun Microsystems, Inc. Method and system for loading classes in read-only memory
US5920720A (en) * 1997-02-25 1999-07-06 Microsoft Corporation Efficient computer based virtual machine object structure
US5966702A (en) 1997-10-31 1999-10-12 Sun Microsystems, Inc. Method and apparatus for pre-processing and packaging class files
US6081665A (en) * 1997-12-19 2000-06-27 Newmonics Inc. Method for efficient soft real-time execution of portable byte code computer programs
US6110226A (en) 1998-02-19 2000-08-29 Cygnus Solutions Java development environment using optimizing ahead-of-time compiler
US6158048A (en) 1998-05-29 2000-12-05 Intel Corporation Method for eliminating common subexpressions from java byte codes
US6289506B1 (en) * 1998-06-30 2001-09-11 Intel Corporation Method for optimizing Java performance using precompiled code

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0943990A2 (en) * 1998-02-27 1999-09-22 Texas Instruments Incorporated Method and system of providing dynamic optimization information in a code interpretive runtime environment

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ARNOLD M., HIND M., RYDER B.G.: "An Empirical Study of Selective Optimization", PROCEEDINGS OF THE INTERNATIONAL WORKSHOP OB LANGUAGES AND COMPILER FOR PARALLEL COMPUTING LCPC, August 2000 (2000-08-01), XP002273265, Retrieved from the Internet <URL:http://www.prolangs.rutgers.edu/refs/docs/lcpc00.ps> [retrieved on 20040311] *
HSIEH C-H A ET AL: "Java bytecode to native code translation: the Caffeine prototype and preliminary results", PROCEEDINGS OF THE 29TH. ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE. MICRO-29. PARIS, DEC. 2 - 4, 1996, PROCEEDINGS OF THE ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE. (MICRO), LOS ALAMITOS, IEEE COMP. SOC. PRESS, U, vol. SYMP. 29, 2 December 1996 (1996-12-02), pages 90 - 97, XP010206088, ISBN: 0-8186-7641-8 *
KASTNER W ET AL: "A new approach for Java in embedded networks", FACTORY COMMUNICATION SYSTEMS, 2000. PROCEEDINGS. 2000 IEEE INTERNATIONAL WORKSHOP ON PORTO, PORTUGAL 6-8 SEPT. 2000, PISCATAWAY, NJ, USA,IEEE, US, 6 September 2000 (2000-09-06), pages 19 - 26, XP010521791, ISBN: 0-7803-6500-3 *

Also Published As

Publication number Publication date
WO2003032155A2 (en) 2003-04-17
US20030070161A1 (en) 2003-04-10
US7213240B2 (en) 2007-05-01
DE60208710D1 (en) 2006-04-06
EP1451682B1 (en) 2006-01-11
DE60208710T2 (en) 2006-09-14
AU2002340087A1 (en) 2003-04-22
EP1451682A2 (en) 2004-09-01

Similar Documents

Publication Publication Date Title
WO2003032155A3 (en) Platform-independent selective ahead-of-time compilation
EP0997816A3 (en) Method and apparatus for selecting ways to compile at runtime
WO2001065332A3 (en) System and method for automatic software code generation
EP1049010A3 (en) Method and apparatus for generating a platform-specific compiler
WO2001046798A3 (en) System and method for computer-aided graph-based dependency analysis
WO2000046667A3 (en) Token-based linking
WO2005091772A3 (en) Targeted runtime compilation
WO2005052760A3 (en) System for optimizing application start-up
WO2003040918A1 (en) Jit compiler-equipped virtual computer, operation method thereof, and terminal apparatus having the virtual computer
AU2003227411A1 (en) Processor system, task control method on computer system, computer program
DK0903016T3 (en) Code division multiple access communication system
WO2004023253A3 (en) Method and controller for providing a location-based game associated with a plurality of mobile stations
EP1349063A3 (en) Program simulation with just-in-time compilation
WO2003073580A3 (en) Processing system for a power distribution system
AU2001261386A1 (en) Migrating processes using data representation language representations of the processes in a distributed computing environment
EP1107077A3 (en) Method and apparatus for optimizing a control system for a unit device integrated in a machine assembly
CN100382028C (en) Intermediate code pretreatment, executive device, executive system and computer program products
GB2393294A (en) Method and apparatus for controlling processor operation speed
WO2005083565A3 (en) Method and system for performing link-time code optimization without additional code analysis
WO2002065281A8 (en) Method, system and computer program product for efficiently utilizing limited resources in a graphics device
EP0938044A3 (en) Methods and apparatus for reducing interference in a branch history table of a microprocessor
WO2003010686A3 (en) Accessing information content
TW353739B (en) Loadable hardware support
EP1187019A3 (en) Resource management
WO2004021179A3 (en) System and method for executing and building a software application

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 BY BZ CA CH CN CO CR CU CZ DE DM DZ EC EE ES FI GB GD GE GH HR HU ID IL IN IS JP KE KG KP KR LC LK LR LS LT LU LV MA MD MG MN MW MX MZ NO NZ OM PH PL PT RU SD SE SG SI SK SL TJ TM TN TR TZ UA UG UZ VC VN YU ZA ZM

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ UG ZM ZW AM AZ BY KG KZ RU TJ TM AT BE BG CH CY CZ DK EE ES FI FR GB GR IE IT LU MC PT SE SK TR BF BJ CF CG CI 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
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2002778427

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002778427

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 2002778427

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP