JP2001256058A - インタプリタ型言語によるプログラムの実行方法およびその方法を用いた情報処理装置 - Google Patents

インタプリタ型言語によるプログラムの実行方法およびその方法を用いた情報処理装置

Info

Publication number
JP2001256058A
JP2001256058A JP2000069113A JP2000069113A JP2001256058A JP 2001256058 A JP2001256058 A JP 2001256058A JP 2000069113 A JP2000069113 A JP 2000069113A JP 2000069113 A JP2000069113 A JP 2000069113A JP 2001256058 A JP2001256058 A JP 2001256058A
Authority
JP
Japan
Prior art keywords
information
program
class
instruction
execution
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
JP2000069113A
Other languages
English (en)
Inventor
Motoyuki Katou
意之 加藤
Hiroyuki Yanagi
博之 柳
Shinji Nakagawa
伸二 中川
Yosuke Baba
洋介 馬場
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2000069113A priority Critical patent/JP2001256058A/ja
Priority to US09/804,244 priority patent/US20010037495A1/en
Publication of JP2001256058A publication Critical patent/JP2001256058A/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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Abstract

(57)【要約】 【課題】 プログラムの実行時間の安定化ならびに高速
化を実現する。 【解決手段】 プログラムの実行に先立ち、フィールド
参照を要求するインストラクション10にリンクする参
照用情報を用いてそのフィールド参照を解決しておき、
その参照解決結果を示すフィールドテーブルインデック
スを、インストラクション10のオペランドに書き込ま
れたエントリ番号6のコード情報内に保存する。インス
トラクション10の実行時は、前記オペランドのエント
リ番号から解決されたフィールドテーブルインデックス
を取得することにより、メモリ内のアクセス先のアドレ
スが特定される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、インタプリタ型言語
によるプログラムの実行方法およびこの種プログラムの
組み込まれた情報処理装置に関し、特にこの発明は、情
報の参照によりメモリへのアクセス先を特定する必要の
あるプログラムを実行するための技術に関連する。
【0002】
【従来の技術】サン・マイクロシステムズ社が開発した
オブジェクト指向プログラム言語「Java」(同社保有の
登録商標)は、バイトコードに変換されることにより、
プラットフォームに依存せずに、Javaインタプリタを有
する実行環境で動作することから、種々の機器に組み込
む情報処理システムを設定するのに適した言語として注
目を集めている。
【0003】このJavaのプログラムによる情報処理シス
テムでは、メモリへの不正なアクセスを禁止するため
に、プログラム上にメモリのアクセス先を直接示さず
に、名前の情報によりアクセス先を間接的に示すように
している。たとえば変数(フィールド)に値を設定した
り、その設定値を読み出すことを指示するプログラムで
は、その変数を、変数の属するクラス名,変数名,およ
び変数の型名(int型,byte型など)により指定する。
またメソッドの呼出しを行うプログラムでは、呼出し対
象のメソッドを、そのメソッドの属するクラス名やメソ
ッド名により指定する。一般に、所定の規則(名前を示
す文字情報)を用いて処理対象(変数,メソッド,クラ
スなど)についての情報格納位置を探す処理を「参照」
と呼び、その参照を指示することを「参照要求」とい
う。(たとえば、変数,メソッド,クラスのそれぞれに
ついての参照を、「フィールド参照」「メソッド参照」
「クラス参照」という。)
【0004】「仮想マシン」と称されるJavaインタプリ
タは、所定の名前の情報による参照を要求するプログラ
ムの実行に際し、その名前の情報により所定の参照用テ
ーブルを検索して(詳細は後記する)、参照すべき情報
が格納されたアドレスを特定するようにしている。この
ように指定された情報による参照を行って、情報格納位
置を特定することを「参照解決」と呼んでいる。
【0005】図6は、Javaによるプログラムのコンパイ
ル結果の例を示す。なお図中、塗りつぶしされた各矩形
は、一単位分のプログラムコードであって、各コード内
にはそれぞれ複数の情報が含まれている。図示例では、
個々の情報を白抜きの矩形内に示してある。図6中、1
0は、変数に値を代入することを指示するメッセージ
(アセンブラコードで"putstatic Sample.value:int"と
表される。)を変換して得たバイトコードの実行用プロ
グラムであって、指示内容を表すインストラクションコ
ード(B3)およびインストラクションが指定する参照
の内容の記述先のアドレスを示すオペランド(00 0
6)とから構成される。(以下このインストラクション
コード付きの実行用プログラムを「インストラクショ
ン」という。)
【0006】このインストラクション10には、図中、
右側に示すような構成の参照用情報がリンクする。この
情報は、先頭に情報の種類を表すタグが付された可変長
のコード情報を複数組み合わせた構成をとる。各コード
情報には、それぞれ「コンスタントプールエントリ番
号」と称される識別番号(以下「エントリ番号」と略
す)が付与されるとともに、そのエントリ番号を介した
リンクが設定されている。前記オペランドには、この参
照用情報の筆頭のエントリ番号6が書き込まれており、
各コード情報間のリンクをこの筆頭のエントリから順に
辿ることにより、ソースプログラムに記述されたクラス
名,変数名,変数の型名の各情報を示す文字列を得るこ
とができる。
【0007】なおこの参照用情報は、クラス単位で保存
される。(以下、クラス単位での参照用情報のことを
「クラスファイル情報」という。)図6では、説明を簡
単にするために、1インストラクションについての参照
用情報を抜き出しており、図示されていないエントリ番
号は、他のインストラクションの参照用情報に使用され
ている。
【0008】図中、エントリ番号20にはクラス名"Sam
ple"を表す文字情報が、エントリ番号27には変数名"V
alue"を表す文字情報が、それぞれ登録される。またエ
ントリ番号17には、変数の型名のint型を表す文字列"
I"が登録される。なおこれらのエントリ番号20,2
7,17の文字列情報はエンコードされており、そのエ
ンコード情報の前には文字列のバイト数を表すコード情
報および文字列のエンコード情報の登録であることを示
すタグ「01」が付けられる。
【0009】エントリ番号1,6,9の情報は、前記文
字列の情報が何を参照するための情報であるかを示して
いる。筆頭のエントリ番号6の情報は、「フィールド参
照」という意味のタグ「09」により、以下の情報がフ
ィールド参照用の情報であることを示す。このエントリ
番号6には、エントリ番号1および9を示すコード情報
が登録される。
【0010】エントリ番号1には、「クラス参照」と言
う意味を持つタグ「07」が付与され、前記クラス名を
表す文字情報の登録先であるエントリ番号20へのリン
クが設定される。またエントリ番号9には、「名前・型
参照」という意味を持つタグ「0C」が付与され、前記
変数名の文字情報が登録されたエントリ番号27および
変数の型名が登録されたエントリ番号17へのリンクが
設定される。
【0011】このようなデータ構成により、インストラ
クション10のオペランドに書き込まれたエントリ番号
6から順に参照情報内のリンクを辿ることにより、フィ
ールド参照のために必要なクラス名,変数名,型名の各
情報を得ることができる。他のコマンドについても同様
に、ソースプログラムのコンパイルにより、指定された
参照の具体的な内容を示す参照用情報にリンクするイン
ストラクションが生成される。
【0012】なお同じ参照を要求する複数のインストラ
クション間では、参照用情報を共有することができる。
たとえばプログラムの複数位置に前記インストラクショ
ン10が存在したり、このインストラクション10と同
様のフィールド参照を要求する他のインストラクション
(たとえば"getstatic Sample.Value:int"というプログ
ラムより得られるインストラクション)が存在する場
合、これらのインストラクションのオペランドには、そ
れぞれ前記エントリ番号6が書き込まれて、前記図6の
参照用情報へのリンクが設定される。
【0013】インタプリタは、各インストラクションを
実行する際に、前記インストラクションコードからコマ
ンドの内容を認識するとともに、オペランドに書き込ま
れたエントリ番号から順にリンクを辿って、指定された
参照の内容やその参照に用いる名前の情報を認識する。
またシステム内には、各クラスで設定された変数やメソ
ッドについて、それぞれの名前の情報からメモリ内にお
ける変数やプログラムの格納位置を特定するための参照
用のテーブルが設定されている。インタプリタは、前記
参照用情報から得た名前の情報により前記参照用のテー
ブルを参照して、前記インストラクションの指定するメ
モリへのアクセス先を得るための参照解決処理を実行す
る。
【0014】図7は、フィールドの参照解決に用いられ
るクラステーブルおよびフィールドテーブル(図中、1
1,12で示す)の構成を示す。なお図7において、1
3は、プログラム上に設定される各オブジェクトの作業
領域として機能するヒープメモリ、14は、クラス名や
変数名などの文字列を格納するための文字列テーブルで
ある。
【0015】前記クラステーブル11およびフィールド
テーブル12には、前記クラスファイル情報の作成に伴
い、そのクラスについての情報が登録される。クラステ
ーブル11には、クラストップアドレス,ストリングト
ップアドレス,自クラスのネームインデックス,親クラ
スのネームインデックス(スーパーインデックス),ク
ラス内のオブジェクトのサイズ,アクセスフラグなどの
情報が登録される。(以下これらの登録情報を「クラス
情報」と総称する。)
【0016】クラストップアドレスは、前記クラスファ
イル情報における筆頭データの格納先のアドレスを示
す。ストリングトップアドレスとは、文字列テーブル1
4において、各クラスに含まれるクラス名や変数名など
の文字列情報を格納する領域の先頭アドレスを示す。ネ
ームインデックスとは、前記参照用情報において各クラ
ス名を表す情報のコンスタントプールエントリ番号であ
る。またアクセスフラグとは、クラスへのアクセスの可
または不可を表すためのものである。これらのクラス情
報には、それぞれクラス毎に固有のインデックス(以下
これを「クラステーブルインデックス」という)が付与
される。
【0017】フィールドテーブルには、プログラム上で
設定された変数毎に、オブジェクトオフセット,クラス
テーブルインデックス,ネームインデックス,タイプイ
ンデックス,アクセスフラグなどの情報が登録される。
(以下、これらの登録情報を「フィールド情報」と総称
する。)
【0018】前記オブジェクトオフセットは、前記変数
を含むオブジェクトに付与された作業領域において、前
記変数に割り当てられるフィールドの相対位置を示す値
である。この値は、クラスファイル情報の作成時に、各
クラスのインスタンスがヒープメモリ内に確保すべき作
業領域の大きさが決定され、その作業領域内で各変数の
格納領域が割り当てられたときに決定される。ただしst
atic変数については、その変数の値そのものがフィール
ドテーブル内に保存される。
【0019】クラステーブルインデックスとは、前記ク
ラステーブルにおいて、前記変数を有するクラスのクラ
ス情報に付与されたインデックスである。ネームインデ
ックス,タイプインデックスは、それぞれ前記参照用情
報において変数名や型名を表す情報のコンスタントプー
ルエントリ番号であり、アクセスフラグは、前記と同様
に、その変数へのアクセスの可、不可を示す情報であ
る。各フィールド情報には、個別にインデックス(以下
これを「フィールドテーブルインデックス」という)が
付与される。
【0020】インタプリタは、フィールドの参照解決を
行うにあたり、まず前記インストラクションにリンクす
る参照用情報から得たクラス名によりクラステーブルを
検索して、そのクラスのクラステーブルインデックスを
取得する。つぎにフィールドテーブルを検索して、前記
クラステーブルインデックスを含む情報の中から変数名
および型名が前記参照用情報より得た情報と一致するフ
ィールド情報を抽出する。そしてそのフィールド情報内
のオブジェクトオフセットの値から、この変数に割り当
てられた格納領域のアドレスを認識する。
【0021】上記のフィールドの参照解決結果を得る
と、インタプリタは、再度同じインストラクションを実
行する場合に備えて、前記インストラクション内のイン
ストラクションコードを解決済みのコードに書き換える
とともに、オペランドを、前記フィールド参照により取
得したフィールドテーブルインデックスの番号に書き換
える。この書換え処理により、つぎにこのインストラク
ションを実行する際は、オペランドに書き込まれたフィ
ールドテーブルインデックスから直ちにフィールドテー
ブル内のオブジェクトオフセットを読み出して、指定さ
れた変数の格納位置を得ることができる。
【0022】なおメソッドの参照解決のためには、クラ
ス名やメソッド名からメソッドのプログラムの格納位置
などを導くための参照用テーブル(メソッドテーブル)
が設定されている。インタプリタは、インストラクショ
ンおよびこれにリンクする参照用情報から読み取ったメ
ソッド名によりメソッドテーブル内のインデックスを取
得することでメソッドの参照解決を行うとともに、再度
のインストラクションの実行に備えて、そのインストラ
クションのオペランドを前記取得したメソッドテーブル
インデックスに書き換えるようにしている。
【0023】図8は、前記Javaのソースプログラムから
生成されたバイトコードのプログラムによるシステムに
おいて、システムの起動からプログラムの実行までの一
連の処理の手順を示す。このシステムを構成する実行用
プログラムやクラスファイル情報は、装置内のROMに
記憶されており、電源の供給によりシステムが立ち上が
ると、実行用プログラムがRAMにロードされた後、起
動用のプログラムによって最初に起動させるクラスが指
定される(ST1)。これを受けて、つぎのST2で
は、指定されたクラスのクラスファイル情報がRAM内
に読み出され、さらにST3では、前記クラスファイル
情報が読み出されたクラスについての情報が、クラステ
ーブル,フィールドテーブル,メソッドテーブルなどの
参照用テーブル内に登録される。
【0024】このようにしてインストラクションを実行
する環境が整うと、ST4では、最初のインストラクシ
ョンが読み込まれる。ここでこのインストラクションが
まだクラスファイル情報を作成していないクラスの参照
を要求するものであれば、ST5からST6に移行して
そのクラスのクラスファイル情報の作成を指定する。そ
してその指定に応じてST2,3でクラスファイル情報
の作成や参照用テーブルへのエントリが完了してから、
再度、前記インストラクションの読込みが行われる。
【0025】インストラクションにより参照要求された
クラスのクラスファイル情報が既に作成されている場合
は、そのクラスファイル情報からクラス名,変数名,メ
ソッド名などの名前の情報を認識する。このインストラ
クションがシステムの立上げ後に初めて実行される場
合、そのインストラクションコードは未解決のコードで
あるから、ST7からST8に進むことになる。
【0026】ST8では、前記インストラクションのオ
ペランドに書き込まれたエントリ番号からクラスファイ
ル情報のリンクを辿ってクラス名や変数名(あるいはメ
ソッド名)を認識した後、認識した名前により各種参照
用テーブルを参照して、変数の格納位置やメソッドのプ
ログラムの格納位置などを特定する参照解決を行う。そ
してST9で、前記参照解決により得たアドレスにアク
セスして、インストラクションを実行した後、ST10
からST4に戻り、以下、インストラクション毎に同様
の処理が実行される。なおST8での参照処理の解決に
伴い、実行されたインストラクションのインストラクシ
ョンコードやオペランドが書き換えられるから、つぎに
この書換え済みのインストラクションが読み込まれたと
きは、ST7からST9に進んで、参照解決を行うこと
なく、前記インストラクションを実行することができ
る。
【0027】
【発明が解決しようとする課題】上記の手順によれば、
システム起動後に各インストラクションを初めて実行す
る際には、参照解決を必要とするすべてのインストラク
ションについてST8の処理を実行する必要がある。こ
の参照解決処理では、前記したように、変数やメソッド
の格納先を特定するために何段階もの参照を行わなけれ
ばならないため、インストラクションが読み込まれてか
ら実行されるまでにかなりの時間がかかる。このためシ
ステムが起動した直後のプログラム実行時に、処理速度
が極端に遅くなる。またシステム起動直後のプログラム
実行時間と参照が解決された2回目以降のプログラム実
行時間とが異なることから、プログラム実行時間の予測
が必要なリアルタイム処理用の機器での利用が困難とな
っている。
【0028】しかも従来のシステムでは、一連のプログ
ラムの複数位置に同様の参照を要求するインストラクシ
ョンが存在しても、インストラクション毎に同じ参照解
決を繰り返さなければならないので、参照解決の効率が
著しく悪い、という問題もある。
【0029】さらにインストラクションコードやオペラ
ンドを書き換える都合上、実行用プログラムをRAM内
に記憶する必要があるが、この場合、装置立ち上げ時に
プログラムをRAM内にロードするための時間が必要と
なり、システムの立上げに時間がかかる。また実行用プ
ログラムの格納のために、ROMと同容量のRAMを用
意しなければならないので、組込み機器のコスト高を招
く、という問題も発生する。
【0030】この発明は、上記問題点に着目してなされ
たもので、プログラムを実行する前に、メモリに対する
アクセス先を特定するための参照用の情報を含むプログ
ラムについての参照解決を行っておき、各参照解決結果
をプログラムにリンクさせて保存しておくことにより、
プログラム実行時に参照用の情報から直ちにアクセス先
を特定して、プログラムの実行時間の安定化ならびに高
速化を実現し、リアルタイム性が要求される機器に適し
た情報処理を実現することを第1の目的とする。
【0031】またこの発明は、プログラムのRAMへの
ロードを不要とすることにより、システムの起動に要す
る時間を短縮するとともに、RAMの容量を大幅に削減
して機器の製作コストを削減することを、第2の目的と
する。
【0032】さらにこの発明は、参照解決結果をプログ
ラムとともにROMから読み出してプログラムを実行す
ることにより、RAMの容量をさらに削減するととも
に、この種システムの組込み機器において、システムの
起動後すぐにプログラムの高速実行を開始できるように
することを、第3の目的とする。
【0033】
【課題を解決するための手段】請求項1の発明では、イ
ンタプリタ型言語によるプログラムの実行に先立ち、前
記プログラムからメモリに対するアクセス先を特定する
ための参照用の情報を抽出してその情報による参照を解
決するとともに、得られた参照解決結果を前記参照用の
情報を介してプログラムにリンクさせて保存しておく。
そして所定の情報を参照してメモリにアクセスすること
を要求するプログラムの実行に際し、その参照用の情報
を介して前記プログラムにリンクする参照解決結果に基
づき前記メモリに対するアクセス先を特定するようにし
ている。
【0034】請求項2の発明は、インタプリタ型の言語
によるプログラムが組み込まれた情報処理装置におい
て、上記の方法を実施するために、前記プログラムを実
行するプログラム実行手段、メモリに対するアクセス先
を特定するための参照用の情報を介して、それぞれその
情報による参照解決結果をプログラムにリンクさせて保
存する参照解決結果登録手段とを具備させる。プログラ
ム実行手段は、所定の情報を参照してメモリにアクセス
することを要求するプログラムの実行に際し、その参照
用の情報を介して前記プログラムにリンクする参照解決
結果に基づき前記メモリ内のアクセス先を特定する。
【0035】上記インタプリタ型言語によるプログラム
とは、たとえばJavaのソースプログラムからコンパイル
されたバイトコードのプログラムの場合、変数名やメソ
ッド名などの参照を要求する実行用プログラム(インス
トラクション)と、このインストラクションにリンクし
て参照用の情報の具体的な内容(クラス名,変数名,メ
ソッド名など)を示す情報とにより構成される。プログ
ラム実行手段は、インタプリタの機能により実現するも
ので、前記のリンク情報により参照用の情報の内容を確
認しつつ各プログラムを順に実行する。
【0036】前記参照用の情報による参照解決とは、参
照用の情報により所定の情報を参照してメモリへのアク
セス先を特定し、以後の参照処理を不要となす処理をい
う。たとえば「フィールドの参照解決」では、プログラ
ムに示されるクラス名や変数名などの文字情報に基づ
き、指定された変数の格納先を表すアドレス、またはそ
のアドレスに一意に対応づけられた情報(前記したフィ
ールドテーブルインデックスなど)を取得する。また
「メソッドの参照解決」では、メソッド名などの文字情
報に基づき、指定されたメソッドのプログラムの格納先
を表すアドレス、またはこのアドレスに一意に対応づけ
られた情報(前記したメソッドテーブルインデックスな
ど)を取得する。また「クラスの参照解決」において
は、クラス名を表す文字情報に基づき、指定されたクラ
ス内のメソッドや変数に関する情報(前記したクラス情
報)の格納先を表すアドレス、またはこのアドレスに一
意に対応づけられた情報(前記したメソッドテーブルイ
ンデックスなど)を取得する。
【0037】請求項3の発明では、前記プログラムがバ
イトコードの実行用プログラムと、このプログラムにリ
ンクして参照用の情報の内容を示す情報とから構成され
る場合に、前記参照解決結果を前記実行用プログラムへ
のリンク情報内に保存する。さらに請求項4の発明で
は、リンク情報は複数の固定長のコード情報を含んでお
り、前記参照解決結果は、筆頭のコード情報の定められ
た位置に保存される。
【0038】請求項5の発明では、バイトコードの実行
用プログラムおよびそのリンク情報をROMから読み出
して、プログラムを実行するようにしている。
【0039】
【作用】請求項1の発明によれば、プログラムの実行前
に、そのプログラム上でメモリに対するアクセス先を特
定するための参照用の情報について、それぞれその情報
により得られる参照解決結果をプログラムにリンクさせ
て保存するので、プログラムの起動直後でも、保存され
た参照解決結果を用いて速やかにメモリにアクセスし、
指定された処理を実行することが可能となる。またプロ
グラムの実行時間が一定になるので、実行時間の予測が
可能である。
【0040】また参照解決結果を、参照用の情報を介し
てプログラムにリンクさせるから、参照解決に伴っての
プログラムの書換えが不要となり、システム起動時にプ
ログラムをRAMへロードする必要がない。またこのよ
うにプログラムを書き換えずに、同じ参照用の情報の参
照を要求するプログラムについて、同じ参照解決結果を
リンクさせるから、従来のように同様の参照解決を繰り
返す必要がない。
【0041】請求項2の発明によれば、各参照用の情報
についてあらかじめ得た参照解決結果が、システムの立
ち上げと同時にプログラムにリンクさせた状態で提供さ
れ、プログラムの起動後すぐに高速の処理を実行するこ
とが可能となる。
【0042】請求項3の発明では、参照解決結果は、実
行用プログラムの指定する参照用の情報の内容を示すリ
ンク情報内に保存されるので、本来のプログラムのリン
ク構造を利用して参照解決結果をプログラムにリンクさ
せることができる。
【0043】請求項4の発明によれば、参照解決結果
は、リンク情報の筆頭のコード情報の特定位置に格納さ
れるので、参照解決結果を簡単に取り出すことが可能と
なる。またプログラム実行前には、各情報ファイルの参
照解決結果の格納位置をチェックすることにより、参照
未解決の情報を簡単に判別することが可能となる。
【0044】請求項5の発明によれば、参照解決結果を
含むリンク情報は、実行用プログラムとともにROMに
格納されるので、システムの立ち上げ直後にプログラム
を高速で実行することが可能となる。
【0045】
【実施例】図1は、この発明の一実施例にかかる情報処
理システムの構成を示す。この情報処理システムは、コ
ンピュータが組み込まれた機器内において、Javaのソー
スプログラムよりコンパイルされたバイトコードのプロ
グラム(以下単に「プログラム」という)を実行するも
ので、インストラクション格納部1,クラスファイル情
報格納部2,インストラクション実行部3,テーブル管
理部4,参照解決部5,ヒープメモリ6,メモリ割り当
て部7などにより構成される。なおこれら構成のうち、
インストラクション実行部3,テーブル管理部4,参照
解決部5,メモリ割り当て部7の各処理部は、Javaイン
タプリタにより実現する。またインストラクション格納
部1はコンピュータのROM内に設定され、クラスファ
イル情報格納部2,ヒープメモリ6,およびテーブル管
理部4により作成される各種参照テーブルは、それぞれ
RAM内に設定される。
【0046】前記インストラクション格納部1には、バ
イトコードのプログラムのうち、前記したインストラク
ション、すなわちインストラクションコードとオペラン
ドとから成る実行用のプログラムが格納される。
【0047】クラスファイル情報格納部2には、各イン
ストラクションについて指定された参照の内容を具体的
に示す参照用情報をクラス毎にまとめたクラスファイル
情報が設定される。クラス内の各参照用情報は、それぞ
れ前記したエントリ番号に基づいてリンクする複数の情
報により表される。またインストラクション格納部1内
で参照要求を行うインストラクションのオペランドに
は、それぞれそのインストラクションの指定する参照用
情報の筆頭のエントリ番号が書き込まれている。
【0048】テーブル管理部4は、各クラスのクラスフ
ァイル情報より従来と同様のクラステーブル,フィール
ドテーブル,メソッドテーブルなどの参照用テーブルを
作成する。これら参照用テーブルの設定情報は、必要に
応じてインストラクション実行部3,参照解決部5,メ
モリ割り当て部7に供給される。
【0049】インストラクション実行部3は、インスト
ラクション格納部1より各インストラクションを順に読
み出して実行する。メモリ割り当て部7は、インストラ
クション実行部3の指示に応じて、プログラムの実行に
より生成されたインスタンスについての作業エリアをヒ
ープメモリ6内に設定するとともに、前記オブジェクト
オフセットの値に基づき、各インスタンスの具備する変
数に、該当する作業エリア内の所定アドレスを割り当て
る。
【0050】参照解決部5は、インストラクションの要
求する参照を解決するためのものである。この実施例で
は、プログラムの実行に先立ち、各クラスファイル情報
に含まれる名前の情報について、それぞれその名前によ
る参照を解決し、得られた参照解決結果をクラスファイ
ル情報内に書き込むようにしている。なお参照解決の手
法は、前記した従来の方法と同様であって、例えばフィ
ールド参照の解決結果としてフィールドテーブルインデ
ックスが、メソッド参照の解決結果としてメソッドテー
ブルインデックスがそれぞれ特定され、クラスファイル
情報内に書き込まれる。またクラス参照については、指
定されたクラス名に該当するクラスのクラステーブルイ
ンデックスが取得され、参照解決結果としてクラスファ
イル情報内に保存される。
【0051】図2は、この実施例におけるクラスファイ
ル情報の構成であって、前記図6に示した従来の構成と
同様に、1インストラクションの参照用情報を抽出して
示す。この実施例でも、従来と同様に、「フィールド参
照」のエントリ番号6のコード情報を筆頭にして複数の
コード情報がリンクして、クラス名,変数名,変数の型
名の各文字情報、およびその文字情報が何の参照のため
の情報であるかが示されている。
【0052】これらのコード情報は、固定長に設定され
る。各コード情報の先頭には、従来と同様のタグが格納
され、その他の情報は末尾詰め(図示例によれば右詰
め)に格納されて、中間部分に空白部(図中「−」で示
す)が設定される。
【0053】なおこの実施例では、各コード情報を固定
長にする必要上、名前を表す文字列の情報は、別途設け
られる文字列テーブルに格納している。前記文字列テー
ブルは、クラス単位で設定されており、17,20,2
7の各エントリ番号には、各文字列の位置データとし
て、文字列テーブルのテーブル番号(図中の0)と、そ
のテーブルにおける該当文字列の位置(図中、100
0,1004,1010の各数字で示す)とが格納され
る。
【0054】前記参照解決結果は、前記参照用情報の筆
頭エントリの定められた空白部に格納される。図示例で
は、前記参照用情報のリンクの筆頭にあたるエントリ番
号6の空白部には、フィールドの参照解決により得られ
たフィールドテーブルインデックス(以下「解決された
フィールドテーブルインデックス」という)が格納され
る。またこのエントリ番号6からクラス名の格納先にリ
ンクするエントリ番号1の空き領域には、前記フィール
ドの参照解決の過程で得られたクラステーブルインデッ
クス(以下「解決されたクラステーブルインデックス」
という)が格納される。なお1,6以外のエントリ番号
の空き領域は、空のまま保持される。上記の空き領域に
おいてインデックスを格納する位置は固定されており、
この変数名によるフィールド参照が解決しているか否か
を、簡単に判別することができる。
【0055】なおクラスファイル情報内のメソッド名を
表す参照用情報については、メソッドの参照解決により
得られたメソッドテーブルインデックス(以下「解決さ
れたメソッドテーブルインデックス」という)が、同様
に、前記参照用情報の筆頭エントリに書き込まれる。
【0056】図3は、図1の構成の情報処理システムに
おいて、システム起動からプログラム実行に至るまでの
一連の手順を示す。図中、ST1〜3では、従来と同様
にして、指定されたクラスのクラスファイル情報が作成
された後、クラステーブル,フィールドテーブル,メソ
ッドテーブルなどの参照用テーブルが設定される。つぎ
のST4〜6では、前記参照解決部5により、各クラス
ファイル情報における変数名やメソッド名による参照が
解決される。そしてすべてのクラスファイル情報に対す
る参照解決が完了するまで、ST6で参照未解決のクラ
スを順に指定し、参照解決を実行する。すべてのクラス
のクラスファイル情報に対する参照解決が完了すると、
ST5が「NO」となり、以下、ST7,8のループで
各インストラクションが順に実行される。
【0057】図4は、前記図3のST4の詳細な手順を
示す。なおここでは説明を簡単にするためにフィールド
の参照解決によりフィールドテーブルインデックスを取
得する手順を示している。
【0058】以下、図4の流れに沿って、前記図2のク
ラスファイル情報についてのフィールドの参照解決を行
う場合の手順について説明する。参照解決部5は、まず
ST4−1で、クラスファイル情報からフィールド参照
のタグ「09」の付いた情報であって、解決されたフィ
ールドインデックスが含まれていない参照未解決の情報
(エントリ番号6)を抽出する。さらにST4−2で
は、ST4−1で前記抽出した情報からクラス名参照の
情報(エントリ番号1)およびそのリンク情報(エント
リ番号20)を順に辿って、前記変数の所属するクラス
名を取得する。
【0059】ここで参照解決部5は、取得したクラス名
を有するクラスがクラステーブルに登録されているか否
かをチェックし、登録されている場合は、そのクラスの
クラステーブルインデックスを取得する(ST4−3,
4−5)。なお前記クラスがクラステーブルに登録され
ていない場合は、ST4−4で、そのクラスを前記クラ
スファイル情報に基づきクラステーブルおよびフィール
ドテーブルに登録した後に、クラステーブルインデック
スを取得する。
【0060】さらに参照解決部5は、前記ST4−1で
抽出したエントリ番号6の情報から名前・型参照の情報
(エントリ番号9)およびそのリンク情報(エントリ番
号27,17)を順に辿って変数名および型名を取得す
る(ST4−6)。そしてフィールドテーブルを検索し
て、前記ST4−5で取得したクラステーブルインデッ
クスを具備し、かつ変数名と型名とがST4−6で取得
したものと一致するフィールド情報を抽出し、この情報
に付されたフィールドテーブルインデックスを取得する
(ST4−8)。
【0061】前記ST4−5およびST4−8でフィー
ルドテーブルインデックス,クラステーブルインデック
スの各インデックスを得ると、参照解決部5は、前記し
たクラスファイル情報内の特定の空き領域にこれらのイ
ンデックスを書き込む(ST4−9)。
【0062】以下同様にして、フィールド参照のタグ
「09」の付いた参照未解決の情報を順に抽出し、この
情報にリンクする情報を辿って得たクラス名,変数名お
よび型名により、フィールドテーブルインデックス,ク
ラステーブルインデックスを取得し、各インデックスの
値をクラスファイル情報に書き込んでいく。なおフィー
ルドテーブルの検索において、クラステーブルインデッ
クス,変数名,型名の組合せが一致するフィールド情報
が見つからなかった場合は、ST4−7が「NO」とな
ってST4−11に移行し、リンクエラーとして処理さ
れる。
【0063】このようにしてプログラムの実行前に、プ
ログラム上の各変数について、それぞれその変数による
フィールドの参照解決を行って、解決されたフィールド
テーブルインデックスを、そのフィールドの参照を指定
するインストラクションの示すエントリ番号の空白部に
格納する。これによりインストラクション実行部3は、
前記インストラクション10の実行時に、そのインスト
ラクション10のオペランドに書き込まれたエントリ番
号から前記解決されたフィールドテーブルインデックス
を取得し、そのインデックスの値から得られるオブジェ
クトオフセット値により認識したフィールドにアクセス
して、前記インストラクションを実行することになる。
【0064】なおクラス参照を要求するインストラクシ
ョンには、そのクラスのクラス名の文字情報を含む参照
用情報(前記したタグ「07」付きのエントリ番号1お
よびこのエントリ番号にリンクしてクラス名の文字列を
示すエントリ番号20より成る)がリンクし、その筆頭
のエントリ番号の空白部に、前記解決されたクラステー
ブルインデックスが書き込まれている。したがってイン
ストラクション実行部3は、オペランドに書き込まれた
エントリ番号を介して前記解決されたクラステーブルイ
ンデックスを取得し、そのインデックスに対応するクラ
ス情報を読み出すことにより、クラス内のオブジェクト
やメソッドに関する情報を簡単に得ることができる。
【0065】同様にメソッド参照を要求するインストラ
クションにも、プログラム実行に先立つ参照解決によ
り、そのインストラクションにリンクする参照用情報の
筆頭のエントリ番号に、解決されたメソッドテーブルイ
ンデックスが書き込まれる。したがってこのインストラ
クションを実行する際には、そのインストラクションの
オペランドのエントリ番号から取得したメソッドテーブ
ルインデックスにより、メソッドのプログラム格納先を
認識し、即座にメソッド呼出しを実行することができ
る。
【0066】またクラス内に文字列を表すStringオブジ
ェクトを生成するインストラクションが含まれる場合、
そのオブジェクト名についても、最初のインストラクシ
ョン実行時に参照解決を行ってその解決結果をクラスフ
ァイル情報内に書き込んでおくことにより、Stringオブ
ジェクトの参照を要求するインストラクションを高速で
実行することができる。
【0067】このStringオブジェクトについては、その
オブジェクトの表す文字列を格納する文字列テーブル
と、オブジェクトの所属するクラスや前記文字列テーブ
ル内における文字列の格納位置などを示すオブジェクト
テーブルとが設定され、インスタンスの生成に応じて、
前記文字列テーブルとオブジェクトテーブルとの双方
に、相互にリンクする情報が登録される。したがって参
照解決の際には、前記と同様に、インストラクションに
リンクする参照用情報の筆頭のエントリ番号に、参照解
決により得られたオブジェクトテーブルインデックスを
書き込むことにより、以後は、Stringオブジェクトの参
照要求に応じて、クラスファイル情報から指定されたオ
ブジェクトのオブジェクトテーブルインデックスを読み
出した後に、速やかに文字列テーブル内の文字列の格納
位置を取得し、該当する文字列情報にアクセスすること
ができる。
【0068】このように上記の情報処理システムでは、
名前の情報の参照により所定のアドレスへのアクセスを
指定するインストラクションを実行する前に、クラスフ
ァイル情報から各参照用情報を抽出してその参照処理を
解決するとともに、参照解決の結果をインストラクショ
ンのオペランドにリンクする参照用情報の読出し開始位
置に保存しておくので、プログラムが起動した直後か
ら、各インストラクションについて、クラスファイル情
報内の参照解決結果を用いてアクセス先のアドレスを一
意に特定し、インストラクションを高速で実行すること
が可能となる。また第1回目のプログラム実行時間と、
2回目以降のプログラム実行時間との間に差違が生じな
いから、プログラム実行時間を予測することが可能とな
る。
【0069】なおインストラクションを書き換えずに、
そのオペランドに記述された筆頭エントリ内に参照解決
結果を書き込むので、従来のリンク構造を利用して参照
解決結果をプログラムにリンクさせることができる。こ
れにより参照解決結果を用いてインストラクションを実
行するには、インストラクション実行部3を、オペラン
ドに記述された筆頭エントリから参照解決結果を読み出
すように設定するだけで良く、インタプリタの大幅な設
計変更を行う必要がない。しかも参照解決結果は、筆頭
エントリの特定位置に書き込まれているので、参照解決
結果を簡単に読み出すことができる。また参照解決時に
参照未解決の情報を探す処理も、簡単化できる。
【0070】またこの実施例の情報処理システムでは、
インストラクションの書換えが不要であるため、インス
トラクションをROMから読み出して実行することによ
り立ち上げ時のプログラムのロードが不要となって、機
器への電源投入後にシステムを速やかに立ち上げること
ができる。またプログラムのロードが不要となることか
ら、RAMの容量を大幅に削減することができる。しか
も前記の参照解決結果を、クラスファイル情報内の各参
照用情報に対応づけて保存することにより、同じ情報の
参照を要求するインストラクション間で参照解決結果を
共有できるので、同様の参照解決を繰り返し行う必要が
なく、参照解決処理の効率を向上することができる。
【0071】さらに上記のクラスファイル情報内に各参
照用の情報についての参照解決結果を保存する方法を応
用して、あらかじめ参照解決結果が書き込まれた状態の
クラスファイル情報や、このクラスファイル情報に応じ
た参照用テーブルを作成し、これらのクラスファイル情
報や参照用テーブルをROM内に格納することも可能で
ある。この方法によれば、システムの立ち上げ後の参照
解決は不要となり、すぐにプログラムを起動させて高速
の処理を実行することができるので、特に小型でリアル
タイム性を要求する機器に対し、有用な情報処理システ
ムを提供することができる。
【0072】図5は、この発明の第2実施例にかかる情
報処理システムの構成を示す。この実施例の情報処理シ
ステムは、前記図1の構成のうち参照解決部5を除く各
構成を具備するが、クラスファイル情報格納部2および
テーブル管理部4による各種参照用テーブルは、インス
トラクション格納部1とともにROM内に設定される。
なおその他の構成については、前記第1の実施例と同様
である。
【0073】クラスファイル情報格納部2には、インス
トラクション格納部1に格納されたすべてのクラスにつ
いてのクラスファイル情報が保存され、テーブル管理部
4は、これらのクラスの情報が登録されたクラステーブ
ル,フィールドテーブル,メソッドテーブル,文字列テ
ーブルなどを管理する。またクラスファイル情報格納部
2には、各クラスの変数名,メソッド名,クラス名につ
いて、あらかじめ実行された参照解決により得られた解
決結果を示すインデックス情報が、前記第1の実施例と
同様の形式で格納されている。
【0074】上記構成の情報処理システムでは、電源投
入後、直ちにシステムが起動するとともに、参照解決結
果の書き込まれたクラスファイル情報や各参照用テーブ
ルも設定され、各インストラクションを参照解決の結果
に基づいて高速で実行することができる。しかもこの情
報処理システムは、容量の大きなRAMを必要としない
から、安価なコストで高速の情報処理が可能な組込み機
器を提供することが可能となる。
【0075】
【発明の効果】請求項1,2の発明では、プログラムの
実行に先立ち、メモリに対するアクセス先を特定するた
めの参照用の情報による参照処理を解決し、その参照解
決結果を参照用の情報を介してプログラムにリンクさせ
て保存するので、プログラムを起動した後は、保存され
た参照解決結果を用いて速やかにメモリにアクセスする
が可能となり、プログラムの実行速度の安定化かつ高速
化を実現することができる。またプログラムの実行時間
が一定となるため、プログラムの実行時間の予測を必要
とするリアルタイム処理用の機器でも利用可能な情報処
理システムを提供することができる。
【0076】また参照解決に応じてプログラムを書き換
える必要がないので、プログラムのRAMへのロードが
不要となり、電源投入からシステムの起動までに要する
時間を短縮できる上、RAMの容量を大幅に削減するこ
とができる。しかも同じ参照用の情報を参照するように
指示されたプログラムについての参照解決を一度で済ま
せることができるので、短時間で参照解決を終了してプ
ログラムの実行に移行することができる。
【0077】請求項3の発明では、本来のプログラムの
リンク構造を利用して参照解決結果をプログラムにリン
クさせることが可能となるので、インタプリタの大幅な
設計変更が不要となる。
【0078】請求項4の発明によれば、プログラムの実
行時にリンク情報の筆頭のコード情報の特定位置から参
照解決結果を効率よく取り出すことができるので、プロ
グラムの実行速度をさらに高速化できる。またプログラ
ム実行前の参照解決時にも、前記特定位置に参照解決結
果が書き込まれているか否かをチェックすることによ
り、参照未解決の情報を簡単に判別して、参照解決処理
の高速化を実現することができる。
【0079】請求項5の発明によれば、プログラムの実
行時に、実行用プログラムおよびこれにリンクする参照
解決結果をROMより読み出すので、電源投入後、すぐ
にプログラムを起動させて高速の処理を実行することが
できる。しかもプログラムや参照解決結果をRAMにロ
ードする必要がないから、RAMの容量をさらに削減す
ることができ、安価なコストで高速の情報処理が可能な
組込み機器を提供できる。
【図面の簡単な説明】
【図1】この発明の一実施例にかかる情報処理システム
の構成を示す機能ブロック図である。
【図2】インストラクションとクラスファイル情報との
構成および両者の関係を示す図である。
【図3】図1の情報処理システムにおける処理手順を示
すフローチャートである。
【図4】参照解決の詳細な手順を示すフローチャートで
ある。
【図5】情報処理システムの第2の構成を示す機能ブロ
ック図である。
【図6】従来のインストラクションとクラスファイル情
報との構成および両者の関係を示す図である。
【図7】参照用テーブルの構成を示す図である。
【図8】従来の情報処理システムにおける処理手順を示
すフローチャートである。
【符号の説明】
1 インストラクション格納部 2 クラスファイル情報格納部 3 インストラクション実行部 5 参照解決部
フロントページの続き (72)発明者 中川 伸二 京都府京都市右京区花園土堂町10番地 オ ムロン株式会社内 (72)発明者 馬場 洋介 京都府京都市右京区花園土堂町10番地 オ ムロン株式会社内 Fターム(参考) 5B081 AA09 DD01

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 インタプリタ型言語によるプログラムの
    実行に先立ち、前記プログラムからメモリに対するアク
    セス先を特定するための参照用の情報を抽出してその情
    報による参照を解決するとともに、得られた参照解決結
    果を前記参照用の情報を介してプログラムにリンクさせ
    て保存しておき、 所定の情報を参照してメモリにアクセスすることを要求
    するプログラムの実行に際し、その参照用の情報を介し
    て前記プログラムにリンクする参照解決結果に基づき前
    記メモリに対するアクセス先を特定することを特徴とす
    るインタプリタ型言語によるプログラムの実行方法。
  2. 【請求項2】 インタプリタ型の言語によるプログラム
    が組み込まれた情報処理装置において、 前記プログラムを実行するプログラム実行手段と、 メモリに対するアクセス先を特定するための参照用の情
    報を介して、それぞれその情報による参照解決結果をプ
    ログラムにリンクさせて保存する参照解決結果登録手段
    とを具備し、 前記プログラム実行手段は、所定の情報を参照してメモ
    リにアクセスすることを要求するプログラムの実行に際
    し、その参照用の情報を介して前記プログラムにリンク
    する参照解決結果に基づき前記メモリ内のアクセス先を
    特定する情報処理装置。
  3. 【請求項3】 前記プログラムは、バイトコードの実行
    用プログラムと、この実行用プログラムにリンクして前
    記参照用の情報の内容を示す情報とから成り、前記参照
    解決結果登録手段は、前記参照解決結果を前記実行用プ
    ログラムへのリンク情報内に保存する請求項2に記載さ
    れた情報処理装置。
  4. 【請求項4】 前記実行用プログラムへのリンク情報
    は、複数の固定長のコード情報を含み、前記参照解決結
    果は、筆頭のコード情報の定められた位置に格納される
    請求項3に記載された情報処理装置。
  5. 【請求項5】 前記実行用プログラムおよびそのリンク
    情報は、プログラム実行時にROMより読み出される請
    求項3または4に記載された情報処理装置。
