CN101488096B - 利用出入边关系的剖分信息构建超级块的方法 - Google Patents

利用出入边关系的剖分信息构建超级块的方法 Download PDF

Info

Publication number
CN101488096B
CN101488096B CN2009100463568A CN200910046356A CN101488096B CN 101488096 B CN101488096 B CN 101488096B CN 2009100463568 A CN2009100463568 A CN 2009100463568A CN 200910046356 A CN200910046356 A CN 200910046356A CN 101488096 B CN101488096 B CN 101488096B
Authority
CN
China
Prior art keywords
fundamental block
limit
subdivision information
block
superblock
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
Application number
CN2009100463568A
Other languages
English (en)
Other versions
CN101488096A (zh
Inventor
管海兵
梁阿磊
顾静辉
徐超
郑举育
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN2009100463568A priority Critical patent/CN101488096B/zh
Publication of CN101488096A publication Critical patent/CN101488096A/zh
Application granted granted Critical
Publication of CN101488096B publication Critical patent/CN101488096B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

本发明涉及一种利用出入边关系的剖分信息构建超级块的方法。在动态二进制翻译器中,采用动态记录每个基本块执行次数、基本块中出边与入边的对应关系,以及对应某条入边的各条出边的执行次数的方式,获取丰富的剖分信息,并以上述剖分信息为基础构建超级块,以优化程序性能。本发明获得的剖分信息更详尽准确,能真实反映一个基本块在整个源程序中的执行情况,降低了获得剖分信息过程所必须付出的执行性能损失,为后续的超级块构建过程提供了准确丰富的信息,使优化效果明显;机制灵活多变,可选择性的为动态构建和静态构建提供不同程度的信息,获得不同强度的优化效果。

Description

利用出入边关系的剖分信息构建超级块的方法
技术领域
本发明涉及一种利用出入边关系的剖分信息构建超级块的方法,具体涉及一种利用在动态二进制翻译器中产生的基于基本块出边与入边之间关系的剖分信息构建超级块,优化程序性能的方法,属于二进制翻译技术领域。
背景技术
动态二进制翻译是虚拟执行技术中应用最为广泛的方法,是为遗留代码提供移植可能性和提高软件的平台适应性的一种有效手段,它在不需要可执行程序的源代码的情况下,可以动态地将源机器平台上的二进制程序经过转换,运行于其他目标机器平台上。对于动态二进制翻译器自身而言,执行性能是一个非常重要的衡量指标。所谓执行性能是指,以源程序在原架构下运行的效率为参照,其在动态二进制翻译器提供的运行环境下的效率损失度越低,翻译器的执行性能越好。
为提高翻译器的执行性能,动态二进制翻译领域采用了很多原本在编译技术中被使用的代码优化策略和方法,同时又发展出了一些动态二进制翻译领域独特的代码优化技术。其中,被广泛采用的有,构建超级块,链接技术等。值得注意的是,大多数代码优化技术都是以获得源程序的剖分信息为基础,通过分析这些信息再对代码进行不同的优化。因此,如何获得源程序的剖分信息以及应该获得哪些信息,对后续的代码优化策略的效果起着至关重要的影响。
就一般而言,在动态二进制翻译领域,对源程序的翻译、执行或优化等操作都是以源程序的基本块为单位。所谓基本块是指仅有单入口点和单出口点的一组指令序列,基本块的入口点仅存在于此基本块的开始,基本块的出口点仅存在于此基本块的末尾,程序的执行流从此基本块的入口点进入并执行块内指令,之后从出口点离开。动态二进制翻译领域的剖分信息也是以基本块为单位进行获取,主要是指源程序在运行时产生的动态信息,包括基本块的执行次数、基本块之间的关系等。所谓构建超级块是指根据已获取的剖分信息,从现有的基本块中挑选若干块组成基本块序列,并按某种方式对这一序列重新组织,提高程序执行性能的优化方法。
目前,剖分信息主要有三种类型:
1、基于单个基本块的剖分信息,即指以单个基本块为单位,获取其动态执行的次数和其本身的一些属性。这一类型的剖分信息实现简单,执行性能损失较小,能体现单个基本块在动态环境中的某些情况。但是,它的缺点也显而易见,信息量比较小,基本块之间相对独立,无法反映源程序的总体动态情况,不能为后续的优化策略提供足够和准确的信息。
2、基于边的剖分信息,即指以某个基本块与随后的基本块之间的边为单位,获取此边的执行次数和属性等信息。此类剖分信息相对与基于单个基本块的剖分信息,信息更为丰富和准确,能够基本确定当前基本块和后一基本块的关系,为后续的优化策略提供了额外的信息。但是,就某些特定的优化策略而言(比如,构建较优的超级块),其信息量也显得不足,因为此类剖分信息只能反映两个基本块之间的关系,并不能提供更丰富的源程序的动态影像。
3、基于路径的剖分信息,是指根据源程序的控制流结构,以单条执行流路径为单位,多个基本块作为单条路径上的端点,记录单条路径的执行次数和某些属性。这一类型的剖分信息所提供的信息最为丰富,能准确反映出源程序的动态执行情况。然则,基于路径的剖分信息实现难度颇大,执行性能损失严重,在动态二进制翻译领域基本不被采用。
从上述的三种剖分信息可以看出,每种类型都有其固有的优缺点,三者的信息丰富程度呈递增趋势,同时,执行性能损失度和实现复杂度也随之增加。对于前两种剖分信息,它们的实现较简单,但是提供的信息十分有限,无法作为构建较优超级块的基础。最后一种剖分信息虽然能提供大量的动态信息,其执行性能损失将无法接受,或者说,在动态二进制翻译领域,按照此种剖分信息构建超级块得来的执行性能提高还不足以弥补为获取这些信息所付出的执行性能损失。
因此需要发明一种新型的用于动态二进制翻译的剖分信息产生方法,用以描绘出具体的源程序动态影像,并实现基于这种新的剖分信息构建超级块的方法,以期能得到更大的执行性能提高。这一新的剖分信息应能满足以下两条要求:①与前两种剖分信息相比,信息更丰富,为后续更优的超级块构建策略提供前提;②与最后一种剖分信息相比,实现形式大大简单化,执行性能损失度降低。
发明内容
本发明的目的在于针对现有技术的不足和动态二进制翻译器的特点,提供一种利用出入边关系的剖分信息构建超级块的方法,以期能提高源程序在动态二进制翻译器中的执行性能。
为实现上述目的,本发明结合目前存在的剖分信息产生方法的优点,摒弃了它们固有的缺点,重新设计了一种基于基本块的出边与入边关系的剖分信息,并实现了基于这些信息构建超级块的方法。本发明依托于动态二进制翻译领域广泛使用的链接技术,采用动态记录每个基本块执行次数、基本块中出边与入边的对应关系,以及对应某条入边的各条出边的执行次数的方式,获取丰富的剖分信息,并以上述剖分信息为基础,实现了构建超级块的方法。
构建超级块可在两种情况下进行:一种情况是在源程序动态执行时,在收集剖分信息的同时构建超级块,称之为动态构建;另一种情况是单独执行一遍源程序,专门收集其剖分信息,并将剖分信息和源程序翻译后的基本块保存下来,在静态环境下根据剖分信息构建超级块,称之为静态构建。本发明只需做较少修改,即可在这两种情况下分别使用。
本发明的利用出入边关系的剖分信息构建超级块的方法的具体步骤如下:
1)出入边关系的剖分信息架构
在动态二进制翻译领域,所谓基本块的边,是指执行流从一个基本块的出口点离开,由另一个基本块的入口点进入,继续执行操作的形式表示。所谓基本块的出边,是指就当前基本块而言,执行流从当前基本块的出口点离开,进入下个基本块的边。所谓基本块的入边,是指就当前基本块而言,执行流离开上个基本块,由当前基本块的入口点进入的边。所谓出入边关系的剖分信息,是指执行流通过当前基本块时,所经过的当前基本块入边和出边的对应关系,以及这一过程的执行次数。剖分信息数据结构设计为以入边为第一索引,出边为第二索引的双重单向链表。
2)出入边关系的剖分信息的获取
i、实现一个剖分信息记录函数或独立线程,功能是对当前基本块的出入边关系和这一过程的发生次数进行记录,并保存在当前块的剖分信息数据结构中。
ii、在动态二进制翻译器翻译某个基本块时,在基本块的开头插入指令,使此块在每次执行前,都对一个记录此块的执行次数的统计变量加一。
iii、在翻译器执行当前基本块时,根据动态二进制翻译领域的链接技术,为上一基本块做链接时,在上一基本块的链接项中添加指令,促使此链接项在之后命中后,都会调用剖分信息记录函数或激活剖分信息记录线程,为上一基本块记录出入边关系的剖分信息。
iv、在当前基本块第一次被执行后,执行流将回到翻译器,翻译器调用剖分信息记录函数或激活剖分信息记录线程,初始化当前块的剖分信息数据结构。
3)设定构建超级块的条件:①开始块的执行次数需高于事先设定的开始块执行次数下限;②各个超级块之间不能有重复的基本块存在;③每个基本块从当前入边进入,并从相应出边离开的执行次数不能低于事先设定的构建边执行次数下限;④构建的超级块块序列所能包含的基本块个数不能超过某一上限。
4)在采用动态构建时,某基本块一旦满足条件①②,则将此基本块作为开始块;在采用静态构建时,根据每个基本块的执行次数,将基本块按降序排列,从排序完的第一个基本块开始,逐个进行判断是否满足条件①②,将满足条件的基本块作为开始块。
5)将开始块记录为块序列首个元素,从开始块的剖分信息中统计出每个出边的执行次数,选择次数最多者作为构建边。
6)检查构建边是否满足条件③,如满足,将构建边所指向的基本块作为当前块,并将构建边作为当前块的选定入边;如不满足,停止此超级块构建过程,跳至步骤8)。
7)检查当前块是否满足条件②以及块序列是否满足条件④,如满足,将当前块添加至块序列末尾,根据当前块的选定入边,查找当前块的剖分信息,在选定入边对应的出边中选定执行次数最多的出边,作为继续构建超级块的构建边,返回步骤6)。
8)在采用动态构建时,根据所得的块序列,完成重新组织和优化过程,并返回步骤4)继续构建下个超级块的块序列;在采用静态优化时,将块序列保存,返回步骤4)继续构建下个超级块的块序列,等遍历完所有块后,再根据获取的所有块序列,完成重新组织和优化过程。
本发明的利用出入边关系的剖分信息构建超级块的方法具有实质性进步和显著的优点:
①与基于单个基本块的剖分信息、基于边的剖分信息相比较,基于出入边关系的剖分信息获得的信息更详尽准确,能真实反映一个基本块在整个源程序中的执行情况,为后续的超级块构建过程提供了足够的信息;
②与基于路径的剖分信息想比较,基于出入边关系的剖分信息大大简化了实现难度,降低了获得剖分信息过程所必须付出的执行性能损失;
③为后续的超级块构建过程提供了准确丰富的信息,使优化效果明显;
④机制灵活多变,可选择性的为动态构建和静态构建提供不同程度的信息和不同强度的优化效果。
附图说明
图1为本发明采用的出入边关系的剖分信息的数据结构图。
具体实施方式
为更好地理解本发明的技术方案,以下结合附图并通过具体的实施例作进一步描述。以下实施例不构成对本发明的限定。
CrossBit是一个动态二进制翻译系统,它可以为执行在多种不同体系结构的源程序,通过翻译和优化的方法,提供异构架构下的执行环境。在目前阶段的Crossbit中,实现了链接技术,并搭建了一个动静结合的优化执行框架。其中,动静结合的优化执行框架是首先在Crossbit上执行一遍源程序,之后将翻译后的代码块和捕获到的剖分信息保存下来,在静态根据剖分信息对代码块进行优化,产生优化后代码和预测信息,在下次Crossbit执行此源程序时,加载优化过的代码和预测信息,提高源程序的执行性能。为简化实现,本实施例依托于Crossbit的动静结合的优化执行框架实现,同时依附于链接技术中的链接项进行剖分信息的产生,并静态构建超级块。
1)出入边关系的剖分信息架构
在动态二进制翻译领域,所谓基本块的边,是指执行流从一个基本块的出口点离开,由另一个基本块的入口点进入,继续执行操作的形式表示。所谓基本块的出边,是指就当前基本块而言,执行流从当前基本块的出口点离开,进入下个基本块的边。所谓基本块的入边,是指就当前基本块而言,执行流离开上个基本块,由当前基本块的入口点进入的边。所谓出入边关系的剖分信息,是指执行流通过当前基本块时,所经过的当前基本块入边和出边的对应关系,以及这一过程的执行次数。剖分信息数据结构设计为以入边为第一索引,出边为第二索引的双重单向链表。
2)出入边关系的剖分信息的获取和保存
i、采用双重单向链表结构,设计出入边关系的剖分信息数据结构,如图1。其中,入边信息框中每一项标识了每条入边的信息:第一个元素(Pre_SPC)标识了此入边的来源,即用执行流中上一基本块的源程序入口地址(SPC,基本块的唯一标识)标识此入边;第二个元素(Next_pre)是将本基本块的各个入边链接起来的指针;第三个元素(Post_chain)是指向此入边对应的各个出边的链表的头指针。而出边信息框中,表示了针对一条入边,其已经经过的出边的链表,其中每一项标识了一条出边的信息:第一个元素(Post_SPC)标识了此出边的去向,即用执行流中下一基本块的源程序入口地址(SPC)标识此出边;第二个元素(Next_post)是将本入边的各个出边链接起来的指针;第三个元素(Times)是记录这一入边出边组合执行的次数。
ii、为简化实现,本实例设计了一个剖分信息记录函数,功能是对当前基本块的入边出边组合进行初始化并记录其执行次数,函数命名为collectInfo。
iii、为每个基本块维护一个变量,用以记录每个基本块的执行次数,称之为run_count。在Crossbit翻译某个基本块时,在基本块的开头插入加一指令,使此块在每次执行时,都对一个自身的run_count变量加一。
iv、在翻译器执行当前基本块时,根据动态二进制翻译领域的链接技术,为上一基本块做链接时,在上一基本块的链接项中添加指令,促使此链接项在之后命中后,都会调用collectInfo函数,为上一基本块记录出入边关系的剖分信息。添加的指令包括:①push指令,将此次出边的SPC作为参数传递;②call指令,调用collectInfo函数;③add指令,将调用返回后的栈指针调回原样,保持调用前后的栈指针一致性。
v、在collectInfo函数被调用后,根据Crossbit提供的全局变量pre_block(保存了本次调用collectInfo的基本块的上一块的SPC)确定此次调用的入边的SPC,然后根据参数传递所得的出边的SPC,构建入边出边对。通过此入边出边对查找现存的剖分信息链表,如果未找到,则初始化此入边出边对,否则将其的times加一。
vi、在当前基本块第一次被执行后,执行流将回到Crossbit,Crossbit将甄别返回的原因。如果是因为要处理系统调用返回Crossbit,则将全局变量pre_block置空,开始处理系统调用。否则,Crossbit调用collectInfo函数,初始化当前块的入边出边对的剖分信息,之后将全局变量pre_block置为当前块。
vii、当源程序执行完成,Crossbit将根据动静结合的优化执行框架的实现将剖分信息和翻译后基本块保存为文件,在进入静态优化阶段时加载使用。
3)设置构建超级块的条件:①超级块开始块的执行次数需高于1000次;②各个超级块之间不能有重复的基本块存在;③每个基本块从当前入边进入并从相应出边离开的执行次数,即times值大于200次;④超级块所能包含的基本块个数不能超过100个。
4)根据每个基本块的run_count值,将基本块按降序排列,从排序完的第一个基本块开始,逐个进行判断是否满足条件①②,将满足条件的基本块作为开始块,进行超级块构建过程。
5)将开始块记录为块序列首个元素,开始块的剖分信息中的所有times按不同的Post_SPC值进行统计,选择次数最多的Post_SPC作为构建边。
6)检查构建边是否满足条件③,即选定的Post_SPC项的times值是否大于200,如满足,将构建边所指向的基本块作为当前块,并将构建边作为当前块的选定入边;如不满足,停止此超级块构建过程,跳至步骤8)。
7)检查当前块是否满足条件②,即检测当前块状态是否是非OP_Superblock(OP_Superblock表示当前块已包含在某个超级块中,非OP_Superblock表示当前块可以作为此次构建超级块的候选块,由此避免同一个基本块被多个超级块包含),同时检查块序列是否满足条件④,即检查当前块序列中的基本块数量是否小于100个,如都满足,将当前块添加至块序列末尾,修改当前块状态为OP_Superblock,根据当前块的选定入边查找当前块的剖分信息,在选定入边对应的出边中选定执行次数最多的出边,作为继续构建超级块的构建边,跳至步骤6);
8)将块序列保存,返回步骤4)继续构建下个超级块的块序列,等遍历完所有块后,再根据获取的所有块序列,完成重新组织和优化过程。

