JPH02308336A - プログラム実行方式 - Google Patents

プログラム実行方式

Info

Publication number
JPH02308336A
JPH02308336A JP13056689A JP13056689A JPH02308336A JP H02308336 A JPH02308336 A JP H02308336A JP 13056689 A JP13056689 A JP 13056689A JP 13056689 A JP13056689 A JP 13056689A JP H02308336 A JPH02308336 A JP H02308336A
Authority
JP
Japan
Prior art keywords
variable
data area
data
operand
program
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
JP13056689A
Other languages
English (en)
Inventor
Tadayoshi Ideshita
井出下 忠良
Masato Matsui
松井 正人
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.)
NEC Corp
NEC Solution Innovators Ltd
Original Assignee
NEC Corp
NEC Solution Innovators 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 NEC Corp, NEC Solution Innovators Ltd filed Critical NEC Corp
Priority to JP13056689A priority Critical patent/JPH02308336A/ja
Publication of JPH02308336A publication Critical patent/JPH02308336A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は動的にデータアドレスを解決するプログラムの
実行に関し、特に高速にデータをアクセスする方式に関
する。
(従来の技術) 従来の方式では、データアドレスが未解決であるプログ
ラムの実行において、プログラム中の1オブジエクト命
令を実行するごとにオブジェクト命令に含まれる変数オ
ペランド内の変数名で、変数とデータエリアとを対応づ
ける変数名テーブルを走査して、変数のデータエリアへ
のアドレスを得てデータをアクセスしていた。
(発明が解決しようとする課題) 上述した従来の方式では、動的に変数オペランドのデー
タアドレスを解決する処理において、変鮫のデータをア
クセスするために、各オブジェクト命令を実行する度に
変数名テーブルを走査してデータアドレスを得ているの
で、変数名テーブルに登録する変数が増加するに伴って
次第にオブジェクト命令の実行時間が増加するという欠
点があった。
本発明の目的は、1個のオブジェクト命令に含まれる変
数オペランドに対して当該変数のデータエリアへのアク
セスが初回であるか否かを判定し、初回であった場合、
変数とデータエリアとを対応づけるための変数名テーブ
ル上の変数エントリを走査し、当該変数と対応する変数
エントリが存在しなかった場合には当該変数用のデータ
エリアを確保して対応する変数エントリを変数名テーブ
ルに登録するとともに、1個のオブジェクト命令に含ま
れる変数オペランド内の変数名をデータエリアへのアド
レスに置換し、変数オペランド内のデータアドレスから
当該変数に対応するデータエリアをアクセスする。とれ
Kよって上記欠点を除去し、オブジェクト命令の実行時
間の増加がないように構成したプログラム実行方式を提
供することにある。
(課題を解決するための手段) 本発明によるプログラム実行方式は、ソースプログラム
を翻訳して生成したオブジェクトプログラム中の1個の
オブジェクト命令に含まれる変数オペランドのデータア
ドレスが未解決であるプログラムのプログラム実行方式
であって、判定手段と、走査手段と、登録手段と、置換
手段と、アクセス手段とを具備して構成したものである
判定手段は、1個のオブジェクト命令に含まれる変数オ
ペランドに対して当該変数のデータエリアへのアクセス
が初回であるか否かを判定するためのものである。
走査手段は、初回であった場合、変数とデータエリアを
対応づけるための変数名テーブル上の変数エントリを走
査するためのものである。
登録手段は、当該変数に対応する変数エントリが存在し
なかった場合に、当該変数用のデータエリアを確保して
対応する変数エントリを変数名テーブルに登録するため
のものである。
置換手段は、1個のオブジェクト命令に含まれる変数オ
ペランド内の変数名をデータエリアへのアドレスに置換
するためのものである。
アクセス手段は、変数オペランド内のデータアドレスか
ら当該変数に対応するデータエリアをアクセスするため
のものである。
(実施例) 次に1本発明について図面を参照して説明する。
第1図は、本発明によるプログラム実行方式を示す流れ
図である。
ステップ11では、1個のオブジェクト命令の実行で変
数オペランドが現れた場合に、当該変数オペランドのデ
ータアクセスが初回であるか否かを判定する。
第2図は、オブジェクト命令に含まれる変数オペランド
の形式を表している。第2図において、!1はオペラン
ドIDフィールド、!!2はオペランドステータスフィ
ールド、23はデータ長フィールド、24は変数毛長、
25は変数名/データアドレスフィールドである。
第1図において、ステップ11の判定はオペランドステ
ータスフィールド32を用いて行う。オペランドステー
タスフィールド22の初期値はオフであシ、オフである
か否かにより初回であるか否かを判定する。
第8図は、変数名テーブル31と、変数エントリの形式
と、データエリアテーブル32との関連を表した説明図
である。第8図に〉いて、33は変数名エリア、34は
データアドレスエリア、55はX格納エリア、36はa
drl格納エリア、s7はデータエリアである。変数名
テーブル上の一つの変数エントリは変数名エリア33と
、その変数のデータエリア37への対応を表わすデータ
アドレスエリアs4とで構成されている。
ステップ12では、ステップ11の判定で初回であった
場合、ステップ12では変数名テーブル31上で変数オ
ペランドに含まれる変数名フィールド25と一致する変
数名エリア33を待つ変数エントリの存在を判定する。
変数名フィールド25に対応する変数二ントリが存在し
ていなかった場合、データエリアテーブル32上の空き
領域に、データ長フィールド2′5で示すデータエリア
とデータ長を保持するためのエリアとを確保し、変数名
テーブル51に変数名とデータエリアへの対応を表わす
データアドレスとから成る新しい変数工/トリを追加す
る。これがステップ13である。
ステップ14では、変数オペランドに対してオペランド
ステータスフィールド22をオフからオンにし、変数名
フィールド26の内容を当該変数エントリ内のデータア
ドレス34で置換する。
第4図は、変数オペランドの変数名をデータアドレスに
置換する例である。第4図において、A1〜A6、Bl
〜B5は第2図に対応する各フィールドである。オペラ
ンドステータスフィールドがオフであるため、上述のス
テップ12からステップ14によシ、変数名Xをデータ
アドレスadrlK置換する、これによってオペランド
ステータスフィールドはオンとなる。
ステップ15では、変数のデータをアクセスするために
、ステップ14で置換した変数オペランド内のデータア
ドレスフィールド25を用いて、直接、データエリアを
アクセスして値の格納と値の確保とを行う。
オブジェクト命令に含まれる変数オペランドは、上述し
たように、いったんデータアクセスを施すと、2回目以
降においてステップ12からステップ14を省くため、
変数のデータアクセスを高速に行うことができる。
(発明の効果) 以上説明したように本発明は、即時実行や作成の容易さ
を特徴とするインタプリタによシブログラムを実行する
ことによシ、データアクセスにおいて、コンパイラ言語
で作成されたプログラムなみの性能が得られるという効
果がある。
【図面の簡単な説明】
第1図は、本発明によるプログラム実行方式の一実施例
を説明するフローチャートである。 第2図は、オブジェクト命令に含まれる変数オペランド
の形式を示す説明図である。 M8図は、変数名とデータエリアとを対応付ける変数名
テーブルとデータエリアテーブルとの形式を示す説明図
である。 第4図は、第2図で示した変数オペオンドのデータアド
レスへの置換例を示す説明図である。 11〜15・・・処理ステップ 2°1〜2B、A1〜A5、Bl〜BS−−−−フィー
ルド 31.32・e・テーブル 33〜5T−−−エリア

Claims (1)

    【特許請求の範囲】
  1. ソースプログラムを翻訳して生成したオブジエクトプロ
    グラム中の1個のオブジェクト命令に含まれる変数オペ
    ランドのデータアドレスが未解決であるプログラムのプ
    ログラム実行方式であつて、前記1個のオブジェクト命
    令に含まれる変数オペランドに対して当該変数のデータ
    エリアへのアクセスが初回であるか否かを判定するため
    の判定手段と、前記判定において初回であつた場合、前
    記変数と前記データエリアとを対応づけるための変数名
    テーブル上の変数エントリを走査するための走査手段と
    、当該変数に対応する変数エントリが存在しなかつた場
    合に当該変数用のデータエリアを確保して前記対応する
    変数エントリを変数名テーブルに登録するための登録手
    段と、前記1個のオブジェクト命令に含まれる変数オペ
    ランド内の変数名を前記データエリアへのアドレスに置
    換するための置換手段と、前記変数オペランド内のデー
    タアドレスから当該変数に対応するデータエリアをアク
    セスするためのアクセス手段とを具備して構成したこと
    を特徴とするプログラム実行方式。
JP13056689A 1989-05-23 1989-05-23 プログラム実行方式 Pending JPH02308336A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13056689A JPH02308336A (ja) 1989-05-23 1989-05-23 プログラム実行方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13056689A JPH02308336A (ja) 1989-05-23 1989-05-23 プログラム実行方式