JP2000069113A 2000-03-13 2000-03-13 インタプリタ型言語によるプログラムの実行方法およびその方法を用いた情報処理装置 Pending JP2001256058A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000069113A JP2001256058A (ja) 2000-03-13 2000-03-13 インタプリタ型言語によるプログラムの実行方法およびその方法を用いた情報処理装置
US09/804,244 US20010037495A1 (en) 2000-03-13 2001-03-13 Memory access method by referencing data, and data processing device using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000069113A JP2001256058A (ja) 2000-03-13 2000-03-13 インタプリタ型言語によるプログラムの実行方法およびその方法を用いた情報処理装置

Publications (1)

Publication Number Publication Date
JP2001256058A true JP2001256058A (ja) 2001-09-21

Family

ID=18588062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000069113A Pending JP2001256058A (ja) 2000-03-13 2000-03-13 インタプリタ型言語によるプログラムの実行方法およびその方法を用いた情報処理装置

Country Status (2)

Country Link
US (1) US20010037495A1 (ja)
JP (1) JP2001256058A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006526841A (ja) * 2003-06-02 2006-11-24 サン・マイクロシステムズ・インコーポレイテッド バーチャルマシンにおいてインプレース実行を支援するための近接ベースのアドレス指定
JP2008502968A (ja) * 2004-06-15 2008-01-31 ジェムプリュス 中間オブジェクト指向言語を備えるソフトウェアをポータブル・デバイスにロードするための方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493481B1 (en) * 2004-05-17 2009-02-17 Netxen, Inc. Direct hardware processing of internal data structure fields
GB0504325D0 (en) 2005-03-02 2005-04-06 Symbian Software Ltd Real time paged computing device and method of operation
US9910688B2 (en) * 2008-11-28 2018-03-06 Red Hat, Inc. Implementing aspects with callbacks in virtual machines
US9092478B2 (en) 2011-12-27 2015-07-28 Sap Se Managing business objects data sources
US8938475B2 (en) * 2011-12-27 2015-01-20 Sap Se Managing business objects data sources

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367685A (en) * 1992-12-22 1994-11-22 Firstperson, Inc. Method and apparatus for resolving data references in generated code
US5815718A (en) * 1996-05-30 1998-09-29 Sun Microsystems, Inc. Method and system for loading classes in read-only memory
US5966702A (en) * 1997-10-31 1999-10-12 Sun Microsystems, Inc. Method and apparatus for pre-processing and packaging class files
US6349344B1 (en) * 1997-12-16 2002-02-19 Microsoft Corporation Combining multiple java class files into a run-time image
US6658492B1 (en) * 1998-03-20 2003-12-02 Sun Microsystems, Inc. System and method for reducing the footprint of preloaded classes
US6338160B1 (en) * 1998-12-08 2002-01-08 Nazomi Communications, Inc. Constant pool reference resolution method
CA2267477C (en) * 1999-03-30 2003-10-14 Object Technology International Inc. Packaging memory image files

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006526841A (ja) * 2003-06-02 2006-11-24 サン・マイクロシステムズ・インコーポレイテッド バーチャルマシンにおいてインプレース実行を支援するための近接ベースのアドレス指定
JP2008502968A (ja) * 2004-06-15 2008-01-31 ジェムプリュス 中間オブジェクト指向言語を備えるソフトウェアをポータブル・デバイスにロードするための方法
US7913265B2 (en) 2004-06-15 2011-03-22 Gemalto Sa Method of loading software with an intermediate object oriented language in a portable device

