[go: up one dir, main page]

JP2002073345A - 情報処理装置及び記録媒体 - Google Patents

情報処理装置及び記録媒体

Info

Publication number
JP2002073345A
JP2002073345A JP2000255317A JP2000255317A JP2002073345A JP 2002073345 A JP2002073345 A JP 2002073345A JP 2000255317 A JP2000255317 A JP 2000255317A JP 2000255317 A JP2000255317 A JP 2000255317A JP 2002073345 A JP2002073345 A JP 2002073345A
Authority
JP
Japan
Prior art keywords
virtual machine
instruction code
storage unit
bytecode
machine instruction
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
JP2000255317A
Other languages
English (en)
Inventor
Takeshi Eto
健 衛藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2000255317A priority Critical patent/JP2002073345A/ja
Publication of JP2002073345A publication Critical patent/JP2002073345A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】仮想マシンのプログラムをより高速に実行す
る。 【解決手段】プログラムローダ16は、クラスタファイ
ル12からバイトコードを読み出し、バイトコードがサ
ブルーチンコールであれば、判定情報記憶部17の内容
に基づいてこのバイトコード及び引数設定バイトコード
のロード先を、Java仮想マシン13にするかJIT
コンパイラ15にするかを決定し、決定されたロード先
にバイトコードをロードするという処理を繰り返し実行
する。バイトコードがサブルーチンコールでなければロ
ード先をJava仮想マシン13にする。判定情報記憶
部17の内容は、クラスファイル12の実行前に、クラ
スタファイル16の内容を解析する静的アナライザ18
又は人により決定される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、OSプラットフォ
ーム上で、仮想マシンがその仮想マシン命令コードを解
釈実行しJITコンパイラが仮想マシン命令コードを動
的にコンパイルし実行する情報処理装置及びその処理を
行うプログラムが記録されたコンピュータ読み取り可能
な記録媒体に関する。
【0002】
【従来の技術】図7は、Java(登録商標)プログラ
ム実行環境を示すソフトウェア概略ブロック図である。
【0003】プログラムとデータを含むJavaソース
ファイル10は、Javaコンパイラ11により、バイ
トコード列とデータを含むクラスファイル12に変換さ
れる。バイトコードは、JVM(Java Virtual Machin
e)13により解釈され実行される。JVM13は、W
indows(登録商標)14上で動作しており、Wi
ndows14が持っている各種サブルーチンを利用す
ることができる。JVM13を備えることにより、マシ
ンに依存しないバイトコードを実行することができると
いう利点がある反面、オーバヘッドが大きいという問題
がある。
【0004】この問題を解決するために、Window
s14上で動作するJIT(Just-In-Time)コンパイラ
15を備え、クラスファイル12のバイトコードをJI
Tコンパイラ15により実行時にコンパイル、すなわち
動的にコンパイルし、その結果を記憶しておき、2回目
以降このバイトコード(仮想マシンコード)を実行する
場合には、再度コンパイルせずにコンパイルされたネイ
ティブコード(ネイティブマシンコード)を実行すると
いう方法が用いられている。
【0005】
【発明が解決しようとする課題】しかしながら、クラス
ファイル12の内容によっては、JITコンパイラ15
で処理した方がJVM13で処理するよりも遅くなる場
合がある。この点は、Windows14以外のOS上
のJavaプラットホーム(Javaコンパイラ11、
JVM13及びJITコンパイラ15は、Window
s14上で動作するJavaプラットホームを構成して
いる。)で動作するJavaプログラムについても同様
であり、また、Smalltalkなどの他の仮想マシ
ンプログラムについても同様である。
【0006】本発明の目的は、このような問題点に鑑
み、仮想マシンのプログラムをより高速に実行すること
が可能な情報処理装置及びその処理を行うプログラムが
記録されたコンピュータ読み取り可能な記録媒体を提供
することにある。
【0007】
【課題を解決するための手段及びその作用効果】本発明
では、OSプラットフォーム上で仮想マシンがその仮想
マシン命令コードを解釈実行する情報処理装置におい
て、仮想マシン命令コード列が格納されるプログラム記
憶部と、判定情報が格納される判定情報記憶部と、ロー
ドされた仮想マシン命令コードをコンパイルして実行す
るJITコンパイラがインストールされた記憶部と、該
プログラム記憶部から仮想マシン命令コードを読み出
し、該判定情報に基づいてこの仮想マシン命令コードの
ロード先を該仮想マシンにするか該JITコンパイラに
するかを決定し、決定されたロード先に該仮想マシン命
令コードをロードするという処理を繰り返し実行するプ
ログラムローダがインストールされた記憶部とを有す
る。
【0008】この情報処理装置によれば、1つ以上の仮
想マシン命令コードが読み出される毎に、判定情報の内
容に応じて仮想マシン又はJITコンパイラで実行され
るので、仮想マシンのみ又はJITコンパイラのみで仮
想マシン命令コードを実行する場合よりも処理時間が短
縮される。
【0009】本発明の他の目的、構成及び効果は以下の
説明から明らかになる。
【0010】
【発明の実施の形態】以下、図面を参照して本発明の一
実施形態を説明する。
【0011】図1は、本発明の一実施形態のJavaプ
ログラム実行環境を示すソフトウェア概略ブロック図で
ある。
【0012】このソフトウェアは、コンピュータや携帯
電話などの情報処理装置にインストールされている。
【0013】本実施形態では、クラスファイル12のバ
イトコードを、その内容に応じてJVM13で解釈実行
し又はJITコンパイラ15で動的にコンパイルし実行
するという処理を繰り返し行うことにより、JVM13
のみ又はJITコンパイラ15のみで実行する場合より
も高速化を図っている。
【0014】バイトコードのロード先をJVM13とす
るかJITコンパイラ15とするかは、プログラムロー
ダ16により、判定情報記憶部17の内容に基づいて判
定される。判定情報記憶部17の内容は、クラスファイ
ル12の実行前に、クラスファイル12の内容を解析す
る静的アナライザ18又は人(プログラム開発者やシス
テム運用者など)により決定される。
【0015】図2は、図1のクラスファイル12の実行
手順を示す概略フローチャートである。
【0016】(S1)プログラムローダ16は、クラス
ファイル12から次のバイトコードを読み出す。
【0017】(S2)プログラムローダ16は、このコ
ードが終了コードであれば処理を終了し、そうでなけれ
ば次のステップS3へ進む。
【0018】(S3)このバイトコードがサブルーチン
コールでなければステップS4へ進む。このバイトコー
ドがサブルーチンコールであれば、プログラムローダ1
6は、クラスファイル12からこれに関連したバイトコ
ード群(現在のバイトコードで呼び出されるサブルーチ
ン)をクラスファイル12から読み出し、バイトコード
群が、過去にJITコンパイラ15でコンパイル済みで
ありその結果がメモリに格納されていればステップS7
へ進み、そうでなければステップS4へ進む。
【0019】(S4)ステップS1で読み出したバイト
コードがサブルーチンコールでなければステップS5へ
進む。このバイトコードがサブルーチンコールであれ
ば、プログラムローダ16は、判定情報記憶部17の内
容を参照し、バイトコード群をコンパイルするかどうか
を後述のようにして判定する。コンパイルしないと判定
した場合にはステップS5へ進み、すると判定した場合
にはステップS6へ進む。
【0020】(S5)プログラムローダ16は、バイト
コードをJVM13にロードする。JVM13は、この
バイトコードを解釈し、得られたネイティブコードをM
PUに供給して実行させる。次にステップS1へ戻る。
【0021】(S6)プログラムローダ16は、バイト
コード群をJITコンパイラ15にロードする。JIT
コンパイラ15は、このバイトコード群をコンパイル
(ネイティブコードに変換)する。
【0022】(S7)JITコンパイラ15は、変換さ
れているネイティブコードをMPUに供給して実行させ
る。次に、ステップS1へ戻る。
【0023】図1において、JVM13及びJITコン
パイラ15はいずれもWindows14上で動作し、
Windows14が持っているサブルーチンを呼び出
すことによりこれを利用することができる。
【0024】図3は、クラスファイル12のバイトコー
ドを実行中にWindows14のグラフィック描画ラ
イブラリが呼び出され、その実行中にさらにデバイスド
ライバが読み出される場合を示している。このような処
理では、グラフィック描画ライブラリ及びデバイスドラ
イバでの処理時間が比較的長いので、グラフィック描画
ライブラリを呼び出すバイトコード群をJVM13で実
行してもJITコンパイラ15で実行してもほぼ同じに
なる。この場合、JITコンパイラ15で実行すると、
コンパイルされたネイティブコード列を記憶しておく必
要があるので、プログラムローダ16はこのバイトコー
ド群をJVM13にロードする。
【0025】図4の(A)及び(B)はいずれも、ある
バイトコード群がJVM13で繰り返し実行される場合
とJITコンパイラ15で繰り返し実行される場合の処
理時間の比較を示す。
【0026】JVM13で実行する場合には、毎回同じ
処理時間t1となるが、JITコンパイラ15で実行す
る場合にはバイトコード群が1回コンパイルされると2
回目以降はコンパイルが省略されるので、2回目以降の
処理時間t3は1回目の処理時間(t2+t3)よりも
コンパイル時間t2だけ短くなる。なお、時間t3にも
オーバヘッドが含まれている。
【0027】図4(A)では、あるバイトコード群を1
回のみ実行する場合には、JVM13を用いた方が高速
であるが、このバイトコード群を2回実行する場合には
JVM13とJITコンパイラ15のいずれを用いても
ほぼ同じとなり、このバイトコード群を3回以上実行す
る場合にはJITコンパイラ15を用いた方が処理時間
を短縮することができることを示している。また、図4
(B)は、あるバイトコード群を1回のみ実行する場合
にはJVM13とJITコンパイラ15のいずれを用い
てもほぼ同じ時間となるが、このバイトコード群を2回
以上実行する場合には、JITコンパイラ15を用いた
方が処理時間を短縮できることを示している。
【0028】このような解析が、図1の静的アナライザ
18又は人により行われて、判定情報記憶部17に格納
すべき情報が決定される。
【0029】図5は、判定情報記憶部17の内容の具体
例と、これに関係した部分とを示す説明図である。
【0030】判定情報記憶部17には、JITコンパイ
ラ15で実行される可能性のあるサブルーチンコールバ
イトコードBCα〜BCδ(引数を設定するバイトコー
ドは含まれない。)が参照バイトコードとして予め格納
されている。各参照バイトコードには、後述のフラグ
F、比較値N及びカウントkの情報が付加されている。
フラグF及び比較値Nは、参照バイトコードと同様に、
静的アナライザ18又は人により決定される。
【0031】図6は、クラスファイル12から読み出さ
れた1つのサブルーチンコールバイトコードBCiに対
する図5のプログラムローダ16の処理を示すフローチ
ャートである。
【0032】(S9)判定情報記憶部17内の各参照バ
イトコードに対応したカウントkをゼロクリアする。
【0033】(S10)バイトコードBCiを判定情報
記憶部17の次の参照コードと比較する。最初は、バイ
トコードBCiを参照コードBCαと比較する。
【0034】(S11)判定情報記憶部17に次の参照
バイトコードがなければステップS12へ進み、そうで
なければステップS13へ進む。
【0035】(S12)バイトコードBCiをJVM1
3にロードし、処理を終了する。
【0036】(S13)比較結果が一致すればステップ
S14へ進み、そうでなければステップS10へ戻る。
【0037】(S14)F=‘0’であればステップS
15へ進み、F=‘1’であればステップS18へ進
む。
【0038】(S15)カウントkを1だけインクリメ
ントする。
【0039】(S16)N<kであればステップS10
へ戻り、N=kであれば次のステップS17へ進む。
【0040】(S17)フラグFを‘1’にする。
【0041】(S18)バイトコードBCiに関連した
バイトコードをクラスファイル12から読み出し、これ
とバイトコードBCiとからなるバイトコード群をJI
Tコンパイラ15にロードする。
【0042】このような処理により、バイトコードBC
iとF=‘1’の参照バイトコードとが一致する場合に
はバイトコードBCiを含むバイトコード群がJITコ
ンパイラ15で実行され、バイトコードBCiとF=
‘0’の参照バイトコードとが一致する場合にはこのバ
イトコードBCiがN回以上出現したときにバイトコー
ドBCiを含むバイトコード群がJITコンパイラ15
で実行される。例えば、図4(A)の場合にはF=
‘1’、N=2であり、バイトコードBCiが2回以上
出現したときに、その後3回以上出現すると予測して、
バイトコードBCiを含むバイトコード群をJITコン
パイラ15で実行する。図4(B)の場合にはF=
‘0’であり、バイトコードBCiが出現すればこれを
含むバイトコード群を必ずJITコンパイラ15で実行
する。
【0043】本実施形態によれば、バイトコードが上述
のようにその内容に応じてJVM13又はJITコンパ
イラ15で実行されるので、JVM13のみ又はJIT
コンパイラ15のみでバイトコードを実行する場合より
も処理時間が短縮される。
【0044】なお、本発明には外にも種々の変形例が含
まれる。
【0045】例えば、バイトコード群をJITコンパイ
ラ15で実行した場合の1回目の時間と2回目の時間t
2及びt3を予め判定情報記憶部17に格納しておき、
クラスファイル12の実行中において、このバイトコー
ド群が最初に出現したときプログラムローダ16はこれ
をJVM13にロードし、その実行時間t1を測定して
これを判定情報記憶部17に格納し、t1〜t3の値に
基づいて比較値Nを決定するようにしてもよい。
【0046】図5において、フラグFを用いずに、比較
値Nとカウントkとを用い、kの初期値を0とし、F=
‘1’に対応したNの値を1とし、バイトコードBCi
と参照バイトコードとが一致した場合にkを1だけイン
クリメントし、k=Nのときバイトコード群をJITコ
ンパイラ15にロードするようにしてもよい。また、k
の初期値をNとし、F=‘1’に対応したNの値を1と
し、バイトコードBCiと参照バイトコードとが一致し
た場合にkを1だけデクリメントし、k=0のときバイ
トコード群をJITコンパイラ15にロードするように
してもよい。
【0047】本発明はJava言語以外の仮想マシンに
も適用される。仮想マシンは、Windows14以外
のOS上で動作するものであってもよい。
【図面の簡単な説明】
【図1】本発明の一実施形態のJavaプログラム実行
環境を示すソフトウェア概略ブロック図である。
【図2】図1のクラスファイルの実行手順を示す概略フ
ローチャートである。
【図3】クラスファイルのバイトコードを実行中にWi
ndowsのグラフィック描画ライブラリが呼び出さ
れ、その実行中にさらにデバイスドライバが読み出され
る場合を示す説明図である。
【図4】(A)及び(B)はいずれも、あるバイトコー
ド群がJVMで繰り返し実行される場合とJITコンパ
イラで繰り返し実行される場合の処理時間の比較を示す
線図である。
【図5】図1の判定情報記憶部の内容の具体例と、これ
に関係した部分とを示す説明図である。
【図6】クラスファイルから読み出された1つのサブル
ーチンコールバイトコードBCiに対する図5のプログ
ラムローダの処理を示すフローチャートである。
【図7】従来のJavaプログラム実行環境を示すソフ
トウェア概略ブロック図である。
【符号の説明】
10 Javaソースプログラム 11 Javaコンパイラ 12 クラスファイル 13 JVM 14 Windows 15 JITコンパイラ 16 プログラムローダ 17 判定情報 18 静的アナライザ F フラグ N 比較値 k カウント BCi バイトコード

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 OSプラットフォーム上で仮想マシンが
    その仮想マシン命令コードを解釈実行する情報処理装置
    において、 仮想マシン命令コード列が格納されるプログラム記憶部
    と、 判定情報が格納される判定情報記憶部と、 ロードされた仮想マシン命令コードをコンパイルして実
    行するJITコンパイラがインストールされた記憶部
    と、 該プログラム記憶部から仮想マシン命令コードを読み出
    し、該判定情報に基づいてこの仮想マシン命令コードの
    ロード先を該仮想マシンにするか該JITコンパイラに
    するかを決定し、決定されたロード先に該仮想マシン命
    令コードをロードするという処理を繰り返し実行するプ
    ログラムローダがインストールされた記憶部と、 を有することを特徴とする情報処理装置。
  2. 【請求項2】 上記判定情報は、参照命令コードを有
    し、上記プログラムローダが動作する前に上記判定情報
    記憶部に格納されており、 上記プログラムローダは、上記プログラム記憶部から読
    み出した仮想マシン命令コードが該参照命令コードと一
    致すると判定すれば、該仮想マシン命令コードを上記J
    ITコンパイラにロードする、ことを特徴とする請求項
    1記載の情報処理装置。
  3. 【請求項3】 上記判定情報は、比較値とカウントとを
    さらに有し、 上記プログラムローダは、上記プログラム記憶部から読
    み出した仮想マシン命令コードが該参照命令コードと一
    致すると判定すれば、該カウントを変化させ、該カウン
    トと該比較値との比較結果に基づいて該仮想マシン命令
    コードの上記ロード先を判定する、 ことを特徴とする請求項2記載の情報処理装置。
  4. 【請求項4】 上記プログラムローダが動作する前に、
    上記仮想マシン命令コード列を解析して上記参照命令コ
    ードを決定する静的アナライザがインストールされた記
    憶部、 をさらに有することを特徴とする請求項2又は3記載の
    情報処理装置。
  5. 【請求項5】 仮想マシン命令コードを読み出し、判定
    情報に基づいてこの仮想マシン命令コードのロード先
    を、仮想マシン命令コードをOSプラットフォーム上で
    解釈実行する仮想マシンにするか、仮想マシン命令コー
    ドをOSプラットフォーム上で動的にコンパイルし実行
    するJITコンパイラにするかを決定し、決定されたロ
    ード先に該仮想マシン命令コードをロードする、 という処理を繰り返し実行するプログラムローダが記録
    されていることを特徴とするコンピュータ読み取り可能
    な記録媒体。
