DE69906102D1 - Genaues verfahren zum inlinen von virtuellen anrufen - Google Patents
Genaues verfahren zum inlinen von virtuellen anrufenInfo
- Publication number
- DE69906102D1 DE69906102D1 DE69906102T DE69906102T DE69906102D1 DE 69906102 D1 DE69906102 D1 DE 69906102D1 DE 69906102 T DE69906102 T DE 69906102T DE 69906102 T DE69906102 T DE 69906102T DE 69906102 D1 DE69906102 D1 DE 69906102D1
- Authority
- DE
- Germany
- Prior art keywords
- code
- polymorphic
- inline virtual
- inlining
- compiler
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
- G06F9/4491—Optimising based on receiver type
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 |
---|---|
DE69906102D1 true DE69906102D1 (de) | 2003-04-24 |
Family
ID=22544192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69906102T Expired - Lifetime DE69906102D1 (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 (27)
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 |
EP1429244A4 (de) * | 2001-09-18 | 2006-10-04 | Asahi Chemical Ind | Compiler |
US7222331B2 (en) * | 2003-01-16 | 2007-05-22 | Sun Microsystems, Inc. | Linking of virtual methods |
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 |
US8121955B2 (en) * | 2003-01-16 | 2012-02-21 | Oracle America, Inc. | Signing program data payload sequence in program loading |
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 |
US7401202B1 (en) * | 2004-09-14 | 2008-07-15 | Azul Systems, Inc. | Memory addressing |
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 | 実フットプリント算出方法、該算出方法を用いたインラインするメソッドの決定方法、装置及びプログラム |
CN112905242B (zh) * | 2021-03-23 | 2022-12-06 | 浙江大华技术股份有限公司 | 分支路径跳转方法、装置、存储介质及电子装置 |
Family Cites Families (5)
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 |
-
1998
- 1998-09-14 US US09/152,735 patent/US6161217A/en not_active Expired - Fee Related
-
1999
- 1999-09-08 JP JP2000570662A patent/JP2002525707A/ja active Pending
- 1999-09-08 DE DE69906102T patent/DE69906102D1/de not_active Expired - Lifetime
- 1999-09-08 EP EP99951407A patent/EP1114366B1/de not_active Expired - Lifetime
- 1999-09-08 WO PCT/US1999/020576 patent/WO2000016191A2/en active IP Right Grant
- 1999-09-08 AU AU63849/99A patent/AU6384999A/en not_active Abandoned
- 1999-09-08 AT AT99951407T patent/ATE235078T1/de not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US6161217A (en) | 2000-12-12 |
EP1114366A2 (de) | 2001-07-11 |
AU6384999A (en) | 2000-04-03 |
WO2000016191A2 (en) | 2000-03-23 |
EP1114366B1 (de) | 2003-03-19 |
JP2002525707A (ja) | 2002-08-13 |
ATE235078T1 (de) | 2003-04-15 |
WO2000016191A3 (en) | 2000-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69906102D1 (de) | Genaues verfahren zum inlinen von virtuellen anrufen | |
DE69129919D1 (de) | Verfahren zur Kompilierung von Rechnerbefehlen, um Cachespeicherleistung zu verbessern | |
ATE108569T1 (de) | Verfahren zur verarbeitung von unterbrechungen in einem digitalen rechnersystem. | |
BR0209632A (pt) | Método e sistema para instalação condicional e execução de serviços em um ambiente computacional seguro | |
DE69739384D1 (de) | Multiprozessorsystem ausgestaltet zur Ausführung von softwareinitiierten Vorausladeoperationen | |
MX9805725A (es) | Procesamiento distribuido. | |
DE60008267D1 (de) | Verfahren zum planen von zeitverteilten anwendungen in einem rechnerbetriebssystem | |
HK1051729A1 (en) | Method and processor for branch instruction | |
ATE234484T1 (de) | Dynamische umsetzung von statisch gebundenen funktionsaufrufen in dynamisch gebundenen funktionsaufrufen ohne rekompilierung | |
EP0997816A3 (de) | Verfahren und Gerät zur Auswahl von Kompilierarten während der Laufzeit | |
FI955609A0 (fi) | Menetelmä käsinkirjoitetun syötteen tunnistamiseksi | |
DE3650232T2 (de) | Rechnersteuerung mit Verzweigung in einem einzigen Zyklus. | |
DE69007732T2 (de) | Befestigungsvorrichtung für Computerperipherien. | |
DE69911468D1 (de) | Verfahren zum direkten inlinen von virtuellen anrufen ohne on-stack-vertretung | |
DE69740171D1 (de) | Rechnersystem und Verfahren zur Ausführung von netzmobilem Programmkode mit geringen Laufzeitsspeicherbereichsanforderungen | |
WO2001044927A3 (en) | Method and apparatus for performing prefetching at the function level | |
Jones et al. | A self-applicable partial evaluator for the lambda calculus | |
CA2240508A1 (en) | Distributed processing | |
DE68910676T2 (de) | Verwendung von Creosot als antispastischer Wirkstoff. | |
DK0914605T3 (da) | Molekylemodel for VLA-4-inhibitorer | |
CA2240584A1 (en) | Compile-time data dependency verification | |
ATE268919T1 (de) | Prozessorssystem | |
EP0790555A3 (de) | Kompiliergerät und -verfahren | |
TW355770B (en) | Program execution method and device using the same | |
ATE257255T1 (de) | Verfahren zur absicherung von einsprungsadressen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8332 | No legal effect for de |