发明名称 Executable code for constrained computing environments
摘要 A system and method for facilitating adjusting computer code running in computing environments where writing of executable memory is restricted. An example method includes using a virtual machine to generate a first executable image from software code, and employing the first executable image to selectively modify the virtual machine and the first executable image, resulting in an updated virtual machine and a second executable image. The second executable image represents an updated version of the first executable image. To transform dynamic code, such as natively produced computer code, into one or more executable images for running on constrained devices, embodiments may leverage existing dynamic code generators (e.g., within Java HotSpot Performance Engine, also simply called HotSpot), selectively modifying them to generate different, i.e., updated code that is usable on subsequent runs of the associated software application, thereby effectively enabling modification of executable code used to run the software.
申请公布号 US9519466(B2) 申请公布日期 2016.12.13
申请号 US201414220119 申请日期 2014.03.19
申请人 Oracle International Corporation 发明人 Delsart M Bertrand
分类号 G06F9/45;G06F9/44;G06F9/455 主分类号 G06F9/45
代理机构 Trellis IP Law Group, PC 代理人 Trellis IP Law Group, PC
主权项 1. A method for running dynamic code programs in an execution context that does not allow applications to use memory that is both executable and writable, the method performed by a computer system comprising the following acts: executing a virtual machine to generate first executable code in a first executable image from software code of an application, where the virtual machine includes optimizing functionality that analyzes execution of the first executable image to cache frequently used executable code and modifies executable code for efficient execution on the computer system; analyzing, using the virtual machine, the first executable code, when executed, to generate modified executable code; storing, by the computer system, the modified executable code as a second image separate from the first image; transforming the second image to a second executable image executable by the computer system to run the application; analyzing, using the virtual machine, the second executable image, when executed, to run the application to generate second modified executable code; storing, by the computer system, the second modified executable code as a third image separate from the first and second images; and transforming the third image to a third executable image executable by the computer system to run the application.
地址 Redwood Shores CA US