-
公开(公告)号:CN111736925B
公开(公告)日:2025-05-16
申请号:CN201910229091.9
申请日:2019-03-25
Applicant: 华为技术有限公司
Abstract: 本申请提供一种引用计数的实现方法和装置。本申请引用计数的实现方法,包括:对源代码进行变量使用定义分析获取所述源代码的中间表达;对所述中间表达进行分析确定需要进行RC的引用变量和对所述引用变量要进行的RC操作,所述RC操作包括计数加一incref操作或计数减一decref操作;对所述RC操作进行消除优化获取优化后的RC操作;在所述中间表达中插入所述优化后的RC操作。本申请既可以减少由引用计数带来的程序执行的额外开销,提高程序的执行效率,也可以缩减代码量,节省存储空间。
-
公开(公告)号:CN108920149A
公开(公告)日:2018-11-30
申请号:CN201710197392.9
申请日:2017-03-29
Applicant: 华为技术有限公司
IPC: G06F8/41
Abstract: 本申请实施例提供了一种编译方法和编译装置,该方法包括:获取待编译的第一动态语言程序;利用静态单一赋值转换处理,对所述第一动态语言程序中的至少一个变量进行类型推导,确定所述至少一个变量中每个变量的类型推导结果;根据所述每个变量的类型推导结果,对所述至少一个变量中能够推导出静态类型的变量进行静态化处理。本申请实施例的编译方法和编译装置,能够在编译阶段对动态语言程序中变量的类型进行推导,从而有利于提高动态语言程序的运行效率。
-
公开(公告)号:CN108920149B
公开(公告)日:2020-12-08
申请号:CN201710197392.9
申请日:2017-03-29
Applicant: 华为技术有限公司
IPC: G06F8/41
Abstract: 本申请实施例提供了一种编译方法和编译装置,该方法包括:获取待编译的第一动态语言程序;利用静态单一赋值转换处理,对所述第一动态语言程序中的至少一个变量进行类型推导,确定所述至少一个变量中每个变量的类型推导结果;根据所述每个变量的类型推导结果,对所述至少一个变量中能够推导出静态类型的变量进行静态化处理。本申请实施例的编译方法和编译装置,能够在编译阶段对动态语言程序中变量的类型进行推导,从而有利于提高动态语言程序的运行效率。
-
公开(公告)号:CN111736925A
公开(公告)日:2020-10-02
申请号:CN201910229091.9
申请日:2019-03-25
Applicant: 华为技术有限公司
Abstract: 本申请提供一种引用计数的实现方法和装置。本申请引用计数的实现方法,包括:对源代码进行变量使用定义分析获取所述源代码的中间表达;对所述中间表达进行分析确定需要进行RC的引用变量和对所述引用变量要进行的RC操作,所述RC操作包括计数加一incref操作或计数减一decref操作;对所述RC操作进行消除优化获取优化后的RC操作;在所述中间表达中插入所述优化后的RC操作。本申请既可以减少由引用计数带来的程序执行的额外开销,提高程序的执行效率,也可以缩减代码量,节省存储空间。
-
-
-