Claims (1)

1.一种利用出入边关系的剖分信息构建超级块的方法,其特征在于包括如下步骤:
1)定义基本块的边为执行流从一个基本块的出口点离开,由另一个基本块的入口点进入,继续执行操作的形式表示;基本块的出边为就当前基本块而言,执行流从当前基本块的出口点离开,进入下个基本块的边;基本块的入边为就当前基本块而言,执行流离开上个基本块,由当前基本块的入口点进入的边;出入边关系的剖分信息为执行流通过当前基本块时,所经过的当前基本块入边和出边的对应关系,以及这一过程的执行次数;剖分信息数据结构设计为以入边为第一索引,出边为第二索引的双重单向链表;
2)实现一个剖分信息记录函数或独立线程,对当前基本块的出入边关系和这一过程的发生次数进行记录,并保存在当前基本块的剖分信息数据结构中;在动态二进制翻译器翻译某个基本块时,在基本块的开头插入指令,使此块在每次执行前,对一个记录此块的执行次数的统计变量加一;在翻译器执行当前基本块时,根据动态二进制翻译领域的链接技术,为上一基本块做链接时,在上一基本块的链接项中添加指令,使此链接项在之后命中后,调用剖分信息记录函数或激活剖分信息记录线程,为上一基本块记录出入边关系的剖分信息;在当前基本块第一次被执行后,执行流回到翻译器,翻译器调用剖分信息记录函数或激活剖分信息记录线程,初始化当前基本块的剖分信息数据结构;
3)设定构建超级块的条件:①开始块的执行次数需高于事先设定的开始块执行次数下限,②各个超级块之间不能有重复的基本块存在,③每个基本块从当前入边进入并从相应出边离开的执行次数不能低于事先设定的构建边执行次数下限,④构建的超级块块序列所能包含的基本块个数不能超过某一上限;
4)在采用动态构建时,某基本块一旦满足条件①②,则将此基本块作为开始块,在采用静态构建时,根据每个基本块的执行次数,将基本块按降序排列,从排序完的第一个基本块开始,逐个进行判断是否满足条件①②,将满足条件的基本块作为开始块;
5)将开始块记录为块序列首个元素,从开始块的剖分信息中统计出每个出边的执行次数,选择次数最多者作为构建边;
6)检查构建边是否满足条件③,如满足,将构建边所指向的基本块作为当前基本块,并将构建边作为当前基本块的选定入边;如不满足,停止此超级块构建过程,跳至步骤8);
7)检查当前基本块是否满足条件②以及块序列是否满足条件④,如满足,将当前基本块添加至块序列末尾,根据当前基本块的选定入边查找当前基本块的剖分信息,在选定入边对应的出边中选定执行次数最多的出边,作为继续构建超级块的构建边,返回步骤6);
8)在采用动态构建时,根据所得的块序列,完成重新组织和优化过程,并返回步骤4)继续构建下个超级块的块序列;在采用静态优化时,将块序列保存,返回步骤4)继续构建下个超级块的块序列,等遍历完所有块后,再根据获取的所有块序列,完成重新组织和优化过程。
CN2009100463568A 2009-02-19 2009-02-19 利用出入边关系的剖分信息构建超级块的方法 Expired - Fee Related CN101488096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100463568A CN101488096B (zh) 2009-02-19 2009-02-19 利用出入边关系的剖分信息构建超级块的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100463568A CN101488096B (zh) 2009-02-19 2009-02-19 利用出入边关系的剖分信息构建超级块的方法

