发明名称 Just in time cloud compilation
摘要 Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for just in time compilation. In one aspect, a method includes receiving an application on a mobile device, the mobile device including a processor for executing native code and an interpreter for interpreting intermediate code, wherein an application includes at least one machine instruction; receiving data characterizing prior actions of the application on the mobile device; determining a portion of intermediate code to be compiled into native code based at least in part on the data, wherein the portion includes some but not all of the application; sending the portion of intermediate code over a network to a compilation server; receiving native code corresponding to the portion of intermediate code from the compilation server; and executing the native code on the processor.
申请公布号 US9038038(B1) 申请公布日期 2015.05.19
申请号 US201113097239 申请日期 2011.04.29
申请人 Google Inc. 发明人 Jai Benchiao;Yeh Chia-Chi
分类号 G06F9/45;G06F9/445 主分类号 G06F9/45
代理机构 Honigman Miller Schwartz and Cohn LLP 代理人 Honigman Miller Schwartz and Cohn LLP
主权项 1. A method comprising: receiving an application on a mobile device, the mobile device including a processor for executing native code and an interpreter for interpreting intermediate code, wherein the application includes at least one machine instruction; receiving data characterizing prior actions of the application on the mobile device, the data indicating at least an average time spent by the interpreter interpreting portions of the intermediate code of the application; determining a portion of intermediate code to be compiled into native code based at least in part on the data indicating the average time spent by the interpreter interpreting the portion exceeding a time threshold, wherein the portion includes some but not all of the application; after determining the portion of intermediate code to be compiled based on the average time spent, invoking the interpreter at the mobile device to begin executing the portion of the intermediate code; after the interpreter is invoked, sending the portion of intermediate code over a network to a compilation server to compile the portion of intermediate code into native code while the portion of intermediate code concurrently executes by the interpreter; receiving the native code corresponding to the portion of intermediate code from the compilation server; when the native code corresponding to the intermediate code is not received from the compilation server within a threshold time period, continuing to execute the portion of the intermediate code by the interpreter at the mobile device; and when the native code corresponding to the intermediate code is received from the compilation server within the threshold time period, executing the native code on the processor-at the mobile device in place of the executing portion of the intermediate code by the interpreter.
地址 Mountain View CA US