发明名称 Systems and methods for loop suspension in java programming
摘要 System and methods are provided for loop process suspension. One or more loop instructions associated with a loop process are loaded in a code cache. One or more branch instructions associated with a branch of the loop process in the code cache are determined. A suspension event is detected. The branch instructions are replaced with one or more jump instructions in the code cache upon the detection of the suspension event. If the jump instructions are executed in the code cache, the branch instructions in the code cache are restored, and the loop process is suspended. One or more suspension instructions associated with the suspension event are executed in an interpreter.
申请公布号 US9250935(B2) 申请公布日期 2016.02.02
申请号 US201414533540 申请日期 2014.11.05
申请人 MARVELL WORLD TRADE LTD. 发明人 Huang Haitao;Gao Liping;Qi Xinyu;Jian Ningsheng
分类号 G06F9/45;G06F9/455 主分类号 G06F9/45
代理机构 代理人
主权项 1. A method comprising: loading loop instructions, associated with a loop process, into a code cache; identifying a branch instruction of the loop process in the code cache; detecting a suspension event; in response to detecting the suspension event, replacing the branch instruction in the code cache with a jump instruction for jumping to an interpreter configured to execute one or more suspension instructions associated with the suspension event; continuing program execution until the jump instruction is reached; when the jump instruction is reached, executing the jump instruction by jumping to the interpreter; in response to the executing of the jump instruction, restoring the branch instructions in the code cache, and executing, by the interpreter, the one or more suspension instructions, wherein the restoring of the branch instruction in the code cache is performed before completion of the executing of the one or more suspension instructions; and returning to execution of the loop process after the executing of the one or more suspension instructions.
地址 St. Michael BB