Publications (2)

Publication Number Publication Date
CN101488096A CN101488096A (zh) 2009-07-22
CN101488096B true CN101488096B (zh) 2011-03-30

Family

ID=40890999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100463568A Expired - Fee Related CN101488096B (zh) 2009-02-19 2009-02-19 利用出入边关系的剖分信息构建超级块的方法

Country Status (1)

Country Link
CN (1) CN101488096B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103207772B (zh) * 2013-04-07 2016-01-13 北京航空航天大学 一种优化实时任务wcet的指令预取内容选取方法
CN103838571B (zh) * 2013-12-03 2017-04-19 华为技术有限公司 一种信息处理方法及装置
CN111625279A (zh) * 2020-04-27 2020-09-04 中国人民解放军战略支援部队信息工程大学 基于动态链接库的动静融合二进制翻译方法及系统
CN114995832B (zh) * 2022-06-28 2023-03-21 湖南卡姆派乐信息科技有限公司 一种动静结合的二进制程序翻译方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1746849A (zh) * 2004-09-10 2006-03-15 中国科学院计算技术研究所 一种动态二进制翻译中的翻译方法
CN1755631A (zh) * 2004-09-30 2006-04-05 中国科学院计算技术研究所 二进制翻译中的库函数调用处理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1746849A (zh) * 2004-09-10 2006-03-15 中国科学院计算技术研究所 一种动态二进制翻译中的翻译方法
CN1755631A (zh) * 2004-09-30 2006-04-05 中国科学院计算技术研究所 二进制翻译中的库函数调用处理方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
包云程 等.动态二进制翻译基础平台CrossBit的设计与实现.《计算机工程》.2007,第33卷(第23期),100-101,134.
包云程等.动态二进制翻译基础平台CrossBit的设计与实现.《计算机工程》.2007,第33卷(第23期),100-101,134. *
李骏 等.动态二进制翻译中基本块重叠冗余的优化.《计算机工程》.2007,第33卷(第22期),60-62.
李骏等.动态二进制翻译中基本块重叠冗余的优化.《计算机工程》.2007,第33卷(第22期),60-62. *

Also Published As

Publication number Publication date
CN101488096A (zh) 2009-07-22

Similar Documents

Publication Publication Date Title
CN101488096B (zh) 利用出入边关系的剖分信息构建超级块的方法
CN102566974A (zh) 基于同时多线程的取指控制方法
CN101246448A (zh) 一种自动化脚本实现方法
CN101299194A (zh) 基于可配置处理器的异构多核系统线程级动态调度方法
CN102521123B (zh) 一种基于逻辑执行块的嵌入式软件测试插桩方法
CN102819492A (zh) 一种基于Android的关键字驱动自动化测试框架
CN101706751A (zh) 软件业务功能覆盖率的统计方法及系统
CN109189469A (zh) 基于反射的安卓应用微服务化方法及系统
CN109189374A (zh) 基于对象引用链的对象构造代码生成方法及系统
CN101901161A (zh) 一种面向能耗相关软/硬件划分的层次化控制数据流图建模方法
CN103116493A (zh) 一种应用于粗粒度可重构阵列的自动映射方法
CN101860752A (zh) 一种针对嵌入式多核系统的视频编码流水化并行方法
CN110058882A (zh) 一种用于cnn加速的opu指令集定义方法
CN104750606A (zh) 一种基于反射的自动化测试方法
US20090019431A1 (en) Optimised compilation method during conditional branching
CN101351801B (zh) 再构成语句的方法以及具有该功能的计算机系统
CN110489242A (zh) 分布式数据计算方法、装置、终端设备及存储介质
CN101551748B (zh) 一种优化的编译方法
CN112527393A (zh) 面向主从融合架构处理器的指令调度优化装置和方法
CN103760965B (zh) 一种能量受限嵌入式系统的算法源程序节能优化方法
CN112559032B (zh) 基于循环段的众核程序重构方法
CN109885493A (zh) 一种基于Android平台和Java反射的自动化混合框架
CN109901840A (zh) 一种线程间冗余删除的异构编译优化方法
CN101539867A (zh) 动态二进制翻译系统中可重定向的寄存器分配方法
CN102637149A (zh) 一种处理器及其运行方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110330

Termination date: 20180219

CF01 Termination of patent right due to non-payment of annual fee