主权项 |
即时编译器中一种基于云的热路径优化方法,其特征在于,针对某一程序,进行如下步骤:步骤1:当程序空闲时,判断本地即使编译器中的热路径是否有更新,若有,执行步骤二,否则,执行步骤三;所述的本地即使编译器中的热路径存储为Jit‑Trace格式的数据结构,该数据结构包括一个字节码方法和包含该字节码方法的执行路径;步骤2:将本地Jit‑Trace格式数据转换为Native‑Jit‑Traces格式数据;所述的Native‑Jit‑Traces格式数据包括数据头和路径数据两部分;数据头包含程序标识符和版本号Cloud‑Jit,程序标识符包括程序的包名、签名和版本号;路径数据部分以<字节码方法,执行路径数组>的键值对方式组织,执行路径数组中包含对应字节码方法的Jit‑Trace格式中的各执行路径,一个键值对对应一个热路径;步骤3:将位于本地的Native‑Jit‑Traces格式数据上传到云端,云端对具有相同程序标识符的所有Native‑Jit‑Traces格式数据进行统计整理,生成Cloud‑Jit‑Traces格式数据,并存储在云端资源池中;所述的Cloud‑Jit‑Traces格式数据包括程序标识符,版本号Cloud‑Jit,以及路径数据,路径数据以<字节码方法,执行路径数组,统计数据>的键值对方式组织,其中,统计数据为相应字节码方法的统计次数,一个键值对对应一个热路径;步骤4:在本地程序初始化或者本地程序空闲时,从云端下载对应程序的经过统计处理的Cloud‑Jit‑Traces格式数据,并将热路径加入到虚拟机的即时编译队列中。 |