JP2002525707A - バーチャルコールのインライン化のための精確な方法 - Google Patents

バーチャルコールのインライン化のための精確な方法

Info

Publication number
JP2002525707A
JP2002525707A JP2000570662A JP2000570662A JP2002525707A JP 2002525707 A JP2002525707 A JP 2002525707A JP 2000570662 A JP2000570662 A JP 2000570662A JP 2000570662 A JP2000570662 A JP 2000570662A JP 2002525707 A JP2002525707 A JP 2002525707A
Authority
JP
Japan
Prior art keywords
code
object code
inlined
call procedure
computer system
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.)
Pending
Application number
JP2000570662A
Other languages
English (en)
Japanese (ja)
Inventor
デトレフス,デイビッド,エル
エイジェセン,オレ
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.)
Sun Microsystems Inc
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
Publication of JP2002525707A publication Critical patent/JP2002525707A/ja
Pending legal-status Critical Current

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/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
JP2000570662A 1998-09-14 1999-09-08 バーチャルコールのインライン化のための精確な方法 Pending JP2002525707A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/152,735 1998-09-14
US09/152,735 US6161217A (en) 1998-09-14 1998-09-14 Accurate method for inlining virtual calls
PCT/US1999/020576 WO2000016191A2 (fr) 1998-09-14 1999-09-08 Procede permettant d'effectuer avec precision une inclusion par reference d'appels virtuels

Publications (1)

Publication Number Publication Date
JP2002525707A true JP2002525707A (ja) 2002-08-13

Family

ID=22544192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000570662A Pending JP2002525707A (ja) 1998-09-14 1999-09-08 バーチャルコールのインライン化のための精確な方法

Country Status (7)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9383980B2 (en) 2013-02-22 2016-07-05 International Business Machines Corporation Determining a method to inline using an actual footprint calculation

Families Citing this family (26)

* 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 (fr) * 1998-11-30 2007-06-19 Ibm Canada Limited-Ibm Canada Limitee Methode et systeme de debogage de code source hybride
US6327702B1 (en) * 1998-12-30 2001-12-04 Microsoft Corporation Generating a compiled language program for an interpretive runtime environment
WO2000045260A1 (fr) * 1999-01-29 2000-08-03 Fujitsu Limited Compilateur, procede de compilation et support de stockage sur lequel est stocke un programme pour la mise en oeuvre dudit procede
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 (fr) * 2001-09-18 2006-10-04 Asahi Chemical Ind Compilateur
US7484095B2 (en) * 2003-01-16 2009-01-27 Sun Microsystems, Inc. System for communicating program data between a first device and a second device
US8121955B2 (en) * 2003-01-16 2012-02-21 Oracle America, Inc. Signing program data payload sequence in program loading
US7222331B2 (en) * 2003-01-16 2007-05-22 Sun Microsystems, Inc. Linking of virtual methods
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 (fr) * 2003-04-25 2004-10-25 Dean Mills Systeme modulaire et methode de programmation de commandes d'automatisation de machines
US7340732B2 (en) * 2003-11-26 2008-03-04 Sun Microsystems, Inc. Updating profile frequency for procedure inlining
US7865701B1 (en) * 2004-09-14 2011-01-04 Azul Systems, Inc. Concurrent atomic execution
US8037482B1 (en) * 2004-09-14 2011-10-11 Azul Systems, Inc. Accelerated class check
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> 最適化装置、最適化方法、及び最適化プログラム
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9383980B2 (en) 2013-02-22 2016-07-05 International Business Machines Corporation Determining a method to inline using an actual footprint calculation

Also Published As

Publication number Publication date
ATE235078T1 (de) 2003-04-15
EP1114366A2 (fr) 2001-07-11
WO2000016191A3 (fr) 2000-05-25
AU6384999A (en) 2000-04-03
US6161217A (en) 2000-12-12
WO2000016191A2 (fr) 2000-03-23
EP1114366B1 (fr) 2003-03-19
DE69906102D1 (de) 2003-04-24

Similar Documents

Publication Publication Date Title
JP2002525707A (ja) バーチャルコールのインライン化のための精確な方法
CA2245611C (fr) Methode et appareil servant a ameliorer les operations sur des valeurs de type primaire sans surcharge statique
US6223340B1 (en) Method for directly inlining virtual calls without on-stack replacement
US5615400A (en) System for object oriented dynamic linking based upon a catalog of registered function set or class identifiers
US5475840A (en) High performance dynamic linking through caching
US5613120A (en) System and method for enabling, without recompilation, modification of class definitions and implementations in an object-oriented computer program
US8156482B2 (en) System and method for efficiently generating native code calls from byte code in virtual machines
US6112025A (en) System and method for dynamic program linking
US6317870B1 (en) System and method for optimization of inter-module procedure calls
KR100503077B1 (ko) 자바 실행 장치 및 자바 실행 방법
US5960197A (en) Compiler dispatch function for object-oriented C
JP2002517033A (ja) 静的束縛された機能呼出から動的束縛された機能呼出への再コンパイルを必要としない動的切り換え
US20040268301A1 (en) Adding new compiler methods to an integrated development environment
JP2002527815A (ja) プログラムコード変換方法
JPH11327916A (ja) コンパイル済コ―ドにおけるダイナミッククラス初期化チェックのコスト低減技術
US20070006201A1 (en) Method and system for generating and applying patches to a computer program concurrently with its execution
US6631517B1 (en) Software constructs that facilitate partial evaluation of source code
JP2003508844A (ja) オブジェクト指向コンピュータプログラムの変換および実行
US7003768B2 (en) Method and apparatus for class intialization barriers and access to class variables in multitasking virtual machines
US6931638B2 (en) Method and apparatus to facilitate sharing optimized instruction code in a multitasking virtual machine
US6810519B1 (en) Achieving tight binding for dynamically loaded software modules via intermodule copying
JP4005724B2 (ja) マルチプルリターンサイトを実現するための方法及び装置
US7032230B2 (en) Efficient virtual function calls for compiled/interpreted environments
US7290176B2 (en) Method and system for generating stacked register dumps from backing-store memory
Cisternino Multi-stage and Meta-programming support in strongly typed execution engines