最新公告
  • 欢迎您光临IO源码网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 一种基于逃逸分析的对象生命期分析方法 PDF 下载

    一种基于逃逸分析的对象生命期分析方法 PDF 下载

    本站整理下载:
    链接:https://pan.baidu.com/s/1sYx38iDDb2Gg2llW4S4fJw 
    提取码:qp90 
    相关截图:
    主要内容:

    2.3 结点的属性(Properties)
    我们给连接图 CG 中的结点 p 赋予一些基本属性,并通过传播算法在 CG 上计算属性值。
    2.3.1 基本属性
    1) 结点 p 的逃逸状态属性 Escape(p) 
    ∀ p∈N,p 的逃逸状态属性 Escape (p)∈EscState,表示 p 的逃逸状态可能是 Escape (p)。这里 EscState
    为逃逸状态集合,它是一个格:No_Field_Escape≺ Field_Escape≺ Global_Escape。其中,Global_Escape
    表示全局逃逸状态,具有该状态的对象是全局共享对象,可被多个线程访问,其生命期跨越整个程序
    的执行期间;No_Field_Escape 和 Field_Escape 则分别表示两类非全局逃逸状态,具有这两类状态之一
    的对象是只能被一个线程访问的非全局共享的对象,二者区别在于:No_Field_Escape 状态的对象不被
    任何对象的域引用,而 Field_Escape 状态的对象被存入到非全局共享对象的某个非静态域中。我们的
    分析将识别这三类对象,并进一步分析 No_Field_Escape 或 Field_Escape 状态的对象的生命期。
    2) 结点 p 的分配点属性 Sites(p) 
    假设 AS 是程序中所有对象分配点的集合。∀ p∈N,p 的分配点属性 Sites(p) ⊆ AS∪{UNKNOWN},
    表示结点 p 引用的对象可能的分配点集合。UNKNOWN 表示结点对应的对象分配点是未知的,如在过
    程内分析时,Phantom 中的结点所对应的对象分配点是不明确的。
    3) 结点 p 的来源属性 Source(p) 
    ∀ p∈Naa∪Nret,p 的分配点属性 Source(p) ⊆ {s | s∈Nfa∪Ndst},表示结点 p 引用的对象是由哪些结
    点传递过来的。p 结点表示方法内某调用点的实参或方法的返回值,而 Source(p)则表示 p 通过连接图
    上的边可达的形参类结点(Nfa)或返回值接收者类结点(Ndst)的集合。该属性将在过程间的分析算
    法中用于连接图结点属性的局部更新。 
    4) 结点 p 的类型信息属性 Type(p) 
    假设 TYPE 是程序中所有对象类型的集合。∀ p∈N,p 的类型信息属性 Type(p) ∈TYPE,表示结点
    p 引用的对象的类型信息。由于多态的存在,在没有方法调用图的情况下,对方法调用点处实际调用
    方法的确定需要依靠该属性所提供的信息。
    5) 域引用图 RefsMap
    假设 FIELD 是所有对象非静态域的集合。域引用图 RefsMap ⊆ AS×FIELD×AS, 反映的是程序中
    对象之间的域引用关系。三元组<x, fd, y>∈RefsMap 表示分配点 x 处对象的域 fd 引用了分配点 y 处的
    对象。该图用于辅助对 Field_Escape 状态的对象的生命期分析。
    2.3.2 基本属性的扩展
    为了计算上的方便,我们对基本属性 Source 进行扩展,该属性重定义为:
    ∀ p∈N,则有 Source(p) ⊆ {s | s∈Nfa∪Ndst}。
    2.3.3 扩展后属性上的合并操作
    连接图上的传播算法将会对结点扩展后
    的属性进行一些合并操作。
    定义 3 (属性合并操作 combine). 假设连
    接图中存在边<x,y>(或<y,x>),对 x 进行属性
    合并操作 combine(x, y)规则如图 1 所示。
    对于结点 x 而言,combine(x,y)操作是将结
    点 x 中各类属性有选择地进行重新赋值,而结
    点 y 的任何属性值仍保持不变。规则(1-1)表示
    Escape(x)属性在合并之后具有原 Escape(x)和
    Escape(y)二值中的最保守者;规则(1-2)和规则
    , ( ), ( )
    ( ): 
    st EscState st Escape y Escape x st
    Escape x st
    ∈ =
    = ≺ (1-1)
    , ( ), ( ) {UNKNOWN}
    ( ):
    as AS as Sites y Sites x
    Sites x as
    ⊆= =
    = (1-2)
    , ( ), ( ) {UNKNOWN}
    ( ): ( )
    as AS as Sites y Sites x
    Sites x Sites x as
    ⊆= ≠
    = ∪ (1-3)
    ( ): ( ) ( )
    r y N
    Source x Source x Source y
    = ∪ (1-4)
    ( ) is sub-type of ( )
    ( ): ( )
    Type y Type x
    Type x Type y = (1-5)
    图 1 属性合并操作的规则
     

    *** 次数:10600 已用完,请联系开发者***

    1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!384324621@qq.com
    2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
    3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
    4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有★币奖励和额外收入!

    IO 源码网 » 一种基于逃逸分析的对象生命期分析方法 PDF 下载

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    IO源码吧
    一个高级程序员模板开发平台

    发表评论

    • 177会员总数(位)
    • 12338资源总数(个)
    • 55本周发布(个)
    • 8 今日发布(个)
    • 563稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情