CN1143210C - 动态去最佳化编译启动的方法和装置 - Google Patents
动态去最佳化编译启动的方法和装置 Download PDFInfo
- Publication number
- CN1143210C CN1143210C CNB981246729A CN98124672A CN1143210C CN 1143210 C CN1143210 C CN 1143210C CN B981246729 A CNB981246729 A CN B981246729A CN 98124672 A CN98124672 A CN 98124672A CN 1143210 C CN1143210 C CN 1143210C
- Authority
- CN
- China
- Prior art keywords
- frame
- data structure
- deoptimizing
- interpreter
- function
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/52—Binary to binary
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/944,330 US5933635A (en) | 1997-10-06 | 1997-10-06 | Method and apparatus for dynamically deoptimizing compiled activations |
| US944330 | 1997-10-06 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1232213A CN1232213A (zh) | 1999-10-20 |
| CN1143210C true CN1143210C (zh) | 2004-03-24 |
Family
ID=25481204
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNB981246729A Expired - Fee Related CN1143210C (zh) | 1997-10-06 | 1998-10-05 | 动态去最佳化编译启动的方法和装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (3) | US5933635A (enExample) |
| EP (1) | EP0908820A3 (enExample) |
| JP (1) | JPH11237991A (enExample) |
| KR (1) | KR100573043B1 (enExample) |
| CN (1) | CN1143210C (enExample) |
Families Citing this family (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6865734B2 (en) * | 1997-10-06 | 2005-03-08 | Sun Microsystems, Inc. | Method and apparatus for performing byte-code optimization during pauses |
| US6317796B1 (en) | 1997-10-06 | 2001-11-13 | Sun Microsystems, Inc. | Inline database for receiver types in object-oriented systems |
| US5933635A (en) * | 1997-10-06 | 1999-08-03 | Sun Microsystems, Inc. | Method and apparatus for dynamically deoptimizing compiled activations |
| US5995754A (en) * | 1997-10-06 | 1999-11-30 | Sun Microsystems, Inc. | Method and apparatus for dynamically optimizing byte-coded programs |
| US5970249A (en) * | 1997-10-06 | 1999-10-19 | Sun Microsystems, Inc. | Method and apparatus for performing byte-code optimization during pauses |
| US6704927B1 (en) * | 1998-03-24 | 2004-03-09 | Sun Microsystems, Inc. | Static binding of dynamically-dispatched calls in the presence of dynamic linking and loading |
| US6205578B1 (en) * | 1998-08-14 | 2001-03-20 | Ati International Srl | Interpreter for stack-based languages |
| JP2000122875A (ja) * | 1998-10-19 | 2000-04-28 | Internatl Business Mach Corp <Ibm> | 例外処理方法およびシステム |
| GB9825102D0 (en) * | 1998-11-16 | 1999-01-13 | Insignia Solutions Plc | Computer system |
| JP3807860B2 (ja) * | 1999-01-29 | 2006-08-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンパイル方法および装置、並びにメソッド活動度計算方法および装置 |
| US6968549B1 (en) * | 1999-07-02 | 2005-11-22 | Beryl Technical Assays Llc | Method and system for dynamically loading data structures into memory with global constant pool |
| US7150005B2 (en) * | 1999-07-02 | 2006-12-12 | Beryl Technical Assays, Llc | Method and system for global constant management for memory |
| US7761857B1 (en) | 1999-10-13 | 2010-07-20 | Robert Bedichek | Method for switching between interpretation and dynamic translation in a processor system based upon code sequence execution counts |
| US6714904B1 (en) * | 1999-10-13 | 2004-03-30 | Transmeta Corporation | System for using rate of exception event generation during execution of translated instructions to control optimization of the translated instructions |
| JP3356742B2 (ja) * | 1999-11-17 | 2002-12-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラム実行方法 |
| US6526572B1 (en) * | 2000-02-09 | 2003-02-25 | Hewlett-Packard Company | Mechanism for software register renaming and load speculation in an optimizer |
| US6594821B1 (en) | 2000-03-30 | 2003-07-15 | Transmeta Corporation | Translation consistency checking for modified target instructions by comparing to original copy |
| US6615300B1 (en) | 2000-06-19 | 2003-09-02 | Transmeta Corporation | Fast look-up of indirect branch destination in a dynamic translation system |
| US6973646B1 (en) * | 2000-07-21 | 2005-12-06 | International Business Machines Corporation | Method for compiling program components in a mixed static and dynamic environment |
| US6658656B1 (en) * | 2000-10-31 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | Method and apparatus for creating alternative versions of code segments and dynamically substituting execution of the alternative code versions |
| JP3808755B2 (ja) * | 2001-11-07 | 2006-08-16 | 富士通株式会社 | Jitコンパイラを備えた仮想計算機 |
| US6996814B2 (en) | 2001-11-14 | 2006-02-07 | Sun Microsystems, Inc. | Method and apparatus for dynamically compiling byte codes into native code |
| US7181732B2 (en) * | 2001-11-14 | 2007-02-20 | Sun Microsystems, Inc. | Method and apparatus for facilitating lazy type tagging for compiled activations |
| US6738969B2 (en) | 2001-11-14 | 2004-05-18 | Sun Microsystems, Inc. | Non-intrusive gathering of code usage information to facilitate removing unused compiled code |
| US7180909B1 (en) * | 2001-12-17 | 2007-02-20 | Supergate Technology Usa, Inc. | Interface receive circuits for modularized data optimization engines and methods therefor |
| US7020160B1 (en) * | 2001-12-17 | 2006-03-28 | Supergate Technology Usa, Inc. | Interface circuits for modularized data optimization engines and methods therefor |
| US8639849B2 (en) * | 2001-12-17 | 2014-01-28 | Sutech Data Solutions Co., Llc | Integrated circuits for high speed adaptive compression and methods therefor |
| US6973644B2 (en) * | 2002-04-12 | 2005-12-06 | The Mathworks, Inc. | Program interpreter |
| US7051322B2 (en) * | 2002-12-06 | 2006-05-23 | @Stake, Inc. | Software analysis framework |
| US7310723B1 (en) | 2003-04-02 | 2007-12-18 | Transmeta Corporation | Methods and systems employing a flag for deferring exception handling to a commit or rollback point |
| US7743377B2 (en) * | 2004-10-25 | 2010-06-22 | Microsoft Corporation | Cooperative threading in a managed code execution environment |
| US8413162B1 (en) | 2005-06-28 | 2013-04-02 | Guillermo J. Rozas | Multi-threading based on rollback |
| DE602005024399D1 (de) * | 2005-08-30 | 2010-12-09 | Sony Ericsson Mobile Comm Ab | Verfahren und Software für die Optimierung der Positionierung von Software-Funktionen in einem Speicher |
| US8613080B2 (en) | 2007-02-16 | 2013-12-17 | Veracode, Inc. | Assessment and analysis of software security flaws in virtual machines |
| JP2009211190A (ja) * | 2008-02-29 | 2009-09-17 | Hitachi Ltd | 情報処理装置 |
| US20130205282A1 (en) | 2012-02-07 | 2013-08-08 | Microsoft Corporation | Transferring program execution from compiled code to interpreted code |
| US9286063B2 (en) | 2012-02-22 | 2016-03-15 | Veracode, Inc. | Methods and systems for providing feedback and suggested programming methods |
| US8930920B2 (en) | 2012-12-31 | 2015-01-06 | Oracle International Corporation | Self-optimizing interpreter and snapshot compilation |
| US12124586B2 (en) * | 2013-09-13 | 2024-10-22 | Omnissa, Llc | Risk assessment for managed client devices |
| US9965274B2 (en) * | 2013-10-15 | 2018-05-08 | Mill Computing, Inc. | Computer processor employing bypass network using result tags for routing result operands |
| US9569185B2 (en) | 2014-02-07 | 2017-02-14 | Oracle International Corporation | Changing de-optimization guard representation during the compilation process |
| KR20170047957A (ko) * | 2015-10-26 | 2017-05-08 | 삼성전자주식회사 | 반도체 장치의 동작 방법 및 반도체 시스템 |
| US11029929B2 (en) * | 2019-01-24 | 2021-06-08 | Red Hat, Inc. | Using emulation to improve startup time for just-in-time compilation |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5371747A (en) * | 1992-06-05 | 1994-12-06 | Convex Computer Corporation | Debugger program which includes correlation of computer program source code with optimized object code |
| WO1993025964A1 (en) * | 1992-06-05 | 1993-12-23 | Convex Computer Corporation | Computer program debugging in the presence of compiler synthesized variables |
| US5586328A (en) * | 1994-10-21 | 1996-12-17 | Microsoft Corporation | Module dependency based incremental compiler and method |
| US6021272A (en) * | 1995-10-04 | 2000-02-01 | Platinum Technology, Inc. | Transforming and manipulating program object code |
| US5956479A (en) * | 1995-11-13 | 1999-09-21 | Object Technology Licensing Corporation | Demand based generation of symbolic information |
| US6151618A (en) * | 1995-12-04 | 2000-11-21 | Microsoft Corporation | Safe general purpose virtual machine computing system |
| JP3801643B2 (ja) * | 1996-01-24 | 2006-07-26 | サン・マイクロシステムズ・インコーポレイテッド | スタックを用いる演算マシンのための命令フォールディング処理 |
| US5933635A (en) * | 1997-10-06 | 1999-08-03 | Sun Microsystems, Inc. | Method and apparatus for dynamically deoptimizing compiled activations |
| US6110226A (en) * | 1998-02-19 | 2000-08-29 | Cygnus Solutions | Java development environment using optimizing ahead-of-time compiler |
| US6434741B1 (en) * | 1998-04-30 | 2002-08-13 | Hewlett-Packard Company | Method and apparatus for debugging of optimized code using emulation |
| US6263489B1 (en) * | 1998-04-30 | 2001-07-17 | Hewlett-Packard Company | Method and apparatus for debugging of optimized code |
| US6223340B1 (en) * | 1998-10-09 | 2001-04-24 | Sun Microsystems, Inc. | Method for directly inlining virtual calls without on-stack replacement |
| 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 |
| US6507946B2 (en) * | 1999-06-11 | 2003-01-14 | International Business Machines Corporation | Process and system for Java virtual method invocation |
-
1997
- 1997-10-06 US US08/944,330 patent/US5933635A/en not_active Expired - Lifetime
-
1998
- 1998-09-24 EP EP98307752A patent/EP0908820A3/en not_active Withdrawn
- 1998-10-05 CN CNB981246729A patent/CN1143210C/zh not_active Expired - Fee Related
- 1998-10-06 JP JP10319743A patent/JPH11237991A/ja active Pending
- 1998-10-07 KR KR1019980041794A patent/KR100573043B1/ko not_active Expired - Lifetime
-
1999
- 1999-06-18 US US09/336,123 patent/US6240547B1/en not_active Expired - Fee Related
-
2001
- 2001-04-27 US US09/844,545 patent/US6601235B1/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| KR19990036885A (ko) | 1999-05-25 |
| US5933635A (en) | 1999-08-03 |
| JPH11237991A (ja) | 1999-08-31 |
| CN1232213A (zh) | 1999-10-20 |
| US6601235B1 (en) | 2003-07-29 |
| EP0908820A2 (en) | 1999-04-14 |
| US6240547B1 (en) | 2001-05-29 |
| EP0908820A3 (en) | 2004-06-23 |
| KR100573043B1 (ko) | 2006-11-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1143210C (zh) | 动态去最佳化编译启动的方法和装置 | |
| US8104026B2 (en) | Compiler register allocation and compilation | |
| JP4177960B2 (ja) | 増分不要情報収集 | |
| US6971097B1 (en) | Method and apparatus for implementing concurrently running jobs on an extended virtual machine using different heaps managers | |
| US5826262A (en) | Parallel bottom-up construction of radix trees | |
| KR101051872B1 (ko) | 프로그램 실행제어장치 | |
| EP1011043A2 (en) | Method and apparatus for loading a java application program | |
| US6804761B1 (en) | Memory allocation system and method | |
| CN1271889A (zh) | 用于使用寄存器分配器建立调用约定序言和收尾程序代码的方法和装置 | |
| CN101661486A (zh) | 对包含虚拟机的宿主机硬盘进行碎片整理的方法和系统 | |
| JPH06202936A (ja) | コンピュータ主記憶域管理システムおよび方法 | |
| US8972629B2 (en) | Low-contention update buffer queuing for large systems | |
| US11182283B2 (en) | Allocation of memory within a data type-specific memory heap | |
| US7406684B2 (en) | Compiler, dynamic compiler, and replay compiler | |
| US7765527B2 (en) | Per thread buffering for storing profiling data | |
| US20040015935A1 (en) | Techniques for loading class files into virtual machines | |
| CN1329309A (zh) | 操作系统的多语言用户接口 | |
| US6959430B2 (en) | Specialized heaps for creation of objects in object-oriented environments | |
| JP5051961B2 (ja) | モジュール式ガーベッジコレクタを実現するための方法および装置 | |
| WO2002091176A2 (en) | Frameworks for accessing java class files | |
| US7100015B1 (en) | Redirecting external memory allocation operations to an internal memory manager | |
| US11960721B2 (en) | Dynamic storage in key value solid state drive | |
| CN1273910C (zh) | 总线式进程间通信方法 | |
| US7111003B2 (en) | System and method for inputing data to a sort utility from a user program | |
| US7496905B2 (en) | System and method for generating state machines |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1053964 Country of ref document: HK |
|
| C19 | Lapse of patent right due to non-payment of the annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |