跳到主要内容
10.5555/647476.727631指导程序文章/章节视图摘要出版物页面会议记录acm-pubtype公司
第条

基于对象程序的快速转义分析和堆栈分配

出版:2000年3月25日出版历史

摘要

提出了一种快速、可扩展的过程间逃逸分析算法。该分析计算所创建对象的子集的描述,这些对象的生存期受运行时堆栈帧的生存期限制。分析结果可以用于许多目的,包括对象的堆栈分配、线程同步消除、死存储消除、代码移动和迭代器减少。还提出了一种使用分析结果转换程序以在运行时堆栈上分配一些对象的方法。对于非平凡的程序,在转换后,通常会将所有分配对象的10%-20%放置在运行时堆栈中。

参考文献

  1. 杰弗里·巴思(Jeffrey M.Barth)。将垃圾收集开销转移到编译时。ACM通信,20(7):513-5181977年7月。谷歌学者谷歌学者
  2. 杰夫·博格达(Jeff Bogda)和乌尔斯·霍尔兹勒(Urs Hölzle)。删除Java中不必要的同步。1999年ACM SIGPLAN面向对象编程、系统、语言和应用会议记录(OOPSLA’99),第35-46页。ACM出版社,1999年10月。谷歌学者谷歌学者
  3. 布鲁诺·布兰切特。面向对象语言的转义分析:Java应用。1999年ACM SIGPLAN面向对象编程、系统、语言和应用会议记录(OOPSLA’99),第20-34页。ACM出版社,1999年10月。谷歌学者谷歌学者
  4. 布鲁诺·布兰切特。逃逸分析:正确性证明、实现和实验结果。POPL'98会议记录:第25届ACM SIGPLAN-SIGACT程序设计语言原理研讨会,第25-37页,加州圣地亚哥,1998年1月。谷歌学者谷歌学者
  5. E.Barendsen和S.Smetsers。图形重写系统中的常规类型和唯一类型。编辑Rudrapatna K.Shyamasundar,软件技术与理论计算机科学基础论文集,第761卷,共页LNCS公司,第41-51页,印度孟买,1993年12月。斯普林格·弗拉格。谷歌学者谷歌学者
  6. 大卫·F·培根和彼得·F·斯威尼。C++虚拟函数调用的快速静态分析。面向对象编程系统、语言和应用会议记录,第31卷,第10卷,共ACM SIGPLAN通知,第324-341页,纽约,1996年10月6日至10日。ACM出版社。谷歌学者谷歌学者
  7. 罗恩·塞特隆、珍妮·费兰特、巴里·罗森、马克·韦格曼和F.肯尼斯·扎德克。高效计算静态单赋值表和控制依赖图。程序设计语言与系统学报,13(4):451-4901991年10月。谷歌学者谷歌学者
  8. Jong Deok Choi、M.Gupta、Mauricio Serrano、Vugranam C Shreedhar和Sam Midkiff。Java逃逸分析。1999年ACM SIGPLAN面向对象编程、系统、语言和应用会议记录(OOPSLA’99),第1-19页。ACM出版社,1999年10月。谷歌学者谷歌学者
  9. David R.Chase、Mark Wegman和F.Kenneth Zadeck。指针和结构分析。ACM SIGPLAN通知,25(6):296-310,1990年6月。谷歌学者谷歌学者
  10. 朱利安·杜比和安德鲁·钱恩。自动对象内联分配技术的评估。1998年ACM SIGPLAN面向对象编程、系统、语言和应用会议记录(OOPSLA’98),第1-20页。ACM出版社,1998年10月。谷歌学者谷歌学者
  11. 阿兰·多伊奇(Alan Deutsch)。在高阶函数规范中确定动态分配数据的生存期和别名。在ACM-SIGPLAN ACM-SIGACT编辑器中,第17届美国计算机学会编程语言原理研讨会(POPL'90)会议记录,第157-168页,美国加利福尼亚州旧金山,1990年1月。ACM出版社。谷歌学者谷歌学者
  12. 阿兰·德意志。逃逸分析的复杂性。1997年POPL会议记录:第24届ACM SIGPLAN-SIGACT编程语言原理研讨会,第358-371页,法国巴黎,1997年1月。谷歌学者谷歌学者
  13. Robert Fitzgerald、Todd B.Knoblock、Erik Ruf、Bjarne Steensgaard和David Tarditi。Marmot:一个针对Java的优化编译器。技术报告MSR-TR-99-33,Microsoft Research,1999年6月。接受发表于《软件——实践与经验》。谷歌学者谷歌学者
  14. 詹姆斯·希克斯。具有编译器定向存储回收的经验。编辑R.John M.Hughes,1993年函数编程和计算机体系结构会议记录,第523卷,共页计算机科学课堂讲稿1993年6月,哥本哈根。斯普林格·弗拉格。谷歌学者谷歌学者
  15. 西蒙·休斯。高阶函数语言的编译时垃圾收集。逻辑与计算杂志,2(4):483-5091992年8月。谷歌学者谷歌学者
  16. 井上加太郎(Katsuro Inoue)、井上裕久(Hiroyuki Seki)和八木(Hikaru Yagi)。分析功能程序以检测运行时垃圾单元。程序设计语言与系统学报,10(4):555-5781988年10月。谷歌学者谷歌学者
  17. 第B条。Jones和D.Le Métayer。通过共享分析进行编译时垃圾收集。89年伦敦帝国理工学院函数式编程语言与计算机体系结构会议记录,第54-74页,纽约州纽约市,1989年。ACM。谷歌学者谷歌学者
  18. Neil D.Jones和Steven S.Muchnick。类Lisp结构的流动分析和优化。编辑史蒂文·穆奇尼克(Steven S.Muchnick)和尼尔·D·琼斯(Neil D.Jones),程序流分析:理论与应用,第102-131页。新泽西州恩格尔伍德·克利夫斯:普伦蒂斯·霍尔,1981年。谷歌学者谷歌学者
  19. 托马斯·詹森和托本·莫根森。编译时垃圾收集的反向分析。编辑尼尔·D·琼斯,ESOP’90第三届欧洲规划研讨会,丹麦哥本哈根,1990年5月。(计算机科学讲义,第432卷),第227-239页。Springer-Verlag,1990年。谷歌学者谷歌学者
  20. 蒂姆·林德霍姆(Tim Lindholm)和弗兰克·耶林(Frank Yellin)。Java虚拟机规范Addison-Wesley,第二版,1999年。谷歌学者谷歌学者
  21. 马库斯·莫恩。针对任意数据结构的高效编译时垃圾收集。技术报告95-08,亚琛RWTH,计算机科学系,1995年。谷歌学者谷歌学者
  22. Young Gil Park和Benjamin Goldberg。名单上的逃亡分析。ACM SIGPLAN’92编程语言设计与实现(PLDI)会议记录,第116-127页,1992年。谷歌学者谷歌学者
  23. 雅各布·雷霍夫和托本。莫根森。有限半格中的可牵引约束。计算机程序设计科学, 35(2-3):191-221, 1998.谷歌学者谷歌学者
  24. J.T.S奇瓦茨。超高级语言的优化——I.V值传输及其推论。计算机语言, 1(2):161-194, 1975.谷歌学者谷歌学者
  25. 曼纽尔·塞拉诺和马克·菲利。存储使用分析及其应用。第一届函数式程序设计国际会议记录,1996年6月。谷歌学者谷歌学者
  26. 比亚恩·斯坦斯加德。指向几乎线性时间内的分析。第23届ACM SIGPLAN-SIGACT编程语言原理研讨会会议记录,第32-41页,佛罗里达州圣彼得堡,1996年1月。谷歌学者谷歌学者
  27. Jan Vitek、R.Nigel Horspool和James Uhl。面向对象程序的编译时分析。第四届编译器构造国际会议论文集,CC’921992年,德国帕德博恩。斯普林格·弗拉格。谷歌学者谷歌学者
  28. 约翰·沃利和马丁·里纳德。Java程序的组合指针和转义分析。1999年ACM SIGPLAN面向对象编程、系统、语言和应用会议记录(OOPSLA’99),第187-206页。ACM出版社,1999年10月。谷歌学者谷歌学者

建议

评论

登录选项

检查您是否可以通过登录凭据或您的机构访问本文。

登录

完全访问权限

  • 发布于

    封面图片指南会议记录
    CC'00:第九届编译器构造国际会议记录
    2000年3月
    294页
    国际标准图书编号:354067263倍

    出版商

    Springer-Verlag公司

    柏林,海德堡

    出版历史

    • 出版:2000年3月25日

    限定符

    • 第条