KR19990036884A - 다수의 복귀 사이트를 구현하기 위한 방법 및그 장치 - Google Patents
다수의 복귀 사이트를 구현하기 위한 방법 및그 장치 Download PDFInfo
- Publication number
- KR19990036884A KR19990036884A KR1019980041793A KR19980041793A KR19990036884A KR 19990036884 A KR19990036884 A KR 19990036884A KR 1019980041793 A KR1019980041793 A KR 1019980041793A KR 19980041793 A KR19980041793 A KR 19980041793A KR 19990036884 A KR19990036884 A KR 19990036884A
- Authority
- KR
- South Korea
- Prior art keywords
- routine
- function
- return
- execution
- computer
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000004590 computer program Methods 0.000 claims description 5
- 230000009191 jumping Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims 2
- 230000006870 function Effects 0.000 description 116
- 238000010586 diagram Methods 0.000 description 13
- 230000002159 abnormal effect Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 238000007689 inspection Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- 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
- G06F9/4486—Formation of subprogram jump address
Abstract
Description
Claims (15)
- 다수의 복귀 포인트중 하나와 관련된 자료가 효율적으로 얻어질 수 있도록 하기 위해 다수의 복귀 포인트중 하나와 관련된 데이터를 저장하기 위한 컴퓨터 구현 방법으로써다수의 복귀 포인트가 한 기대된 복귀 포인트 및 첫 번째 대체 복귀 포인트를 포함하며상기 기능이 루틴으로부터 분리되어지는 루틴이 실행되는 동안 루틴내에서부터 한 기능을 호출하고,상기 기능의 실행을 시작하며상기 기능으로부터 상기 루틴으로 복귀시키고 이때 상기 기대된 복귀 포인트에 의해 표시된 루틴내의 한 위치로 상기 기능이 복귀되며 그리고상기 루틴내의 첫 번째 지시를 실행하며 이때 상기 첫 번째 지시를 실행하는 것이 컴퓨터 오버헤드를 거의 사용하지 않으며 루틴의 실행에 영향을 미치지 않음을 포함하는 컴퓨터 구현 방법.
- 제 1 항에 있어서, 기대된 복귀 포인트로 복귀되기 전에 상기 기능의 실행을 완성하고 상기 기대된 복귀 포인트가 상기 루틴내 첫 번째 지시를 표시하도록 배치됨을 더욱더 포함하는 상기 기능이 기대된 루틴으로 복귀되는 컴퓨터 구현 방법.
- 제 2 항에 있어서, 루틴의 실행을 계속함을 더욱더 포함하는 컴퓨터 구현 방법.
- 전술한 항중 어느 한 항에 있어서, 상기 기능의 실행을 시작하는 것이 첫 번째 대체 복귀 포인트를 적재함을 포함하고 상기 첫 번째 대체 복귀 포인트가 기대된 복귀 포인트로부터 고정된 오프셋이 떨어진 위치의 지시에 의해 표시되는 컴퓨터 구현 방법.
- 제 4 항에 있어서, 호출된 기능의 실행을 버리고첫 번째 대체 복귀 포인트로 점프함을 더욱더 포함하는 컴퓨터 구현 방법.
- 다수의 복귀 포인트중 하나와 관련된 데이터가 효율적으로 얻어질 수 있도록 하기 위해 다수의 복귀 포인트중 하나와 관련된 데이터를 저장하고 상기 다수의 복귀 포인트가 기대된 한 복귀 포인트 및 첫 번째 대체 복귀 포인트를 포함하며처리기,상기 처리기에 연결되고 루틴이 실행되는 동안 루틴내로부터의 한 기능을 호출하도록 배치되고 이때 상기 기능은 상기 루틴으로부터 분리되어 있는 한 호출 메카니즘,상기 처리기에 연결되고 상기 기능의 한 실행을 시작하도록 배치된 한 실행 메카니즘, 그리고상기 기능으로부터 상기 루틴으로 복귀되도록 배치되며 상기 기능이 기대된 복귀 포인트에 의해 표시된 루틴내의 한 위치로 복귀되고, 상기 실행 메카니즘이 상기 루틴내 첫 번째 지시를 실행하도록 더욱더 배치되며, 상기 첫 번째 지시를 실행하는 것이 계산 오버헤드를 거의 사용하지 않으며 루틴의 실행에 영향을 주지 않는 한 복귀 메카니즘을 포함하는 컴퓨터 시스템.
- 제 6 항에 있어서, 상기 기능이 기대된 대로 상기 루틴으로 복귀되도록 되며 상기 실행 메카니즘이 기대된 복귀 포인트로 복귀되기 전에 상기 기능의 실행을 완성하도록 되고 상기 기대된 복귀 포인트가 상기 루틴내 첫 번째 지시를 표시하도록 배치된 컴퓨터 시스템.
- 제 6 항 또는 7 항에 있어서, 상기 실행 메카니즘이 첫 번째 대체 복귀 포인트를 적재하도록 배치된 적재기를 포함하며 상기 첫 번째 대체 복귀 포인트가 상기 기대된 복귀 포인트로부터 고정된 오프셋이 떨어진 위치의 지시에 의해 표시되는 컴퓨터 시스템.
- 다수의 복귀 포인트중 하나와 관련된 데이터가 효율적으로 얻어질 수 있도록 하기 위해 다수의 복귀 포인트중 하나와 관련된 데이터를 저장하고, 다수의 복귀 포인트가 기대된 복귀 포인트를 포함하며,상기 루틴이 실행되는 동안 한 루틴내로부터의 한 기능을 호출하기 위한 컴퓨터 코드, 이때 상기 기능은 상기 루틴으로부터 분리되고상기 기능의 실행을 시작하기 위한 컴퓨터 코드,상기 기능으로부터 상기 루틴으로 복귀하기 위한 컴퓨터 코드, 이때 상기 기능은 상기 기대된 복귀 포인트에 의해 표시된 루틴내의 한 위치로 복귀되며,상기 루틴내 한 첫 번째 지시를 실행하기 위한 컴퓨터 코드, 이때 상기 첫 번째 지시를 실행하는 것이 계산 오버헤드를 거의 사용하지 않으며 상기 루틴의 실행에 영향을 주지 않는, 그리고상기 컴퓨터 코드를 저장하는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 프로덕트.
- 제 9 항에 있어서, 상기 컴퓨터 판독가능 매체가 반송파내에 포함된 한 데이터 신호, CD-ROM, 컴퓨터 디스크, 컴퓨터 테이프, 그리고 컴퓨터 디스크 드라이브로 구성된 그룹으로부터 선택되는 컴퓨터 프로그램 프로덕트.
- 다수의 복귀 포인트중 하나와 관련된 데이터가 효과적으로 얻어질 수 있도록 하기 위해 다수의 복귀 포인트중 하나와 관련된 데이터를 저장하고, 다수의 복귀 포인트가 기대된 한 복귀 포인트 및 첫 번째 대체 복귀 포인트를 포함하며,루틴을 실행하고,상기 복귀가 실행되는 동안 상기 루틴내로부터 한 기능에 접근하고, 상기 기능이 상기 루틴으로부터 분리되어 있으며,상기 기능의 실행을 시작하고,상기 기능으로부터 루틴으로 복귀되며, 이때 상기 기능이 기대된 복귀 포인트에 의해 표시된 루틴내의 위치로 복귀되고, 그리고 상기 루틴내의 첫 번째 지시를 실행하며 이때 첫 번째 지시를 실행하는 것이 상기 루틴의 전체 실행속도에 영향을 미치지 않도록 함을 포함하는 컴퓨터 구현방법.
- 제 11 항에 있어서, 기대된 바대로 루틴으로 상기 기능이 복귀되는때를 결정하고, 그리고기대된 대로 상기 기능이 상기 루틴으로 복귀되는때 기대된 복귀 포인트로 복귀되기 전에 상기 기능의 실행을 완성하며, 상기 기대된 복귀 포인트가 루틴내의 첫 번째 지시를 나타내도록 배치됨을 더욱더 포함하는 컴퓨터 구현방법.
- 전술한 항중 어느 한 항에 있어서, 상기 기능의 실행을 시작하는 것이 상기 첫 번째 대체 복귀 포인트를 나타냄을 포함하며, 상기 첫 번째 대체 복귀 포인트가 상기 기대된 복귀 포인트로부터 고정된 오프셋이 떨어져 위치한 한 지시에 의해 나타내지는 컴퓨터 구현방법.
- 제 13 항에 있어서, 상기 기능의 실행을 버리고, 그리고 상기 첫 번째 대체 복귀 포인트로 점프함을 더욱더 포함하는 컴퓨터 구현방법.
- 루틴을 실행하기 위해, 상기 루틴이 다수의 복귀 포인트와 한 기능호출을 포함하며,상기 루틴의 실행을 시작하고,상기 기능호출의 실행을 시작하며,상기 루틴과 관련된 첫 번째 복귀주소를 적재하고,상기 기능호출로부터 첫 번째 복귀주소로 복귀하고,첫 번째 복귀주소와 관련된 코드를 실행하며, 이때 첫 번째 복귀주소와 관련된 코드를 실행하는 것이 이진값으로써 한 지시와 관련된 비트를 해석함을 포함하고, 그리고 상기 루틴의 실행을 계속함을 포함하는 컴퓨터 구현방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/944,326 | 1997-10-06 | ||
US08/944,326 US6553426B2 (en) | 1997-10-06 | 1997-10-06 | Method apparatus for implementing multiple return sites |
US8/944,326 | 1997-10-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990036884A true KR19990036884A (ko) | 1999-05-25 |
KR100519827B1 KR100519827B1 (ko) | 2005-12-16 |
Family
ID=25481199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-1998-0041793A KR100519827B1 (ko) | 1997-10-06 | 1998-10-07 | 다수의복귀사이트를구현하기위한방법및그장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6553426B2 (ko) |
EP (1) | EP0908813B1 (ko) |
JP (1) | JP4005724B2 (ko) |
KR (1) | KR100519827B1 (ko) |
CN (1) | CN1122212C (ko) |
DE (1) | DE69807021T2 (ko) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6317796B1 (en) * | 1997-10-06 | 2001-11-13 | Sun Microsystems, Inc. | Inline database for receiver types in object-oriented systems |
US6754828B1 (en) * | 1999-07-13 | 2004-06-22 | Intel Corporation | Algorithm for non-volatile memory updates |
US7032100B1 (en) | 1999-12-17 | 2006-04-18 | Koninklijke Philips Electronics N.V. | Simple algorithmic cryptography engine |
GB2358261B (en) * | 2000-01-17 | 2004-06-09 | Advanced Risc Mach Ltd | Data processing with native and interpreted program instruction words |
US7196710B1 (en) | 2000-08-23 | 2007-03-27 | Nintendo Co., Ltd. | Method and apparatus for buffering graphics data in a graphics system |
US7185329B1 (en) | 2003-03-28 | 2007-02-27 | Applied Micro Circuits Corporation | Use of different color sequences for variables of different sizes and different semantics |
US7207032B1 (en) * | 2003-03-28 | 2007-04-17 | Applied Micro Circuits Corporation | Expanding a software program by insertion of statements |
US20040250054A1 (en) * | 2003-06-09 | 2004-12-09 | Stark Jared W. | Line prediction using return prediction information |
KR100658918B1 (ko) * | 2004-03-29 | 2006-12-15 | 주식회사 팬택앤큐리텔 | 블록 단위 입출력 명령어를 이용한 시스템 전역 변수초기화 장치 및 그 방법 |
US8266232B2 (en) * | 2005-10-15 | 2012-09-11 | International Business Machines Corporation | Hardware processing of commands within virtual client computing environment |
US8392895B2 (en) * | 2009-01-13 | 2013-03-05 | Mediatek Inc. | Firmware extension method and firmware builder |
US20140283060A1 (en) * | 2013-03-15 | 2014-09-18 | Oracle International Corporation | Mitigating vulnerabilities associated with return-oriented programming |
US9569185B2 (en) | 2014-02-07 | 2017-02-14 | Oracle International Corporation | Changing de-optimization guard representation during the compilation process |
GB2551548B (en) * | 2016-06-22 | 2019-05-08 | Advanced Risc Mach Ltd | Register restoring branch instruction |
US10152338B2 (en) * | 2016-12-14 | 2018-12-11 | International Business Machines Corporation | Marking external sibling caller routines |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5856153A (ja) | 1981-09-30 | 1983-04-02 | Fujitsu Ltd | サブル−チンリタ−ン方式 |
DE4211966A1 (de) * | 1992-04-09 | 1993-10-14 | Philips Patentverwaltung | Anordnung zum Abspeichern und Auslesen von Rücksprungdaten |
JP3499252B2 (ja) * | 1993-03-19 | 2004-02-23 | 株式会社ルネサステクノロジ | コンパイル装置及びデータ処理装置 |
US5606682A (en) * | 1995-04-07 | 1997-02-25 | Motorola Inc. | Data processor with branch target address cache and subroutine return address cache and method of operation |
JP2857600B2 (ja) * | 1995-05-11 | 1999-02-17 | 松下電器産業株式会社 | プロセッサ及びプログラム翻訳装置 |
-
1997
- 1997-10-06 US US08/944,326 patent/US6553426B2/en not_active Expired - Lifetime
-
1998
- 1998-09-24 EP EP98307743A patent/EP0908813B1/en not_active Expired - Lifetime
- 1998-09-24 DE DE69807021T patent/DE69807021T2/de not_active Expired - Fee Related
- 1998-10-05 CN CN98124305A patent/CN1122212C/zh not_active Expired - Fee Related
- 1998-10-06 JP JP31974098A patent/JP4005724B2/ja not_active Expired - Lifetime
- 1998-10-07 KR KR10-1998-0041793A patent/KR100519827B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP0908813A3 (en) | 1999-04-28 |
DE69807021D1 (de) | 2002-09-12 |
CN1234549A (zh) | 1999-11-10 |
KR100519827B1 (ko) | 2005-12-16 |
CN1122212C (zh) | 2003-09-24 |
DE69807021T2 (de) | 2002-12-12 |
US6553426B2 (en) | 2003-04-22 |
JP4005724B2 (ja) | 2007-11-14 |
EP0908813A2 (en) | 1999-04-14 |
EP0908813B1 (en) | 2002-08-07 |
US20020062400A1 (en) | 2002-05-23 |
JPH11224195A (ja) | 1999-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100519827B1 (ko) | 다수의복귀사이트를구현하기위한방법및그장치 | |
EP1232430B1 (en) | Optimization of n-base typed arithmetic expressions | |
US6324686B1 (en) | Just in time compiler technique | |
JP4485198B2 (ja) | Javaアクセラレータを備えたプロセッサシステム | |
US4777588A (en) | General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance | |
US6192516B1 (en) | Interpreter generation and implementation utilizing interpreter states and register caching | |
US7987473B1 (en) | Accelerated class check | |
EP0997816B1 (en) | Method and apparatus for selecting ways to compile at runtime | |
US6253317B1 (en) | Method and apparatus for providing and handling traps | |
US20020056078A1 (en) | Program optimization | |
US6886094B1 (en) | Apparatus and method for detecting and handling exceptions | |
RU2334268C2 (ru) | Команды для поддержки обработки шифрованного сообщения | |
EP1301854B1 (en) | Method and apparatus for creating efficient native methods that extend a bytecode interpreter | |
RU2327204C2 (ru) | Обработка управляющей команды аутентификации сообщения для обеспечения безопасности данных | |
US8327122B2 (en) | Method and system for providing context switch using multiple register file | |
US6779188B1 (en) | Apparatus and method for improved devirtualization of method calls | |
US20050086455A1 (en) | Method and apparatus for generating interrupts for specific types of instructions | |
US9342319B1 (en) | Accelerated class check | |
JP3211423B2 (ja) | 分岐命令実行方法および分岐命令実行装置 | |
US20050240914A1 (en) | Portable just-in-time compilation in managed runtime environments | |
US20050076172A1 (en) | Architecture for static frames in a stack machine for an embedded device | |
JPH01291327A (ja) | 処理モード先取り制御方式 | |
KR100246465B1 (ko) | 마이크로프로세서 스택 명령어의 수행사이클을 줄이기 위한 장치 및 그 방법 | |
von Mayrhauser et al. | Teaching engineering disciplines to tool developers | |
JPH05224947A (ja) | 言語処理プログラム実行装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120907 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20130906 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20140901 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20150827 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20160831 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20180903 Year of fee payment: 14 |
|
EXPY | Expiration of term |