CN106325963A - 自适应动态编译调度方法及装置 - Google Patents
自适应动态编译调度方法及装置 Download PDFInfo
- Publication number
- CN106325963A CN106325963A CN201510334274.9A CN201510334274A CN106325963A CN 106325963 A CN106325963 A CN 106325963A CN 201510334274 A CN201510334274 A CN 201510334274A CN 106325963 A CN106325963 A CN 106325963A
- Authority
- CN
- China
- Prior art keywords
- queue
- compiling
- hotspot approach
- scheduling
- speed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
本发明提供了一种自适应动态编译调度方法及装置,涉及虚拟机编译调度技术领域,解决了现有技术中虚拟机的动态编译性能不高的问题。所述自适应动态编译调度方法包括:获取当前编译队列的长度,其中,所述当前编译队列为热点方法队列;若当前编译队列的长度大于队列长度阈值,则按照基于方法大小的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度;若当前编译队列的长度不大于队列长度阈值,则按照基于方法运行速度的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度;将编译调度时所选定的热点方法从所述当前编译队列中移除,并进行编译。本发明实施例适用于在JAVA等高级语言虚拟机中进行自适应动态编译调度。
Description
技术领域
本发明涉及虚拟机编译调度技术领域,尤其涉及一种自适应动态编译调度方法及装置。
背景技术
虚拟机(VM,Virtual Machine)主要通过软件或者辅以少量硬件支持的方法虚拟出一台计算机,其依托于本地的物理机,通过其执行引擎对给定的虚拟机指令序列在本地机器上模拟执行。虚拟机的执行引擎可以由解释器来实现,解释器以一条虚拟机指令为单位进行取指令、译码和执行。但单纯的解释执行性能低下,因此虚拟机中引入动态编译系统来提高其性能。编译器是动态编译系统的核心,以一组连续的虚拟机指令序列为单位整体编译成本地CPU指令序列,称为本地方法,然后由硬件直接执行翻译后的本地方法。编译器由于消除了重复的取指令和译码的过程,同时又在翻译时进行大量优化,因此其性能往往是解释器的10倍以上。解释执行期间,虚拟机会侦测程序中执行频度较高的方法,称为热点方法,编译器是在程序运行过程中,对虚拟机所侦测到的热点方法进行动态编译的,故又将其称为即时(JIT,Just-in-time)编译器。
因此,现代虚拟机中一般同时包含解释器和即时编译器,并采用混合的运行模式来执行应用程序。对于程序中的任意一个方法m,均由解释器开始执行。若方法m的执行频度较高,则虚拟机调用即时编译器将方法m编译成本地方法,随后将由硬件直接执行编译生成的本地方法。这种由解释执行和硬件直接执行相混合的模式称为混合运行模式。
对于采用混合运行模式的虚拟机,程序中所有方法均由解释器开始执行。解释执行期间,虚拟机会侦测程序中的热点方法。当某个热点方法被虚拟机识别后,该热点方法会被加入到编译队列中等待编译。当系统中的编译队列非空时,即时编译器会按照热点方法被加入编译队列的先后顺序,优先编译先加入队列的热点方法。
在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:
按照热点方法被加入编译队列的先后顺序进行编译调度,调度策略比较单一,在程序运行过程中缺乏自适应能力,虚拟机的动态编译性能不高。
发明内容
本发明提供的自适应动态编译调度方法及装置,能够提升虚拟机的动态编译性能。
第一方面,本发明提供一种自适应动态编译调度方法,包括:
获取当前编译队列的长度,其中,所述当前编译队列为热点方法队列;
若当前编译队列的长度大于队列长度阈值,则按照基于方法大小的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度;
若当前编译队列的长度不大于队列长度阈值,则按照基于方法运行速度的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度;
将编译调度时所选定的热点方法从所述当前编译队列中移除,并进行编译。
第二方面,本发明提供一种自适应动态编译调度装置,包括:
第一获取单元,用于获取当前编译队列的长度,其中,所述当前编译队列为热点方法队列;
第一编译调度单元,用于在当前编译队列的长度大于队列长度阈值时,按照基于方法大小的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度;
第二编译调度单元,用于在当前编译队列的长度不大于队列长度阈值时,按照基于方法运行速度的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度;
移除单元,用于将编译调度时所选定的热点方法从所述当前编译队列中移除;
编译单元,用于对所述移除单元所移除的热点方法进行编译。
本发明实施例提供的自适应动态编译调度方法及装置,在当前编译队列的长度大于队列长度阈值时,按照基于方法大小的动态编译调度策略对当前编译队列中的热点方法进行编译调度,在当前编译队列的长度不大于队列长度阈值时,按照基于方法运行速度的动态编译调度策略对当前编译队列中的热点方法进行编译调度,并将编译调度时所选定的热点方法从当前编译队列中移除后进行编译。与现有技术相比,本发明能够根据编译队列的长度自适应地选择最佳的编译调度策略对当前编译队列中的所有热点方法进行编译调度,从而可以提高虚拟机动态编译的吞吐量,加快虚拟机的响应速度,提升虚拟机的动态编译性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明自适应动态编译调度方法实施例一的流程图;
图2为本发明自适应动态编译调度方法实施例二的流程图;
图3为本发明自适应动态编译调度装置实施例一的结构示意图;
图4为本发明自适应动态编译调度装置实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种自适应动态编译调度方法,图1为本发明自适应动态编译调度方法实施例一的流程图,如图1所示,本实施例的方法包括:
S11、获取当前编译队列的长度,其中,所述当前编译队列为热点方法队列。
这里的方法指的是面向对象程序设计中的方法,本质上是程序中的一个代码片段,是虚拟机进行编译的最小单元。因此,本文中“方法”的概念可以扩展为程序中能够被编译的最小代码片段,例如,面向过程的编程语言中的函数,以及Qemu等二进制翻译器中的基本块等。
S12、若当前编译队列的长度大于队列长度阈值,则按照基于方法大小的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度。
S13、若当前编译队列的长度不大于队列长度阈值,则按照基于方法运行速度的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度。
S14、将编译调度时所选定的热点方法从所述当前编译队列中移除,并进行编译。
本发明实施例提供的自适应动态编译调度方法,在当前编译队列的长度大于队列长度阈值时,按照基于方法大小的动态编译调度策略对当前编译队列中的热点方法进行编译调度,在当前编译队列的长度不大于队列长度阈值时,按照基于方法运行速度的动态编译调度策略对当前编译队列中的热点方法进行编译调度,并将编译调度时所选定的热点方法从当前编译队列中移除后进行编译。与现有技术相比,本发明能够根据编译队列的长度自适应地选择最佳的编译调度策略对当前编译队列中的所有热点方法进行编译调度,从而可以提高虚拟机动态编译的吞吐量,加快虚拟机的响应速度,提升虚拟机的动态编译性能。
本发明实施例还提供一种自适应动态编译调度方法,图2为本发明自适应动态编译调度方法实施例二的流程图,如图2所示,本实施例的方法包括:
S21、虚拟机启动,完成对解释器、编译器的初始化。
S22、解释器初始化完毕后,开始解释执行程序中的方法。
S23、编译器初始化完毕后进入等待编译的状态。
S24、解释器在解释执行方法的同时,侦测方法是否属于热点方法,若该方法不属于热点方法,则继续解释执行;若该方法属于热点方法,则执行步骤S25。
具体地,解释器侦测方法的执行次数是否超过热点阈值,若不超过热点阈值,则判定该方法不属于热点方法;若超过热点阈值,则判定该方法属于热点方法。
S25、解释器将热点方法加入编译队列中,同时唤醒编译器,触发编译。
S26、编译器获取当前编译队列的长度,其中,所述当前编译队列为热点方法队列。
S27、编译器判断当前编译队列的长度是否大于队列长度阈值,若当前编译队列的长度大于队列长度阈值,则执行步骤S28;若当前编译队列的长度不大于队列长度阈值,则执行步骤S29。
其中,所述队列长度阈值为所述编译器预先设定的。
S28、编译器按照基于方法大小的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度。
具体地,编译器从所述当前编译队列中选取最小的热点方法。其中,所述最小的热点方法,指的是当前编译队列中包含字节码最少的热点方法。
S29、编译器按照基于方法运行速度的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度;
具体地,编译器从所述当前编译队列中选取运行速度最大的热点方法。
在从所述当前编译队列中选取运行速度最大的热点方法之前,编译器获取所述当前编译队列中所有热点方法的运行速度。
可选地,编译器可以按照如下公式计算获得当前编译队列中所有热点方法的运行速度:
其中,speed(m)为热点方法m的运行速度,Δt为预设常量,表示当前时刻前的某一时间段长度,Δexecute(m)为当前时刻前的Δt时间段内热点方法m的执行次数,Δexecute(m)=Δinvocation_count(m)+Δloop_count(m),Δinvocation_count(m)为当前时刻前的Δt时间段内热点方法m被调用的次数,Δloop_count(m)为当前时刻前的Δt时间段内热点方法m内部循环迭代的次数。
S30、编译器将编译调度时所选定的热点方法从所述当前编译队列中移除。
S31、编译器对所移除的热点方法进行编译。
S32、编译器判断当前编译队列是否为空,若不为空,则返回执行步骤S27;若为空,则返回步骤S23,编译器进入等待编译的状态。
本发明实施例提供的自适应动态编译调度方法,在当前编译队列的长度大于队列长度阈值时,从所述当前编译队列中选取最小的热点方法进行编译,在当前编译队列的长度不大于队列长度阈值时,从所述当前编译队列中选取运行速度最大的热点方法进行编译,并将编译调度时所选定的热点方法从当前编译队列中移除后进行编译,直至编译队列为空。与现有技术相比,本发明能够根据编译队列的长度优先选择最小的热点方法或者运行速度最大的热点方法进行编译,从而可以提高虚拟机动态编译的吞吐量,加快虚拟机的响应速度,提升虚拟机的动态编译性能。
本发明实施例提供一种自适应动态编译调度装置,图3为本发明自适应动态编译调度装置实施例一的结构示意图,如图3所示,本实施例的装置包括:
第一获取单元11,用于获取当前编译队列的长度,其中,所述当前编译队列为热点方法队列。
这里的方法指的是面向对象程序设计中的方法,本质上是程序中的一个代码片段,是虚拟机进行编译的最小单元。因此,本文中“方法”的概念可以扩展为程序中能够被编译的最小代码片段,例如,面向过程的编程语言中的函数,以及Qemu等二进制翻译器中的基本块等
第一编译调度单元12,用于在当前编译队列的长度大于队列长度阈值时,按照基于方法大小的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度。
第二编译调度单元13,用于在当前编译队列的长度不大于队列长度阈值时,按照基于方法运行速度的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度。
移除单元14,用于将编译调度时所选定的热点方法从所述当前编译队列中移除;
编译单元15,用于对所述移除单元所移除的热点方法进行编译。
本发明实施例提供的自适应动态编译调度装置,在当前编译队列的长度大于队列长度阈值时,按照基于方法大小的动态编译调度策略对当前编译队列中的热点方法进行编译调度,在当前编译队列的长度不大于队列长度阈值时,按照基于方法运行速度的动态编译调度策略对当前编译队列中的热点方法进行编译调度,并将编译调度时所选定的热点方法从当前编译队列中移除后进行编译。与现有技术相比,本发明能够根据编译队列的长度自适应地选择最佳的编译调度策略对当前编译队列中的所有热点方法进行编译调度,从而可以提高虚拟机动态编译的吞吐量,加快虚拟机的响应速度,提升虚拟机的动态编译性能。
图4为本发明自适应动态编译调度装置实施例二的结构示意图,如图4所示,可选地,所述第一编译调度单元12,用于从所述当前编译队列中选取最小的热点方法。
其中,所述最小的热点方法,指的是当前编译队列中包含字节码最少的热点方法。
可选地,所述第二编译调度单元13,用于从所述当前编译队列中选取运行速度最大的热点方法。
本实施例的装置在图3所示装置结构的基础上,进一步地,所述自适应动态编译调度装置还可以包括:
第二获取单元16,用于在所述第二编译调度单元13从所述当前编译队列中选取运行速度最大的热点方法进行编译之前,获取所述当前编译队列中所有热点方法的运行速度。
可选地,所述第二获取单元16,用于按照如下公式计算获得当前编译队列中所有热点方法的运行速度:
其中,speed(m)为热点方法m的运行速度,Δt为当前时刻前的某一时间段长度,Δexecute(m)为当前时刻前的Δt时间段内热点方法m的执行次数,Δexecute(m)=Δinvocation_count(m)+Δloop_count(m),Δinvocation_count(m)为当前时刻前的Δt时间段内热点方法m被调用的次数,Δloop_count(m)为当前时刻前的Δt时间段内热点方法m内部循环迭代的次数。
本发明实施例提供的自适应动态编译调度装置,在当前编译队列的长度大于队列长度阈值时,从所述当前编译队列中选取最小的热点方法进行编译,在当前编译队列的长度不大于队列长度阈值时,从所述当前编译队列中选取运行速度最大的热点方法进行编译,并将编译调度时所选定的热点方法从当前编译队列中移除后进行编译,直至编译队列为空。与现有技术相比,本发明能够根据编译队列的长度优先选择最小的热点方法或者运行速度最大的热点方法进行编译,从而可以提高虚拟机动态编译的吞吐量,加快虚拟机的响应速度,提升虚拟机的动态编译性能。
本发明实施例自适应动态编译调度方法及装置,可以适用于在JAVA等高级语言虚拟机中进行自适应动态编译调度,但不仅限于此。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种自适应动态编译调度方法,其特征在于,包括:
获取当前编译队列的长度,其中,所述当前编译队列为热点方法队列;
若当前编译队列的长度大于队列长度阈值,则按照基于方法大小的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度;
若当前编译队列的长度不大于队列长度阈值,则按照基于方法运行速度的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度;
将编译调度时所选定的热点方法从所述当前编译队列中移除,并进行编译。
2.根据权利要求1所述的方法,其特征在于,所述按照基于方法大小的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度包括:
从所述当前编译队列中选取最小的热点方法。
3.根据权利要求1所述的方法,其特征在于,所述按照基于方法运行速度的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度包括:从所述当前编译队列中选取运行速度最大的热点方法。
4.根据权利要求3所述的方法,其特征在于,在所述从所述当前编译队列中选取运行速度最大的热点方法进行编译之前,还包括:
获取所述当前编译队列中所有热点方法的运行速度。
5.根据权利要求4所述的方法,其特征在于,所述获取所述当前编译队列中所有热点方法的运行速度包括:
按照如下公式计算获得当前编译队列中所有热点方法的运行速度:
其中,speed(m)为热点方法m的运行速度,Δt为当前时刻前的某一时间段长度,Δexecute(m)为当前时刻前的Δt时间段内热点方法m的执行次数,Δexecute(m)=Δinvocation_count(m)+Δloop_count(m),Δinvocation_count(m)为当前时刻前的Δt时间段内热点方法m被调用的次数,Δloop_count(m)为当前时刻前的Δt时间段内热点方法m内部循环迭代的次数。
6.一种自适应动态编译调度装置,其特征在于,包括:
第一获取单元,用于获取当前编译队列的长度,其中,所述当前编译队列为热点方法队列;
第一编译调度单元,用于在当前编译队列的长度大于队列长度阈值时,按照基于方法大小的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度;
第二编译调度单元,用于在当前编译队列的长度不大于队列长度阈值时,按照基于方法运行速度的动态编译调度策略对所述当前编译队列中的热点方法进行编译调度;
移除单元,用于将编译调度时所选定的热点方法从所述当前编译队列中移除;
编译单元,用于对所述移除单元所移除的热点方法进行编译。
7.根据权利要求6所述的装置,其特征在于,所述第一编译调度单元,用于从所述当前编译队列中选取最小的热点方法。
8.根据权利要求6所述的装置,其特征在于,所述第二编译调度单元,用于从所述当前编译队列中选取运行速度最大的热点方法。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二获取单元,用于获取所述当前编译队列中所有热点方法的运行速度。
10.根据权利要求9所述的装置,其特征在于,所述第二获取单元,用于按照如下公式计算获得当前编译队列中所有热点方法的运行速度:
其中,speed(m)为热点方法m的运行速度,Δt为当前时刻前的某一时间段长度,Δexecute(m)为当前时刻前的Δt时间段内热点方法m的执行次数,Δexecute(m)=Δinvocation_count(m)+Δloop_count(m),Δinvocation_count(m)为当前时刻前的Δt时间段内热点方法m被调用的次数,Δloop_count(m)为当前时刻前的Δt时间段内热点方法m内部循环迭代的次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510334274.9A CN106325963B (zh) | 2015-06-16 | 2015-06-16 | 自适应动态编译调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510334274.9A CN106325963B (zh) | 2015-06-16 | 2015-06-16 | 自适应动态编译调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106325963A true CN106325963A (zh) | 2017-01-11 |
CN106325963B CN106325963B (zh) | 2020-04-14 |
Family
ID=57732037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510334274.9A Active CN106325963B (zh) | 2015-06-16 | 2015-06-16 | 自适应动态编译调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106325963B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240793A (zh) * | 2017-05-16 | 2019-01-18 | 龙芯中科技术有限公司 | 程序热点的识别方法、装置、电子设备及存储介质 |
CN111610977A (zh) * | 2020-05-19 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 一种编译方法和相关装置 |
CN116382702A (zh) * | 2023-06-06 | 2023-07-04 | 湖南天河国云科技有限公司 | 智能合约热点探测方法、装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6851109B1 (en) * | 1999-05-06 | 2005-02-01 | International Business Machines Corporation | Process and system for dynamically compiling a partially interpreted method |
KR20120067892A (ko) * | 2010-12-16 | 2012-06-26 | 서울대학교산학협력단 | 트레이스 단위 적시 컴파일러에서의 효율적인 프로파일링 방법 |
CN103713933A (zh) * | 2013-12-31 | 2014-04-09 | 华为技术有限公司 | 计算机程序中热点函数、变量的汇聚方法、装置及系统 |
CN103729235A (zh) * | 2013-12-24 | 2014-04-16 | 华为技术有限公司 | Java虚拟机的编译方法和Java虚拟机 |
CN103793502A (zh) * | 2014-01-24 | 2014-05-14 | 北京航空航天大学 | 即时编译器中一种基于云的热路径优化方法 |
-
2015
- 2015-06-16 CN CN201510334274.9A patent/CN106325963B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6851109B1 (en) * | 1999-05-06 | 2005-02-01 | International Business Machines Corporation | Process and system for dynamically compiling a partially interpreted method |
KR20120067892A (ko) * | 2010-12-16 | 2012-06-26 | 서울대학교산학협력단 | 트레이스 단위 적시 컴파일러에서의 효율적인 프로파일링 방법 |
CN103729235A (zh) * | 2013-12-24 | 2014-04-16 | 华为技术有限公司 | Java虚拟机的编译方法和Java虚拟机 |
CN103713933A (zh) * | 2013-12-31 | 2014-04-09 | 华为技术有限公司 | 计算机程序中热点函数、变量的汇聚方法、装置及系统 |
CN103793502A (zh) * | 2014-01-24 | 2014-05-14 | 北京航空航天大学 | 即时编译器中一种基于云的热路径优化方法 |
Non-Patent Citations (2)
Title |
---|
傅杰等: "编译队列监视下的Size-Speed动态编译调度算法", 《高技术通讯》 * |
凌明等: "一种Dalvik虚拟机的自适应编译系统", 《电子学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240793A (zh) * | 2017-05-16 | 2019-01-18 | 龙芯中科技术有限公司 | 程序热点的识别方法、装置、电子设备及存储介质 |
CN111610977A (zh) * | 2020-05-19 | 2020-09-01 | 腾讯科技(深圳)有限公司 | 一种编译方法和相关装置 |
CN116382702A (zh) * | 2023-06-06 | 2023-07-04 | 湖南天河国云科技有限公司 | 智能合约热点探测方法、装置、电子设备和存储介质 |
CN116382702B (zh) * | 2023-06-06 | 2023-08-18 | 湖南天河国云科技有限公司 | 智能合约热点探测方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106325963B (zh) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3894698B2 (ja) | 資源の消費を最小限にするハイブリッド式ジャストインタイム・コンパイラ | |
US5970249A (en) | Method and apparatus for performing byte-code optimization during pauses | |
KR100722710B1 (ko) | 폐영역 회수를 스케줄하는 방법 | |
WO2001086440A3 (en) | Migrating processes using data representation language representations of the processes in a distributed computing environment | |
US7725885B1 (en) | Method and apparatus for trace based adaptive run time compiler | |
WO2014137521A1 (en) | Reducing excessive compilation times | |
US8056061B2 (en) | Data processing device and method using predesignated register | |
US7873943B2 (en) | Inserting stack clearing code in conservative garbage collection | |
CN106325963A (zh) | 自适应动态编译调度方法及装置 | |
US20170139693A1 (en) | Code execution method and device | |
CN103793249A (zh) | 一种Java虚拟机中类库的多线程预加载方法 | |
CN110543338A (zh) | 一种文件的动态加载方法及装置 | |
CN110609689A (zh) | 一种应用的安装运行方法及装置 | |
CN109117203A (zh) | 一种Android APP启动速度优化方法及系统 | |
Crammond | Implementation of committed choice logic languages on shared memory multiprocessors. | |
Long et al. | A lightweight design for serverless function as a service | |
CN106325964A (zh) | 动态编译调度方法及装置 | |
CN108536514B (zh) | 一种热点方法的识别方法和装置 | |
CN113220326A (zh) | 智能合约升级方法及区块链系统 | |
Matheou et al. | FREDDO: an efficient framework for runtime execution of data-driven objects | |
CN112487092A (zh) | 一种基于区块链的智能合约调用方法及装置 | |
CN116225728B (zh) | 基于协程的任务执行方法、装置、存储介质及电子设备 | |
CN100549958C (zh) | 一种类文件装载方法和系统 | |
Novaes et al. | Compiler-assisted adaptive program scheduling in big. LITTLE systems: poster | |
CN110874214B (zh) | 一种功能调用方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100195 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee after: Loongson Zhongke Technology Co.,Ltd. Address before: 100195 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |