JPH05505274A - 2個の非類似プログラムユニット間の呼出規格を自動的にインターフェイスさせるシステム及び方法 - Google Patents

2個の非類似プログラムユニット間の呼出規格を自動的にインターフェイスさせるシステム及び方法

Info

Publication number
JPH05505274A
JPH05505274A JP4508275A JP50827592A JPH05505274A JP H05505274 A JPH05505274 A JP H05505274A JP 4508275 A JP4508275 A JP 4508275A JP 50827592 A JP50827592 A JP 50827592A JP H05505274 A JPH05505274 A JP H05505274A
Authority
JP
Japan
Prior art keywords
program unit
program
call
jacketing
calling
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
JP4508275A
Other languages
English (en)
Inventor
マーフィー ダニエル エル
Original Assignee
ディジタル イクイップメント コーポレイション
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 ディジタル イクイップメント コーポレイション filed Critical ディジタル イクイップメント コーポレイション
Publication of JPH05505274A publication Critical patent/JPH05505274A/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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Abstract

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

Description

【発明の詳細な説明】 2個の非類似プログラムユニット間の呼出規格を自動的にインターフェイスさせ るシステム及び方法本発明の背景 本発明は、コンピュータプロセッサによって実行される独立且つ非類似のプログ ラムユニットをインターフェイスさせるシステム及び方法、更に具体的には、プ ログラム実行の間に、非類似プログラムユニット間の呼出規定を自動的にインタ ーフェイスさせる構成及び処理手順に関するものである。
異なる呼出基準を用いる独立且つ非類似のプログラムユニットが、コンピュータ で実行され、適切な動作を行うようにインターフェイスさせられる環境は様々で ある。呼出基準の相違は、セマンティクス及び/又はメカニクスにおいて存在す る場合かある。
例えば、旧アーキテクチャの以前のコンピュータシステム用に開発されたプログ ラムユニットから翻訳されるプログラムユニットを用いることか望ましい新アー キテクチャのコンピュータシステムか開発される場合かある。従って、新コンピ ュータ用の固有コードで書かれたプログラムユニット及び翻訳コードで書かれた プログラムユニットにおいて、独立なプログラムユニット動作のためにインター フェイスさせる必要のある呼出基準か異なることとなる。
引用されている応用例は、現存コンピュータ用の現存プログラムライブラリをア ーキテクチャの異なる新コンピュータで使用するのに適合させる新コード翻訳シ ステムに関するものである。翻訳システムは、複雑命令セットVAX?コンピュ ータシステムと、当該謙り受け人によって製造されたRISCコンピュータシス テムとの間におけるような、異なるアーキテクチャを有しているコンピュータシ ステム間のプログラムユニ・ノドの移行に関して一般的に応用される。
他の実現例において、プログラムユニ・ノド呼出基準の相違によってインターフ ェイスを必要とする他のケースとしては、64ビツト環境と32ビツト環境との ように、異なる長さのメモリ環境用にプログラムユニットが設計される場合かあ る。
非類似プログラムユニット間にインターフェイスを設けるために、呼出プログラ ムユニットは、コーリー(呼出しを受けるもの: callee)か望む呼出規 格に従っていなければならないと思われる。逆に、呼出されるプログラムユニッ ト(“コーリー”)か、コーラ−(呼出しを行うもの: caller)の呼出 規格に従つていなければならないものと思われる。このため、特定のコーラ−の 変数及び戻り値を、特定のコーリーの要求に適合される。
この適合化プロセスをジャケラティングと称する。
イメージの設計者又は構築者か明示の動作をしなくとも、ランタイムにおいてジ ャケラティングか自動的に終了するように構成されていることか特に望ましい。
この様にして、全システムを再リンクさせ、再起動させる必要なく、プログラム ユニットを順次のバージョンで置き換えることかできる。本発明は、自動ジャケ ラティングを用いて、実行の間に非類似プログラムユニットをインターフェイス させるシステムを目的としている。
発明の概要 ジャケラティングシステムは、コンピュータシステムてのプログラム実行の間に 、非類似プログラムユニットを自動的にインターフェイスさせる。コンピュータ システムにおける第1プログラムユニツトの実行の間に、第1呼出基準の第1プ ログラムユニツトから第2呼出基準の第2プログラム二二・ソトの実行呼出しを 検出するための手段を設ける。
第1及び第2プログラムユニツトの呼出基準か整合と検出されると、呼出し接続 か行われる。整合か検出されない場合には、第1プログラムユニツトから第2プ ログラムユニツトに供給されるへきパラメータの表示か、第2プログラムユニツ トの呼出基準を用いている他の表示に変換される。
図面の簡単な説明 本明細書に組み入れられ、本明細書の一部を構成する添付図面は、本発明の一実 施例を示すものであり、その説明と相俟って、本発明の目的、利点及び原理を説 明するものである。図面中、 図IAは、本発明による非類似プログラムユニット間の自動ジャケラティングを 提供するように構成された手続き及びシステム構成配置を示すブロック図である 。
図IBは、自動ジャケラティングシステムの動作方法の概要を示すモデル図であ る。
図2は、記号を手続記述子に構築し、ランタイムでの自動ジャケラティングを容 易にする入手続き呼出し用のコンパイラルーチンを示すフローチャートである。
図3は、バウンド手続記述子(BPD)レコードを作成し、ランタイムにおける 自動ジャケラティングを容易にする山手続き呼出し用のコンパイラルーチンを示 すフローチャートである。
図4は、BPDレコードの外部参照を解決するリンカルーチンを示すフローチャ ートである。
図5及び6は、呼出しルーチンからターゲットとされるルーチンへのポインタを 作成するイメージアクティベータフィックスアップル−チンを示すフローチャー トである。
図7及び8は、本発明によりランタイムにおいて自動的に実行され、ジャケラテ ィングを提供するジャケラティングルーチン、特に固有コードルーチン及び翻訳 コードルーチンからの呼出しを示すフローチャートである。
図9は、手続記述子のデータ構造を示す図である。
図10は、ジャケットか必要であると判定された場合にイメージアクティベータ によって作成されるフィクスアップを示す図である。
図11は、ジャケラ1〜か必要でないと判定された場合にイメージアクティベー タによって作成されるフィクスアップを示す図である。
図12は、オペレーティングプログラムのシステム内での動作用にイメージがジ ャケットされた後、イメージを後のノく−ジョンて置き換えるための簡易な方法 を示す図である。
図13は、本発明によって統合プログラムシステムとして機能するようにジャケ ラティングを用いてインターフェイスさせられた非類似イメージ、すなわち本実 施例では固有及び翻訳イメージの任意の混合を図式的に示す図である。
好適実施例の説明 図IAに、Yソースコード102からYコード102で発生するプログラムユニ ットを実行するYブロモ・ソサ100を示す。
更に、Yコード101のプログラムユニツトとは非類似のプログラムユニットか 、X−Y翻訳プログラム106によってソースコード110からYコード104 において発生し、Yプロセッサ100によって実行される。ソースコード102 及び110には、同−又は異なる言語が用いられる。
X−Y翻訳プログラム106は、Xコード110から発生した、コンパイルされ 、リンクされたXコード108から翻訳されたコード104を発生させる。例え ば、XコードおよびYコードを、当該鐘り受け人によってそれぞれ製造されたV AX?コンピュータシステム及びRISCコンピュータシステムでの実行用に作 成されるVAXコード及びRISCコードとすることができる。
翻訳されたイメージ間の呼出しにおいて、翻訳プログラム106は、すべての必 要な呼出しメカニクスを処理する。固有Yイメージ間の呼出しの場合、メカニク スは、Y呼出基準によって記述される。しかしながら、固有又はYイメージと、 翻訳又はXイメージとの間の呼出しては、変数、リターン値などの指定サイズが 一般的に不整合となる。このため、X及びYプログラムユニットの関連する非類 似性は、異なるX及びY呼出基準から生しるものである。
ジャケラティングを必要とする外部呼出しを行うすへてのルーチンにおいて共通 に使用される自動ジャケラティングルーチン122を具えている自動シャケラテ ィングシステム120によって、非類似プログラムユニット間をインターフェイ スさせる呼出しを提供する。自動ジャケラティングシステム120は、固NYコ ンプライヤ124、固有Yリンカ−126及びイメージアクティベータ128に よってロードされたコードイメージ内に構築されたストラフチャも具えている。
イメージアクティベーシヨンのプロセスは、ブロック128Aによって指定され る。一方、イメージアクティベーシヨン128それ自体は、Yコンピュータシス テムのメモリ105の領域内のレジデントとして示されている。
メモリ105内の他の関連プログラミングレジデントは、サポートルーチンイメ ージ103、固有Yイメージ101A、及び翻訳されたコードイメージ104A を備えている。オペレーティングシステム132は、イメージアクティベータ1 28及びシャケラティングルーチン122を備えている。
一般的に、ライブラリ等を共有しているコンピュータシステムでの実行用コード を構築するプロセスにおいて、呼出し手続きと呼出される手続きとの結合が、イ メージアクテイベーションタイムに生じる。手続きライブラリを有している共有 可能なイメージは、このようにして実行開始時にコーラ−に結合され、これによ って、呼出しイメージを再構築する必要なしに、このようなイメージをより新し いバージョンに有利に置き換えることかできる。置き換えられたイメージかジャ ケラティングリンケージを有していたとしても、再構築することなしに呼出しイ メージを有利に置き換えることかできるように、自動シャケ・ソティングシステ ム120は構成され動作する。
図IBは、自動ジャケラティングシステム120の一般的なモデル及びその動作 方法を示す図である。ここで、プログラムユニットAが、プログラムユニットB を呼出す。プログラムユニッ)A及びBか整合した呼出基準を有している場合、 整合が検出され、スイッチ121が動作し、プログラムユニットAからプログラ ムユニットBへの直接呼出し接続となる。
プログラムユニットAとBとが整合していない場合、混合した呼出しが検出され 、共通ジャケラティングルーチン122が呼出され、接続を制御する。ジャケラ ティングルーチン122は、記号情報5IGY及び5IGXを用いて、混合呼出 し接続に必要なジャケラティングを提供する。更に詳しく述へると、記号情報は 、各変数のロケーション及びフォーマットを指定し、ジャケラティングルーチン 122は、変数を呼出し側のフオームから呼出される側のフオームに変換する。
当該実施例において、変数についての情報は、翻訳されたコードイメージ104 とともに具えられている変数リストの形式で提供される。5IGYは、ここて順 次記載されている固有Yイメージ101ついての、コンパイラ124で発生する 記号情報を有している。更に、共通ジャケノティング手続きを2個のジャケラテ ィングルーチンとして設ける。一方のジャケラティングルーチンは固有呼出し処 理用であり、他方のジャケラティングルーチンは翻訳コード呼出し処理用である 。
コンパイルタイムで発生するジャケラティングシステム構造Yコンパイラ124 は、ランタイムにおける共通ジャケラティングルーチンによってジャケラティン グを容易化するための自動ジャケッティングンステム(図IA)の一部としての 構造を構築する。具体的には、順次の処理及び使用のために記号構造か構築され る。
図2は、Yコンパイラ124によって固有Yコードのコンパイルの間に使用され 、Yコードに含まれている種々のルーチンの手続記述子(PD)を構築するコン パイラルーチン140を示している。PDの基本的な構造を、図9のブロック2 31に示す。
通常、独立PDは、各Yルーチンに対して作成され、ここでは付加的な構造を有 し、本発明による非類似ルーチンをインターフェイスさせるための自動ジャケラ ティングをサポートする。
このようにして、PDルーチン140(図2)はブロック142に入り、種々の ブランチ(図示せず)に後続してルーチン1.40となり、PDの慣用の構成要 素を構築する。ブランチ143はブロック144へと続き、入呼出しをコンパイ ルする。具体的には、ランクイムジャケラティングを支持しつつ、各ルーチンに 対する各入力記号を構築する。
テストブロック146は、まず、PDルーチン140によって処理される特定の ルーチンに対して、自動ジャケラティングかユーザによって選択されたか否かを 判定する。ユーザの選択は、ブロック125(図IA)を介してYコンパイラ1 24に入力される。
自動ジャケラティングか選択されない場合、PDルーチンはブロック148に出 る。自動ジャケラティングか選択される場合、ループ150に入り、ブロック1 52において、PDルーチン140によって処理されるルーチンに含まれている パラメータリスト中のすへてのパラメータを評価する。
パラメータは、パラメータタイプ(すなわち、本発明の実施例では浮動小数点タ イプ又は整数タイプ)に従って分類され、すへてのリスI・されたパラメータか 処理されたことをテストブロック147が表示するまで、1個ろつ処理される。
一般的に、区別されるパラメータのタイプは、パラメータか通過するロケーショ ンを決定し、従ってランタイムにおけるパラメータ変数の論理的な処理を容易化 するデータとして作用する。
分類されたパラメータタイプ及び関連情報かアレイに構築され、PDルーチン1 40によって処理される各Yコードルーチンの各入呼出しに対して、PDに記号 を形成する。PDルーチン140か発生する各記号によって、ランクイムジャケ ラティングコードか、記号の適合する固NYコードルーチンに入呼出しを接続す る。
固有Yコートコンパイラ124(図IA)はルーチン160(図3)も使用し、 各処理されたYルーチン呼出しに対してバウンド手続きレコード(BPR)を構 築する。BPDは、リンカかランクイムジャケッティングコーI・の動作をサポ ートするに順次使用することかできる一時的なレコードである。具体的には、各 BPRは、関連するYコードルーチンからの外部ターゲットルーチンに、アウト バウンド呼出しを提供する。
ブロック162はBPRルーチン+60のエントリてあり、次にテストブロック 164は、既知の外部ルーチンへの出呼出し用に、自動シャケラティングかユー ザによって選択されるか否かを決定する。コンパイルタイムに呼出される外部ル ーチンが既知であり、自動ジャケラティングか選択されていない場合、コンパイ ルタイムにおいて直接接続か指定され、ブロック166かりンケージベアLPを 構築する。BPRルーチン160は、ブロック168て終了する。
本発明の実施例において、リンケージペアLPは、2個のカット語、すなわち手 続記述子アドレス及びコードエントリアドレスによって表現される。一般的に、 呼出されるルーチンかコンパイルタイムに既知の場合に、より高速の呼出し速度 を実現するためにLPか使用されるか、必ずしも必要ではない。
自動ジャケラティングか選択される場合、テストブロック170は、同一のアウ トバウンド呼出しか以前に処理されているか否かを判定し、以前に処理されてい る場合、ブロック172は、同一のアウトバウンド呼出しに対して予め構築され たBPF?を、現在処理されるYコードルーチンに割り当てる。同一のアウトバ ウンド呼出しか以前に処理されていない場合、ブロック174は、新BPHの作 成を開始し、これをバウンド手続記述子(BPD)リストに加える。ブロック1 74は、コンパイルタイムに既知な呼出しルーチン用のLPも作成する。
BPDによって、一定の言語か要求する付加的内容情報を用いて手続き変数を用 いての呼出しを可能にする。BPDは、自動ジャケラティングの内容及び切り替 えの要求もサポートする。
このようにして、BPD(図11)は、ターゲットルーチン用の手続記述子17 3、切り替えを行うのに修正されるコードアドレス175、記号情報177、及 びターゲットルーチン179用のコードアドレスを有している。
切り替えサポート情報及び記号情報の両方を組み込むために、BPDは図10に 示されているように構成される。イメージスペースを最適にするために、コンパ イラ124はオブジェクトレコード内の記号情報を指定し、その後、呼出しか外 部ターゲットに対するものである場合にのみ、YリンカがBPD、を構築する。
ループ175に入り、処理されるYコードルーチンを有している呼出し変数リス トを処理する。ブロック178は、タイプ(すなわち、浮動小数点、32ビツト 整数又は64ビツト整数)にしたかって変数を分類し、変数リストのすべての変 数が処理されたことをテストブロック176が表示するまで、変数を1個づつ処 理し、ブロック168においてBPRルーチンを終了する。
変数タイプ及び関係情報がアレイ内に構築され、BPRルーチン160によって 処理される各Yコードルーチン内の各アウトバウンド呼出しに対する記号を形成 する。入呼出しの場合と同様に、BPRルーチン160か発生する記号によって 、ランクイムジャケラティングコードは、固有Yコードルーチンからの出呼出し を翻訳コードルーチンに接続することができる。
呼び出しルーチン及び呼出されるルーチンに対する記号か、ジャケラティングプ ロセスで変数を変換するのに必要な情報のすべてを有しているので、ジャケラテ ィングは、2個の記号によって起動される共通ルーチンによって提供される。
リンクタイムに発生するジャケラティングシステム構造リンキイングによって、 独立にコンパイルされた多数のモジュールを1個のイメージに結合させる。呼出 しは、イメージに対して外的なものとすることも、内的なものとすることもてき る。コンパイラは、モジュールに対して外的なターゲットがイメージに対しても 外的であるか否かを判定てきない。従って、したかって、リンカがこのような呼 出しを解決する。
Yリンカ126は、直接転送によって内部イメージ呼出しを解決し、これによっ て所定のランタイムチェック又は規定オーバーヘッドを解消する。外部呼出しの 場合、Yリンカ126は、後に使用するためのYコンパイラ124によって構成 される記号情報を構築する。
図4に、各処理されるYコードルーチンでジャケットされるへき各アウトバウン ド呼出しの外部参照を解決するのにYリンか126によって用いられるリンカル ーチン180を示している。ブロック182においてリンカルーチン180に入 り、テストブロック184は、処理されるアウトバウンド呼出しのターゲットル ーチンが処理されるYイメージ内に存在するか否かを判定する。イメージ内のル ーチンのリンカによって構築される記号テーブルが、所望ルーチンのブロック1 84によってサーチされる。
ターゲットが内部のものである場合、ブロック186は以前に構築されたBPR を捨て、ノーマルリンケージペアがブロック188て構築され、リンケージルー チンがブロック190で終了する。次に、テストブロック192は外部イメージ をサーチし、ターゲットルーチンか外部ルーチンであるか否かを決定する。ター ゲットルーチンが外部ルーチンでない場合、ブロック194は、ターゲットルー チンが存在しないと判定し、エラーを報告する。
ブロック196は、コンパイラ124によって構築される各LP及び各BPRか ら、バウンド手続きデータ構造BPDを構築する。一般的に、各BPDは、BP D又はLP情報を指定されたフォーマットに整理することによって形成される。
このようにして、各BPDは、ランタイムにおける出呼出し用のジャケラティン グコードを駆動する記号を存し、ブロック198によってフィックスアップリス トに加えられ、イメージアクティベータ128(図IA)によって順次処理する 。
イメージアクティベーションタイムに生じるジャケラティングシステム構造 イメージアクティベータ128は固有Yイメージ及び翻訳イメージをYプロセッ サ100用のメモリにロードし、イメージ接続を作成し、実行可能コードを提供 する。一般的に、イメージアクティベータ128は、ランクイムジャケラティン グコードに対するポインタを用いて出固存呼出しを構成し、これによって、ロー ドされた固有Yイメージ内に、自動ジャケラティングシステムの構成素子を作成 する。
本発明の実施例において、固有イメージ及び翻訳イメージは、イメージアクティ ベータによる処理を行うための同一のフォーマットである。翻訳イメージは、識 別用にそのヘッダにフラグを有し、これによってイメージアクティベータがイネ ーブルされ、このイメージ内のルーチンからの呼出しか翻訳ルーチンからの呼出 しであることを認識する。
具体的には、翻訳イメージとは、VAX?コードの翻訳から生じるイメージであ る。翻訳プログラム106 (図IA)は、発生させ、呼出しを処理する。
翻訳プログラムの動作において、ユーザには、自動ジャケラティングシステムサ ポートとすべきか否かの選択か認められている。自動ジャケラティングか選択さ れない場合、翻訳プログラムは、各ターゲットか固有又は翻訳であるか否かを決 定する。
翻訳ターゲットに対する各呼出し毎に、翻訳プログラムは、ジャケラティングを 用いないでの直接転送を行うシーケンスを構築する。
自動ジャケラティングか選択されると、翻訳プログラムは、ターゲットのタイプ をチェックしない。その代わりに、エントリマスク(ビット12)チェックを各 外部呼出しに設け、ランタイムにターゲットタイプを決定する。ランタイムチェ ックか固有ターゲットを表示している場合、呼出しは直接自動ジャケラティング ルーチンに分岐する。呼出しが行われるコードポイントにおいて、メモリ内に構 成される変数リスト(本発明の実施例ではVAX?リスト)及びターゲットルー チンアドレスが呼出し処理用に保持されている。ルーチンエントリマスク内のク リアビット12によって判定される際、ターゲットルーチンか翻訳コードルーチ ンの場合、呼出し制御は翻訳イメージ内に設けられる。ターゲットルーチンか固 有Yイメージ内に存在する場合、共通ジャケラティングルーチン122に供給さ れるべき制御か設けられる。
ジャケラティングルーチン122は、翻訳ルーチンか翻訳された元となるコード (本発明の実施例ではVAX?)用の呼出基準によって指定されるものを、変数 のフォーマットとして予想する。
図5において、各出呼量しの処理に際し、ブロック202で、BPDフィックス アップル−チン200に入る。テストブロック204は、ターゲットルーチンか 固有であるか否かを判定する。ターゲットルーチンが固有の場合、ブロック20 6は、呼出しルーチンと呼び出されるルーチンとを直接接続するポインタを作成 し、ブロック208でルーチン20oを終了する。
ターゲットルーチンか翻訳コードルーチンであると、ブロック204か判定する と、ブロック210は、固有−翻訳コード呼出し用の共通ジャケラティングルー チンにポインタを作成する。以前に示したように、ジャケラティングルーチン1 22への分岐は、ジャケラティングされる必要のある各呼出し毎に翻訳プログラ ム毎に作成される。
各出呼量しにおいて、ブロック222てLPフィイブスアップに入り、テストブ ロック224は、ターゲットルーチンが配置される場所を決定する。ターゲット ルーチンか固有イメージ内に配置される場合、ブロック226は、呼出しルーチ ンと呼び出されるルーチンとの間に直接ポインタを作成する。その後、ブロック 288でLPフィイブスアップル−チンを終了する。
ターゲットルーチン内に存在する場合、ブロック230は、図5のブロック21 0て参照されるジャケラティングルーチンにポインタを作成する。
共通ジャケラティングルーチン 本発明の実施例では、明示記号か、翻訳コード固有コードインターフェイスのY 又は固有側にのみ存在する。VAX?側において、VAX?変数リス1−は変数 のロケーション又は値を有しているか、これらのタイプに関する情報を有してい ない。従って、ジャケラティングは、固有又はY側がらの記号によって完全に駆 動される。本発明の他の応用例では、記号が両側に存在するものとすることかで き、ジャケラティングルーチンがコーラ−及びコーリー記号を両方使用し、再フ ォ−マツト化を完了し得る。
図7に、ジャケラティングルーチン122、すなわち第1プログラムユニツトか ら第2非類似プログラムユニツトへの呼出しをジャケラティングするために、自 動ジャケラティングシステム220(図IA)の一部として提供される共通自動 ジャケラティングルーチン240、すなわち本発明の実施例では翻訳コードコー ラ−への固有コードコーラ−の−例としてのフローチャートを示す。ジャケラテ ィングルーチン240は、呼出しが計算形呼出し、すなわち手続き値呼圧しであ る場合に提供されるターゲットルーチンアドレスを用いて、パス241のブロッ ク242から開始される。呼出しかりンケージベア(L P)呼出しの場合、ジ ャケラティングルーチン240は、所定のターゲットBPDアドレスを用いてブ ロック244から開始される。
手続き値呼出しとして、以下の呼出しシーケンスか提供されLDQ RA、 P D−CODE−ADDR(R4) ;ターゲットのコードaddrをロードする 。
MOVE R4,PV ターゲットのproc descrをロードする。
JSRRA、 (RA) ターゲットにジャンプし、PCをセーブする。
リンケージペア呼出しとして、以下の呼出しシーケンスか提供される。
LDQ RA、 LP−CODE−ADDR(R4);ターゲットのコードad drをロードする。
LDQ、PV、 LP−DESC−ADDR(R4)+ターゲットのproc  descrをロードする。
JSRRA、 (RA) ターゲットにジャンプし、PCをセーブする。
再びジャケラティングルーチン240を参照し、テストブロック246は、ター ゲットルーチンか固有Yイメージに位置しているか否かを決定する。ターゲット ルーチンが固有Yイメージに位置している場合、ブロックルーチン248は、タ ーゲットルーチンにジャンプする。手続き値呼出しが翻訳イメージであると検出 される場合、又はLP呼出しかブロック244から開始される場合、情報転送ル ープ250か、テストブロック252から開始される。
本発明の実施例では、スイッチングか整合呼出しと不整合呼出しとの間に生じる ようにするために、テストブロック246は、ターゲットルーチンのエントリマ スクのビット12を参照する。ビット12がクリアされていれば、ターゲットル ー、チンが翻訳コードルーチンであると認識される。ビット12かセットされて いれば、ターゲットルーチンか固有Yコードルーチンであると認識される。呼出 しプログラムユニットの呼出基準に基づく呼出記号情報、すなわち本発明の実施 例では固有イメー、ジの呼出基準が、ブロック245によってターゲットルーチ ン変数として必要となる。ループ250では、記号情報か処理され、第2及び非 類似プログラムユニット用の呼出基準、すなわち本発明の実施例では翻訳イメー ジ用の呼出基準に従ってターゲットルーチンに移送される。
通常、ループ250ては、記号情報の状態ロケーションか決定され、その後、タ ーゲットルーチンの呼出基準に従って、変数によって状態変数に処理される。本 発明の実施例では、テストブロック256及び258は、記号情報の位置、すな わちスタック上又はレジスタ中であるのかを決定する。
本発明の実施例、すなわち、RISCアーキテクチャの呼出基準の場合、第1の 6個の変数かレジスタ内に供給される。第1の6個の変数の各々は、変数タイプ に好適な固定又は浮動小数点型レジスタ内に存在する。
従って、変数“U”が6よりも大きい場合、ブロック260は、変数をスタック から取り出す。一方、テストブロックか浮動小数点型変数のテストを行い、ブロ ック262において、浮動小数点型レジスタから浮動小数点型変数が得られるか 、又は、ブロック264において、整数型レジスタから整数型変数が得られる。
ブランチ251て得られるスタック変数又はブランチ253て得られるレジスタ 変数がブロック266に供給され、翻訳イメージの呼出基準に従って、すなわち 、本発明の実施例ではVAX?に従って、各処理変数に適用されるパフォーマン スケースを決定する。
特定のVAX?環境の場合、すべての変数かスタックに記憶される。このように して、ブロック268が、1個のスタックアイテムとして、各即時32ビツト型 の変数を記憶し、ブロック270か、2個のスタックアイテムとして、各即時6 4ビツト型の変数を記憶する。レファレンス又は記述子によって識別される変数 の場合、ブロック172が、1個のスタックアイテム中の各供給データアイテム のアドレスを記憶する。
以前に述へたようにループ250は、変数か残存しなくなるまで変数毎に実行を 継続する。ここで、ブロック274においてジャケラティングルーチン240か 終了し、ターゲットルーチンにジャンプする。
図8に示す共通ジャケラティングルーチン280も、自動ジャケラティングシス テム120のジャケラティングルーチン122の1っである。これは、第2プロ グラムユニツトから非類似第1プログラムユニツトへの、すなわち本発明の実施 例では、翻訳イメージから固有イメージへの呼出用ジャケラティングを提供する 。一般的に、翻訳から固有へのジャケラティングルーチン280は、固有から翻 訳へのジャケラティングルーチン240に先行するプロセスとは逆のプロセスに 後続する。
従って、ターゲットルーチンのアドレス及び翻訳コードからの変数リスト、すな わち本実施例ではVAX?変数リストを用いて、ブロック282において、翻訳 イメージからの呼出しか開始される。呼出しが翻訳イメージに対するものである 場合、テストブロック284によって、ブロック286がルーチンを終了し、タ ーゲットルーチンにジャンプする。呼出しか翻訳イメージに対するものでない場 合、ループ288に入り、固有イメージに対する呼出用の記号情報が処理される 。
ブロック290は、パラメータタイプに従って、スタックから情報を得る。この ようにして、ダイレクト32ビツトケース291の場合には、1個のスタックア イテムかブロック292によってチェックされ、ダイレクト64ビツトケース2 93の場合には、2個のスタックアイテムかフェッチされ、レファレンス又は記 述子による非ダイレクトケースの場合、1個のスタックアイテムからアドレスか フェッチされる。
次に、テトスブロック298及び300は、固有イメージ呼出基準又は変換に従 って、変数の記憶を指示する。変数リストにおいて、6又は、それ以上の番号を 、変数に付す場合、ブロック302によって変数かスタックに記憶される。変数 リストにおいて、変数か数字6よりも小さく、且つ浮動小数点型変数の場合、ブ ロック304は変数を浮動小数点型レジスタに記憶する。変数リストにおいて、 変数か数字6よりも小さく、且つ整数型変数の場合、ブロック306は、変数を 整数型レジスタに記憶する。
ループ288は、変数リストのすへての変数か処理されるまで実行を継続する。
この際、テストブロック308の判定によってジャケラティングルーチン280 が終了し、固有Y呼出基準又は変換に従って前記ルーチンによって予測され供給 される呼出基準を用いて、ブロック310はタープ・ソト固有Yルーチンにジャ ンプする。
リターンに関して、ジャケラティングはリターンアドレスレジスタをセットし、 手続が終了した時に制御かジャケットに戻るようにする。変数かエントリで調整 されるのと同時に、単一値か調整される。記号は、リターン値のタイプを符号化 している単一のアイテムを有している。浮動小数点型の値か浮動小数点型レジス タに移動または、ここから移動し、64ピツI・整数型か、2個の32ビツトレ ジスタに移動、又はここから移動できるようにフォーマット化される。
このようにして、リターンの際、ジャケラティングルーチン122は、リターン 値を調整し、ジャケットかエントリて設定したものを除去し、元のコーラ−にリ ターンする。
概要 図10に、コーラ−とコーリーとの間に不整合か存在する場合、すなわち共通ジ ャケラティングルーチンか必要とされ、且つBPD及びLPフィクスドアップが 必要とされる場合の、システムセットアツプを示すブロック図である。この場合 BPD165の第2フイールド175かイメージアクティベータ128によって セットされ、共通ジャケラティングルーチン122を指示する。
BPD165のアドレスか共通シャケラティングルーチン122に供給され、こ れによって、シャケラティングルーチンか呼出し手続きの記号を検出する。ター ゲットPDを参照すること(こよって、ジャケソティングル・−チンは、ターゲ ットル−チン169の記号を検出する。
変数変換か行なわれた後、実行制御かターゲットルーチンに移行する。ジャケラ ティングコード122へのリターンか、リターンアドレスレジスタで提供され、 クリーンアップを行う。
リンケージペア179の場合、第2フイールドはBPDからコピーされるスイッ チ可能ターゲットアドレスを有し、ブロックTAによって示されるように、イメ ージアクティベーショ′ンタイムにおいて、パインディングを行う。
図11に、図10に示されている基本的システム構造を(イメージアクティベー タ128によって)整合ケースに切り換えたもの、すなわちコーラ−とコーリー とがイメージアクティバージョンタイムで整合するように決定されているためジ ャケラティングか必要とされない場合を示している。手続値呼出しの場合1.B PD171の第2フイールド175は、ターゲットPDを構築し、記号情報を用 いないで制御をターゲットに移行させるシーケンスを指している。
コンパイルタイムにおいてはネームによって特定され、手続値を使用していない 呼出しの場合、リンケージペア181は、付加的なオーバーヘッドなしてターゲ ラ!−183を直接指示するように構成されている。
本発明による非類似プログラムユニットの自動ジャケラティングを提供する方法 は、図12に示されているように、同一イメージの順次バージョンによってイメ ージを容易に置換できるようにするものである。このようにして、イニシャルプ ログラムユニット350は、3個の翻訳イメージ352,354及び356と、 システムイメージ353とを有することかできる。
後に、固有Yコードで書かれた新バージョン354Aが、翻訳イメ゛−ジ354 の置換のために開発され、接続すべき現存のイメージ352及び356を用いて のイメージアクティベーシヨンによって置換を行う。置換を完了するために再コ ンバイリング及び再すンキイングは必要とされない。
イメージの再アクティベーションの結果、波線で示されているように、イメージ 354Aは、共通ジャケラティングルーチン122によってイメージ352及び 356に接続する呼出しとなる。
図13に、内部イメージ呼出し用に必要とされるジャケラティングを用いて、更 に複雑なプログラムイメージセットを有しているプログラミングシステム360 を示す。このようにして、4個の翻訳コードイメージ362,364.366及 び368と、2個の固有イメージ370及び372とが提供される。共通ジャケ ラティングシステムは、図示されているように、種々のイメージ間の呼出し接続 を提供するものである。
本発明による、2個の非類似プログラムユニット間の呼出し変換を自動的にイン ターフェースさせるためのシステム及び方法において、いわゆる当業者が本発明 の範囲を逸脱することなく、種々の修正及び変更を行うことかできる。従って、 本発明は、このような修正及び変更を添付した請求の範囲及びその均等の範囲内 に含めることを意図している。
FIGURE 3 FIGURE 4 FIGURE 5 FIGURE 6 FIGURE 8 FIGURE 9 FIGURE 10 FIC,URE 13 要 約 書 本発明によるジャケラティングシステムは、コンピュータシステムにおける非類 似プログラムユニットを自動的にインターフェイスさせる。コンピュータシステ ムにおける第1プログラムユニツトの実行の間に第1呼出基準を有する第1プロ グラムユニツトから第2呼出基準を有する第2プログラムユニツトを実行させる ための呼出しを検出するための手段を提供する。手続記述子か、第1プログラム ユニツト用のコードに使用され、当該手続記述子か、第1プログラムユニツトへ の各入呼出用の呼出基準を規定する記号を具えている。バウンド手続記述子も、 第1プログラムユニツトからの各呼出用のコードに使用され、当該バウンド手続 記述子か、ターゲットプログラムユニット用の呼出基準を規定する記号を具えて いる。ジャケラティングルーチンは、2個のプログラムユニット間のジャケラテ ィング呼出しにおける記述子によって駆動される。
国 際 調 査 報 告 6r〒/lle 01/I’l+77+[L・ ト [i・ 1・・・ ■ ト− 1仁− 1に ト [゛

Claims (25)

    【特許請求の範囲】
  1. 1.コンピュータシステムにおけるプログラム実行の間に、各々呼出基準を有し ている非類似プログラムユニットを自動的にインターフェイスさせるためのジャ ケッティングシステムであって、当該ジャケッティングシステムが:前記コンピ ュータシステムにおける第1プログラムユニットの実行の間に、前記第1プログ ラムユニットから、第2プログラムユニットの実行のための呼出しを検出するた めの呼出検出手段と、 当該呼出検出手段に結合し、前記第1及び第2プログラムユニットの呼出基準が 整合しているか否かを判定するための整合判定手段と、 当該整合判定手段に結合し、整合していると判定された場合に、前記第1及び第 2プログラムユニットを直接接続するための直接接続手段と、 当該直接接続手段と結合し、整合が検出されない場合に、前記第2プログラムユ ニットへの接続のために前記呼出しをジャケッティングするためのジャケッティ ング手段と、を具え、当該ジャケッティング手段が、前記第1プログラムユニッ トから前記第2プログラムユニットに供給されるべき任意のパラメータの表現を 、前記第2プログラムユニットの呼出基準を使用する他の表現に変換するための 変換手段を具えていることを特徴とするジャケッティングシステム。
  2. 2.前記変換手段が、ロケーション及びフォーマットに従う前記パラメータの場 合に、タイプ及び変数に従って供給されるべきパラメータを規定するコード構造 を前記プログラムユニットの少なくとも一方に有していることを特徴とする請求 項1に記載のジャケッティングシステム。
  3. 3.コード構造を規定する前記パラメータ及び変数が、入呼出用の第1記号と、 出呼出用の第2記号とについての各表現を有していることを特徴とする請求項2 に記載のジャケツティングシステム。
  4. 4.前記第1プログラムユニット用に、前記コンピュータシステムにとって固有 なコードを有し、前記第1及び第2記号が前記第1プログラムユニット用のコー ドで構成され、且つ前記第2プログラムユニット用のコードが翻訳コードを具え ていることを特徴とする請求項3に記載のジャケッティングシステム。
  5. 5.前記変換手段が、前記第1及び第2プログラムユニットを結合させ、前記呼 出しを終了させるための結合手段を更に具えていることを特徴とする請求項2に 記載のジャケッティングシステム。
  6. 6.前記結合手段が、前記コード構造に応答し、前記第1プログラムユニットか ら前記第2プログラムユニットへの呼出しにおける変数を変換、送信することを 特徴とする請求項5に記載のジャケッティングシステム。
  7. 7.前記変換手段が、前記第1及び第2プログラムユニットを結合させ、前記呼 出しを終了させるための手段を更に具えていることを特徴とする請求項3に記載 のジャケッティングシステム。
  8. 8.前記結合手段が、前記記号に応答し、前記第1プログラムユニットから第2 プログラムユニットへの呼出しにおける変数を変換、送信することを特徴とする 請求項7に記載のジャカッティングシステム。
  9. 9.コンピュータシステムにおけるプログラム実行の間、第1及び第2プログラ ムユニットの間で呼出しが行なわれる際に、第1呼出基準を有している第1プロ グラムユニットと、第2呼出基準を有している第2プログラムユニットとを自動 的にインターフェイスさせるためのジャケッティングシステムであって、当該ジ ャケッティングシステムが、呼出されるプログラムユニットの呼出基準及び呼出 すプログラムユニットの呼出基準の各々に従って、各プログラムユニットの入呼 出し及び出呼出しを各々規定するための規定手段と、 前記コンピュータシステムにおける前記第1プログラムユニットの実行の間に、 前記第2プログラムユニットの実行のための呼出しを検出するための手段と、前 記コンピュータシステムにおける前記第2プログラムユニットの実行の間に、前 記第1プログラムユニットの実行のための呼出しを検出するための手段と、前記 規定手段に従って前記検出された各呼出しの各変数を処理、送信するための手段 と、 を具えていることを特徴とするジャケッティングシステム。
  10. 10.前記規定手段が、入呼出しにおいて各プログラムユニットに供給され、出 呼出しにおいて各プログラムユニットから供給されるべきパラメータをパラメー タタイプに従って規定し、前記パラメータの変数を変数ロケーション及びフォー マットに従って規定するための手段を具えていることを特徴とする請求項9に記 載のジャケッティングシステム。
  11. 11.前記規定手段が、各前記第1プログラムユニット毎に手続記述子を具え、 且つ当該手続記述子が、入呼出し用の前記パラメータ及び変数を規定する記号を 有していることを特徴とする請求項10に記載のジャケッティングシステム。
  12. 12.前記規定手段が、各前記第1プログラムユニットからの各出呼出用のバウ ンド手続記述子を更に具え、且つ各前記バウンド手続記述子が、前記手続記述子 及びターゲットプログラムユニット用の前記パラメータ及び変数を規定する記号 を具えていることを特徴とする請求項11に記載のジャケツティングシステム。
  13. 13.前記規定手段に従って、前記第1及び第2プログラムユニット間の呼出し を処理するための手段を設けることを特徴とする請求項10に記載のジャケッテ ィングシステム。
  14. 14.前記手続記述子及び前記バウンド手続記述子に従って、前記第1及び第2 プログラムユニット間の呼出しを処理するための手段を設けることを特徴とする 請求項12に記載のジャカッティングシステム。
  15. 15.コンパイルタイムに前記手続記述子を作成するための手段を設けることを 特徴とする請求項11に記載のジャケツティングシステム。
  16. 16.コンパイルタイムに前記手続記述子を作成するための手段を設けることを 特徴とする請求項12に記載のジャケツティングシステム。
  17. 17.コンピュータシステムにおけるプログラム実行の間に、呼出基準を各々有 している非類似プログラムユニットを自動的にインターフェイスさせるための方 法であって、当該方法が、前記コンピュータシステムにおける前記第1プログラ ムユニットの実行の間に、前記第1プログラムユニットから、第2プログラムユ ニットの実行のための呼出しを検出する工程と、 前記第1及び第2プログラムユニットの呼出基準が整合しているか否かを判定す る工程と、 整合が判定された場合に、前記第1及び第2プログラムユニットを直接接続する 工程と、 不整合が検出された場合に、前記第2プログラムユニットへの接続のために、前 記呼出しをジャケッティングする工程と、 を具え、当該ジャケッティング工程が、前記第1プログラムユニットから前記第 2プログラムユニットへ供給されるべきパラメータの表現を、前記第2プログラ ムユニットの呼出基準を用いる他の表現に変換するサブ工程を具えていることを 特徴とする方法。
  18. 18.前記変換サブ工程が、ロケーション及びフォーマットに従う前記パラメー タの場合に、タイプ及び変数に従って供給されるべきパラメータを規定するコー ド構造を、前記プログラムユニットの少なくとも一方に挿入する工程を具えてい ることを特徴とする請求項17に記載のジャケッティング方法。
  19. 19.前記コード構造を挿入する工程が、入呼出しに対して第1記号及び出呼出 しに対して第2記号の表現を各々挿入するサブ工程を具えていることを特徴とす る請求項18に記載のジヤケッティング方法。
  20. 20.前記変換サブ工程が、前記第1及び第2プログラムユニットを結合し、前 記呼出しを終了させる結合サブ工程を更に具えていることを特徴とする請求項1 8に記載のジャケツティング方法。
  21. 21.前記結合サブ工程が、前記挿入されたコード構造に応答して、前記第1プ ログラムユニットから前記第2プログラムユニットへの呼出しにおける変数を変 換、送信するサブ工程を具えていることを特徴とする請求項20に記載のジャケ ッテイング方法。
  22. 22.コンピュータシステムにおけるプログラム実行の間、第1及び第2プログ ラムユニット間で呼出しが行なわれる際に、第1呼出基準を有している第1プロ グラムユニットと、第2呼出基準を有している第2プログラムユニットとを自動 的にインターフェイスさせるためのジャケッティング方法であって、当該ジャケ ッティング方法が、 呼出されるプログラムユニットの呼出基準及び呼出すプログラムユニットの呼出 基準の各々に従って、各プログラムユニットの入呼出し及び出呼出しを各々規定 する規定工程と、前記コンピュータシステムにおける前記第1プログラムユニッ トの実行の間に、前記第2プログラムユニットの実行のための呼出しを検出する 工程と、 前記コンピュータシステムにおける前記第2プログラムユニットの実行の間に、 前記第1プログラムユニットの実行のための呼出しを検出する工程と、 前記規定工程に従って前記検出された各呼出しの各変数を処理、送信する工程と 、 を具えていることを特徴とするジャケッティング方法。
  23. 23.前記規定工程が、パラメータタイプに従って各プログラムユニットにおけ る入呼出し及び出呼出しで供給されるパラメータを規定し、変数ロケーション及 びフォーマットに従って前記パラメータの変数を規定する工程を具えていること を特徴とする請求項22に記載のジャケッティング方法。
  24. 24.前記規定工程が、各前記第1プログラムユニット毎に手続記述子を規定す る工程を具え、且つ当該手続記述子が、入呼出し用の前記パラメータ及び変数を 規定する記号を有していることを特徴とする請求項23に記載のジャケッティン グ方法。
  25. 25.前記規定工程が、各前記第1プログラムユニットからの各出呼出用のバウ ンド手続記述子を更に具え、且つ各前記バウンド手続記述子が、前記手続記述子 及びターゲットプログラムユニット用の前記パラメータ及び変数を規定する記号 を具えていることを特徴とする請求項24に記載のジャケツティング方法。
JP4508275A 1991-03-07 1992-03-03 2個の非類似プログラムユニット間の呼出規格を自動的にインターフェイスさせるシステム及び方法 Pending JPH05505274A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US66602891A 1991-03-07 1991-03-07
US07/666,028 1991-03-07

Publications (1)

Publication Number Publication Date
JPH05505274A true JPH05505274A (ja) 1993-08-05

Family

ID=24672537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4508275A Pending JPH05505274A (ja) 1991-03-07 1992-03-03 2個の非類似プログラムユニット間の呼出規格を自動的にインターフェイスさせるシステム及び方法

Country Status (12)

Country Link
US (1) US5764947A (ja)
EP (1) EP0528020B1 (ja)
JP (1) JPH05505274A (ja)
KR (1) KR960001642B1 (ja)
AU (1) AU655983B2 (ja)
CA (1) CA2082068A1 (ja)
DE (1) DE69225543T2 (ja)
IE (1) IE920745A1 (ja)
IL (1) IL100994A (ja)
MX (1) MX9200937A (ja)
TW (1) TW313282U (ja)
WO (1) WO1992015936A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100328516B1 (ko) * 1992-07-01 2002-11-27 텔레폰아크티에볼라게트 엘엠 에릭슨 응용프로그램사이에통신프로토콜을설정하기위한시스템및방법
US6535903B2 (en) 1996-01-29 2003-03-18 Compaq Information Technologies Group, L.P. Method and apparatus for maintaining translated routine stack in a binary translation environment
US6091897A (en) 1996-01-29 2000-07-18 Digital Equipment Corporation Fast translation and execution of a computer program on a non-native architecture by use of background translator
DE19725593A1 (de) 1997-06-17 1999-01-07 Siemens Nixdorf Inf Syst Verfahren zum Steuern einer Datenverarbeitungsanlage
US6026238A (en) 1997-08-18 2000-02-15 Microsoft Corporatrion Interface conversion modules based upon generalized templates for multiple platform computer systems
US6898792B1 (en) * 1998-02-18 2005-05-24 Iona Technologies, Plc Foreign object definition information repository
KR20010072477A (ko) * 1998-08-13 2001-07-31 썬 마이크로시스템즈, 인코포레이티드 가상 머신 환경에서 네이티브 코드를 변환하고 실행하는방법 및 장치
US8121828B2 (en) 1999-01-28 2012-02-21 Ati Technologies Ulc Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions
US7941647B2 (en) 1999-01-28 2011-05-10 Ati Technologies Ulc Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination
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
US6954923B1 (en) 1999-01-28 2005-10-11 Ati International Srl Recording classification of instructions executed by a computer
US7275246B1 (en) 1999-01-28 2007-09-25 Ati International Srl Executing programs for a first computer architecture on a computer of a second architecture
US8127121B2 (en) 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US8074055B1 (en) * 1999-01-28 2011-12-06 Ati Technologies Ulc Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code
US6978462B1 (en) 1999-01-28 2005-12-20 Ati International Srl Profiling execution of a sequence of events occuring during a profiled execution interval that matches time-independent selection criteria of events to be profiled
US7111290B1 (en) 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US6549959B1 (en) 1999-08-30 2003-04-15 Ati International Srl Detecting modification to computer memory by a DMA device
US6934832B1 (en) 2000-01-18 2005-08-23 Ati International Srl Exception mechanism for a computer
US6925928B2 (en) * 2003-09-18 2005-08-09 Anthony Fox Trash compactor for fast food restaurant waste
US7716642B1 (en) 2005-05-03 2010-05-11 Emc Corporation Techniques for detecting coding incompatibilities
US10977101B2 (en) 2018-12-12 2021-04-13 International Business Machines Corporation Interoperability between programs associated with different addressing modes
US11249760B2 (en) 2019-04-10 2022-02-15 International Business Machines Corporation Parameter management between programs
US11294695B2 (en) 2020-05-28 2022-04-05 International Business Machines Corporation Termination of programs associated with different addressing modes
US11947993B2 (en) 2021-06-22 2024-04-02 International Business Machines Corporation Cooperative input/output of address modes for interoperating programs

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01137334A (ja) * 1987-11-25 1989-05-30 Fuji Electric Co Ltd 異言語間の引数整合方法
JPH01274241A (ja) * 1988-04-26 1989-11-02 Nec Corp 命令列生成方式
JPH02272627A (ja) * 1989-03-06 1990-11-07 Internatl Business Mach Corp <Ibm> デイジタル・コンピユータ・システムとその手続呼び出し方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2253425A5 (ja) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US5133072A (en) * 1986-11-13 1992-07-21 Hewlett-Packard Company Method for improved code generation in reduced instruction set computers
US5179703A (en) * 1987-11-17 1993-01-12 International Business Machines Corporation Dynamically adaptive environment for computer programs
US4954941A (en) * 1988-08-31 1990-09-04 Bell Communications Research, Inc. Method and apparatus for program updating
US5097533A (en) * 1988-11-29 1992-03-17 International Business Machines Corporation System and method for interfacing computer application programs written in different languages to a software system
US5142622A (en) * 1989-01-31 1992-08-25 International Business Machines Corporation System for interconnecting applications across different networks of data processing systems by mapping protocols across different network domains
JPH04241023A (ja) * 1991-01-25 1992-08-28 Hitachi Ltd プログラム合成方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01137334A (ja) * 1987-11-25 1989-05-30 Fuji Electric Co Ltd 異言語間の引数整合方法
JPH01274241A (ja) * 1988-04-26 1989-11-02 Nec Corp 命令列生成方式
JPH02272627A (ja) * 1989-03-06 1990-11-07 Internatl Business Mach Corp <Ibm> デイジタル・コンピユータ・システムとその手続呼び出し方法

Also Published As

Publication number Publication date
MX9200937A (es) 1993-03-01
IL100994A (en) 1995-12-08
IE920745A1 (en) 1992-09-09
CA2082068A1 (en) 1992-09-08
EP0528020A1 (en) 1993-02-24
WO1992015936A1 (en) 1992-09-17
EP0528020B1 (en) 1998-05-20
DE69225543D1 (de) 1998-06-25
AU1587992A (en) 1992-10-06
TW313282U (en) 1997-08-11
DE69225543T2 (de) 1999-01-07
US5764947A (en) 1998-06-09
AU655983B2 (en) 1995-01-19
KR960001642B1 (en) 1996-02-03

Similar Documents

Publication Publication Date Title
JPH05505274A (ja) 2個の非類似プログラムユニット間の呼出規格を自動的にインターフェイスさせるシステム及び方法
EP0530350B1 (en) Improved system for jacketing cross-domain calls in a multi-code execution and debugging system within a multi-architecture environment
US5835699A (en) Breakpoint setting/deleting system using a symbolic debugger in a digital data processing system
US5432937A (en) Method and apparatus for architecture independent executable files
US5313635A (en) Compiling system for distributed computer system with multiple types of computers
AU647263B2 (en) Improved error reporting for translated code execution
US8156471B2 (en) Multi-language execution method
US6086623A (en) Method and implementation for intercepting and processing system calls in programmed digital computer to emulate retrograde operating system
US5881289A (en) Remote compiling of source code for cross development
JP2003050715A (ja) コンパイラおよびデバッグ装置
US6330714B1 (en) Method and computer program product for implementing redundant lock avoidance
JP3130446B2 (ja) プログラム変換装置及びプロセッサ
US20040123308A1 (en) Hybird of implicit and explicit linkage of windows dynamic link labraries
US5581769A (en) Multipurpose program object linkage protocol for upward compatibility among different compilers
Hart Win32 systems programming
CN114253554A (zh) 一种代码处理方法、装置及存储介质
JP3461185B2 (ja) ロードモジュールへのソースコード行番号登録方法および装置
AU651682B2 (en) Improved system and method for detecting cross-domain instruction calls and data references especiallly adapted for code interface jacketing in a multi-code execution and debugging system within a multi-architecture environment
EP1058878A1 (en) Naturally parallel computing system and method
Friesen Java I/o, Nio and Nio. 2
Richards The BCPL Cintcode System Users’ Guide
KR970011897B1 (ko) 언어해석 처리장치
CN113495727A (zh) 业务组件开发方法、装置、电子设备及介质
Di Cataldo et al. Executables and Libraries
Richards The BCPL Cintcode and Cintpos User Guide