-
公开(公告)号:CA2702354A1
公开(公告)日:2010-10-07
申请号:CA2702354
申请日:2010-05-19
Applicant: IBM CANADA
Inventor: SILVERA RAUL E , WANG KAI-TING A , WU PENG , YAMASHITA MARK W , ZHUANG XIAOTONG
Abstract: An illustrative embodiment of a computer-implemented process for hardware check pointing in speculative execution frameworks, identifies calls to a set of setjmp/longjmp instructions to form identified calls to setjmp/longjmp, determines a control flow path between a call to a setjmp and a longjmp pair of instructions in the identified calls to setjmp/longjmp and replaces calls to the setjmp/longjmp pair of instructions with calls to an improved setjmp and improved longjmp instruction pair. The computer-implemented process creates a context data structure in memory, computes a non-volatile save/restore set and replaces the call to improved setjmp of the setjmp/longjmp pair of instructions with instructions to save all required non-volatile and special purpose registers and replaces a call to improved longjmp of the setjmp/longjmp pair of instructions with instructions to restore all required non-volatile and special purpose registers and to branch to an instruction immediately following a block of code containing the call to improved_setjmp.