预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共26页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113900660A(43)申请公布日2022.01.07(21)申请号202111185877.9(22)申请日2021.10.12(71)申请人北京达佳互联信息技术有限公司地址100085北京市海淀区上地西路6号1幢1层101D1-7(72)发明人刘思(74)专利代理机构广州三环专利商标代理有限公司44202代理人郝传鑫贾允(51)Int.Cl.G06F8/41(2018.01)G06F9/448(2018.01)权利要求书2页说明书17页附图6页(54)发明名称操作信息生成方法、装置、电子设备及存储介质(57)摘要本公开关于一种操作信息生成方法、装置、电子设备及存储介质,该方法包括:获取源程序以及源程序中存在赋值关系的多个目标栈指针变量;获取多个目标栈指针变量的属性信息;在多个目标栈指针变量的属性信息为借用属性的情况下,拒绝生成引用计数操作信息;借用属性用于指示在多个目标栈指针变量相互赋值过程中,拒绝更新多个目标栈指针变量所引用的堆对象的引用计数。采用本公开的技术方案在存在赋值关系的多个目标栈指针变量的属性信息为借用属性的情况下,拒绝生成引用计数操作信息,从而可以在源程序编译过程中避免不必要的自动引用计数操作,避免引用计数频繁更新,对由源程序编译得到的目标程序运行时的整体性能造成影响。CN113900660ACN113900660A权利要求书1/2页1.一种操作信息生成方法,其特征在于,包括:获取源程序以及所述源程序中存在赋值关系的多个目标栈指针变量;获取所述多个目标栈指针变量的属性信息;在所述多个目标栈指针变量的属性信息为借用属性的情况下,拒绝生成引用计数操作信息;所述借用属性用于指示在所述多个目标栈指针变量相互赋值过程中,拒绝更新所述多个目标栈指针变量所引用的堆对象的引用计数。2.根据权利要求1所述的操作信息生成方法,其特征在于,所述方法还包括:在所述多个目标栈指针变量的属性信息为普通属性的情况下,生成所述引用计数操作信息;所述普通属性用于指示在所述赋值过程中,更新所述引用计数。3.根据权利要求2所述的操作信息生成方法,其特征在于,所述方法还包括标注所述普通属性和所述借用属性,所述标注所述普通属性和所述借用属性包括:获取所述源程序中的待处理函数,所述待处理函数包括多个指针变量;根据所述多个指针变量,以及所述多个指针变量之间的赋值关系,构建所述待处理函数对应的第一有向图;所述第一有向图的顶点表征所述指针变量,所述第一有向图的边表征任意两个指针变量之间的赋值关系;标注所述多个指针变量中的栈指针变量的属性信息为所述普通属性;根据所述多个指针变量中的栈指针变量所对应的顶点,在所述第一有向图中的位置,以及所述栈指针变量的作用域,从所述栈指针变量中确定出候选栈指针变量,所述候选栈指针变量包括所述多个目标栈指针变量;将所述候选栈指针变量的属性信息由所述普通属性更新为所述借用属性。4.根据权利要求3所述的操作信息生成方法,其特征在于,所述根据所述多个指针变量,以及所述多个指针变量之间的赋值关系,构建所述待处理函数对应的第一有向图,包括:生成每个指针变量对应的顶点;根据任意两个指针变量之间的赋值关系,确定所述任意两个指针变量中的赋值变量和被赋值变量,所述被赋值变量用于接受所述赋值变量所赋予的值;创建由所述被赋值变量对应的顶点指向所述赋值变量对应的顶点的有向边;根据所述顶点和所述有向边,生成所述第一有向图。5.根据权利要求3所述的操作信息生成方法,其特征在于,所述顶点存储所述顶点所表征的指针变量的变量类型和作用域等级,所述根据所述多个指针变量中的栈指针变量所对应的顶点,在所述第一有向图中的位置,以及所述栈指针变量的作用域,从所述栈指针变量中确定出候选栈指针变量,包括:根据所述多个指针变量各自对应的顶点所存储的变量类型,从多个指针变量中获取变量类型为栈上指针类型的预设数量个栈指针变量;依次遍历每一栈指针变量,并在遍历每一栈指针变量时,执行以下操作;在所述第一有向图中的第一路径上不存在第一目标顶点,且所述第一有向图中不存在第二路径的情况下,确定每一栈指针变量为所述候选栈指针变量;其中,所述第一路径为所述第一有向图中,从每一栈指针变量对应的顶点出发所能够到达的路径,所述第二路径为所述第一有向图中,从第二目标顶点出发到达每一指针变量2CN113900660A权利要求书2/2页对应的顶点的路径,所述第一目标顶点表征作用域等级小于每一栈指针变量的作用域等级的指针变量所对应的顶点,所述第二目标顶点表征作用域等级大于每一指针变量的作用域等级的指针变量所对应的顶点。6.根据权利要求3至5中任一所述的操作信息生成方法,其特征在于,所述待处理函数的数量为多个,所述方法还包括:基于多