JP6951442B2 - シブリング・コール処理のためのコンピュータ・プログラム製品、コンピュータ・システムおよびコンピュータによって実施される方法 - Google Patents
シブリング・コール処理のためのコンピュータ・プログラム製品、コンピュータ・システムおよびコンピュータによって実施される方法 Download PDFInfo
- Publication number
- JP6951442B2 JP6951442B2 JP2019527553A JP2019527553A JP6951442B2 JP 6951442 B2 JP6951442 B2 JP 6951442B2 JP 2019527553 A JP2019527553 A JP 2019527553A JP 2019527553 A JP2019527553 A JP 2019527553A JP 6951442 B2 JP6951442 B2 JP 6951442B2
- Authority
- JP
- Japan
- Prior art keywords
- routine
- call
- sibling
- external
- cola
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims description 49
- 238000000034 method Methods 0.000 title claims description 37
- 238000004590 computer program Methods 0.000 title claims description 21
- 239000003550 marker Substances 0.000 claims description 12
- 235000016795 Cola Nutrition 0.000 description 88
- 241001634499 Cola Species 0.000 description 88
- 235000011824 Cola pachycarpa Nutrition 0.000 description 88
- 230000006870 function Effects 0.000 description 83
- 238000010586 diagram Methods 0.000 description 12
- 230000000875 corresponding effect Effects 0.000 description 9
- 238000005457 optimization Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 230000008707 rearrangement Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000013433 optimization analysis Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Description
child()
{
return sib(a+1);
{
child:
(allocate stackframe)
ld r3,r2,a@got
addi r3,r3,1
bl sib
NOP
(deallocate stackframe)
blr
child:
(allocate stackframe)
ld r3,r2,a@got
addi r3,r3,1
b sib
NOP
(deallocate stackframe)
blr
std r2,24(r1)
addis r12,r2,func@plt@toc@ha
ld r12,func@plt@toc@l(r12)
mtctr r12
bctr
ここで、stdは記憶ダブル、addisは即値加算、tocは目次、ldはロード、mtctrはカウント・レジスタへの移動、bctrは分岐カウンタレジスタである。
addis r12,r2,func@plt@toc@ha
ld r12,func@plt@toc@l(r12)
mtctr r12
bctr
addis r12,r2,sib@plt@toc@ha
ld r12,sib@plt@toc@l(r12)
mtctr r12
bctr
オンデマンド・セルフサービス:クラウド・コンシューマは、サービスのプロバイダとの人的なインタラクションを必要とせずに、必要に応じて自動的に、サーバ時間やネットワーク記憶装置などのコンピューティング能力を一方的にプロビジョンし得る。
広範なネットワーク・アクセス:能力は、ネットワークを介して利用可能であり、異種のシンまたはシック・クライアント・プラットフォーム(たとえば、モバイル電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを介してアクセスされる。
リソース・プール:プロバイダのコンピューティング・リソースは、マルチテナント・モデルを使用して多数のコンシューマにサービス提供するためにプールされ、異なる物理リソースおよび仮想リソースは、要求にしたがって動的に割り当てられ、再割り当てされる。コンシューマは一般に、提供されたリソースの正確な位置に関して制御も知識も持たないが、より高い抽象化レベル(たとえば、国、州、またはデータセンタ)における位置を特定することができ得るという点で位置独立性の意味がある。
迅速な弾力性:能力は、迅速かつ弾力的にプロビジョンされ、場合によっては自動的に、直ちにスケール・アウトし、迅速にリリースして直ちにスケール・インすることができる。コンシューマにとって、プロビジョニングのために利用可能な能力は、しばしば、無制限であるように見え、常時、任意の量が購入可能であり得る。
測定サービス:クラウド・システムは、サービスのタイプ(たとえば、記憶装置、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に適した抽象化レベルでメータリング能力を利用することで、リソースの使用を、自動的に制御および最適化する。リソース使用量が、監視、制御、および報告され、利用されたサービスのプロバイダとコンシューマとの両方のための透明性を提供する。
サービスとしてのソフトウェア(SaaS:Software as a Service):コンシューマに提供される能力は、クラウド・インフラストラクチャにおいて実行しているプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(たとえば、ウェブベースの電子メール)などのシン・クライアント・インターフェースを介して、様々なクライアント・デバイスからアクセス可能である。コンシューマは、ユーザ特有のアプリケーション・コンフィギュレーション設定が制限されているという例外はあるものの、ネットワーク、サーバ、オペレーティング・システム、記憶装置、さらには個々のアプリケーション能力を含む基盤となるクラウド・インフラストラクチャを、管理または制御しない。
サービスとしてのプラットフォーム(PaaS:Platform as a Service):コンシューマに提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して生成された、コンシューマが生成または取得したアプリケーションを、クラウド・インフラストラクチャに展開することである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、または記憶装置を含む、基盤となるクラウド・インフラストラクチャを管理または制御しないが、展開されたアプリケーション、および場合によっては、環境コンフィギュレーションをホストするアプリケーションに対する制御を有する。
サービスとしてのインフラストラクチャ(IaaS:Infrastructure as a Service):コンシューマに提供される能力は、コンシューマが、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアを展開および実行することができる処理、記憶装置、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョンすることである。コンシューマは、基盤となるクラウド・インフラストラクチャを管理または制御しないが、オペレーティング・システム、記憶装置、展開されたアプリケーションに対する制御を、および場合によっては、選択されたネットワーキング構成要素(たとえば、ホスト・ファイアウォール)の制限された制御を有する。
プライベート・クラウド:クラウド・インフラストラクチャが、組織のために専用に運営される。プライベート・クラウドは、組織またはサード・パーティによって管理され得、オン・プレミスまたはオフ・プレミスに存在し得る。
コミュニティ・クラウド:クラウド・インフラストラクチャが、いくつかの組織によって共有され、共有された問題(たとえば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンス考慮事項)を有する特有のコミュニティをサポートする。コミュニティ・クラウドは、組織またはサード・パーティによって管理され得、オン・プレミスまたはオフ・プレミスに存在し得る。
公衆クラウド:クラウド・インフラストラクチャが、一般の公衆または大規模な業界グループによって利用可能とされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、固有のエンティティを残しているが、データとアプリケーションの可搬性を可能にする標準化された、または独自の技術によってともに結合されている2つ以上のクラウド(プライベート、コミュニティ、または公衆)の合成である(たとえば、クラウド間のロードバランシングのためのクラウド・バースティング)。
Claims (20)
- コンピューティング環境における処理を容易にするためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、
処理回路によって読取可能であり、方法を実行するために前記処理回路による実行のための命令を記憶したコンピュータ可読記憶媒体を含み、前記方法は、
ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があるか否かを判定することと、
前記ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があると判定したことに基づいて、前記ルーチンを外部のシブリング・コーラとしてマーク付けすることとを含む、コンピュータ・プログラム。 - 前記マーク付けすることは、前記ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があることを前記コンピューティング環境のプロセッサにおいて実行しているリンカに示すための擬似命令を前記ルーチンへ加えることを含む、請求項1に記載のコンピュータ・プログラム。
- 前記方法はさらに、前記擬似命令に基づいて、前記ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があることを示すマーカを、シンボル・テーブル内に設定することを含む、請求項2に記載のコンピュータ・プログラム。
- 前記方法はさらに、前記擬似命令に基づいて、前記ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があることを示すため、前記ルーチンに関連付けられた再配置エントリを提供することを含む、請求項2に記載のコンピュータ・プログラム。
- 前記ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があることを示すためのマーカを、前記ルーチンのシンボル・データ構造へ追加することを含む、請求項1ないし4のいずれかに記載のコンピュータ・プログラム。
- 前記マーク付けすることは、前記ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があることを示すため、前記ルーチンに関連付けられた再配置エントリを提供することを含む、請求項1ないし5のいずれかに記載のコンピュータ・プログラム。
- 前記方法はさらに、
前記コンピューティング環境のプロセッサにおいて実行しているリンカによって、前記ルーチンが前記外部のシブリング・コーラとしてマーク付けされていることを判定することと、
前記ルーチンが前記外部のシブリング・コーラとしてマーク付けされていると判定することに基づいて、前記ルーチンの呼び出し元へ戻る前記ルーチンによってコールされた外部のシブリング・ルーチンに基づいて使用されるべきコンテキストを提供することとを含む、請求項1ないし6のいずれかに記載のコンピュータ・プログラム。 - 前記コンテキストは、グローバル・オフセット・テーブルを復元するための情報を含む、請求項7に記載のコンピュータ・プログラム。
- 前記ルーチンは、1つのモジュール内にあり、前記1つのモジュール内の呼び出し側のルーチンによってコールされる、請求項1ないし8のいずれかに記載のコンピュータ・プログラム。
- 前記ルーチンは、1つのモジュール内にあり、別のモジュール内の呼び出し側のルーチンによってコールされる、請求項1ないし9のいずれかに記載のコンピュータ・プログラム。
- 前記判定することおよび前記マーク付けすることは、コンパイラによって実行される、請求項1ないし10のいずれかに記載のコンピュータ・プログラム。
- コンピューティング環境における処理を容易にするためのコンピュータ・システムであって、前記コンピュータ・システムは、
メモリと、
前記メモリと通信するプロセッサとを含み、
前記コンピュータ・システムは、方法を実行するように構成され、前記方法は、
ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があるか否かを判定することと、
前記ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があると判定したことに基づいて、前記ルーチンを外部のシブリング・コーラとしてマーク付けすることとを含む、コンピュータ・システム。 - 前記マーク付けすることは、前記ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があることを前記コンピューティング環境のプロセッサにおいて実行しているリンカに示すための擬似命令を前記ルーチンへ加えることを含む、請求項12に記載のコンピュータ・システム。
- 前記方法はさらに、前記擬似命令に基づいて、前記ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があることを示すマーカを、シンボル・テーブル内に設定することを含む、請求項13に記載のコンピュータ・システム。
- 前記方法はさらに、前記擬似命令に基づいて、前記ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があることを示すため、前記ルーチンに関連付けられた再配置エントリを提供することを含む、請求項13に記載のコンピュータ・システム。
- 前記方法はさらに、
前記コンピューティング環境のプロセッサにおいて実行しているリンカによって、前記ルーチンが前記外部のシブリング・コーラとしてマーク付けされていることを判定することと、
前記ルーチンが前記外部のシブリング・コーラとしてマーク付けされていると判定することに基づいて、前記ルーチンの呼び出し元へ戻る前記ルーチンによってコールされた外部のシブリング・ルーチンに基づいて使用されるべきコンテキストを提供することとを含む、請求項12ないし15のいずれかに記載のコンピュータ・システム。 - コンピューティング環境における処理を容易にするコンピュータによって実施される方法であって、
ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があるか否かを判定することと、
前記ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があると判定したことに基づいて、前記ルーチンを外部のシブリング・コーラとしてマーク付けすることとを含む、コンピュータによって実施される方法。 - 前記マーク付けすることは、前記ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があることを前記コンピューティング環境のプロセッサにおいて実行しているリンカに示すための擬似命令を前記ルーチンへ加えることを含む、請求項17に記載のコンピュータによって実施される方法。
- 前記擬似命令に基づいて、前記ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があることを示すマーカを、シンボル・テーブル内に設定することをさらに含む、請求項18に記載のコンピュータによって実施される方法。
- 前記擬似命令に基づいて、前記ルーチンが1つまたは複数の外部のシブリング・ルーチンをコールする可能性があることを示すため、前記ルーチンに関連付けられた再配置エントリを提供することをさらに含む、請求項18に記載のコンピュータによって実施される方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/378,211 | 2016-12-14 | ||
US15/378,211 US10152338B2 (en) | 2016-12-14 | 2016-12-14 | Marking external sibling caller routines |
PCT/IB2017/057170 WO2018109581A1 (en) | 2016-12-14 | 2017-11-16 | Processing sibling calls |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020503597A JP2020503597A (ja) | 2020-01-30 |
JP6951442B2 true JP6951442B2 (ja) | 2021-10-20 |
Family
ID=62489156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019527553A Active JP6951442B2 (ja) | 2016-12-14 | 2017-11-16 | シブリング・コール処理のためのコンピュータ・プログラム製品、コンピュータ・システムおよびコンピュータによって実施される方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10152338B2 (ja) |
JP (1) | JP6951442B2 (ja) |
CN (1) | CN110140108B (ja) |
DE (1) | DE112017005015T5 (ja) |
GB (1) | GB2571498A (ja) |
WO (1) | WO2018109581A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10180827B2 (en) | 2016-12-14 | 2019-01-15 | International Business Machines Corporation | Suppressing storing of context information |
US20180165073A1 (en) | 2016-12-14 | 2018-06-14 | International Business Machines Corporation | Context information based on type of routine being called |
US10241769B2 (en) | 2016-12-14 | 2019-03-26 | International Business Machines Corporation | Marking sibling caller routines |
US10152338B2 (en) * | 2016-12-14 | 2018-12-11 | International Business Machines Corporation | Marking external sibling caller routines |
US10235190B2 (en) | 2016-12-14 | 2019-03-19 | International Business Machines Corporation | Executing instructions to store context information based on routine to be executed |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0321000A3 (en) | 1987-12-18 | 1990-08-01 | Nec Corporation | Assembler system |
US5428793A (en) | 1989-11-13 | 1995-06-27 | Hewlett-Packard Company | Method and apparatus for compiling computer programs with interproceduural register allocation |
US6126329A (en) | 1993-06-08 | 2000-10-03 | Rational Software Coporation | Method and apparatus for accurate profiling of computer programs |
GB2294567B (en) * | 1993-07-01 | 1998-05-13 | British Telecomm | System for generating instructions for speech application |
US5845118A (en) | 1995-12-14 | 1998-12-01 | International Business Machines Corporation | Method for generating shared library executable code with lazy global offset table address calculation |
US6553426B2 (en) * | 1997-10-06 | 2003-04-22 | Sun Microsystems, Inc. | Method apparatus for implementing multiple return sites |
WO2001023998A1 (en) | 1999-09-24 | 2001-04-05 | Phoenix Technologies Ltd. | Software development system for facilitating selection of components |
US6487713B1 (en) | 1999-09-24 | 2002-11-26 | Phoenix Technologies Ltd. | Software development system that presents a logical view of project components, facilitates their selection, and signals missing links prior to compilation |
US6647466B2 (en) | 2001-01-25 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Method and apparatus for adaptively bypassing one or more levels of a cache hierarchy |
US8473922B2 (en) | 2001-09-19 | 2013-06-25 | Hewlett-Packard Development Company, L.P. | Runtime monitoring in component-based systems |
US7430586B2 (en) | 2002-04-16 | 2008-09-30 | Zoran Corporation | System and method for managing memory |
US7890543B2 (en) | 2003-03-06 | 2011-02-15 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
JP4046100B2 (ja) * | 2004-05-21 | 2008-02-13 | 株式会社デンソー | 放熱装置 |
US7350034B2 (en) | 2005-06-20 | 2008-03-25 | International Business Machines Corporation | Architecture support of best-effort atomic transactions for multiprocessor systems |
KR101358750B1 (ko) * | 2007-01-22 | 2014-02-06 | 삼성전자주식회사 | 관계형 데이터베이스를 이용한 프로그램 트레이스 방법 |
US8250551B2 (en) * | 2008-01-17 | 2012-08-21 | International Business Machines Corporation | Refining tail call optimizations at link-time |
US8239836B1 (en) | 2008-03-07 | 2012-08-07 | The Regents Of The University Of California | Multi-variant parallel program execution to detect malicious code injection |
EP2332043B1 (en) * | 2008-07-28 | 2018-06-13 | Advanced Micro Devices, Inc. | Virtualizable advanced synchronization facility |
US8495606B2 (en) * | 2008-11-14 | 2013-07-23 | Oracle America, Inc. | Redundant exception handling code removal |
US8443343B2 (en) * | 2009-10-28 | 2013-05-14 | Intel Corporation | Context-sensitive slicing for dynamically parallelizing binary programs |
US8839186B2 (en) | 2009-11-05 | 2014-09-16 | Sap Ag | Entity morphing in metamodel-based tools |
US8464230B2 (en) | 2010-04-13 | 2013-06-11 | Intel Corporation | Methods and systems to implement non-ABI conforming features across unseen interfaces |
US8375373B2 (en) * | 2010-04-19 | 2013-02-12 | Microsoft Corporation | Intermediate language support for change resilience |
US8881101B2 (en) | 2011-05-24 | 2014-11-04 | Microsoft Corporation | Binding between a layout engine and a scripting engine |
US9195443B2 (en) * | 2012-01-18 | 2015-11-24 | International Business Machines Corporation | Providing performance tuned versions of compiled code to a CPU in a system of heterogeneous cores |
US10055227B2 (en) * | 2012-02-07 | 2018-08-21 | Qualcomm Incorporated | Using the least significant bits of a called function's address to switch processor modes |
US9063759B2 (en) | 2012-03-28 | 2015-06-23 | International Business Machines Corporation | Optimizing subroutine calls based on architecture level of called subroutine |
GB2507758A (en) | 2012-11-08 | 2014-05-14 | Ibm | Cache hierarchy with first and second level instruction and data caches and a third level unified cache |
US10140210B2 (en) | 2013-09-24 | 2018-11-27 | Intel Corporation | Method and apparatus for cache occupancy determination and instruction scheduling |
US9569360B2 (en) | 2013-09-27 | 2017-02-14 | Facebook, Inc. | Partitioning shared caches |
US9021511B1 (en) * | 2014-03-14 | 2015-04-28 | International Business Machines Corporation | Runtime management of TOC pointer save and restore commands |
US9329875B2 (en) * | 2014-04-28 | 2016-05-03 | International Business Machines Corporation | Global entry point and local entry point for callee function |
US9146715B1 (en) * | 2014-09-05 | 2015-09-29 | International Business Machines Corporation | Suppression of table of contents save actions |
US9274769B1 (en) | 2014-09-05 | 2016-03-01 | International Business Machines Corporation | Table of contents pointer value save and restore placeholder positioning |
US9250881B1 (en) * | 2014-09-30 | 2016-02-02 | International Business Machines Corporation | Selection of an entry point of a function having multiple entry points |
US9354947B2 (en) * | 2014-10-28 | 2016-05-31 | International Business Machines Corporation | Linking a function with dual entry points |
US9244663B1 (en) * | 2014-12-22 | 2016-01-26 | International Business Machines Corporation | Managing table of contents pointer value saves |
US9544403B2 (en) | 2015-02-02 | 2017-01-10 | Linkedin Corporation | Estimating latency of an application |
US20160274878A1 (en) * | 2015-03-19 | 2016-09-22 | Google Inc. | Methods and systems for removing plt stubs from dynamically linked binaries |
US20180165073A1 (en) | 2016-12-14 | 2018-06-14 | International Business Machines Corporation | Context information based on type of routine being called |
US10235190B2 (en) | 2016-12-14 | 2019-03-19 | International Business Machines Corporation | Executing instructions to store context information based on routine to be executed |
US10152338B2 (en) | 2016-12-14 | 2018-12-11 | International Business Machines Corporation | Marking external sibling caller routines |
US10241769B2 (en) | 2016-12-14 | 2019-03-26 | International Business Machines Corporation | Marking sibling caller routines |
US10095493B2 (en) | 2016-12-14 | 2018-10-09 | International Business Machines Corporation | Call sequence generation based on type of routine |
US10180827B2 (en) | 2016-12-14 | 2019-01-15 | International Business Machines Corporation | Suppressing storing of context information |
-
2016
- 2016-12-14 US US15/378,211 patent/US10152338B2/en active Active
-
2017
- 2017-11-13 US US15/810,849 patent/US10140133B2/en active Active
- 2017-11-16 JP JP2019527553A patent/JP6951442B2/ja active Active
- 2017-11-16 CN CN201780077647.6A patent/CN110140108B/zh active Active
- 2017-11-16 GB GB1908773.3A patent/GB2571498A/en not_active Withdrawn
- 2017-11-16 DE DE112017005015.4T patent/DE112017005015T5/de active Pending
- 2017-11-16 WO PCT/IB2017/057170 patent/WO2018109581A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US10152338B2 (en) | 2018-12-11 |
US20180165103A1 (en) | 2018-06-14 |
GB201908773D0 (en) | 2019-07-31 |
US20180165102A1 (en) | 2018-06-14 |
WO2018109581A1 (en) | 2018-06-21 |
US10140133B2 (en) | 2018-11-27 |
CN110140108A (zh) | 2019-08-16 |
CN110140108B (zh) | 2023-04-07 |
DE112017005015T5 (de) | 2019-07-25 |
JP2020503597A (ja) | 2020-01-30 |
GB2571498A (en) | 2019-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11016744B2 (en) | Context information based on type of routine being called | |
JP6951442B2 (ja) | シブリング・コール処理のためのコンピュータ・プログラム製品、コンピュータ・システムおよびコンピュータによって実施される方法 | |
US10481902B2 (en) | Initialization status of a register employed as a pointer | |
US10949221B2 (en) | Executing instructions to store context information based on routine to be executed | |
US10095493B2 (en) | Call sequence generation based on type of routine | |
US10108442B1 (en) | Optimization and affinity for hypervisor-based just-in-time translator | |
CN111095201B (zh) | 响应于到子例程的分支而预测内容表指针值 | |
JP6916874B2 (ja) | 第1の値と第2の値の比較を行う命令のためのコンピュータ・プログラム製品、コンピュータ・システムおよびコンピュータ実装方法 | |
JP2019506666A (ja) | ハードウェア管理スタック・アーキテクチャにおける呼び出し元により保護されるスタック・リターンアドレス | |
US10732930B2 (en) | Compiler controls for program language constructs | |
US10671386B2 (en) | Compiler controls for program regions | |
US10241769B2 (en) | Marking sibling caller routines | |
US10180827B2 (en) | Suppressing storing of context information | |
US10684853B2 (en) | Employing prefixes to control floating point operations | |
US10481908B2 (en) | Predicted null updated | |
US10740067B2 (en) | Selective updating of floating point controls | |
KR102598930B1 (ko) | 우측에서 좌측 방향으로 데이터를 이동시키기 위한 명령 | |
JP2022521046A (ja) | キー機能制御に基づくデータ移動および記憶キー設定 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190918 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200527 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210608 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210827 |
|
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: 20210921 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210924 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6951442 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |