CN114518884B 修复弱内存序问题的方法及装置 (华为技术有限公司)_第1页
CN114518884B 修复弱内存序问题的方法及装置 (华为技术有限公司)_第2页
CN114518884B 修复弱内存序问题的方法及装置 (华为技术有限公司)_第3页
CN114518884B 修复弱内存序问题的方法及装置 (华为技术有限公司)_第4页
CN114518884B 修复弱内存序问题的方法及装置 (华为技术有限公司)_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TransactionalCodeGeneratVariableAnnotationandBarrierElision.DistributedProcessingSTransactionalCodeGeneratVariableAnnotationandBarrierElision.DistributedProcessingS本申请公开了一种修复弱内存序问题的方指令集包括待修复代码中的读指令和/或写指2在待修复代码中确定读写指令集,所述读写指令集包括所述待在所述读写指令集中确定第一类指令,所述第一类指令中的基于优化策略,在所述目标指令集中确定所述目标指令;所在所述目标指令的前一条读写指令和所述目标指令之间2.根据权利要求1所述的方法,其特征在于,所述优化策略包括以下策略中的至少一第二策略、将所述目标指令集中具有上下文依赖关系的第四策略、将所述目标指令集中除与输入输出参数有关的读写指令之外的读写指令,4.根据权利要求1-3中任一项所述的方法,其特征在于,在所述确定所述目标指令之所述待修复代码是多线程程序的源代码经编译器编译得到的汇确定单元,用于在待修复代码中确定读写指令集,所述所述确定单元,具体用于在所述读写指令集中确定第一类指令,所3插入单元,用于在所述目标指令的前一条读写指令和所9.根据权利要求8所述的装置,其特征在于,所述优化策略包括以下策略中的至少一第二策略、将所述目标指令集中具有上下文依赖关系的第四策略、将所述目标指令集中除与输入输出参数有关的读写指令之外的读写指令,所述待修复代码是多线程程序的源代码经编译器编译得到的汇4[0002]当基于非弱内存模型开发的多线程程序,在采用弱内存模型(weakmemory56程序的源代码编译同步执行,从而实现了自动的对该多线程程序的弱内存序问题的修复,对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块个功能模块执行的可能的技术方案和有益效果的描述均可以参考上述第一方面或其相应[0039]图4a为本申请实施例提供的一种修复装置基于图形交互界面获取用户从待选优7121输出的汇编代码进行汇编编译,以得到目标代码。该目标代码即为机器可以识别的代8征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,或其分组。系,即写指令1将寄存器1的值0写入内存后,读指令2才可以将内存中的值0读取到寄存器9标指令前插入内存屏障指令,从而实现自动的对该待修复代码进行弱内存序问题的修复,[0076]处理器21是计算设备20的控制中心,可以是一个通用中央处理单元(central[0078]存储器22可以是只读存储器(read-onlymemory,ROM)或可存储静态信息和指令息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,EEPROM)、磁盘存储介质或者其他磁存储设[0084]总线25,可以是工业标准体系结构(IndustryStandardArchitecture,ISA)总[0106]修复装置可以基于上述确定出的读写指令集,在该读写指令集中确定第一类指[0121]当然,上述的优化策略还可以包括用户基于自身的需求[0127]如图4a中的(b)所示,当用户通过控制鼠标(或者键盘)选中选项“自定义优化策[0138]函数白名单,通常包括待修复代码中,除上述热点函数和/或安全函数之外的函[0140]当上述的函数黑名单和/或函数白名单是用户预先配置的,则用户可以通过计算数黑名单和/或函数白名单的过程,可以参考修复装置获取用户自定义优化策略的过程的装置可以确定该读写指令是对浮点寄存器进行操述的S102-S103可以用下述步骤S20将读写指令按照优化策略划分为需要插入内存屏障指令的读写指令和不需要插入内存屏[0173]为了更容易的理解对本申请实施例所提供的方法,下面以在GNU编译器套件(GNU(assembling)以及链接(linking)。本申请实施例提供的修复弱内存序问题的方法可以应问题的方法(例如图3或图4b所示的修复弱内存序问题的方法)即可在这一阶段中执行。具final_start_functio接口需要对原本的获取insn语句长度的过程(如get_attr_length)[0184]另外,本申请实施例中以函数为单位来识别并修复待修复代码中的弱内存序问[0201]可选的,上述待修复代码是多线程程序的源代码经编译上述提供的任一种修复装置50的解释以及有益效果的描述均可参考上述对应的方法实施53和接收单元55可以通过图2中的输入则该一个处理器可以是图6中实线框所示的处理器61(或者是虚线框所示的处理器61),该一个接口电路可以是图6中实线框所示的接口电路62(或者是虚线框所示的接口电路62)。当该芯片系统60包括两个处理器和两个接口电路时,则该两个处理器包括图6中实线框所示的处理器61和虚线框所示的处理器61,该两个接口电路包括图6中实线框所示的接口电存储介质上的或者被编码在其它非瞬时性介质或者制品上的[0208]图7示意性地示出本申请实施例提供的计算机程序产品的概念性局部视图,该计算机程序产品包括用于在计算设备上执行计算机进点、计算机、服务器或者数据中心通过有线(例如同轴电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论