Also Published As

Publication number Publication date
US20010037495A1 (en) 2001-11-01

Similar Documents

Publication Publication Date Title
EP0620522B1 (en) High performance dynamic linking through caching
US5339435A (en) Heterogenous software configuration management apparatus
US5950008A (en) System and method for resolving symbolic references to externally located program files
US6487563B1 (en) Memory reclamation method
JP3437849B2 (ja) オブジェクト指向プログラミングを支援するデータベース管理システム及び方法
JP4699580B2 (ja) データ処理システムの配列の静的初期化方法、データ処理方法、並びにデータ処理システム及びその制御手順をコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体
KR100450312B1 (ko) 읽기전용메모리에클래스들을로딩하기위한방법및시스템
US7913243B2 (en) Method and system for generating and applying patches to a computer program concurrently with its execution
US20050102670A1 (en) Shared object memory with object management for multiple virtual machines
US20030014443A1 (en) Dynamic web page generation
CN103984582A (zh) 一种热更新方法和装置
US20050028155A1 (en) Java execution device and Java execution method
JP2000222212A (ja) 実行時におけるオブジェクトの実クラス決定
JPH1063561A (ja) データベース・オブジェクト処理命令を挿入するためにデータベース・アクセス方法を自動的に変更するシステム及び方法
JPH02214994A (ja) Icカード
JP2002536743A (ja) リソース制約デバイスのためのオブジェクト指向命令セット
JPS6149241A (ja) コード最適化方法
US7340719B1 (en) Methods and apparatus to preserve software modifications
JP2002506253A (ja) リソースの透過的なガーベッジ・コレクション
JP2005063449A (ja) オブジェクトからオブジェクトへのJavaネイティブインタフェースマッピングの方法及び装置
CN106406748A (zh) 存储器中心数据库架构
JP2001256058A (ja) インタプリタ型言語によるプログラムの実行方法およびその方法を用いた情報処理装置
JP2006323844A (ja) ジャバ仮想マシンでバイトコードの実行時間を短縮するシステム及び方法
US20030061602A1 (en) Obtaining translation of generic code representation
US20080148223A1 (en) System for defining a declarative language

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060711

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061114