Publications (1)

Publication Number Publication Date
JPH02308336A true JPH02308336A (ja) 1990-12-21

Family

ID=15037318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13056689A Pending JPH02308336A (ja) 1989-05-23 1989-05-23 プログラム実行方式

Country Status (1)

Country Link
JP (1) JPH02308336A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06230976A (ja) * 1992-12-22 1994-08-19 Sun Microsyst Inc 参照をリゾルブする方法および装置
JP2006526841A (ja) * 2003-06-02 2006-11-24 サン・マイクロシステムズ・インコーポレイテッド バーチャルマシンにおいてインプレース実行を支援するための近接ベースのアドレス指定

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06230976A (ja) * 1992-12-22 1994-08-19 Sun Microsyst Inc 参照をリゾルブする方法および装置
JP2006526841A (ja) * 2003-06-02 2006-11-24 サン・マイクロシステムズ・インコーポレイテッド バーチャルマシンにおいてインプレース実行を支援するための近接ベースのアドレス指定

Similar Documents

Publication Publication Date Title
EP0620522B1 (en) High performance dynamic linking through caching
KR960018911A (ko) 명령어 캐시안으로 명령어를 로딩하는 방법
JPH02308336A (ja) プログラム実行方式
JP3489153B2 (ja) ファイルシステム
JPH09179738A (ja) オブジェクト指向言語処理方法及び処理装置
JPH09146772A (ja) 手続き呼出し方法
JPH03164835A (ja) インタプリタ型言語処理系における大域変数処理のコンパイル方法
JPS6375837A (ja) プログラミング言語の予約語追加に対する互換性維持の為の予約語管理方式
JP2001256042A (ja) 個別アプリケーションパッチ管理装置及び個別アプリケーションパッチ管理方法
JPH03263237A (ja) パッチ処理方式
JPH0746636A (ja) 電子交換機のファイル更新におけるアドレス変換方法
JPS63178345A (ja) デ−タベ−スアクセス処理方式
JPH0566949A (ja) 関数定義コンパイルドコード呼出し方式
JPH0357024A (ja) データ多重割付方式
JPH0675757A (ja) 仮想空間常駐プログラムのリンク方式
JPH03161842A (ja) デバッグシステム
JPH0594303A (ja) 配列要素に対するデータアクセス方式
JPH0784843A (ja) データアクセス方法
JPH04178738A (ja) レジスタアロケーション方式
JPS62137641A (ja) 高級言語のコンパイラ
JPH05334093A (ja) 言語プロセッサにおけるシンボル管理方式
JPH03255534A (ja) 高級プログラム言語のポインタ修飾データ参照方式
JPH03271939A (ja) メッセージ送信翻訳処理方式
JPH04138534A (ja) プログラムのデバッグ方式
JPH0460721A (ja) オブジェクト指向言語処理方式