发明名称 用于进行静态初始化的方法和系统
摘要 所公开的系统代表一种对常规的用于初始化静态数组的系统的改进,其中减少了由虚拟机静态初始化数组而执行的代码的数量。为实现这种减少,当统一类文件时,预加载程序识别所有的<clinit>方法并模拟执行这些方法,以便确定由其进行的静态初始化。然后,预加载程序产生一个表达,其表示由<clinit>方法进行的静态初始化,并把该表达存储在.mclass文件中,以便代替<clinit>方法。例如,含有许多指令的<clinit>方法的代码被一个命令虚拟机进行静态初始化的表达代替,从而节省大量的存储器。虚拟机被修改,以便识别这个表达,并对数组进行正确的初始化。
申请公布号 CN1119756C 申请公布日期 2003.08.27
申请号 CN99107735.0 申请日期 1999.04.07
申请人 太阳微系统公司 发明人 弗兰克·耶林;理查德·D·特克
分类号 G06F17/22;G06F17/40 主分类号 G06F17/22
代理机构 中国国际贸易促进委员会专利商标事务所 代理人 王以平
主权项 1一种数据处理系统中用于静态初始化数组的方法,包括以下步骤:利用静态值编译包含该数组的源码,从而利用含有字节代码的clinit方法产生一个类文件,以便把数组静态初始化为静态值;在预加载程序中接收类文件;对于存储器模拟执行clinit方法的字节代码,以便由预加载程序识别数组的静态初始化;在输出文件中存储需要静态初始化数组的指令;以及由虚拟机解释指令,从而进行数组的静态初始化。
地址 美国加利福尼亚