JP2007505399A - 混合モード命令の動的な最適コンパイルのための方法及び装置 - Google Patents
混合モード命令の動的な最適コンパイルのための方法及び装置 Download PDFInfo
- Publication number
- JP2007505399A JP2007505399A JP2006526229A JP2006526229A JP2007505399A JP 2007505399 A JP2007505399 A JP 2007505399A JP 2006526229 A JP2006526229 A JP 2006526229A JP 2006526229 A JP2006526229 A JP 2006526229A JP 2007505399 A JP2007505399 A JP 2007505399A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- native software
- instructions
- software instruction
- native
- 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.)
- Granted
Links
Images
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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F8/4434—Reducing the memory space required by the program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F8/4441—Reducing the execution time required by the program code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
一実施形態では、提供された方法は、非ネイティブソフトウェア命令をデバイスで受け取る段階と、デバイスで行われる、非ネイティブソフトウェア命令に基づいて第1命令セットから第1ネイティブソフトウェア命令を生成する段階と、第1ネイティブソフトウェア命令をデバイスで実行する段階と、デバイスで行われる、非ネイティブソフトウェア命令に基づいて第2命令セットから第2ネイティブソフトウェア命令を生成する段階と、第2ネイティブソフトウェア命令をデバイスで実行する段階とを備える。
Description
例えば、開示されたハードウェア及びソフトウェアコンポーネントのいくつか又は全ては、専用のハードウェアだけ、ソフトウェアだけ、ファームウェアだけ、或いはハードウェア、ファームウェア及び/又はソフトウェアのいくつかの組み合わせに組み入れられることができると考えられる。
言語コンパイラ204の例は、Java(登録商標)コンパイラ、C#コンパイラ、J#コンパイラ、Visual Basic .NETコンパイラ、Visual C++ .NETコンパイラ等であってよい。言語コンパイラ204は、高レベル記号型言語で記述されたコンピュータプログラム(例えば、複数のアプリケーション202)を、中間言語命令(すなわち、非ネイティブ命令)に変換する。
当業者が容易に理解できるように、サム命令は、サイズが2オクテット(すなわち、バイト)である16ビットであるので、サム命令カウントは2が乗ぜられる。
Claims (30)
- 非ネイティブソフトウェア命令を実行する方法であって、
前記非ネイティブソフトウェア命令をデバイスで受け取る段階と、
前記非ネイティブソフトウェア命令に基づいて第1命令セットから第1ネイティブソフトウェア命令を生成する段階であって、前記デバイスで行われる段階と、
前記第1ネイティブソフトウェア命令を前記デバイスで実行する段階と、
前記非ネイティブソフトウェア命令に基づいて第2命令セットから第2ネイティブソフトウェア命令を生成する段階であって、前記デバイスで行われる段階と、
前記第2ネイティブソフトウェア命令を前記デバイスで実行する段階と
を備える方法。 - 前記第1ネイティブソフトウェア命令が実行された回数をカウントする段階と、
前記第1ネイティブソフトウェア命令が実行された前記回数を閾値と比較する段階と
をさらに備え、
前記第2ネイティブソフトウェア命令を生成する段階は、(i)前記閾値と等しい前記回数、及び(ii)前記閾値を超える前記回数の1つに応答する
請求項1に記載の方法。 - 前記第1ネイティブソフトウェア命令が実行された前記回数をカウントする手段を挿入する段階
をさらに備える請求項2に記載の方法。 - 動的ランタイム設定パラメータを通じて前記閾値を受け取る段階
をさらに備える請求項2に記載の方法。 - 前記非ネイティブソフトウェア命令を前記デバイスで受け取る段階は、
中間言語命令を前記デバイスで受け取る段階
を有する請求項1に記載の方法。 - 前記非ネイティブソフトウェア命令を前記デバイスで受け取る段階は、
Javaバイトコードを前記デバイスで受け取る段階
を有する請求項1に記載の方法。 - 前記非ネイティブソフトウェア命令を前記デバイスで受け取る段階は、
前記非ネイティブソフトウェア命令を、ハンドヘルドコンピューティングデバイスで無線により受け取る段階
を有する請求項1に記載の方法。 - 前記第1ネイティブソフトウェア命令はXビット幅の命令を有し、前記第2ネイティブソフトウェア命令はYビット幅の命令を有し、XはYより小さい
請求項1に記載の方法。 - 前記第1ネイティブソフトウェア命令は16ビット幅の命令を有し、前記第2ネイティブソフトウェア命令は32ビット幅の命令を有する
請求項1に記載の方法。 - 前記第1ネイティブソフトウェア命令はサム命令を有し、前記第2ネイティブソフトウェア命令はARM命令を有する
請求項1に記載の方法。 - 前記第1ネイティブソフトウェア命令を生成する段階は、
前記非ネイティブソフトウェア命令をジャストインタイムコンパイラを用いて前記デバイスでコンパイルする段階
を有する請求項1に記載の方法。 - 前記第1ネイティブソフトウェア命令の生成の前に第1コード最適化オプションを設定する段階であって、前記第1コード最適化オプションはより小さいコードを生成させる段階と、
前記第2ネイティブソフトウェア命令の生成の前に第2コード最適化オプションを設定する段階であって、前記第2コード最適化オプションはより高速なコードを生成させる段階と
をさらに備える請求項1に記載の方法。 - 第1ネイティブソフトウェア命令を生成する段階は、第1の複数のネイティブソフトウェア命令を生成する段階を有し、
第2のネイティブソフトウェア命令を生成する段階は、第2の複数のネイティブソフトウェア命令を生成する段階を有し、
前記方法は、
前記第1の複数のネイティブソフトウェア命令に含まれる第1の命令数をカウントする段階と、
前記第2の複数のネイティブソフトウェア命令に含まれる第2の命令数をカウントする段階と、
前記第1の命令数と前記第2の命令数とを比較する段階と
をさらに備え、
前記第1ネイティブソフトウェア命令を実行する段階は、(i)前記第1の命令数と等しい前記第2の命令数、及び(ii)前記第1の命令数を超える前記第2の命令数の1つに応答する
請求項1に記載の方法。 - 前記第1の命令数及び前記第2の命令数を比較する段階
をさらに備え、
前記第2ネイティブソフトウェア命令を実行する段階は、予め定められた閾値より大きく前記第2の命令数を超えない前記第1の命令数に応答する
請求項13に記載の方法。 - 前記第1ネイティブソフトウェア命令を測定して第1バイト数を得る段階と、
前記第2ネイティブソフトウェア命令を測定して第2バイト数を得る段階と、
前記第1バイト数と前記第2バイト数とを比較する段階と
をさらに備え、
前記第1ネイティブソフトウェア命令を実行する段階は、前記第2バイト数より少なくとも予め定められた閾値だけ小さい前記第1バイト数に応答する
請求項1に記載の方法。 - 前記第1ネイティブソフトウェア命令を測定して第1バイト数を得る段階と、
前記第2ネイティブソフトウェア命令を測定して第2バイト数を得る段階と、
前記第1バイト数と前記第2バイト数とを比較する段階であって、前記第2ネイティブソフトウェア命令を実行する段階は、前記第2バイト数より少なくとも予め定められた閾値だけ小さくない前記第1バイト数に応答する段階と
をさらに備える請求項1に記載の方法。 - 複数の機械アクセス可能命令を含む機械アクセス可能メディアを備える製品であって、前記複数の機械アクセス可能命令は、実行された場合に、デバイスに、
非ネイティブソフトウェア命令を前記デバイスで受け取らせ、
前記非ネイティブソフトウェア命令に基づいて第1命令セットから第1ネイティブソフトウェア命令を生成させ、前記第1ネイティブソフトウェア命令の前記生成は前記デバイスで行われ、
前記第1ネイティブソフトウェア命令を前記デバイスで実行させ、
前記非ネイティブソフトウェア命令に基づいて第2命令セットから第2ネイティブソフトウェア命令を生成させ、前記第2ネイティブソフトウェア命令の前記生成は前記デバイスで行われ、
前記第2ネイティブソフトウェア命令を前記デバイスで実行させる
製品。 - 前記複数の機械アクセス可能命令は、前記デバイスに、
前記第1ネイティブソフトウェア命令が実行された回数をカウントさせ、
前記第1ネイティブソフトウェア命令が実行された前記回数を閾値と比較させ、前記第2ネイティブソフトウェア命令の生成は、(i)前記閾値と等しい前記回数、及び(ii)前記閾値を超える前記回数の1つに応答させる
請求項17に記載の機械アクセス可能メディア。 - 前記複数の機械アクセス可能命令は、前記デバイスに、
前記第1ネイティブソフトウェア命令が実行された前記回数をカウントする手段を挿入させる
請求項18に記載の機械アクセス可能メディア。 - 前記非ネイティブソフトウェア命令は中間言語命令を有する
請求項17に記載の機械アクセス可能メディア。 - 前記第1ネイティブソフトウェア命令はXビット幅の命令を有し、前記第2ネイティブソフトウェア命令はYビット幅の命令を有し、XはYより小さい
請求項17に記載の機械アクセス可能メディア。 - 前記第1ネイティブソフトウェア命令はサム命令を有し、前記第2ネイティブソフトウェア命令はARM命令を有する
請求項17に記載の機械アクセス可能メディア。 - 前記複数の機械アクセス可能命令は、少なくともジャストインタイムコンパイラの一部を含む
請求項17に記載の機械アクセス可能メディア。 - 前記第1ネイティブソフトウェア命令は第1の複数のネイティブソフトウェア命令を含み、前記第2ネイティブソフトウェア命令は第2の複数のネイティブソフトウェア命令を含み、前記複数の機械アクセス可能命令は、前記デバイスに、
前記第1の複数のネイティブソフトウェア命令に含まれる第1の命令数をカウントさせ、
前記第2の複数のネイティブソフトウェア命令に含まれる第2の命令数をカウントさせ、
前記第1の命令数と前記第2の命令数とを比較させ、前記第1ネイティブソフトウェア命令の実行は、(i)前記第1の命令数と等しい前記第2の命令数、及び(ii)前記第1の命令数を超える前記第2の命令数の1つに応答させる
請求項17に記載の機械アクセス可能メディア。 - 前記複数の機械アクセス可能命令は、前記デバイスに、
前記第1の命令数と第2の命令数とを比較させ、前記第2ネイティブソフトウェア命令の実行は、予め定められた閾値より大きく前記第2の命令数を超える前記第1の命令数に応答させる
請求項24に記載の機械アクセス可能メディア。 - 前記複数の機械アクセス可能命令は、前記デバイスに、
前記第1ネイティブソフトウェア命令を測定させて第1バイト数を得させ、
前記第2ネイティブソフトウェア命令を測定させて第2バイト数を得させ、
前記第1バイト数と前記第2バイト数とを比較させ、前記第1ネイティブソフトウェア命令の実行は、前記第2バイト数より少なくとも予め定められた閾値だけ小さい前記第1バイト数に応答させる
請求項17に記載の機械アクセス可能メディア。 - 前記複数の機械アクセス可能命令は、前記デバイスに、
前記第1ネイティブソフトウェア命令を測定させて第1バイト数を得させ、
前記第2ネイティブソフトウェア命令を測定させて第2バイト数を得させ、
前記第1バイト数と前記第2バイト数とを比較させ、前記第2ネイティブソフトウェア命令の実行は、前記第2バイト数より少なくとも予め定められた閾値だけ小さくない前記第1バイト数に応答させる
請求項17に記載の装置アクセス可能メディア。 - 混合モードコードを実行するよう構成された装置であって、
前記装置は、
記憶装置と、
前記記憶装置に機能的に結合され、前記記憶装置に記憶されたランタイム環境を実行するよう構成された混合モードプロセッサと
を備え、
前記ランタイム環境は、
コンパイルされたバイナリと、
前記コンパイルされたバイナリに基づいて、前記混合モードプロセッサの第1命令セットに関するソフトウェアの第1の命令を生成する第1コードジェネレータと、
前記コンパイルされたバイナリに基づいて、前記混合モードプロセッサの第2命令セットに関するソフトウェアの第2の命令を生成する第2コードジェネレータであって、前記第1命令セットは前記第2命令セットと異なる、第2コードジェネレータと、
前記第1の命令及び前記第2の命令を含むコードを実行する手段
を有する装置。 - 前記第1命令セットはXビット幅の命令セットを有し、前記第2命令セットはYビット幅の命令セットを有し、XはYより小さい
請求項28に記載の装置。 - 前記第1命令セットは16ビット幅の命令セットを有し、前記第2命令セットは32ビット幅の命令セットを有する
請求項28に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/659,457 US7617490B2 (en) | 2003-09-10 | 2003-09-10 | Methods and apparatus for dynamic best fit compilation of mixed mode instructions |
US10/659,457 | 2003-09-10 | ||
PCT/US2004/029083 WO2005026956A1 (en) | 2003-09-10 | 2004-09-08 | Methods and apparatus for dynamic best fit compilation of mixed mode instructions |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007505399A true JP2007505399A (ja) | 2007-03-08 |
JP4801587B2 JP4801587B2 (ja) | 2011-10-26 |
Family
ID=34226955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006526229A Expired - Fee Related JP4801587B2 (ja) | 2003-09-10 | 2004-09-08 | 混合モード命令の動的な最適コンパイルのための方法及び装置 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7617490B2 (ja) |
EP (1) | EP1665042A1 (ja) |
JP (1) | JP4801587B2 (ja) |
CN (1) | CN1849584B (ja) |
WO (1) | WO2005026956A1 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7197628B2 (en) * | 2003-12-10 | 2007-03-27 | Intel Corporation | Method and apparatus for execution flow synonyms |
US7770034B2 (en) * | 2003-12-16 | 2010-08-03 | Intel Corporation | Performance monitoring based dynamic voltage and frequency scaling |
US8141039B2 (en) * | 2006-04-28 | 2012-03-20 | International Business Machines Corporation | Method and system for consolidating machine readable code |
US8302082B2 (en) * | 2006-06-07 | 2012-10-30 | Intel Corporation | Methods and apparatus to provide a managed runtime environment in a sequestered partition |
EP1988451A1 (en) * | 2007-05-04 | 2008-11-05 | Deutsche Thomson OHG | Method for generating a set of machine-interpretable instructions for presenting media content to a user |
FR2928753B1 (fr) * | 2008-03-14 | 2012-09-21 | Pierre Fiorini | Architecture de traitement informatique accelere. |
US8539444B2 (en) * | 2008-06-30 | 2013-09-17 | International Business Machines Corporation | System and method for platform-independent, script-based application generation for spreadsheet software |
US20100082385A1 (en) * | 2008-10-01 | 2010-04-01 | International Business Machines Corporation | System and method for determining temperature of business components for finding business transformation opportunities |
US9092824B2 (en) * | 2008-10-01 | 2015-07-28 | International Business Machines Corporation | System and method for financial transformation |
PL2243500T3 (pl) | 2009-04-23 | 2012-06-29 | Purac Biochem Bv | Biozgodny kompozyt i jego zastosowanie |
EP2243749B1 (en) | 2009-04-23 | 2015-04-08 | PURAC Biochem BV | Resorbable and biocompatible fibre glass compositions and their uses |
US10466989B2 (en) | 2011-09-02 | 2019-11-05 | Microsoft Technology Licensing, Llc. | Fast presentation of markup content having script code |
US9081588B2 (en) * | 2012-01-31 | 2015-07-14 | Mentor Graphics Corporation | Execution time profiling for interpreted programming languages |
US20130262820A1 (en) * | 2012-03-28 | 2013-10-03 | Michael J. Rieschl | Event logger for just-in-time static translation system |
US9274920B2 (en) * | 2012-09-28 | 2016-03-01 | Dialog Semiconductor B.V. | Code profiling in embedded ULE applications |
US9524178B2 (en) * | 2013-12-30 | 2016-12-20 | Unisys Corporation | Defining an instruction path to be compiled by a just-in-time (JIT) compiler |
JP6555981B2 (ja) * | 2015-08-24 | 2019-08-07 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
WO2017153815A1 (en) | 2016-03-11 | 2017-09-14 | Lzlabs Gmbh | Load module compiler |
US10713213B2 (en) * | 2016-12-21 | 2020-07-14 | Intel Corporation | Systems and methods for multi-architecture computing |
US10481876B2 (en) | 2017-01-11 | 2019-11-19 | Microsoft Technology Licensing, Llc | Methods and systems for application rendering |
US11275709B2 (en) | 2017-05-02 | 2022-03-15 | Intel Corporation | Systems and methods for multi-architecture computing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000181724A (ja) * | 1998-10-30 | 2000-06-30 | Sun Microsyst Inc | コンパイルする方法をランタイムにおいて選択する方法及び装置 |
JP2002116908A (ja) * | 2000-10-05 | 2002-04-19 | Arm Ltd | ネイティブおよび非ネイティブの命令集合間相互呼び出し |
JP2002366367A (ja) * | 2001-05-31 | 2002-12-20 | Arm Ltd | プログラム命令解釈 |
JP2003150387A (ja) * | 2001-11-15 | 2003-05-23 | Toshiba Corp | 言語処理装置、言語処理方法、及び言語処理プログラム |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11306026A (ja) * | 1998-04-22 | 1999-11-05 | Toshiba Corp | コード最適化装置、コード最適化方法、及び、コード最適化プログラムを記録したコンピュータ読み取り可能な記録媒体 |
WO2000022521A1 (en) * | 1998-10-10 | 2000-04-20 | The Victoria University Of Manchester | Program code conversion |
FR2785695B1 (fr) * | 1998-11-06 | 2003-01-31 | Bull Cp8 | Procede de compactage d'un programme de type code objet intermediaire executable dans un systeme embarque muni de ressources de traitement de donnees, systeme compacteur et systeme embarque multi-applications correspondants |
US6530075B1 (en) * | 1998-12-03 | 2003-03-04 | International Business Machines Corporation | JIT/compiler Java language extensions to enable field performance and serviceability |
US7065633B1 (en) * | 1999-01-28 | 2006-06-20 | Ati International Srl | System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU |
US7013456B1 (en) * | 1999-01-28 | 2006-03-14 | Ati International Srl | Profiling execution of computer programs |
US6684390B1 (en) * | 2000-04-17 | 2004-01-27 | Koninklijke Philips Electronics N.V. | Multi-processor JAVA subsystem |
US7356673B2 (en) * | 2001-04-30 | 2008-04-08 | International Business Machines Corporation | System and method including distributed instruction buffers for storing frequently executed instructions in predecoded form |
US8086438B2 (en) * | 2002-03-27 | 2011-12-27 | Synopsys, Inc. | Method and system for instruction-set architecture simulation using just in time compilation |
US7246346B2 (en) * | 2002-09-17 | 2007-07-17 | Microsoft Corporation | System and method for persisting dynamically generated code in a directly addressable and executable storage medium |
US20040123278A1 (en) * | 2002-12-23 | 2004-06-24 | Murthi Nanja | Persistent cache apparatus and methods |
US7210121B2 (en) * | 2003-02-07 | 2007-04-24 | Sun Microsystems, Inc. | Method and system for generating first class citizen application implementing native software application wrapper |
US7103723B2 (en) * | 2003-02-25 | 2006-09-05 | Intel Corporation | Priority-based code cache management |
US7200841B2 (en) * | 2003-04-22 | 2007-04-03 | Transitive Limited | Method and apparatus for performing lazy byteswapping optimizations during program code conversion |
GB0309056D0 (en) * | 2003-04-22 | 2003-05-28 | Transitive Technologies Ltd | Block translation optimizations for program code conversion |
US20050015754A1 (en) * | 2003-06-18 | 2005-01-20 | Virtutech Ab | Method and system for multimode simulator generation from an instruction set architecture specification |
US20050108690A1 (en) * | 2003-11-17 | 2005-05-19 | Tira Wireless Inc. | System and method of generating applications for mobile devices |
US8065665B1 (en) * | 2004-02-28 | 2011-11-22 | Oracle America, Inc. | Method and apparatus for correlating profile data |
US7685575B1 (en) * | 2004-06-08 | 2010-03-23 | Sun Microsystems, Inc. | Method and apparatus for analyzing an application |
JP2008181724A (ja) | 2007-01-24 | 2008-08-07 | Harmonic Drive Syst Ind Co Ltd | 多極用回転端子機構 |
-
2003
- 2003-09-10 US US10/659,457 patent/US7617490B2/en not_active Expired - Fee Related
-
2004
- 2004-09-08 WO PCT/US2004/029083 patent/WO2005026956A1/en active Application Filing
- 2004-09-08 EP EP04783367A patent/EP1665042A1/en not_active Withdrawn
- 2004-09-08 JP JP2006526229A patent/JP4801587B2/ja not_active Expired - Fee Related
- 2004-09-08 CN CN2004800257477A patent/CN1849584B/zh not_active Expired - Fee Related
-
2009
- 2009-09-02 US US12/552,573 patent/US8732678B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000181724A (ja) * | 1998-10-30 | 2000-06-30 | Sun Microsyst Inc | コンパイルする方法をランタイムにおいて選択する方法及び装置 |
JP2002116908A (ja) * | 2000-10-05 | 2002-04-19 | Arm Ltd | ネイティブおよび非ネイティブの命令集合間相互呼び出し |
JP2002366367A (ja) * | 2001-05-31 | 2002-12-20 | Arm Ltd | プログラム命令解釈 |
JP2003150387A (ja) * | 2001-11-15 | 2003-05-23 | Toshiba Corp | 言語処理装置、言語処理方法、及び言語処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20100042979A1 (en) | 2010-02-18 |
CN1849584B (zh) | 2010-06-16 |
JP4801587B2 (ja) | 2011-10-26 |
US7617490B2 (en) | 2009-11-10 |
CN1849584A (zh) | 2006-10-18 |
US8732678B2 (en) | 2014-05-20 |
EP1665042A1 (en) | 2006-06-07 |
WO2005026956A1 (en) | 2005-03-24 |
US20050055677A1 (en) | 2005-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4801587B2 (ja) | 混合モード命令の動的な最適コンパイルのための方法及び装置 | |
AU774467B2 (en) | Automatic stub/adapter generator | |
US7316007B2 (en) | Optimization of n-base typed arithmetic expressions | |
US7146613B2 (en) | JAVA DSP acceleration by byte-code optimization | |
US7725883B1 (en) | Program interpreter | |
EP1074910A1 (en) | Method and apparatus for multiplatform instruction set architecture | |
US20040003377A1 (en) | Converting byte code instructions to a new instruction set | |
US20060070049A1 (en) | Java bytecode translation method and Java interpreter performing the same | |
US20120167062A1 (en) | Emulating pointers | |
US20140040858A1 (en) | Method and apparatus for generating resource efficient computer program code | |
WO2024045379A1 (zh) | 编译方法和编译器、Wasm虚拟机 | |
CN113703779B (zh) | 一种跨平台的多语言编译方法和超轻量物联网虚拟机 | |
WO2011116113A1 (en) | Loop transformation for compiler optimization | |
JP3790707B2 (ja) | プログラム変換方法、これを用いたコンピュータ装置及びプログラム | |
CN114428603A (zh) | 一种基于编译器生成short和int类型指令的方法和系统 | |
JP3264901B2 (ja) | コンパイル装置及びコンパイル方法 | |
Meurer | OCamlJIT 2.0-Faster Objective Caml | |
US7107581B2 (en) | Overflow predictive arithmetic instruction optimization using chaining | |
US20090199166A1 (en) | Program converting device | |
US7207037B2 (en) | Overflow sensitive arithmetic instruction optimization using chaining | |
US7010786B2 (en) | Predictive arithmetic overflow detection | |
JP2006526841A (ja) | バーチャルマシンにおいてインプレース実行を支援するための近接ベースのアドレス指定 | |
Fox et al. | Optimization of storage-referencing gestures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090616 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090916 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100803 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20101102 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20101110 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101126 |
|
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: 20110719 |
|
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: 20110805 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140812 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |