JPH09330233A - 最適目的コード生成方法 - Google Patents

最適目的コード生成方法

Info

Publication number
JPH09330233A
JPH09330233A JP9055902A JP5590297A JPH09330233A JP H09330233 A JPH09330233 A JP H09330233A JP 9055902 A JP9055902 A JP 9055902A JP 5590297 A JP5590297 A JP 5590297A JP H09330233 A JPH09330233 A JP H09330233A
Authority
JP
Japan
Prior art keywords
code
application
block
profile information
profile
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.)
Withdrawn
Application number
JP9055902A
Other languages
English (en)
Japanese (ja)
Other versions
JPH09330233A5 (enExample
Inventor
B Busby William
ウィリアム・ビー・バズビー
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH09330233A publication Critical patent/JPH09330233A/ja
Publication of JPH09330233A5 publication Critical patent/JPH09330233A5/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3604Analysis of software for verifying properties of programs
    • G06F11/3612Analysis of software for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Devices For Executing Special Programs (AREA)
  • Debugging And Monitoring (AREA)
JP9055902A 1996-03-15 1997-03-11 最適目的コード生成方法 Withdrawn JPH09330233A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US616,608 1984-06-04
US08/616,608 US5815720A (en) 1996-03-15 1996-03-15 Use of dynamic translation to collect and exploit run-time information in an optimizing compilation system

Publications (2)

Publication Number Publication Date
JPH09330233A true JPH09330233A (ja) 1997-12-22
JPH09330233A5 JPH09330233A5 (enExample) 2005-02-10

Family

ID=24470226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9055902A Withdrawn JPH09330233A (ja) 1996-03-15 1997-03-11 最適目的コード生成方法

Country Status (2)

Country Link
US (1) US5815720A (enExample)
JP (1) JPH09330233A (enExample)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000003322A1 (en) * 1998-07-10 2000-01-20 Sony Corporation Method and apparatus for compiling
US6292940B1 (en) 1998-01-26 2001-09-18 Nec Corporation Program complete system and its compile method for efficiently compiling a source program including an indirect call for a procedure
US7665066B2 (en) 2001-04-12 2010-02-16 Siemens Aktiengesellschaft Method for determining and recording system information and function in distributed parallel component based software systems
JP2016517109A (ja) * 2013-04-02 2016-06-09 グーグル インコーポレイテッド ユーザに指向されかつプロファイル主導の最適化用のフレームワーク
JP2020126431A (ja) * 2019-02-04 2020-08-20 株式会社日立製作所 一つ以上の機器において処理を実行するシステム及び方法

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535903B2 (en) 1996-01-29 2003-03-18 Compaq Information Technologies Group, L.P. Method and apparatus for maintaining translated routine stack in a binary translation environment
US6091897A (en) 1996-01-29 2000-07-18 Digital Equipment Corporation Fast translation and execution of a computer program on a non-native architecture by use of background translator
US6052530A (en) * 1996-10-09 2000-04-18 Hewlett-Packard Co. Dynamic translation system and method for optimally translating computer code
US6591414B2 (en) * 1996-10-28 2003-07-08 Fujitsu Limited Binary program conversion apparatus, binary program conversion method and program recording medium
US5933643A (en) * 1997-04-17 1999-08-03 Hewlett Packard Company Profiler driven data prefetching optimization where code generation not performed for loops
US5943501A (en) * 1997-06-27 1999-08-24 Wisconsin Alumni Research Foundation Multiple processor, distributed memory computer with out-of-order processing
US6438740B1 (en) * 1997-08-21 2002-08-20 Compaq Information Technologies Group, L.P. System and method for dynamically identifying free registers
US5960202A (en) * 1997-10-31 1999-09-28 Hewlett Packard Company Method and apparatus for automatically logging compiler options and/or overriding compiler options
US5966538A (en) * 1997-10-31 1999-10-12 Hewlett-Packard Company Method and apparatus for automatically determining which compiler options should be used when compiling a computer program
US6289505B1 (en) * 1997-11-18 2001-09-11 Sun Microsystems, Inc. Method, apparatus and computer programmed product for binary re-optimization using a high level language compiler
US6164841A (en) * 1998-05-04 2000-12-26 Hewlett-Packard Company Method, apparatus, and product for dynamic software code translation system
US6158049A (en) * 1998-08-11 2000-12-05 Compaq Computer Corporation User transparent mechanism for profile feedback optimization
US6223339B1 (en) * 1998-09-08 2001-04-24 Hewlett-Packard Company System, method, and product for memory management in a dynamic translator
US6324689B1 (en) * 1998-09-30 2001-11-27 Compaq Computer Corporation Mechanism for re-writing an executable having mixed code and data
US6351844B1 (en) * 1998-11-05 2002-02-26 Hewlett-Packard Company Method for selecting active code traces for translation in a caching dynamic translator
US6275981B1 (en) * 1998-11-12 2001-08-14 Hewlett-Packard Company Method and system for correlating profile data dynamically generated from an optimized executable program with source code statements
GB9825102D0 (en) * 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
US6415436B1 (en) * 1998-12-11 2002-07-02 Hewlett-Packard Company Mechanism for cross validating emulated states between different emulation technologies in a dynamic compiler
GB2344907A (en) * 1998-12-19 2000-06-21 Int Computers Ltd Instruction translation and execution mechanism
US6308320B1 (en) 1999-01-15 2001-10-23 Hewlett-Packard Company Method and apparatus for incremental selective compilation of intermediate code files during computer system compilation and linking
US6978450B2 (en) * 1999-01-15 2005-12-20 Hewlett-Packard Development Company, L.P. Method and system for optimizing compilation time of a program by selectively reusing object code
US8121828B2 (en) 1999-01-28 2012-02-21 Ati Technologies Ulc Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions
US7013456B1 (en) 1999-01-28 2006-03-14 Ati International Srl Profiling execution of computer programs
US8127121B2 (en) 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US6826748B1 (en) 1999-01-28 2004-11-30 Ati International Srl Profiling program execution into registers of a computer
US7941647B2 (en) 1999-01-28 2011-05-10 Ati Technologies Ulc Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination
US8074055B1 (en) 1999-01-28 2011-12-06 Ati Technologies Ulc Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code
US7111290B1 (en) 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US7065633B1 (en) 1999-01-28 2006-06-20 Ati International Srl System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU
US7275246B1 (en) 1999-01-28 2007-09-25 Ati International Srl Executing programs for a first computer architecture on a computer of a second architecture
US6978462B1 (en) 1999-01-28 2005-12-20 Ati International Srl Profiling execution of a sequence of events occuring during a profiled execution interval that matches time-independent selection criteria of events to be profiled
US6954923B1 (en) 1999-01-28 2005-10-11 Ati International Srl Recording classification of instructions executed by a computer
US6698011B1 (en) * 1999-01-29 2004-02-24 Intel Corporation Isolation of program translation failures
US6662354B1 (en) * 1999-01-29 2003-12-09 Unisys Corporation Determining destinations of a dynamic branch
US7058932B1 (en) 1999-04-19 2006-06-06 Unisys Corporation System, computer program product, and methods for emulation of computer programs
US6622300B1 (en) 1999-04-21 2003-09-16 Hewlett-Packard Development Company, L.P. Dynamic optimization of computer programs using code-rewriting kernal module
US6779107B1 (en) 1999-05-28 2004-08-17 Ati International Srl Computer execution by opportunistic adaptation
JP2001056764A (ja) * 1999-08-18 2001-02-27 Access:Kk 仮想計算機の実行方法および装置
US6549959B1 (en) 1999-08-30 2003-04-15 Ati International Srl Detecting modification to computer memory by a DMA device
US6922829B2 (en) * 1999-10-12 2005-07-26 Texas Instruments Incorporated Method of generating profile-optimized code
US6934832B1 (en) 2000-01-18 2005-08-23 Ati International Srl Exception mechanism for a computer
US20020066081A1 (en) * 2000-02-09 2002-05-30 Evelyn Duesterwald Speculative caching scheme for fast emulation through statically predicted execution traces in a caching dynamic translator
US6785801B2 (en) * 2000-02-09 2004-08-31 Hewlett-Packard Development Company, L.P. Secondary trace build from a cache of translations in a caching dynamic translator
US20010049818A1 (en) * 2000-02-09 2001-12-06 Sanjeev Banerjia Partitioned code cache organization to exploit program locallity
US6725335B2 (en) * 2000-02-09 2004-04-20 Hewlett-Packard Development Company, L.P. Method and system for fast unlinking of a linked branch in a caching dynamic translator
US7120906B1 (en) * 2000-04-28 2006-10-10 Silicon Graphics, Inc. Method and computer program product for precise feedback data generation and updating for compile-time optimizations
US7725885B1 (en) * 2000-05-09 2010-05-25 Hewlett-Packard Development Company, L.P. Method and apparatus for trace based adaptive run time compiler
US7240342B1 (en) * 2000-06-30 2007-07-03 Intel Corporation User transparent continuous compilation
US6874140B1 (en) * 2000-07-31 2005-03-29 Microsoft Corporation Debug annotations
US7735072B1 (en) * 2000-08-11 2010-06-08 International Business Machines Corporation Method and apparatus for profiling computer program execution
US7000227B1 (en) * 2000-09-29 2006-02-14 Intel Corporation Iterative optimizing compiler
US20020199179A1 (en) * 2001-06-21 2002-12-26 Lavery Daniel M. Method and apparatus for compiler-generated triggering of auxiliary codes
US20030066060A1 (en) * 2001-09-28 2003-04-03 Ford Richard L. Cross profile guided optimization of program execution
US6976254B2 (en) * 2001-11-28 2005-12-13 Esmertec Ag Inter-method control transfer for execution engines with memory constraints
US7237234B2 (en) * 2001-12-13 2007-06-26 Texas Instruments Incorporated Method for selective solicitation of user assistance in the performance tuning process
US7165242B2 (en) * 2002-03-19 2007-01-16 Sun Microsystems, Inc. Methods and systems for reducing performance overhead of code instrumentation based profiling
US20040088690A1 (en) * 2002-08-27 2004-05-06 Hayim Shaul Method for accelerating a computer application by recompilation and hardware customization
US7140008B2 (en) * 2002-11-25 2006-11-21 Microsoft Corporation Dynamic temporal optimization framework
US7058936B2 (en) * 2002-11-25 2006-06-06 Microsoft Corporation Dynamic prefetching of hot data streams
US7343598B2 (en) * 2003-04-25 2008-03-11 Microsoft Corporation Cache-conscious coallocation of hot data streams
US7194732B2 (en) * 2003-06-26 2007-03-20 Hewlett-Packard Development Company, L.P. System and method for facilitating profiling an application
JP4184900B2 (ja) * 2003-08-26 2008-11-19 富士通株式会社 変数の統計処理を行うコンパイル処理プログラム、およびその記録媒体、およびその処理方法ならびにその処理装置
US6925928B2 (en) * 2003-09-18 2005-08-09 Anthony Fox Trash compactor for fast food restaurant waste
US7587709B2 (en) * 2003-10-24 2009-09-08 Microsoft Corporation Adaptive instrumentation runtime monitoring and analysis
US20050149913A1 (en) * 2003-12-29 2005-07-07 Yun Wang Apparatus and methods to optimize code in view of masking status of exceptions
US7437712B1 (en) * 2004-01-22 2008-10-14 Sprint Communications Company L.P. Software build tool with revised code version based on description of revisions and authorizing build based on change report that has been approved
US8065665B1 (en) * 2004-02-28 2011-11-22 Oracle America, Inc. Method and apparatus for correlating profile data
US7716647B2 (en) * 2004-10-01 2010-05-11 Microsoft Corporation Method and system for a system call profiler
US7721268B2 (en) * 2004-10-01 2010-05-18 Microsoft Corporation Method and system for a call stack capture
US7607119B2 (en) * 2005-04-26 2009-10-20 Microsoft Corporation Variational path profiling
US7770153B2 (en) * 2005-05-20 2010-08-03 Microsoft Corporation Heap-based bug identification using anomaly detection
US7912877B2 (en) 2005-05-20 2011-03-22 Microsoft Corporation Leveraging garbage collection to dynamically infer heap invariants
US20070006167A1 (en) * 2005-05-31 2007-01-04 Chi-Keung Luk Optimizing binary-level instrumentation via instruction scheduling
JP4783612B2 (ja) * 2005-10-12 2011-09-28 富士通セミコンダクター株式会社 拡張言語仕様指定方法、プログラム開発方法、プログラム及びコンピュータ読み取り可能な記憶媒体
WO2007051634A2 (en) * 2005-11-04 2007-05-10 Inchron Gmbh Method for generating a simulation program which can be executed on a host computer
US7975263B2 (en) * 2006-01-10 2011-07-05 Intel Corporation Method and apparatus for generating run time profiles for program compilation
US7770050B2 (en) * 2006-05-03 2010-08-03 Sony Computer Entertainment Inc. Method and apparatus for resolving clock management issues in emulation involving both interpreted and translated code
US7792666B2 (en) * 2006-05-03 2010-09-07 Sony Computer Entertainment Inc. Translation block invalidation prehints in emulation of a target system on a host system
US7813909B2 (en) * 2006-05-03 2010-10-12 Sony Computer Entertainment Inc. Register mapping in emulation of a target system on a host system
US7962901B2 (en) 2006-04-17 2011-06-14 Microsoft Corporation Using dynamic analysis to improve model checking
US7926043B2 (en) * 2006-06-20 2011-04-12 Microsoft Corporation Data structure path profiling
US20080034349A1 (en) * 2006-08-04 2008-02-07 Microsoft Corporation Incremental program modification based on usage data
US8060356B2 (en) 2007-12-19 2011-11-15 Sony Computer Entertainment Inc. Processor emulation using fragment level translation
US9235390B1 (en) * 2008-03-31 2016-01-12 Symantec Corporation Application optimization for use based on feature popularity
US9201793B2 (en) * 2008-05-30 2015-12-01 Red Hat, Inc. Facilitating profiling of applications for efficient loading
US8418155B2 (en) * 2009-02-10 2013-04-09 International Business Machines Corporation Generating parallel SIMD code for an arbitrary target architecture
CA2672337C (en) * 2009-07-15 2017-01-03 Ibm Canada Limited - Ibm Canada Limitee Compiler instrumentation infrastructure to facilitate multiple pass and multiple purpose dynamic analysis
JP5792577B2 (ja) * 2010-11-10 2015-10-14 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 動的バイナリ・トランスレータに関するメモリ管理のための装置、方法、およびコンピュータ・プログラム
US9367429B2 (en) * 2012-12-21 2016-06-14 Microsoft Technology Licensing, Llc Diagnostics of declarative source elements
US20130227529A1 (en) * 2013-03-15 2013-08-29 Concurix Corporation Runtime Memory Settings Derived from Trace Data
US9213532B2 (en) 2013-09-26 2015-12-15 Oracle International Corporation Method for ordering text in a binary
JP2015069220A (ja) * 2013-09-26 2015-04-13 富士通株式会社 性能評価プログラム生成装置、方法、及びプログラム
US9606783B2 (en) * 2013-10-14 2017-03-28 International Business Machines Corporation Dynamic code selection based on data policies
GB2527567A (en) * 2014-06-26 2015-12-30 Ibm Optimising software code
JP2017156937A (ja) * 2016-03-01 2017-09-07 ヤンマー株式会社 端末装置およびソフトウェア書き換えプログラム
US10853044B2 (en) * 2017-10-06 2020-12-01 Nvidia Corporation Device profiling in GPU accelerators by using host-device coordination
US10956136B2 (en) 2018-10-16 2021-03-23 Ebay, Inc. User interface resource file optimization
US11138091B2 (en) * 2018-12-12 2021-10-05 Sap Se Regression analysis platform

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2132175T3 (es) * 1989-09-01 1999-08-16 Amdahl Corp Sistema operativo y base de datos que tienen una estructura de acceso formada por una pluralidad de tablas.
US5481708A (en) * 1992-06-05 1996-01-02 Borland International, Inc. System and methods for optimizing object-oriented compilations
US5471564A (en) * 1992-07-10 1995-11-28 Microsoft Corporation System and method for dynamic printer timeout
US5519866A (en) * 1993-06-28 1996-05-21 Taligent, Inc. Method and apparatus of incrementally linking components of a modeled computer program
US5475842A (en) * 1993-08-11 1995-12-12 Xerox Corporation Method of compilation optimization using an N-dimensional template for relocated and replicated alignment of arrays in data-parallel programs for reduced data communication during execution
US5375242A (en) * 1993-09-29 1994-12-20 Hewlett-Packard Company Compiler architecture for cross-module optimization
US5590331A (en) * 1994-12-23 1996-12-31 Sun Microsystems, Inc. Method and apparatus for generating platform-standard object files containing machine-independent code

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292940B1 (en) 1998-01-26 2001-09-18 Nec Corporation Program complete system and its compile method for efficiently compiling a source program including an indirect call for a procedure
WO2000003322A1 (en) * 1998-07-10 2000-01-20 Sony Corporation Method and apparatus for compiling
US7665066B2 (en) 2001-04-12 2010-02-16 Siemens Aktiengesellschaft Method for determining and recording system information and function in distributed parallel component based software systems
JP2016517109A (ja) * 2013-04-02 2016-06-09 グーグル インコーポレイテッド ユーザに指向されかつプロファイル主導の最適化用のフレームワーク
US9760351B2 (en) 2013-04-02 2017-09-12 Google Inc. Framework for user-directed profile-driven optimizations
US10365903B2 (en) 2013-04-02 2019-07-30 Google Llc Framework for user-directed profile-driven optimizations
US11321061B2 (en) 2013-04-02 2022-05-03 Google Llc Framework for user-directed profile-driven optimizations
US11675574B2 (en) 2013-04-02 2023-06-13 Google Llc Framework for user-directed profile-driven optimizations
US12450040B2 (en) 2013-04-02 2025-10-21 Google Llc Framework for user-directed profile-driven optimizations
JP2020126431A (ja) * 2019-02-04 2020-08-20 株式会社日立製作所 一つ以上の機器において処理を実行するシステム及び方法

Also Published As

Publication number Publication date
US5815720A (en) 1998-09-29

Similar Documents

Publication Publication Date Title
US5815720A (en) Use of dynamic translation to collect and exploit run-time information in an optimizing compilation system
US5539907A (en) System for monitoring computer system performance
US5732273A (en) System for monitoring compute system performance
US7353508B2 (en) Method, apparatus and article for generation of debugging information
US7725883B1 (en) Program interpreter
US5768592A (en) Method and apparatus for managing profile data
US5956512A (en) Computer program debugging in the presence of compiler synthesized variables
US9495136B2 (en) Using aliasing information for dynamic binary optimization
US8522222B2 (en) Tracing just-in-time compilation with pointers to local variables
JP2004062858A (ja) データ処理装置内のアプリケーション・コードのコンパイル
US20120198427A1 (en) Ensuring Register Availability for Dynamic Binary Optimization
JP2010198628A (ja) プログラムコード変換方法
JP5719278B2 (ja) 情報処理装置、プロファイル対象決定プログラム及び方法
US6925636B2 (en) Method and apparatus for refining an alias set of address taken variables
CN116775127A (zh) 一种基于RetroWrite框架的静态符号执行插桩方法
US8056061B2 (en) Data processing device and method using predesignated register
Besnard et al. A framework for automatic and parameterizable memoization
Wang et al. Software performance simulation strategies for high-level embedded system design
Magnusson Partial translation
MacLaren Inline routines in VAXELN Pascal
Soest Compiling Second-Order Accelerate Programs to First-Order TensorFlow Graphs
JPH02176938A (ja) 機械語命令最適化方式
Plumbridge et al. Translating Java for resource constrained embedded systems
Korsholm Flash memory in embedded Java programs
Meurer OCamlJIT 2.0-Faster Objective Caml

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040305

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040305

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20060317