跳到主要内容
10.1145/268946.268949acm会议文章/章节视图摘要出版物页面波普尔会议记录会议集合
第条
免费访问

逃逸分析:正确性证明、实施和实验结果

出版:1998年1月21日出版历史

摘要

我们描述了一个逃逸分析[32,14],用于确定数据的生存期是否超过其静态范围。我们直接从语义出发给出了一个新的正确性证明。与之前的证明相反,它考虑了函数语言的所有特征,包括命令式特征和多态性。该分析设计为可以在以下较小的复杂度范围内实现O(运行)(n个日志2 n个)其中n个是所分析程序的大小。我们将其包含在Caml Special Light编译器(ML的实现)中,并将其应用于非常大的程序。我们计划将这些技术应用于Java编程语言。转义分析已应用于堆栈分配。我们通过确定堆栈分配数据的最小生存期和使用内联来改进优化技术。我们设法在定理证明器Coq中堆叠分配25%的数据。我们分析了此优化的效果,并注意到其主要效果是改善数据局部性,这对效率很重要。

工具书类

  1. 1AnRAMSKV,S.严格性分析和多态性不变性。程序中。Programs as Data Objects~1986),《计算机科学讲义》第217卷,施普林格出版社。谷歌学者谷歌学者
  2. 2AIKEN,A.,F~tHNDRICH,M.,AND LEVIEN,R.更好的静态内存管理:改进基于区域的高阶语言分析。在PLDIg中;(加州圣地亚哥,1995年6月)。谷歌学者谷歌学者
  3. 三。APPEL,A.W.垃圾回收可以比堆栈分配更快。信息处理快报25,4(1987年1月),275-279。谷歌学者谷歌学者
  4. 4APPE{,,A.W.,AND SHAO,Z。带闭包的语言的堆栈与堆成本的实证和分析研究。函数编程杂志I,1(1993年1月),I-27。谷歌学者谷歌学者
  5. 5BmKEDAt,,L.,TORTE,M.和VEJLSTRUP,M.通过区域表示推理从区域推理到范诺依曼机器。第三届CM-SIGPLAN-SIGACT编程语言原理研讨会(1996年1月)。谷歌学者谷歌学者
  6. 6BI,^tlCtlET,B.垃圾收集统计。DEA报告,INRIA,Rocquencourt,1996年9月。谷歌学者谷歌学者
  7. 7BURN,G.抽象解释和投影分析之间的关系。《编程语言原理》(1990年1月),AOM,第151-156页。谷歌学者谷歌学者
  8. 8CARlt,S.,MCKINLEY,K.S.,AND TSENG,C.-W.用于改进数据局部性的编译器优化。第六届国际编程语言和操作系统架构支持会议(1994年10月),第252-262页。谷歌学者谷歌学者
  9. 9CIIASE,D.R.存储分配优化的安全注意事项。《SIGPLAN 88编程语言设计与实现会议记录》(1988年6月22日至24日),ACM出版社,第1-10页。谷歌学者谷歌学者
  10. 10CousoT,P.,AND CousoT,tL抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。在第四届ACM编程语言原理年度研讨会(1977年1月)上,第238-252页。谷歌学者谷歌学者数字图书馆数字图书馆
  11. 11COUSOT,P.和COUSOTR。程序分析框架的系统设计。第六届通用汽车公司编程语言原理研讨会(1979年1月),第269-282页。谷歌学者谷歌学者数字图书馆数字图书馆
  12. 12DI~UTSCH,A.关于在高阶功能规范中确定动态分配数据的生存期和别名。在第十七届CM SIGA CT-SIGPLAN编程语言原理研讨会(1990年1月)上,第157-168页。谷歌学者谷歌学者
  13. 13DEUTSCH,A.指针的跨过程May-Alias分析:超越k限制。《SIGPLAN会议录》“94编程语言设计与实现之争”(1994年6月20日至24日),ACM出版社,第230-241页。谷歌学者谷歌学者
  14. 14DEUTSCH,A.关于逃逸分析的复杂性。在第四届ACM SIGA CT-SIGPLAN编程语言原理研讨会(1997年1月)上。谷歌学者谷歌学者
  15. 15DOLIG{~,D.Conception,r4alisation eL certification D'un glaneur de cellenes~oncu~renL博士论文,巴黎第七大学,1995年5月。谷歌学者谷歌学者
  16. 16HAN~m%J.函数语言中基于类型的堆栈分配分析。第二届国际静态分析研讨会论文集(SAS“95)(1995年9月)。谷歌学者谷歌学者
  17. 17HARPER,tL,MILNS~,R.,AND TO ~’rR,M.标准ML.LFCS报告系列ECS-LFCS-89-81的定义,爱丁堡大学计算机科学系计算机科学基础实验室,1989年5月。谷歌学者谷歌学者
  18. 18HARPJSON,W。Scheme程序的程序间分析和自动并行化。Lisp与符号计算~(1989),176-396。谷歌学者谷歌学者
  19. 19HEVEItMAN,L.使用参考计数分析编译时间垃圾收集。技术说唱。赖斯COMP TR88-75,德克萨斯州休斯顿赖斯大学,1988年8月。谷歌学者谷歌学者
  20. 20HICKS,J.编译器定向存储回收的经验。在函数编程语言和Gomputer体系结构会议(FPCA’93)(1993年6月)上,ACM出版社。谷歌学者谷歌学者
  21. 21HOA~,C.谓词变换器的一些性质。《年度股东大会杂志》第5期,第3期(1978年),第461-480页。谷歌学者谷歌学者
  22. 22HUDAK,P.参考计数的语义模型及其抽象(详细摘要)。《1986年LISP和函数编程CM会议论文集》(1986年8月),第351-363页。谷歌学者谷歌学者
  23. 23HUGHES,J.功能程序的向后分析。在Par-~ial Evaluation and Mired Computation(1988)中,D.Bj0rner、A.P.Ershov和N.D.Jones,Eds.,Elsevier Science Publishers B.V.(北荷兰)。谷歌学者谷歌学者
  24. 24HUGIt~,S.高阶函数语言编译时垃圾收集。J.逻辑Gomputat。2, 4 (1992), 483 - 509.谷歌学者谷歌学者
  25. 25INCUR,K.,SEK{,H.,AIqD YAGI,H..检测运行时垃圾单元的函数程序分析.编程语言和系统AGM事务10,4(1988年10月),555-578。谷歌学者谷歌学者
  26. 26JONF~,N.D.,AND~UCHNICK,S.使用递归数据结构进行过程间数据流分析和程序的灵活方法。第九届年度AGM SIGACT-SIGPLAN编程语言原理研讨会(1982年),第66-74页。谷歌学者谷歌学者
  27. 27JONES,S.B.和WHITE7 M.JS编译时垃圾收集值得付出努力。在功能编程研讨会(格拉斯哥,1990年),施普林格。谷歌学者谷歌学者
  28. 28KNUTH,D.E.Dijkstra算法的推广。信息处理快报6,1(1977年2月),1-5。谷歌学者谷歌学者
  29. 29MOHNEN,M.通过高阶遗传分析有效利用闭包。静态分析研讨会(SAS’95)(1995)。谷歌学者谷歌学者
  30. 30莫恩~。S、 M.针对任意数据结构的高效编译时垃圾收集。“PLILP’95(1995)。谷歌学者谷歌学者
  31. 31NEYRINCK,A.、PANANGADEN,P.和DEMmtS,A.别名和支持集的计算。第十四届年度ACM糖浆。《程序设计语言原理》(1987年1月),ACM出版社,第274-283页。谷歌学者谷歌学者
  32. 32PAP~K,Y.G.,AND GOLDBERG,B.列表逃逸分析。在ACId SIGPLAN“92编程语言设计和实现会议(1992年7月17日至19日),第27卷,第116-127页。谷歌学者谷歌学者
  33. 33RUGGLERI,C.和MuarAGH,T.P.动态分配对象的寿命分析。在第十五届通用汽车SIGACT-SIGPLAN语言编程原理研讨会(1988年1月)上,第285-293页。谷歌学者谷歌学者
  34. 34SE~ANO,M.,~J~D F~M.~Y,M.存储使用分析及其应用。1996年ACM SIGPLAN函数编程国际会议(1996年5月)。谷歌学者谷歌学者
  35. 35SHIVERS,O.控制方案中的流量分析。编程语言、设计和实现会议(1988年6月),164-174。谷歌学者谷歌学者
  36. 36TAP~AN,R.在有向图中寻找支配者。SIAM Oomputing杂志3,1(1974年3月),62-89。谷歌学者谷歌学者
  37. 37TASJAN,R.E.路径压缩在平衡树上的应用。《计算机协会杂志》26,4(1979年10月),690-715。谷歌学者谷歌学者
  38. 38TOFTE,M.和TALPIN,J.-P.多态类型语言中的堆栈分配理论。技术代表93/15,哥本哈根大学计算机科学系,1993年7月9日。谷歌学者谷歌学者

索引术语

  1. 逃逸分析:正确性证明、实现和实验结果

            建议

            评论

            登录选项

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

            登录

            完全访问权限

            • 发布于

              封面图片ACM会议
              POPL'98:第25届ACM SIGPLAN-SIGACT编程语言原理研讨会会议记录
              1998年1月
              403页
              国际标准图书编号:0897919793
              内政部:10.1145/268946

              版权所有©1998 ACM

              如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

              出版商

              计算机协会

              美国纽约州纽约市

              出版历史

              • 出版:1998年1月21日

              权限

              请求有关此文章的权限。

              请求权限

              检查更新

              限定符

              • 第条

              接受率

              98年流行纸张接受率32属于175提交文件,18%总体验收率824属于4,130提交文件,20%

              即将召开的会议

              流行乐'25
              第52届ACM SIGPLAN编程语言原理年会
              2025年1月19日至25日
              丹佛,有限公司,美国

            PDF格式

            以PDF文件查看或下载。

            PDF格式

            电子阅读器

            使用eReader联机查看。

            电子阅读器