JP2016541047A - コードスタック管理 - Google Patents
コードスタック管理 Download PDFInfo
- Publication number
- JP2016541047A JP2016541047A JP2016526359A JP2016526359A JP2016541047A JP 2016541047 A JP2016541047 A JP 2016541047A JP 2016526359 A JP2016526359 A JP 2016526359A JP 2016526359 A JP2016526359 A JP 2016526359A JP 2016541047 A JP2016541047 A JP 2016541047A
- Authority
- JP
- Japan
- Prior art keywords
- stack
- code
- code stack
- entry
- data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 80
- 238000004590 computer program Methods 0.000 claims abstract description 28
- 230000006870 function Effects 0.000 claims description 155
- 238000012545 processing Methods 0.000 claims description 11
- 230000004888 barrier function Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims 6
- 230000003068 static effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000001965 increasing effect Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101100503482 Arabidopsis thaliana FTSH5 gene Proteins 0.000 description 1
- 101100540153 Arabidopsis thaliana VAR3 gene Proteins 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101150082136 VAR1 gene Proteins 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
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift registers
-
- 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
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)
Abstract
Description
また、データ領域604は、図4のコードスタックヘッダ212に関して示した任意の情報、例えば、トランポリンコード603を含むコードスタックエントリを割り当てた関数に対応する関連したデータスタックフレームに対する割り当てサイズ215及び/又はポインタ215等の、他の情報を保持できる。図8に示すデータ領域601は、上向きに増大し、図8に示すコードスタック602は、下向きに増大できるが、これは例示のためにのみ示す。
101:プロセッサ
102、201:データスタック
103、203、602:コードスタック
104:アプリケーション
105:メモリ
106:データスタックメモリ領域
107:コードスタックメモリ領域
113、601、604:データ領域
202A〜202N:スタックフレーム
204A〜204M、204N、211:コードスタックエントリ
205:コードスタックポインタ(CSP)
206:データスタックポインタ
207A〜207C、215:スタックフレームに対するポインタ
210:スタックフレーム
212:コードスタックヘッダ
213:コードスタックバリア(CSB)
214:割り当てサイズ
216:コードセクション
300、400、500:方法
600:システム
603:トランポリンコード
Claims (20)
- コードスタック管理のためのコンピュータシステムであって、前記システムは、
ソフトウェアアプリケーションを実行するように構成されたプロセッサと、
コードスタックメモリ領域及びデータスタックメモリ領域を含むメモリであって、前記コードスタックメモリ領域は前記データスタックメモリ領域とは分けられている、メモリと、
を含み、かつ、
前記データスタックメモリ領域内にデータスタックを保持することであって、前記データスタックは前記ソフトウェアアプリケーションの前記実行に対応する1つ又は複数のデータ変数を含む複数のスタックフレームを含む、保持することと、
前記コードスタックメモリ領域内にコードスタックを保持することであって、前記コードスタックは前記ソフトウェアアプリケーションの前記実行に対応する実行可能なコンピュータコードを含む複数のコードスタックエントリを含む、保持することと、
を含む方法を実行するように構成される、システム。 - 前記データスタックメモリ領域は書き込み可能かつ実行不能であり、前記コードスタックメモリ領域は実行可能である、請求項1に記載のシステム。
- 前記方法は、
新しいコードスタックエントリを前記コードスタックに割り当てる前に、前記コードスタックメモリ領域を書き込み可能かつ実行不能に設定することと、
前記新しいコードスタックエントリを前記コードスタックに割り当てた後に、前記コードスタックメモリ領域を実行可能かつ書き込み不能に設定することと、
をさらに含む、請求項1に記載のシステム。 - 前記方法は、
前記コードスタック内の最新のコードスタックエントリの関連したスタックフレームに対するポインタの値を求めることであって、最新の割り当てられたコードスタックエントリは前記コードスタックのコードスタックポインタ(CSP)により参照される、求めることと、
前記関連したスタックフレームに対する前記ポインタが前記データスタックの有効スタックフレームを参照するかどうかを判断することと、
前記関連したスタックフレームに対する前記ポインタが前記データスタックの有効スタックフレームを参照しないと判断することに基づいて、前記最新のコードスタックエントリを前記コードスタックから割り当て解除することと、
前記関連したスタックフレームに対する前記ポインタが前記データスタックの有効スタックフレームを参照すると判断することに基づいて、新しいコードスタックエントリを前記コードスタックに割り当て、前記CSPを、前記新しいコードスタックエントリを参照するように設定することと、
をさらに含む、請求項1に記載のシステム。 - 前記方法は、
前記ソフトウェアアプリケーションの関数の実行を開始することと、
前記関数の実行を開始することに基づいて、前記コードスタックのCSPの現在値を、前記データスタックの前記関数に対するメモリ位置に格納することと、
1つ又は複数のエントリを、前記関数の1つ又は複数のネスト化された関数に対するポインタと関連して使用されるトランポリンに対応する前記コードスタックに割り当てることであって、最新の割り当てられたコードスタックエントリは前記CSPにより参照される、求めることと、
前記関数を終了する前に、前記格納されたCSP値を前記メモリ位置からロードすることによって、前記CSPを復旧することと、
をさらに含む、請求項1に記載のシステム。 - 前記方法は、
前記ソフトウェアアプリケーションの関数の実行を開始することと、
1つ又は複数のコードスタックエントリを、前記関数の1つ又は複数のネスト化された関数に対応する前記コードスタックに割り当てることであって、最新の割り当てられたコードスタックエントリは前記CSPにより参照される、割り当てることと、
前記関数を終了する前に、前記1つ又は複数のコードスタックエントリに対して割り当てられた合計メモリサイズを前記CSPから除去することによって、前記CSPを復旧することと、
をさらに含む、請求項1に記載のシステム。 - コードスタックエントリは、
前記ソフトウェアアプリケーションのネスト化された関数に対するポインタと関連して使用される動的に生成されたトランポリンに対応するコードと、
前記コードスタックエントリと関連したスタックフレームに対するポインタであって、前記データスタックの前記関連したスタックフレームを参照する、ポインタと、
を含む、請求項1に記載のシステム。 - 前記方法は、
前記コードスタックのCSPの値を、現在の関数のコードスタックバリア(CSB)として格納することと、
ネスト化された関数に対するポインタと関連して使用されるトランポリンに対する新しいコードスタックエントリを割り当てることと、
前記コードスタックのCSPを、前記新しいコードスタックエントリを参照するように設定することと、
前記CSPを前記CSBと等しくなるように設定し、前記現在の関数を終了する前に、前記新しいコードスタックを前記コードスタックから割り当て解除することと、
をさらに含む、請求項1に記載のシステム。 - コードスタック管理を実施するためのコンピュータプログラムであって、
コンピュータのプロセッサによりソフトウェアアプリケーションを実行することと、
前記データスタックメモリ領域内にデータスタックを保持することであって、前記データスタックは前記ソフトウェアアプリケーションの前記実行に対応する1つ又は複数のデータ変数を含む複数のスタックフレームを含む、保持することと、
前記コードスタックメモリ領域内にコードスタックを保持することであって、前記コードスタックは前記ソフトウェアアプリケーションの前記実行に対応する実行可能なコンピュータコードを含む複数のコードスタックエントリを含み、前記コードスタックメモリ領域は前記データスタックメモリ領域とは分けられている、保持することと、
を含む方法を実施するための、処理回路により実行される命令を含む、コンピュータプログラム。 - 前記データスタックメモリ領域は、書き込み可能かつ実行不能であり、前記コードスタックメモリ領域は、実行可能である、請求項9に記載のコンピュータプログラム。
- 前記方法は、
新しいコードスタックエントリを前記コードスタックに割り当てる前に、前記コードスタックメモリ領域を書き込み可能かつ実行不能に設定することと、
前記新しいコードスタックエントリを前記コードスタックに割り当てた後に、前記コードスタックメモリ領域を実行可能かつ書き込み不能に設定することと、
をさらに含む、請求項9に記載のコンピュータプログラム。 - 前記方法は、
前記コードスタックの最新のコードスタックエントリの関連したスタックフレームに対するポインタの値を求めることであって、最新の割り当てられたコードスタックエントリは前記コードスタックのコードスタックポインタ(CSP)により参照される、求めることと、
前記関連したスタックフレームに対する前記ポインタが前記データスタックの有効スタックフレームを参照するかどうかを判断することと、
前記関連したスタックフレームに対する前記ポインタが前記データスタックの有効スタックフレームを参照しないと判断することに基づいて、前記最新のコードスタックエントリを前記コードスタックから割り当て解除することと、
前記関連したスタックフレームに対する前記ポインタが前記データスタックの有効スタックフレームを参照すると判断することに基づいて、新しいコードスタックエントリを前記コードスタックに割り当て、前記CSPを、前記新しいコードスタックエントリを参照するように設定することと、
をさらに含む、請求項9に記載のコンピュータプログラム。 - 前記方法は、
前記ソフトウェアアプリケーションの関数の実行を開始することと、
前記関数の実行を開始することに基づいて、前記コードスタックのCSPの現在値を、前記データスタックの前記関数に対するメモリ位置に格納することと、
1つ又は複数のエントリを、前記関数の1つ又は複数のネスト化された関数に対するポインタと関連して使用されるトランポリンに対応する前記コードスタックに割り当てることであって、最新の割り当てられたコードスタックエントリは前記CSPにより参照される、求めることと、
前記関数を終了する前に、前記格納されたCSP値を前記メモリ位置からロードすることによって、前記CSPを復旧することと、
をさらに含む、請求項9に記載のコンピュータプログラム。 - 前記方法は、
前記ソフトウェアアプリケーションの関数の実行を開始することと、
1つ又は複数のコードスタックエントリを、前記関数の1つ又は複数のネスト化された関数に対応する前記コードスタックに割り当てることであって、最新の割り当てられたコードスタックエントリは前記CSPにより参照される、割り当てることと、
前記関数を終了する前に、前記1つ又は複数のコードスタックエントリに対して割り当てられた合計メモリサイズを前記CSPから減算することによって、前記CSPを復旧することと、
をさらに含む、請求項9に記載のコンピュータプログラム。 - コードスタックエントリは、
前記ソフトウェアアプリケーションのネスト化された関数に対するポインタと関連して使用される動的に生成されたトランポリンに対応するコードと、
前記コードスタックエントリと関連したスタックフレームに対するポインタであって、前記データスタックの前記関連したスタックフレームを参照する、ポインタと、
を含む、請求項9に記載のコンピュータプログラム。 - コードスタック管理のためのコンピュータ実装方法であって、
コンピュータのプロセッサによりソフトウェアアプリケーションを実行することと、
前記データスタックメモリ領域内にデータスタックを保持することであって、前記データスタックは前記ソフトウェアアプリケーションの前記実行に対応する1つ又は複数のデータ変数を含む複数のスタックフレームを含む、保持することと、
前記コードスタックメモリ領域内にコードスタックを保持することであって、前記コードスタックは前記ソフトウェアアプリケーションの前記実行に対応する実行可能なコンピュータコードを含む複数のコードスタックエントリを含み、前記コードスタックメモリ領域は前記データスタックメモリ領域とは離されている、保持することと、
を含む方法。 - 前記データスタックメモリ領域は、書き込み可能かつ実行不能であり、前記コードスタックメモリ領域は、実行可能である、請求項16に記載の方法。
- 前記方法は、
新しいコードスタックエントリを前記コードスタックに割り当てる前に、前記コードスタックメモリ領域を書き込み可能かつ実行不能に設定することと、
前記新しいコードスタックエントリを前記コードスタックに割り当てた後に、前記コードスタックメモリ領域を実行可能かつ書き込み不能に設定することと、
をさらに含む、請求項16に記載の方法。 - 前記方法は、
前記コードスタックの最新のコードスタックエントリの関連したスタックフレームに対するポインタの値を求めることであって、最新の割り当てられたコードスタックエントリは前記コードスタックのコードスタックポインタ(CSP)により参照される、求めることと、
前記関連したスタックフレームに対する前記ポインタが、前記データスタックの有効スタックフレームを参照するかどうかを判断することと、
前記関連したスタックフレームに対する前記ポインタが前記データスタックの有効スタックフレームを参照しないと判断することに基づいて、前記最新のコードスタックエントリを前記コードスタックから割り当て解除することと、
前記関連したスタックフレームに対する前記ポインタが前記データスタックの有効スタックフレームを参照すると判断することに基づいて、新しいコードスタックエントリを前記コードスタックに割り当て、前記CSPを、前記新しいコードスタックエントリを参照するように設定することと、
をさらに含む、請求項16に記載の方法。 - コードスタックエントリは、
前記ソフトウェアアプリケーションのネスト化された関数に対するポインタと関連して使用される動的に生成されたトランポリンに対応するコードと、
前記コードスタックエントリと関連したスタックフレームに対するポインタであって、前記データスタックの前記関連したスタックフレームを参照する、ポインタと、
を含む、請求項16に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/067,053 US9189214B2 (en) | 2013-10-30 | 2013-10-30 | Code stack management |
US14/067,053 | 2013-10-30 | ||
PCT/CN2014/087688 WO2015062386A1 (en) | 2013-10-30 | 2014-09-28 | Code stack management |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016541047A true JP2016541047A (ja) | 2016-12-28 |
JP6474398B2 JP6474398B2 (ja) | 2019-02-27 |
Family
ID=52996974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016526359A Active JP6474398B2 (ja) | 2013-10-30 | 2014-09-28 | コードスタック管理 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9189214B2 (ja) |
JP (1) | JP6474398B2 (ja) |
CN (1) | CN105556466B (ja) |
WO (1) | WO2015062386A1 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9870324B2 (en) * | 2015-04-09 | 2018-01-16 | Vmware, Inc. | Isolating guest code and data using multiple nested page tables |
EP3289446A1 (en) * | 2015-04-30 | 2018-03-07 | Entit Software LLC | Classification of application events using call stacks |
KR101716865B1 (ko) * | 2016-04-29 | 2017-03-15 | 고려대학교 산학협력단 | 주 메모리의 에러 셀 회피를 위한 스택 및 힙 메모리 관리 장치 및 그 방법 |
US10417111B2 (en) | 2016-05-09 | 2019-09-17 | Oracle International Corporation | Correlation of stack segment intensity in emergent relationships |
US10127151B2 (en) * | 2016-05-13 | 2018-11-13 | Microsoft Technology Licensing, Llc. | Dynamically sized locals with precise garbage collection reporting |
FR3070775B1 (fr) * | 2017-09-04 | 2019-08-23 | Vsora | Allocation dynamique utilisant plusieurs piles |
US11055402B2 (en) * | 2017-09-29 | 2021-07-06 | Qualcomm Incorporated | Dynamically generated code process sandboxing using authenticated pointers |
US10884899B2 (en) * | 2018-10-01 | 2021-01-05 | International Business Machines Corporation | Optimized trampoline design for fast software tracing |
CN111367588B (zh) * | 2018-12-25 | 2023-05-16 | 杭州海康威视数字技术股份有限公司 | 一种获取堆栈使用量的方法及装置 |
US10884664B2 (en) * | 2019-03-14 | 2021-01-05 | Western Digital Technologies, Inc. | Executable memory cell |
US11442739B2 (en) * | 2019-09-16 | 2022-09-13 | International Business Machines Carporation | Exception handling |
US10831884B1 (en) | 2019-09-16 | 2020-11-10 | International Business Machines Corporation | Nested function pointer calls |
CN112948000B (zh) * | 2021-03-17 | 2023-03-03 | 星汉智能科技股份有限公司 | 栈空间统计方法、装置及介质 |
CN113656038B (zh) * | 2021-07-29 | 2023-08-01 | 北京百度网讯科技有限公司 | 编辑处理方法及装置 |
US12072793B2 (en) | 2021-12-16 | 2024-08-27 | International Business Machines Corporation | Function result prediction |
CN116521576B (zh) * | 2023-05-11 | 2024-03-08 | 上海合见工业软件集团有限公司 | Eda软件数据处理系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095895A1 (en) * | 2004-08-26 | 2006-05-04 | Hewlett-Packard Development Company, L.P. | Method and apparatus for inserting code |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5220669A (en) * | 1988-02-10 | 1993-06-15 | International Business Machines Corporation | Linkage mechanism for program isolation |
FR2678402A1 (fr) * | 1991-06-28 | 1992-12-31 | Philips Electronique Lab | Dispositif de traitement d'informations. |
US5958039A (en) | 1997-10-28 | 1999-09-28 | Microchip Technology Incorporated | Master-slave latches and post increment/decrement operations |
US6081665A (en) * | 1997-12-19 | 2000-06-27 | Newmonics Inc. | Method for efficient soft real-time execution of portable byte code computer programs |
US6546546B1 (en) * | 1999-05-19 | 2003-04-08 | International Business Machines Corporation | Integrating operating systems and run-time systems |
US6345353B2 (en) * | 1999-07-20 | 2002-02-05 | Microchip Technology Incorporated | Stack pointer with post increment/decrement allowing selection from parallel read/write address outputs |
US6560774B1 (en) * | 1999-09-01 | 2003-05-06 | Microsoft Corporation | Verifier to check intermediate language |
US6578094B1 (en) | 2000-03-02 | 2003-06-10 | International Business Machines Corporation | Method for preventing buffer overflow attacks |
US20030061464A1 (en) * | 2001-06-01 | 2003-03-27 | Catherwood Michael I. | Digital signal controller instruction set and architecture |
JP2003167737A (ja) * | 2001-11-30 | 2003-06-13 | Nec Corp | スタック使用方法 |
US7752459B2 (en) | 2001-12-06 | 2010-07-06 | Novell, Inc. | Pointguard: method and system for protecting programs against pointer corruption attacks |
US7168612B2 (en) * | 2001-12-24 | 2007-01-30 | Axalto Inc | Method and apparatus for processing transactions in a data processing system |
US7594111B2 (en) | 2002-12-19 | 2009-09-22 | Massachusetts Institute Of Technology | Secure execution of a computer program |
US7228563B2 (en) | 2003-02-06 | 2007-06-05 | Symantec Corporation | Shell code blocking system and method |
US20040250105A1 (en) | 2003-04-22 | 2004-12-09 | Ingo Molnar | Method and apparatus for creating an execution shield |
US7784057B2 (en) * | 2003-08-27 | 2010-08-24 | Intel Corporation | Single-stack model for high performance parallelism |
US7404182B1 (en) * | 2003-10-03 | 2008-07-22 | Sun Microsystems, Inc. | Deferring and combining write barriers for a garbage-collected heap |
US7631292B2 (en) * | 2003-11-05 | 2009-12-08 | Microsoft Corporation | Code individualism and execution protection |
KR100586500B1 (ko) * | 2004-03-18 | 2006-06-07 | 학교법인고려중앙학원 | 버퍼 오버플로우 공격들을 감지하고 복구하는 방법 및 그장치 |
US7971255B1 (en) | 2004-07-15 | 2011-06-28 | The Trustees Of Columbia University In The City Of New York | Detecting and preventing malcode execution |
US7870541B1 (en) * | 2004-11-01 | 2011-01-11 | Wind River Systems, Inc. | Context tracing for software with a frame pointer and a stack pointer and with a stack pointer but without a frame pointer |
US7467272B2 (en) * | 2004-12-16 | 2008-12-16 | International Business Machines Corporation | Write protection of subroutine return addresses |
US7856538B2 (en) * | 2005-12-12 | 2010-12-21 | Systex, Inc. | Methods, systems and computer readable medium for detecting memory overflow conditions |
US8104021B2 (en) * | 2006-06-09 | 2012-01-24 | Microsoft Corporation | Verifiable integrity guarantees for machine code programs |
US8185952B2 (en) | 2007-01-03 | 2012-05-22 | Texas Instruments Incorporated | Static and dynamic firewalls |
US8458677B2 (en) * | 2009-08-20 | 2013-06-04 | International Business Machines Corporation | Generating code adapted for interlinking legacy scalar code and extended vector code |
US8522222B2 (en) * | 2010-06-21 | 2013-08-27 | Microsoft Corporation | Tracing just-in-time compilation with pointers to local variables |
US8984478B2 (en) * | 2011-10-03 | 2015-03-17 | Cisco Technology, Inc. | Reorganization of virtualized computer programs |
US9256552B2 (en) * | 2011-11-21 | 2016-02-09 | Cisco Technology, Inc. | Selective access to executable memory |
US9069897B2 (en) * | 2011-11-23 | 2015-06-30 | Microsoft Technology Licensing, Llc | Capturing telemetry data by dynamic language engine |
US8776223B2 (en) * | 2012-01-16 | 2014-07-08 | Qualcomm Incorporated | Dynamic execution prevention to inhibit return-oriented programming |
US8959577B2 (en) * | 2012-04-13 | 2015-02-17 | Cisco Technology, Inc. | Automatic curation and modification of virtualized computer programs |
US9098704B2 (en) * | 2013-10-09 | 2015-08-04 | Kaspersky Lab, Zao | Method for function capture and maintaining parameter stack |
-
2013
- 2013-10-30 US US14/067,053 patent/US9189214B2/en not_active Expired - Fee Related
-
2014
- 2014-09-28 CN CN201480051802.3A patent/CN105556466B/zh active Active
- 2014-09-28 WO PCT/CN2014/087688 patent/WO2015062386A1/en active Application Filing
- 2014-09-28 JP JP2016526359A patent/JP6474398B2/ja active Active
- 2014-09-30 US US14/501,548 patent/US9430236B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095895A1 (en) * | 2004-08-26 | 2006-05-04 | Hewlett-Packard Development Company, L.P. | Method and apparatus for inserting code |
Also Published As
Publication number | Publication date |
---|---|
US20150121339A1 (en) | 2015-04-30 |
US9189214B2 (en) | 2015-11-17 |
US20150121354A1 (en) | 2015-04-30 |
CN105556466B (zh) | 2020-10-23 |
CN105556466A (zh) | 2016-05-04 |
US9430236B2 (en) | 2016-08-30 |
WO2015062386A1 (en) | 2015-05-07 |
JP6474398B2 (ja) | 2019-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6474398B2 (ja) | コードスタック管理 | |
US10310991B2 (en) | Timely address space randomization | |
US9146715B1 (en) | Suppression of table of contents save actions | |
US6578094B1 (en) | Method for preventing buffer overflow attacks | |
US9274769B1 (en) | Table of contents pointer value save and restore placeholder positioning | |
US7877740B2 (en) | Handling caught exceptions | |
US10983923B2 (en) | Dynamic memory protection | |
US12032970B2 (en) | Reducing the startup latency of functions in a FaaS infrastructure | |
US20210150028A1 (en) | Method of defending against memory sharing-based side-channel attacks by embedding random value in binaries | |
US9152456B2 (en) | Efficient per-thread safepoints and local access | |
JP4005724B2 (ja) | マルチプルリターンサイトを実現するための方法及び装置 | |
US10747514B2 (en) | Reduced save and restore instructions for call-clobbered registers | |
US9870240B2 (en) | Dynamic code injection | |
US8533383B2 (en) | System and method for locking memory areas in a JVM to facilitate sharing between virtual servers | |
US9389843B2 (en) | Efficient interpreter profiling to obtain accurate call-path information | |
US8788785B1 (en) | Systems and methods for preventing heap-spray attacks | |
US10671397B2 (en) | Reduced save and restore instructions for call-clobbered registers | |
US11860996B1 (en) | Security concepts for web frameworks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170714 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180612 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180906 |
|
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: 20190108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190129 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6474398 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |