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

基于静态类层次分析的面向对象程序优化

出版:1995年8月7日出版历史

摘要

优化面向对象语言的编译器应用静态类分析和其他技术,试图推断出消息接收者可能的类的精确信息;如果成功,可以用直接过程调用替换动态调度的消息,并可能通过内联扩展进行进一步优化。通过检查程序的完整继承图(我们称之为类层次分析),编译器可以提高静态类信息的质量,从而提高运行时性能。在本文中,我们提出了类层次分析,并描述了在静态和动态类型语言中以及在存在多方法的情况下有效实现这种分析的技术。我们还讨论了如何在交互式编程环境中支持类层次结构分析,以及在某种程度上,在单独编译的情况下如何支持类层次分析。最后,我们评估了由于单独进行类层次分析以及结合其他两种“竞争性”优化,即轮廓引导接收机类预测和方法专门化,而带来的最低性能改进。

工具书类

  1. 奥勒·阿格森和乌尔斯·霍尔兹勒。类型反馈与具体类型分析:面向对象语言优化技术的比较。技术报告TRCS 95-04,加利福尼亚大学计算机科学系,圣巴巴拉,1995年3月。谷歌学者谷歌学者
  2. Ole Agesen、Jens Palsberg和Michael I.Schwartzback。SELF的类型推断:具有动态和多重继承的对象分析。1993年ECOOP会议记录1993年7月。谷歌学者谷歌学者
  3. Rakesh Agrawal、Linda G.DeMichiel和Bruce G.Lindsay。多方法的静态类型检查。91年OOPSLA会议记录,第113-128页,1991年11月。发布为ACM SIGPLAN通告,第26卷,第11期。谷歌学者谷歌学者
  4. 哈桑·艾特·卡奇、罗伯特·博伊尔、帕特里克·林肯和罗杰·纳斯尔。格运算的高效实现。程序设计语言与系统学报,11(1):115-1461989年1月。谷歌学者谷歌学者
  5. D.G.Bobrow、L.G.DeMichiel、R.P.Gabriel、S.E.Keene、G.Kiczales和D.A.Moon。通用Lisp对象系统规范X3J13。SIGPLAN通知,28(特刊),1988年9月。谷歌学者谷歌学者
  6. Brad Calder和Dirk Grunwald。减少C++程序中的间接函数调用开销。POPL'94会议记录:第21届ACM SIGPLAN-SIGACT编程语言原理研讨会,第397-108页,俄勒冈州波特兰,1994年1月。谷歌学者谷歌学者
  7. 伊夫·卡索。有效处理多重继承层次结构。1993年OOPSLA会议记录,第271-287页,1993年10月。发布为ACM SIGPLAN通告,第28卷,第10期。谷歌学者谷歌学者
  8. Craig Chambers和David Ungar。定制:为Self优化编译器技术,这是一种动态类型的面向对象编程语言。SIGPLAN通知,24(7):146-1601989年7月。ACM SIGPLAN 89编程语言设计和实现会议记录.谷歌学者谷歌学者
  9. Craig Chambers和David Ungar。迭代类型分析和扩展消息分割:动态优化面向对象的程序。SIGPLAN通知,25(6):150-1641990年6月。ACM SIGPLAN 90年编程语言设计和实现会议记录.谷歌学者谷歌学者
  10. Craig Chambers和David Ungar。使纯面向对象语言实用。91年OOPSLA会议记录,第1-15页,1991年11月。发布为ACM SIGPLAN通告,第26卷,第11期。谷歌学者谷歌学者
  11. 克雷格·钱伯斯。Cecil中面向对象的多方法。编辑O.Lehrmann Madsen,1992年ECOOP会议记录,LNCS 615,第33-56页,荷兰乌得勒支,1992年7月。斯普林格·弗拉格。谷歌学者谷歌学者
  12. 克雷格·钱伯斯。塞西尔语:规范和原理。技术报告TR-93-03-05,华盛顿大学计算机科学与工程系,1993年3月。谷歌学者谷歌学者
  13. Craig Chambers、David Ungar和Elgin Lee。SELF的高效实现——一种基于原型的动态类型的面向对象语言。89年OOPSLA会议记录,第49-70页,1989年10月。作为ACM SIGPLAN公告出版,第24卷,第10号。谷歌学者谷歌学者
  14. 克雷格·钱伯斯、杰弗里·迪恩和大卫·格罗夫。存在复杂互调依赖的选择性重新编译框架。第十七届国际软件工程会议华盛顿州西雅图,1995年4月。谷歌学者谷歌学者
  15. 杰弗里·迪恩(Jeffrey Dean)、克雷格·钱伯斯(Craig Chambers)和大卫·格罗夫(David Grove)。面向对象语言的选择性专业化。SIGPLAN通知1995年6月。ACM SIGPLAN’95编程语言设计和实现会议记录.谷歌学者谷歌学者
  16. L.Peter Deutsch和Allan M.Schiffman。Smalltalk-80系统的高效实施。第十一届ACM程序设计语言原理年度研讨会会议记录,第297-302页,犹他州盐湖城,1984年1月。谷歌学者谷歌学者
  17. 迪伦,一种面向对象的动态语言,1992年4月。苹果电脑。谷歌学者谷歌学者
  18. 玛丽·费尔南德斯。Modula-3程序的简单有效的链接时间优化。SIGPLAN通知1995年6月。ACM SIGPLAN’95编程语言设计和实现会议记录.谷歌学者谷歌学者
  19. 理查德·加布里埃尔(Richard P.Gabriel)、乔恩·怀特(Jon L.White)和丹尼尔·博布罗(Daniel G.Bobrow)。CLOS:集成面向对象和函数编程。ACM通信,34(9):28-381991年9月。谷歌学者谷歌学者
  20. Charlie Garrett、Jeffrey Dean、David Grove和Craig Chambers。动态接收机类分布的测量与应用。技术报告UW-CS 94-03-05,华盛顿大学,1994年3月。谷歌学者谷歌学者
  21. 塞缪尔·哈比森(Samuel P.Harbison)。模块-3普伦蒂斯·霍尔,恩格尔伍德悬崖,新泽西州,1992年。谷歌学者谷歌学者
  22. 乌尔斯·Hölzle和大卫·昂加。使用运行时类型反馈优化动态调度呼叫。SIGPLAN通知,29(6):326-3361994年6月。ACM SIGPLAN’94编程语言设计和实现会议记录.谷歌学者谷歌学者
  23. 乌尔斯·霍尔兹勒(Urs Hölzle)。自适应自我优化:协调高性能与探索性编程斯坦福大学博士论文,1994年8月。谷歌学者谷歌学者
  24. 拉尔夫·约翰逊。使用模式记录框架。1992年OOPSLA会议记录,第63-76页,1992年10月。发布为ACM SIGPLAN通告,第27卷,第10号。谷歌学者谷歌学者
  25. 迈克尔·基利安(Michael F.Kilian)。为什么格子/猫头鹰跑得很快。未出版手稿,1988年3月。谷歌学者谷歌学者
  26. 道格·李。C++中的自定义。1990年Usenix C++会议记录1990年4月,加利福尼亚州旧金山。谷歌学者谷歌学者
  27. Chu Cheow Lim和Andreas Stolke。Sather语言设计和性能评估。技术报告TR 91-034,国际计算机科学研究所,1991年5月。谷歌学者谷歌学者
  28. M.A.Linton、J.M.Vlisseds和P.R.Calder。通过访谈撰写用户界面。IEEE计算机,2(2):1989年2月8-22日。谷歌学者谷歌学者
  29. 格雷格·纳尔逊。使用Modula-3进行系统编程普伦蒂斯·霍尔,恩格尔伍德悬崖,新泽西州,1991年。谷歌学者谷歌学者
  30. 斯蒂芬·奥莫汉多(Stephen Omohundro)。Sather 1.0规范。国际计算机科学研究所未发表的手稿,加州伯克利,1994年。谷歌学者谷歌学者
  31. 尼古拉斯·奥克什(Nicholas Oxhöj)、延斯·帕尔斯伯格(Jens Palsberg)和迈克尔·施瓦茨巴赫(Michael I.Schwartzbach)。使类型推断实用。编辑O.Lehrmann Madsen,1992年ECOOP会议记录,LNCS 615,第329-349页,荷兰乌得勒支,1992年7月。斯普林格·弗拉格。谷歌学者谷歌学者
  32. Jens Palsberg和Michael I.Schwartzbach。面向对象的类型推断。91年OOPSLA会议记录第146-161页,1991年11月。发布为ACM SIGPLAN通告,第26卷,第11期。谷歌学者谷歌学者
  33. Jens Palsberg和Michael I.Schwartzbach。面向对象类型系统约翰·威利;儿子们,1994年。谷歌学者谷歌学者
  34. 约翰·普列维亚克(John Plevyak)和安德鲁·钱恩(Andrew A.Chien)。面向对象语言的精确具体类型推断。1994年OOPSLA会议记录,第324-340页,俄勒冈州波特兰,1994年10月。谷歌学者谷歌学者
  35. Craig Schaffert、Topher Cooper和Carrie Wilpolt。基于网格对象的环境,语言参考手册。技术报告DEC-TR-372,数字设备公司,1985年11月。谷歌学者谷歌学者
  36. Craig Schaffert、Topher Cooper、Bruce Bullis、Mike Killian和Carrie Wilpolt。格子/猫头鹰简介。86年OOPSLA会议记录,第9-16页,1986年11月。发布为ACM SIGPLAN通告,第21卷,第11号。谷歌学者谷歌学者
  37. 阿弥陀佛。面向对象编程中的不可访问过程。ACM编程语言和系统信函,1(4):355-3641992年12月。谷歌学者谷歌学者
  38. 本贾尼·斯特劳斯特卢普。C++编程语言(第二版)Addision-Wesley,马萨诸塞州雷丁,1991年。谷歌学者谷歌学者
  39. 克莱门斯·斯兹帕斯基、斯蒂芬·奥莫汉德罗和斯蒂芬·穆勒兹。设计一种程序设计语言:Sather的类型和类系统。技术报告93-064,国际计算机科学研究所,加州伯克利,1993年。谷歌学者谷歌学者

索引术语

  1. 基于静态类层次分析的面向对象程序优化
    索引项已通过自动分类分配给内容。

    建议

    评论

    登录选项

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

    登录

    完全访问权限

    • 发布于

      封面图片指南会议记录
      ECOOP’95:第九届欧洲面向对象编程会议记录
      1995年8月
      470页
      国际标准图书编号:3540601600

      出版商

      Springer-Verlag公司

      柏林,海德堡

      出版历史

      • 出版:1995年8月7日

      限定符

      • 第条