CN106708497B - 一种代码执行方法及装置 - Google Patents
一种代码执行方法及装置 Download PDFInfo
- Publication number
- CN106708497B CN106708497B CN201510797067.7A CN201510797067A CN106708497B CN 106708497 B CN106708497 B CN 106708497B CN 201510797067 A CN201510797067 A CN 201510797067A CN 106708497 B CN106708497 B CN 106708497B
- Authority
- CN
- China
- Prior art keywords
- code
- execution
- compiling
- language
- executing
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000000903 blocking effect Effects 0.000 claims abstract description 27
- 238000011156 evaluation Methods 0.000 claims abstract description 17
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
- G06F9/4552—Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
一种代码执行方法及装置,所述方法包括:转换源代码为中间代码,所述中间代码用于解释执行或编译执行;所述编译执行不支持阻塞操作;解释执行所述中间代码;所述解释执行所述中间代码时动态评估代码特性,若评估结果满足编译执行的触发条件,则切换为编译执行所述中间代码。所述方法及装置可以提高代码执行效率。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种代码执行方法及装置。
背景技术
计算机技术的发展日新月异,计算机技术已广泛应用于各个领域。计算机技术的基础之一就是代码的执行,通过执行代码以达到预期的目标和效果。
代码的执行可以分为单线程异步执行和多线程执行,或者说可以分为阻塞操作和非阻塞操作两种操作模式。阻塞操作是某个进程/某段程序等待在那里,可以是等待某个信号、某个文件准备好,某个网络包数据接收完成等等,之后才可以继续运行。非阻塞操作就是指当线程执行这些方法时,如果操作还没有就绪,就立即返回,而不会一直等到操作就绪。
现有技术不能兼顾两种操作模式的优点,执行效率有待提高。
发明内容
本发明解决的技术问题是如何提升代码的执行效率。
为解决上述技术问题,本发明实施例提供一种代码执行方法,包括:
转换源代码为中间代码,所述中间代码用于解释执行或编译执行,所述编译执行不支持阻塞操作;
解释执行所述中间代码;
在所述解释执行所述中间代码时动态评估代码特性,若评估结果满足编译执行的触发条件,则切换为编译执行所述中间代码。
可选的,所述的代码执行方法还包括:在编译执行所述中间代码时动态评估代码特性,若评估结果满足解释执行的触发条件,则切换为解释执行所述中间代码。
可选的,所述编译执行的触发条件包括:所述中间代码出现调用频度高于频度阈值的代码段。
可选的,所述解释执行的触发条件包括:所述中间代码出现阻塞操作。
可选的,所述代码执行方法适于在浏览器中执行;所述解释执行所述中间代码包括:利用浏览器可直接运行的脚本语言编写的解释器解释执行所述中间代码;所述编译执行所述中间代码包括:编译所述中间语言为浏览器可直接运行的脚本语言。
可选的,所述浏览器可直接运行的脚本语言包括:JavaScript语言,所述编译执行所述中间代码还包括,在编译所述中间语言为JavaScript语言后,由JavaScript引擎执行。
可选的,所述中间代码为虚拟机器指令代码。
本发明实施例还提供一种代码执行装置,包括:代码转换单元、解释执行单元、第一切换单元、编译执行单元;其中:
所述代码转换单元,适于转换源代码为中间代码,所述中间代码用于解释执行或编译执行;所述编译执行不支持阻塞操作;
所述解释执行单元,适于解释执行所述中间代码;
所述第一切换单元,适于在所述解释执行所述中间代码时动态评估代码特性,若评估结果满足编译执行的触发条件,则切换至所述编译执行单元,以编译执行所述中间代码。
可选的,所述代码执行装置还包括:第二切换单元,适于在编译执行所述中间代码时动态评估代码特性,若评估结果满足解释执行的触发条件,则切换至所述解释执行单元,以解释执行所述中间代码。
可选的,所述编译执行的触发条件包括:所述中间代码出现调用频度高于频度阈值的代码段。
可选的,所述解释执行的触发条件包括:所述中间代码出现阻塞操作。
可选的,所述代码执行装置适于浏览器;所述解释执行单元,适于利用浏览器可直接运行的脚本语言编写的解释器解释执行所述中间代码;所述编译执行单元,适于编译所述中间语言为浏览器可直接运行的脚本语言。
可选的,所述浏览器可直接运行的脚本语言包括:JavaScript语言;所述编译执行单元,还适于在编译所述中间语言为JavaScript语言后,由JavaScript引擎执行。
可选的,所述中间代码为虚拟机器指令代码。
可选的,所述代码执行装置适于浏览器。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
通过转换源代码为同时支持解释执行和编译执行的中间代码,解释执行该中间代码,并在解释执行中间代码时,动态评估代码特性,若评估结果满足编译执行的触发条件,则切换为编译执行所述中间代码,从而可以在对代码特性进行动态评估的基础上,选择更加合适高效的执行方式进行代码执行,提升代码执行的效率。
附图说明
图1是本发明实施例中一种代码执行方法的流程图;
图2是本发明实施例中一种代码执行装置的结构示意图。
具体实施方式
如前所述,代码的执行可以分为单线程异步执行和多线程执行,或者是阻塞操作和非阻塞操作两种模式。阻塞操作是某个进程/某段程序等待在那里,可以是等待某个信号、某个文件准备好,某个网络包数据接收完成等等,之后才可以继续运行。非阻塞操作就是指当线程执行这些方法时,如果操作还没有就绪,就立即返回,而不会一直等到操作就绪。阻塞操作和非阻塞操作各有优缺,而现有的多种语言只支持其中一种模式,执行效率有待提高。
本发明实施例通过转换源代码为同时支持解释执行和编译执行的中间代码,解释执行该中间代码,并在解释执行中间代码时,动态评估代码特性,若评估结果满足编译执行的触发条件,则切换为编译执行所述中间代码,从而可以在对代码特性进行动态评估的基础上,选择更加合适高效的执行方式进行代码执行,提升代码执行的效率。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1是本发明实施例中一种代码执行方法的流程图。
S11,转换源代码为中间代码,所述中间代码用于解释执行或编译执行,所述编译执行不支持阻塞操作。
源代码可以是多种编程语言编写的代码,例如C、C++、Objective-C等语言编写的代码,可以是支持阻塞操作的代码。
中间代码可以同时支持解释执行和编译执行两种执行方式,可以是虚拟机器指令的代码。
解释执行可以是通过一个解释器来执行中间语言指令,此模式虽然在运行效率上低于编译执行,但是其代码体积较小,启动较快,并且能够支持阻塞执行操作,进而支持协作式多线程。此模式适用于调用频次较低的代码,如初始化代码、低频调用的逻辑代码。
解释器的编写语言由该代码执行的具体应用环境决定,与具体的应用环境相适应。
S12,解释执行所述中间代码。
如前所述,解释执行是指通过一个解释器来执行中间语言指令,能够支持阻塞执行操作,进而支持协作式多线程。解释器的编写语言由该代码执行的具体应用环境决定,与具体的应用环境相适应。
S13,在所述解释执行所述中间代码时动态评估代码特性,若评估结果满足编译执行的触发条件,则切换为编译执行所述中间代码。
动态评估代码特性可以以预先设定的时间间隔进行;编译执行的触发条件根据编制执行的特点设定。
编译执行可以是将中间语言转换目标代码后,交由目标代码适用的具体引擎来执行。编译执行可以通过JIT编译器将中间语言编译为目标代码。目标代码由执行方法的具体应用环境决定,适于具体的应用环境直接执行。
由于编译执行模式实现将源代码编译为适于应用环境的目标代码,故在运行效率上大大高于解释执行,但是其生成的代码体积较大,启动较慢,并且无法执行含有阻塞操作的代码。
此模式适用于调用频次较高的代码,如高频核心循环、计算量较大的算法等。故,在解释执行时,对中间代码特性的评估,对编译执行的触发条件的设定结合调用频次进行。
在具体实施中,所述编译执行的触发条件可以是所述中间代码出现调用频度高于频度阈值的代码段。代码段的调用可以是函数调用,解释器可以对各个函数的调用频度进行统计。当调用频度高于频度阈值时,判断为满足编译执行的触发条件。
在具体实施中,代码执行方法还可以包括步骤S14。
S14,在编译执行所述中间代码时动态评估代码特性,若评估结果满足解释执行的触发条件,则切换为解释执行所述中间代码。
动态评估代码特性可以以预先设定的时间间隔进行;编译执行的触发条件根据编译执行的特点设定。
如前所述,解释执行可以是通过一个解释器来执行中间语言指令,此模式虽然在运行效率上低于编译执行,但是其代码体积较小,启动较快,并且能够支持阻塞执行模式,进而支持协作式多线程。此模式适用于调用频次较低的代码,如初始化代码、低频调用的逻辑代码。
解释执行的触发条件可以基于解释执行的特性设定。例如,可以将解释执行的触发条件设定为:所述中间代码出现阻塞操作。
由编译执行切换为解释执行的过程需要实现堆栈切换(On-Stack Replacement,OSR),即:在编译执行过程中用到的函数尚未返回的状态下(函数状态仍存在于堆栈中),将其“热”切换到解释模式。
在具体实施中,所述代码执行方法适于在浏览器中执行。所述解释执行所述中间代码包括:利用浏览器可直接运行的脚本语言编写的解释器解释执行所述中间代码;所述编译执行所述中间代码包括:编译所述中间语言为浏览器可直接运行的脚本语言。
在本发明一实施例中,所述解释执行所述中间代码包括:利用JavaScript语言编写的解释器解释执行所述中间代码。所述编译执行所述中间代码包括:编译所述中间语言为JavaScript语言后,由JavaScript引擎执行。
JavaScript语言是一种脚本语言,是互联网浏览器标准所支持的唯一编程语言,因此,现有的大量以其他编程语言(比如C、C++、Objective-C等)写成的代码无法直接在浏览器中运行。
在现有技术种可以通过将C/C++代码编译成JavaScript以达到在浏览器中运行的目的,比如asm.js。但是此技术受限于JavaScript的单线程异步执行模型,无法支持套用同步阻塞编程模型的C/C++代码,这使得其应用范围受到极大限制。另一方面,其编译产生的JavaScript过于庞大,不仅加载速度慢,而且容易导致浏览器崩溃。
本发明实施例将非JavaScript代码转换成一种中间语言。此中间语言的特点是能够以两种不同的模式执行:解释执行和编译执行。
当执行发生阻塞时,在返回到主消息循环去处理其他消息(或者返回到线程调度器以切换至其他线程)之前,需要妥善保存当前的执行现场和调用堆栈,只有这样,才能够在线程被唤醒时,有效的恢复执行现场和调用堆栈。在解释执行模式中,线程的运行状态和调用堆栈是在解释器里模拟出来的,因此能够进行保存和恢复;而编译成JavaScript之后,运行状态和调用堆栈由浏览器的JavaScript引擎管理,应用层无法介入,因此无法实现阻塞。
故本发明实施例通过将源代码转化为同时支持解释执行和编译执行的中间代码,解释执行该中间代码,并在解释执行中间代码时,动态评估代码特性,若评估结果满足编译执行的触发条件,则切换为编译执行所述中间代码,从而可以在对代码特性进行动态评估的基础上,选择更加合适高效的执行方式进行代码执行,提升代码执行的效率。
参照图2,本发明实施例还提供一种代码执行装置,包括:代码转换单元21、解释执行单元22、第一切换单元23、编译执行单元24;其中:
所述代码转换单元21,适于转换源代码为中间代码,所述中间代码用于解释执行或编译执行;所述编译执行不支持阻塞操作;
所述解释执行单元,适于解释执行所述中间代码;
所述第一切换单元23,适于在所述解释执行所述中间代码时动态评估代码特性,若评估结果满足编译执行的触发条件,则切换至所述编译执行单元24,以编译执行所述中间代码。
在具体实施中,所述代码执行装置还可以包括:第二切换单元25,适于在编译执行所述中间代码时动态评估代码特性,若评估结果满足解释执行的触发条件,则切换至所述解释执行单元22,以解释执行所述中间代码。
在具体实施中,所述编译执行的触发条件包括:所述中间代码出现调用频度高于频度阈值的代码段。
在具体实施中,所述解释执行的触发条件包括:所述中间代码出现阻塞操作。
在具体实施中,所述代码执行装置适于浏览器;所述解释执行单元22,适于利用浏览器可直接运行的脚本语言编写的解释器解释执行所述中间代码;所述编译执行单元24,适于编译所述中间语言为浏览器可直接运行的脚本语言。
在具体实施中,所述解释执行单元22,适于利用JavaScript语言编写的解释器解释执行所述中间代码;所述编译执行单元24,适于编译所述中间语言为JavaScript语言后,由JavaScript引擎执行。
在具体实施中,所述中间代码为虚拟机器指令代码。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (14)
1.一种代码执行方法,其特征在于,包括:
转换源代码为中间代码,所述中间代码同时支持解释执行和编译执行;其中,所述解释执行是通过一个解释器来执行中间代码,所述解释器利用浏览器可直接运行的脚本语言编写,所述编译执行是编译所述中间语言为浏览器可直接运行的脚本语言,所述编译执行不支持阻塞操作;
解释执行所述中间代码;
在所述解释执行所述中间代码时动态评估代码特性,若评估结果满足编译执行的触发条件,则切换为编译执行所述中间代码。
2.根据权利要求1所述的代码执行方法,其特征在于,还包括:在编译执行所述中间代码时动态评估代码特性,若评估结果满足解释执行的触发条件,则切换为解释执行所述中间代码。
3.根据权利要求2所述的代码执行方法,其特征在于,所述解释执行的触发条件包括:所述中间代码出现阻塞操作。
4.根据权利要求1所述的代码执行方法,其特征在于,所述编译执行的触发条件包括:所述中间代码出现调用频度高于频度阈值的代码段。
5.根据权利要求1所述的代码执行方法,其特征在于,适于在浏览器中执行。
6.根据权利要求5所述的代码执行方法,其特征在于,所述浏览器可直接运行的脚本语言包括:JavaScript语言;所述编译执行所述中间代码还包括:在编译所述中间语言为JavaScript语言后,由JavaScript引擎执行。
7.根据权利要求1所述的代码执行方法,其特征在于,所述中间代码为虚拟机器指令代码。
8.一种代码执行装置,其特征在于,包括:代码转换单元、解释执行单元、第一切换单元、编译执行单元;其中:
所述代码转换单元,适于转换源代码为中间代码,所述中间代码同时支持解释执行和编译执行;其中,所述解释执行是通过一个解释器来执行中间代码,所述解释器利用浏览器可直接运行的脚本语言编写,所述编译执行是编译所述中间语言为浏览器可直接运行的脚本语言,所述编译执行不支持阻塞操作;
所述解释执行单元,适于解释执行所述中间代码;
所述第一切换单元,适于在所述解释执行所述中间代码时动态评估代码特性,若评估结果满足编译执行的触发条件,则切换至所述编译执行单元,以编译执行所述中间代码。
9.根据权利要求8所述的代码执行装置,其特征在于,还包括:第二切换单元,适于在编译执行所述中间代码时动态评估代码特性,若评估结果满足解释执行的触发条件,则切换至所述解释执行单元,以解释执行所述中间代码。
10.根据权利要求9所述的代码执行装置,其特征在于,所述解释执行的触发条件包括:所述中间代码出现阻塞操作。
11.根据权利要求8所述的代码执行装置,其特征在于,所述编译执行的触发条件包括:所述中间代码出现调用频度高于频度阈值的代码段。
12.根据权利要求8所述的代码执行装置,其特征在于,所述代码执行装置适于浏览器。
13.根据权利要求12所述的代码执行装置,其特征在于,所述浏览器可直接运行的脚本语言包括:JavaScript语言;所述编译执行单元,还适于在编译所述中间语言为JavaScript语言后,由JavaScript引擎执行。
14.根据权利要求8所述的代码执行装置,其特征在于,所述中间代码为虚拟机器指令代码。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510797067.7A CN106708497B (zh) | 2015-11-18 | 2015-11-18 | 一种代码执行方法及装置 |
US15/049,463 US20170139693A1 (en) | 2015-11-18 | 2016-02-22 | Code execution method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510797067.7A CN106708497B (zh) | 2015-11-18 | 2015-11-18 | 一种代码执行方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106708497A CN106708497A (zh) | 2017-05-24 |
CN106708497B true CN106708497B (zh) | 2020-05-12 |
Family
ID=58691046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510797067.7A Expired - Fee Related CN106708497B (zh) | 2015-11-18 | 2015-11-18 | 一种代码执行方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170139693A1 (zh) |
CN (1) | CN106708497B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3059505B1 (fr) | 2016-11-28 | 2019-04-19 | Wallix | Integration d'une couche protocolaire reseau standard dans un navigateur web par compilation vers webassembly et utilisation d'un websocket. |
US10754948B2 (en) * | 2017-04-18 | 2020-08-25 | Cylance Inc. | Protecting devices from malicious files based on n-gram processing of sequential data |
CN109117277B (zh) * | 2017-06-23 | 2020-11-27 | 上海木鸡网络科技有限公司 | 异步环境中模拟同步阻塞的方法及装置、存储介质、服务器、终端 |
CN107657154B (zh) * | 2017-09-18 | 2018-08-17 | 北京深思数盾科技股份有限公司 | 一种目标程序的保护方法、装置、设备及存储介质 |
CN110018951B (zh) * | 2018-01-10 | 2022-12-27 | 武汉斗鱼网络科技有限公司 | 一种js代码的测试方法、存储介质、设备和系统 |
CN111026402B (zh) * | 2019-12-09 | 2023-05-12 | 贵阳永青仪电科技有限公司 | 一种编译型plc代码执行效率优选方法 |
CN111814202B (zh) * | 2020-08-31 | 2020-12-11 | 支付宝(杭州)信息技术有限公司 | 一种执行智能合约的方法、区块链节点和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8997049B1 (en) * | 2010-05-21 | 2015-03-31 | Cadence Design Systems, Inc. | Method and system for debugging of compiled code using an interpreter |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6275868B1 (en) * | 1997-03-12 | 2001-08-14 | Microsoft Corporation | Script Engine interface for multiple languages |
US7689558B2 (en) * | 2005-09-09 | 2010-03-30 | Sap Ag | Application monitoring using profile points |
US9053228B1 (en) * | 2013-10-22 | 2015-06-09 | The Mathworks, Inc. | Determining when to evaluate program code and provide results in a live evaluation programming environment |
US10210005B2 (en) * | 2014-03-11 | 2019-02-19 | Iex Group, Inc. | Systems and methods for data synchronization and failover management |
-
2015
- 2015-11-18 CN CN201510797067.7A patent/CN106708497B/zh not_active Expired - Fee Related
-
2016
- 2016-02-22 US US15/049,463 patent/US20170139693A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8997049B1 (en) * | 2010-05-21 | 2015-03-31 | Cadence Design Systems, Inc. | Method and system for debugging of compiled code using an interpreter |
Also Published As
Publication number | Publication date |
---|---|
US20170139693A1 (en) | 2017-05-18 |
CN106708497A (zh) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106708497B (zh) | 一种代码执行方法及装置 | |
US10871976B2 (en) | Method and apparatus for identifying hotspot intermediate code in language virtual machine | |
US9792137B2 (en) | Real-time performance apparatus and method for controlling virtual machine scheduling in real-time | |
CN103399729B (zh) | 一种HTML5 Canvas应用处理方法、装置及处理器 | |
US10102373B2 (en) | Method and apparatus for capturing operation in a container-based virtualization system | |
US20180260222A1 (en) | Fault detection in instruction translations | |
JP2000267862A (ja) | 資源の消費を最小限にするハイブリッド式ジャストインタイム・コンパイラ | |
EP3125108A1 (en) | Vector processing using loops of dynamic vector length | |
US10628189B2 (en) | Synchronous operation method performance in context of asynchronous event loop | |
CN106874022B (zh) | 一种热补丁注入方法及装置 | |
US11042378B2 (en) | Propagation instruction to generate a set of predicate flags based on previous and current prediction data | |
CN110955503B (zh) | 任务调度方法及装置 | |
CN107526622B (zh) | Linux的快速异常处理方法及装置 | |
CN106325963B (zh) | 自适应动态编译调度方法及装置 | |
CN108536514B (zh) | 一种热点方法的识别方法和装置 | |
JP6375649B2 (ja) | ソフトウェアプログラムの効率を高める方法及びプロセッサ | |
JP2014191493A (ja) | プログラム実行制御プログラム、プログラム実行制御方法 | |
JP2009009253A (ja) | プログラム実行方法、プログラム、およびプログラム実行システム | |
EP3134815B1 (en) | Memory efficient thread-level speculation | |
KR102147355B1 (ko) | 프로그램 변환 방법 및 장치 | |
JP2011002976A (ja) | プログラム実行制御装置 | |
CN112445520B (zh) | 针对循环内条件转移指令的转移预测优化方法 | |
CN111124624A (zh) | 一种基于TriCore架构处理器的操作系统任务上下文管理方法 | |
US7937565B2 (en) | Method and system for data speculation on multicore systems | |
CN110633137A (zh) | 一种应用程序的安装包启动方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200512 |