JP2000255317A 2000-08-25 2000-08-25 情報処理装置及び記録媒体 Pending JP2002073345A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000255317A JP2002073345A (ja) 2000-08-25 2000-08-25 情報処理装置及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000255317A JP2002073345A (ja) 2000-08-25 2000-08-25 情報処理装置及び記録媒体

Publications (1)

Publication Number Publication Date
JP2002073345A true JP2002073345A (ja) 2002-03-12

Family

ID=18744129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000255317A Pending JP2002073345A (ja) 2000-08-25 2000-08-25 情報処理装置及び記録媒体

Country Status (1)

Country Link
JP (1) JP2002073345A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100349114C (zh) * 2004-01-14 2007-11-14 三星电子株式会社 用于增加java程序处理能力的系统和方法
JP2010191734A (ja) * 2009-02-19 2010-09-02 Hitachi Software Eng Co Ltd 画像再生装置及び中間語プログラム実行方法
US8056061B2 (en) 2004-10-21 2011-11-08 Samsung Electronics Co., Ltd. Data processing device and method using predesignated register
WO2012045238A1 (zh) * 2010-10-09 2012-04-12 中兴通讯股份有限公司 一种移动设备上应用程序的启动方法及装置
CN111880806A (zh) * 2020-07-23 2020-11-03 深圳融卡智能科技有限公司 应用执行方法与应用执行系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272476A (ja) * 1997-10-06 1999-10-08 Sun Microsyst Inc バイトコードされたプログラムを動的に最適化するための方法及び装置
JP2000132408A (ja) * 1998-10-21 2000-05-12 Fujitsu Ltd コンピュ―タア―キテクチャエミュレ―ションシステム
JP2000172512A (ja) * 1998-12-03 2000-06-23 Internatl Business Mach Corp <Ibm> バイトコ―ドを実行するための方法およびデ―タ処理システム
JP2000222220A (ja) * 1999-01-28 2000-08-11 Internatl Business Mach Corp <Ibm> 動的コンパイル時期決定方法、バイトコード実行モード選択方法、及びコンピュータ
JP2000330792A (ja) * 1999-05-18 2000-11-30 Matsushita Electric Ind Co Ltd バイトコードプログラム実行制御システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272476A (ja) * 1997-10-06 1999-10-08 Sun Microsyst Inc バイトコードされたプログラムを動的に最適化するための方法及び装置
JP2000132408A (ja) * 1998-10-21 2000-05-12 Fujitsu Ltd コンピュ―タア―キテクチャエミュレ―ションシステム
JP2000172512A (ja) * 1998-12-03 2000-06-23 Internatl Business Mach Corp <Ibm> バイトコ―ドを実行するための方法およびデ―タ処理システム
JP2000222220A (ja) * 1999-01-28 2000-08-11 Internatl Business Mach Corp <Ibm> 動的コンパイル時期決定方法、バイトコード実行モード選択方法、及びコンピュータ
JP2000330792A (ja) * 1999-05-18 2000-11-30 Matsushita Electric Ind Co Ltd バイトコードプログラム実行制御システム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100349114C (zh) * 2004-01-14 2007-11-14 三星电子株式会社 用于增加java程序处理能力的系统和方法
US8056061B2 (en) 2004-10-21 2011-11-08 Samsung Electronics Co., Ltd. Data processing device and method using predesignated register
JP2010191734A (ja) * 2009-02-19 2010-09-02 Hitachi Software Eng Co Ltd 画像再生装置及び中間語プログラム実行方法
WO2012045238A1 (zh) * 2010-10-09 2012-04-12 中兴通讯股份有限公司 一种移动设备上应用程序的启动方法及装置
US8726249B2 (en) 2010-10-09 2014-05-13 ZTE Corportaion Bootup method and device for application program in mobile equipment
CN111880806A (zh) * 2020-07-23 2020-11-03 深圳融卡智能科技有限公司 应用执行方法与应用执行系统
CN111880806B (zh) * 2020-07-23 2023-11-21 无锡融卡科技有限公司 应用执行方法与应用执行系统

Similar Documents

Publication Publication Date Title
EP1145120B1 (en) Generating compiled programs for interpretive runtime environments
EP1300758B1 (en) Dynamically switching statically bound function calls to dynamically bound function calls without recomplication
US6637025B1 (en) Dynamic selection/definition of which class/methods should or should not be jit&#39;ed using information stored in a jar file
US6886094B1 (en) Apparatus and method for detecting and handling exceptions
US20060026575A1 (en) Method and system of adaptive dynamic compiler resolution
US8689198B2 (en) Compiling system and method for optimizing binary code
US7124407B1 (en) Method and apparatus for caching native code in a virtual machine interpreter
JP2002527811A (ja) オンスタックリプレースメントを伴うことなくバーチャルコールを直接にインライン化する方法
JP2000222220A (ja) 動的コンパイル時期決定方法、バイトコード実行モード選択方法、及びコンピュータ
US9038039B2 (en) Apparatus and method for accelerating java translation
JP4086791B2 (ja) コンパイラプログラム、動的コンパイラプログラム、再現コンパイラプログラム、再現コンパイラ、コンパイル方法、及び記録媒体
US7065755B2 (en) Method and apparatus for removing class initialization barriers from shared compiled methods
KR100577366B1 (ko) 이종의 자바 메소드를 실행하는 방법 및 장치
US7739674B2 (en) Method and apparatus for selectively optimizing interpreted language code
US6931638B2 (en) Method and apparatus to facilitate sharing optimized instruction code in a multitasking virtual machine
US6883165B1 (en) Apparatus and method for avoiding deadlocks in a multithreaded environment
US8099723B2 (en) Referencing a constant pool in a java virtual machine
US6779188B1 (en) Apparatus and method for improved devirtualization of method calls
US5150474A (en) Method for transferring arguments between object programs by switching address modes according to mode identifying flag
US8042103B2 (en) Pre-translated files used in a virtual machine
JP2002073345A (ja) 情報処理装置及び記録媒体
US7581216B2 (en) Preserving platform independence with native accelerators for performance critical program objects
EP0790555B1 (en) Compile apparatus and method
US6275985B1 (en) Method and apparatus for developing an application that implements garbage collection efficiently by combining proxy objects with compiler support
US6978448B1 (en) Method and apparatus for rewriting bytecodes to minimize runtime checks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070803

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110201