ATE235078T1 - Genaues verfahren zum inlinen von virtuellen anrufen - Google Patents

Genaues verfahren zum inlinen von virtuellen anrufen

Info

Publication number
ATE235078T1
ATE235078T1 AT99951407T AT99951407T ATE235078T1 AT E235078 T1 ATE235078 T1 AT E235078T1 AT 99951407 T AT99951407 T AT 99951407T AT 99951407 T AT99951407 T AT 99951407T AT E235078 T1 ATE235078 T1 AT E235078T1
Authority
AT
Austria
Prior art keywords
code
inline
exact procedure
making virtual
virtual calls
Prior art date
Application number
AT99951407T
Other languages
English (en)
Inventor
David L Detlefs
Ole Agesen
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
Application granted granted Critical
Publication of ATE235078T1 publication Critical patent/ATE235078T1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Electrotherapy Devices (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
AT99951407T 1998-09-14 1999-09-08 Genaues verfahren zum inlinen von virtuellen anrufen ATE235078T1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/152,735 US6161217A (en) 1998-09-14 1998-09-14 Accurate method for inlining virtual calls
PCT/US1999/020576 WO2000016191A2 (en) 1998-09-14 1999-09-08 Accurate method for inlining virtual calls

Publications (1)

Publication Number Publication Date
ATE235078T1 true ATE235078T1 (de) 2003-04-15

Family

ID=22544192

Family Applications (1)

Application Number Title Priority Date Filing Date
AT99951407T ATE235078T1 (de) 1998-09-14 1999-09-08 Genaues verfahren zum inlinen von virtuellen anrufen

Country Status (7)

Country Link
US (1) US6161217A (de)
EP (1) EP1114366B1 (de)
JP (1) JP2002525707A (de)
AT (1) ATE235078T1 (de)
AU (1) AU6384999A (de)
DE (1) DE69906102D1 (de)
WO (1) WO2000016191A2 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223340B1 (en) * 1998-10-09 2001-04-24 Sun Microsystems, Inc. Method for directly inlining virtual calls without on-stack replacement
CA2255050C (en) * 1998-11-30 2007-06-19 Ibm Canada Limited-Ibm Canada Limitee A method and system for debugging hybrid source code
US6327702B1 (en) * 1998-12-30 2001-12-04 Microsoft Corporation Generating a compiled language program for an interpretive runtime environment
JP3762867B2 (ja) * 1999-01-29 2006-04-05 富士通株式会社 コンパイラ装置、コンパイル方法、およびそのためのプログラムを格納した記憶媒体
US6507946B2 (en) * 1999-06-11 2003-01-14 International Business Machines Corporation Process and system for Java virtual method invocation
US6754887B1 (en) * 1999-10-22 2004-06-22 International Business Machines Corporation Methods for implementing virtual bases with fixed offsets in object oriented applications
US7028293B2 (en) * 2001-03-30 2006-04-11 Microsoft Corporation Constant return optimization transforming indirect calls to data fetches
WO2003032157A1 (fr) 2001-09-18 2003-04-17 Asahi Kasei Kabushiki Kaisha Compilateur
US7222331B2 (en) * 2003-01-16 2007-05-22 Sun Microsystems, Inc. Linking of virtual methods
US8121955B2 (en) * 2003-01-16 2012-02-21 Oracle America, Inc. Signing program data payload sequence in program loading
US7484095B2 (en) * 2003-01-16 2009-01-27 Sun Microsystems, Inc. System for communicating program data between a first device and a second device
US7281244B2 (en) * 2003-01-16 2007-10-09 Sun Microsystems, Inc. Using a digital fingerprint to commit loaded data in a device
US7272830B2 (en) * 2003-01-16 2007-09-18 Sun Microsystems, Inc. Ordering program data for loading on a device
US7386686B2 (en) * 2003-03-28 2008-06-10 Intel Corporation Inlining with stack trace cache-based dynamic profiling
CA2425719A1 (en) * 2003-04-25 2004-10-25 Dean Mills Modular system and method for programming machine automation controls
US7340732B2 (en) * 2003-11-26 2008-03-04 Sun Microsystems, Inc. Updating profile frequency for procedure inlining
US8037482B1 (en) * 2004-09-14 2011-10-11 Azul Systems, Inc. Accelerated class check
US7552302B1 (en) * 2004-09-14 2009-06-23 Azul Systems, Inc. Ordering operation
US8370821B2 (en) * 2007-08-21 2013-02-05 International Business Machines Corporation Method for enabling profile-based call site tailor-ing using profile gathering of cloned functions
US8402438B1 (en) 2007-12-03 2013-03-19 Cadence Design Systems, Inc. Method and system for generating verification information and tests for software
US8156474B2 (en) * 2007-12-28 2012-04-10 Cadence Design Systems, Inc. Automation of software verification
US8281296B2 (en) * 2008-08-12 2012-10-02 Oracle America, Inc. Cross-ISA inlining in a system virtual machine
US8504344B2 (en) * 2008-09-30 2013-08-06 Cadence Design Systems, Inc. Interface between a verification environment and a hardware acceleration engine
JP5840014B2 (ja) * 2012-02-01 2016-01-06 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation コンパイル方法、プログラムおよび情報処理装置
JP2013235386A (ja) 2012-05-08 2013-11-21 Internatl Business Mach Corp <Ibm> 最適化装置、最適化方法、及び最適化プログラム
JP6080602B2 (ja) 2013-02-22 2017-02-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 実フットプリント算出方法、該算出方法を用いたインラインするメソッドの決定方法、装置及びプログラム
GB202101977D0 (en) 2021-02-12 2021-03-31 Taravu Ltd Optimising computer program code
CN112905242B (zh) * 2021-03-23 2022-12-06 浙江大华技术股份有限公司 分支路径跳转方法、装置、存储介质及电子装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481708A (en) * 1992-06-05 1996-01-02 Borland International, Inc. System and methods for optimizing object-oriented compilations
JP3178151B2 (ja) * 1993-03-19 2001-06-18 富士ゼロックス株式会社 オブジェクト指向言語のメッセージコンパイル装置
US5845331A (en) * 1994-09-28 1998-12-01 Massachusetts Institute Of Technology Memory system including guarded pointers
US5835771A (en) * 1995-06-07 1998-11-10 Rogue Wave Software, Inc. Method and apparatus for generating inline code using template metaprograms
US5815719A (en) * 1996-05-07 1998-09-29 Sun Microsystems, Inc. Method and apparatus for easy insertion of assembler code for optimization

Also Published As

Publication number Publication date
WO2000016191A3 (en) 2000-05-25
JP2002525707A (ja) 2002-08-13
US6161217A (en) 2000-12-12
AU6384999A (en) 2000-04-03
EP1114366A2 (de) 2001-07-11
DE69906102D1 (de) 2003-04-24
EP1114366B1 (de) 2003-03-19
WO2000016191A2 (en) 2000-03-23

Similar Documents

Publication Publication Date Title
ATE235078T1 (de) Genaues verfahren zum inlinen von virtuellen anrufen
DE69129919D1 (de) Verfahren zur Kompilierung von Rechnerbefehlen, um Cachespeicherleistung zu verbessern
DE69701141D1 (de) Multithreaded mikroprozessor ausgestaltet zur ausführung von unterbrechungsverarbeitungsroutinen als threads
DE60044752D1 (de) Verzweigungsbefehl für einen mehrfachverarbeitungsprozessor
ATE108569T1 (de) Verfahren zur verarbeitung von unterbrechungen in einem digitalen rechnersystem.
MX9805725A (es) Procesamiento distribuido.
DE69534148D1 (de) Rechnersystem zur Ausführung von Verzweigungsbefehlen
EA199900162A1 (ru) Ингибиторы клеточной адгезии
FI955609A0 (fi) Menetelmä käsinkirjoitetun syötteen tunnistamiseksi
EP0997816A3 (de) Verfahren und Gerät zur Auswahl von Kompilierarten während der Laufzeit
DE69911468D1 (de) Verfahren zum direkten inlinen von virtuellen anrufen ohne on-stack-vertretung
DE69722138D1 (de) Code-Optimierer für Pipeline-Rechner
DE69734093D1 (de) System zur Ausführung von Gleitkommaoperationen
DE69724516D1 (de) Rechnersystem und Verfahren zur Ausführung von architekturspezifischem Programmcode mit geringen Laufzeitspeicherbereichsanforderungen
DE69814174D1 (de) Java laufzeitsystem mit veränderter sammlung von konstanten
EP0932100A3 (de) Programmkompiliersystem und dessen Kompilierverfahren zum effizienten Kompilieren eines einen indirekten Prozeduranruf enthaltenden Quellprogramms
ATE347708T1 (de) Verfahren zur durchführung eines gesicherten programms in einer mikroprozessor-karte mit einem gesicherten programm
DE60122337D1 (de) Verwendung von taci als antitumormittel
ES2127558T3 (es) Agentes conservantes.
ES1046053U (es) Parte de encofrado o de armazon utilizable en una obra
BR9802354B1 (pt) método para impedir inspeção não autorizada de código fonte de um programa de computador.
ATE274273T1 (de) Verfahren und system zur vorbeugung von unerwüschten betätigungen von ausführbaren objekten
CA2240584A1 (en) Compile-time data dependency verification
ATE363658T1 (de) Molekülmodell für vla-4-inhibitoren
EP0790555A3 (de) Kompiliergerät und -verfahren

Legal Events

Date Code Title Description
RER Ceased as to paragraph 5 lit. 3 law introducing patent treaties