JP5016288B2 - 最適化処理方法、及びその言語処理系 - Google Patents
最適化処理方法、及びその言語処理系 Download PDFInfo
- Publication number
- JP5016288B2 JP5016288B2 JP2006284733A JP2006284733A JP5016288B2 JP 5016288 B2 JP5016288 B2 JP 5016288B2 JP 2006284733 A JP2006284733 A JP 2006284733A JP 2006284733 A JP2006284733 A JP 2006284733A JP 5016288 B2 JP5016288 B2 JP 5016288B2
- Authority
- JP
- Japan
- Prior art keywords
- branch
- references
- true
- result
- code
- 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
Landscapes
- Devices For Executing Special Programs (AREA)
Description
Claims (3)
- 記憶部と処理部とを有する計算機システムの前記処理部で実行されるコンパイラにおける最適化処理方法であって,
前記コンパイラによるコンパイル対象のコード中にある条件分岐のうち,2つの参照の指示するインスタンスが等価か否かを参照間の比較演算によって確認し,前記演算結果が真であった場合に分岐先に分岐し,真でなければ,前記2つの参照の指示するインスタンスの等価性を検証するためのメソッドを呼び出し,前記メソッドの返戻値が真であった場合に前記分岐先に分岐するものを求め,
求めた前記条件分岐から,前記参照間の比較演算と前記演算結果に応じた分岐を除去しても,当該実行結果が変化しないか否かを調査し,
前記調査の結果が真ならば,前記条件分岐から,前記参照間の比較演算と前記演算結果が真であった場合に分岐する処理を除去するとともに、
前記参照間の比較演算と,前記演算結果が真であった場合に分岐する処理を除去するより前に,実行時プロファイルから,前記参照間の比較演算の結果が真となった頻度を求め,
前記頻度が小さいと判断した場合に,前記除去をおこなう
最適化処理方法。 - 記憶部と処理部とを有する計算機システムのための言語処理系であって、
前記処理部を、
コンパイル対象のコード中にある条件分岐のうち,2つの参照の指示するインスタンスが等価か否かを参照間の比較演算によって確認し,前記演算結果が真であった場合に分岐先に分岐し,真でなければ,前記2つの参照の指示するインスタンスの等価性を検証するためのメソッドを呼び出し,前記メソッドの返戻値が真であった場合に前記分岐先に分岐するものを求め,
求めた前記条件分岐から,前記参照間の比較演算と前記演算結果に応じた分岐を除去しても,実行結果が変化しないか否かを調査し,
前記調査の結果が真ならば,前記条件分岐から,前記参照間の比較演算と前記演算結果が真であった場合に分岐する処理を除去するとともに、
前記参照間の比較演算と,前記演算結果が真であった場合に分岐する処理を除去するより前に,実行時プロファイルから,前記参照間の比較演算の結果が真となった頻度を求め,
前記頻度が小さいと判断した場合に,前記除去をおこなう
よう実行させる
言語処理系。 - 請求項2記載の言語処理系であって,
前記言語処理系は、静的コンパイラと、前記中間コードを実行するインタプリタと動的コンパイラと実行時ライブラリとから構成される実行環境とからなり、
前記処理部を、
前記静的コンパイラによって、前記ソースコードを前記中間コードへ変換し、
前記インタプリタが、前記中間コードが含む分岐処理を実行する際、前記分岐に関する情報を実行プロファイルに記録し、
前記動的コンパイラが、求めた前記条件分岐から,前記実行時プロファイルを参照して、前記参照間の比較演算と前記演算結果に応じた分岐を除去しても,前記実行結果が変化しないか否かを調査するよう実行させる
言語処理系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006284733A JP5016288B2 (ja) | 2006-10-19 | 2006-10-19 | 最適化処理方法、及びその言語処理系 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006284733A JP5016288B2 (ja) | 2006-10-19 | 2006-10-19 | 最適化処理方法、及びその言語処理系 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008102740A JP2008102740A (ja) | 2008-05-01 |
JP5016288B2 true JP5016288B2 (ja) | 2012-09-05 |
Family
ID=39437025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006284733A Expired - Fee Related JP5016288B2 (ja) | 2006-10-19 | 2006-10-19 | 最適化処理方法、及びその言語処理系 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5016288B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013242700A (ja) | 2012-05-21 | 2013-12-05 | Internatl Business Mach Corp <Ibm> | コード最適化方法、プログラム及びシステム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62259141A (ja) * | 1986-05-06 | 1987-11-11 | Hitachi Ltd | コンパイル方式 |
JPH07114473A (ja) * | 1993-10-19 | 1995-05-02 | Fujitsu Ltd | コンパイラの命令列最適化方法 |
JP2755154B2 (ja) * | 1994-02-23 | 1998-05-20 | 日本電気株式会社 | プログラム変換処理装置およびプログラム変換処理方法 |
JP3470948B2 (ja) * | 1999-01-28 | 2003-11-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 動的コンパイル時期決定方法、バイトコード実行モード選択方法、及びコンピュータ |
JP2000242504A (ja) * | 1999-02-19 | 2000-09-08 | Nec Corp | コンパイラ装置 |
-
2006
- 2006-10-19 JP JP2006284733A patent/JP5016288B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008102740A (ja) | 2008-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3790683B2 (ja) | コンピュータ装置、その例外処理プログラム及びコンパイル方法 | |
US6412109B1 (en) | Method for optimizing java bytecodes in the presence of try-catch blocks | |
US11216258B2 (en) | Direct function call substitution using preprocessor | |
JP5415557B2 (ja) | デバッギングのためのユーザ・スクリプト・コードの変換 | |
US6662362B1 (en) | Method and system for improving performance of applications that employ a cross-language interface | |
EP0905617B1 (en) | Method for generating a java bytecode data flow graph | |
US7725883B1 (en) | Program interpreter | |
US9645912B2 (en) | In-place function modification | |
JP6275819B2 (ja) | ユーザに指向されかつプロファイル主導の最適化用のフレームワーク | |
JP3284956B2 (ja) | プログラム変換方法、プログラム変換装置及びプログラム変換プログラムを記憶した記憶媒体 | |
US20110016460A1 (en) | Multiple pass compiler instrumentation infrastructure | |
US7320121B2 (en) | Computer-implemented system and method for generating embedded code to add functionality to a user application | |
US8387026B1 (en) | Compile-time feedback-directed optimizations using estimated edge profiles from hardware-event sampling | |
US20110067018A1 (en) | Compiler program, compilation method, and computer system | |
JP5303795B2 (ja) | アプリケーションの解析方法、解析システム及び解析プログラム | |
CN112882718A (zh) | 编译处理方法、装置、设备及存储介质 | |
US8056061B2 (en) | Data processing device and method using predesignated register | |
US20010039653A1 (en) | Program conversion method, program conversion apparatus, storage medium for storing program conversion program and program conversion program | |
JP5016288B2 (ja) | 最適化処理方法、及びその言語処理系 | |
CN105786465A (zh) | 一种脚本语言执行方法及装置 | |
JP2008305337A (ja) | プログラム変換装置、プログラム変換方法、プログラム、記憶媒体、デバッグ装置、デバッグ方法及びプログラム開発システム | |
JP5891976B2 (ja) | コンパイル実行・管理方法、装置、及びプログラム | |
JP2008102748A (ja) | プログラム実行方法、言語処理系、及び実行時ルーチン | |
RU2390821C1 (ru) | Способ динамической инструментации | |
KR20240162785A (ko) | 디컴파일러를 활용한 native JNI 프로그램의 정적 분석 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120313 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120511 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120605 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120608 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150615 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |