【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种程序执行控制设备,其用于使处理器执行由字节码(bytecode)集组成的程序。更具体地,本专利技术涉及一种用于抑制在程序执行的初始阶段执行速度降低的技术。
技术介绍
虚拟机是一种独立于平台的执行程序的软件。近年来,虚拟机被实现在例如内置设备(built-in device)这样的各种配备有处理器的家用电器上。一个示范的虚拟机是Java虚拟机(JVM),其解释并执行Java(注册商标)字节码(以下简称字节码)。关于JVM的详细规范参阅“Java虚拟机规范,第二版”(培生教育出版集团出版,ISBN 4-89471-356-x)。通常,字节码由例如Javac这样的Java编译器通过对用Java语言编写的源程序进行转换生成。字节码被存放在后缀为“.class”的所谓类文件中。JVM解释类文件并执行所需的控制以使处理器执行包含在类文件中的方法。方法是用于执行特定过程的字节码集,类似于其他编程语言中的成员函数。基本上,JVM的工作如同一个在运行时按顺序解释字节码的解释器。正如公知的那样,字节码程序的执行速度要慢于可由处理器直接执行的本机码(native code)程序的执行速度。特别地,执行一个对相同方法进行重复性地调用的程序会带来额外的开销,因为对相同方法的每次调用都需要对其进行重复性地解释。为了降低上述开销,提出了具有及时(Just-In-Time,JIT)编译器的JVM。如果判定被调用的方法尚未被编译,JIT编译器将该方法转换成本机码。JIT改进了执行速度,这是因为当相同的方法在第二次被调用的时候,处理器就可以执行之前编译的本机码。另外,还 ...
【技术保护点】
一种程序执行控制设备,用于使处理器执行由一个或多个字节码集组成的程序,其中所述一个或多个字节码集包括用于调用一个字节码集的一个字节码,所述程序执行控制设备包括:判定单元,用于在所述程序执行过程中,对于调用字节码的每次执行,判断作为调用目标的字节码集是否已被编译为特定于所述处理器的本机码;第一单元,用于当所述目标字节码集被判定为未被编译时,命令所述处理器以使所述目标字节码集被顺序地解释和执行,并且发出将所述目标字节码集编译为本机码的请求;第二单元,用于当所述目标字节码集被判定为待编译时,命令所述处理器执行通过所述编译得到的本机码;以及第三单元,用于命令所述处理器并行于所述第一单元所进行的所述字节码解释和执行以及所述第二单元所进行的所述本机码执行,对所述第一单元发出的编译请求所指示的字节码集进行编译。
【技术特征摘要】
【国外来华专利技术】JP 2003-5-28 151472/20031.一种程序执行控制设备,用于使处理器执行由一个或多个字节码集组成的程序,其中所述一个或多个字节码集包括用于调用一个字节码集的一个字节码,所述程序执行控制设备包括判定单元,用于在所述程序执行过程中,对于调用字节码的每次执行,判断作为调用目标的字节码集是否已被编译为特定于所述处理器的本机码;第一单元,用于当所述目标字节码集被判定为未被编译时,命令所述处理器以使所述目标字节码集被顺序地解释和执行,并且发出将所述目标字节码集编译为本机码的请求;第二单元,用于当所述目标字节码集被判定为待编译时,命令所述处理器执行通过所述编译得到的本机码;以及第三单元,用于命令所述处理器并行于所述第一单元所进行的所述字节码解释和执行以及所述第二单元所进行的所述本机码执行,对所述第一单元发出的编译请求所指示的字节码集进行编译。2.根据权利要求1所述的程序执行控制设备,其中所述程序执行控制设备在多任务操作系统控制下工作,所述第三单元所进行的所述编译被作为与所述第一单元所进行的所述字节码执行和所述第二单元所进行的所述本机码执行独立的任务来执行,以及所述第一和第二单元的任务被赋予比赋予所述第三单元的任务的优先级更高的优先级。3.根据权利要求2所述的程序执行控制设备,进一步包括切换单元,用于当所述第一或第二单元所进行的任务执行被置于待机状态时,切换到所述第三单元所进行的任务执行。4.根据权利要求3所述的程序执行控制设备,进一步包括请求管理单元,用于响应于所述第一单元所发出的编译请求,将编译请求信息登记到存储单元中,并管理所登记的编译请求信息,每项编译请求信息被用于编译相应的编译请求所指示的字节码集,其中所述第三单元命令所述处理器并行于所述第一单元所进行的所述字节码解释和执行以及所述第二单元所进行的所述本机码执行,对登记在所述存储单元中的编译请求信息所指示的每一字节码集进行编译。5.根据权利要求4所述的程序执行控制设备,其中所述请求管理单元按照相应的编译请求被接收的顺序将各项编译请求信息置于队列中,以及所述第三单元命令所述处理器按照从第一项排队的编译请求信息所指示的字节码集开始的顺序来编译字节码集。6.根据权利要求4所述的程序执行控制设备,其中如果编译请求所指示的字节码集的编译请求信息已被登记在所述存储单元中,则所述请求管理单元不再重复地登记编译请求信息。7.根据权利要求4所述的程序执行控制设备,进一步包括优先权信息获取单元,用于获取表示每一字节码集的优先级的信息,其中所述请求管理单元包括指定子单元,用于响应于所述第一单元所发出的编译请求,参考所获得的优先权信息,指定所述编译请求所指示的字节码集的优先级;比较子单元,用于对所指定的优先级和所述存储单元中的排队的编译请求信息所指示的每一字节码集的优先级进行比较;以及确定子单元,用于确定放置对于所述编译请求所指示的所述字节码集的新编译请求信息项的位置,以使所登记的各项编译请求信息被按照优先权的降序来排队。8.根据权利要求4所述的程序执行控制设备,进一步包括相关信息获取单元,用于获取表示每一字节码集以及与该字节码集相关的所有字节码集的相关信息;检测单元,用于参考所述相关信息,检测与所述编译请求所指示的所述字节码集相关的任一字节码集,其中所述请求管理单元对所述检测单元所检测到的所述相关字节码集的编译请求信息进行登记。9.根据权利要求4所述的程序执行控制设备,进一步包括优先权信息获取单元,用于获取表示每一字节码集的优先级的信息;其中参考所获得的优先权信息,所述第三单元命令所述处理器按照优先权的降序对登记在所述存储单元中的各项编译请求信息所指示的字节码集进行编译。10.根据权利要求4所述的程序执行控制设备,进一步包括数目记录单元,用于当所述字节码集的编译被重复请求时,对各字节码集的编译请求进行计数,并将所述请求数目作为所述字节码集的编译请求信息的一部分记录在所述存储单元中;以及获取单元,用于获取请求数目的阈值,其中所述第三单元命令所述处理器按照各个字节码集的请求数目超过所述阈值的顺序来编译字节码集。11.根据权利要求5所述的程序执行控制设备,进一步包括数目记录单元,用于当所述字节码集的编译被重复请求时,对各个字节码集的编译请求进行计数,并将所述请求数目作为所述字节码集的编译请求信息的一部分记录在所述存储单元中;以及顺序更改单元,用于比较各个请求数目,并按照请求数目的降序更改各项排队的编译请求信息的位置。12.根据权利要求5所述的程序执行控制设备,其中所述请求管理单元管理多个具有不同优先级的队列,以及所述第三单元命令所述处理器按照从被置于最高...
【专利技术属性】
技术研发人员:土井繁则,青木博司,今西祐子,
申请(专利权)人:松下电器产业株式会社,
类型:发明
国别省市:JP[日本]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。