...
首页> 外文期刊>IEICE transactions on information and systems >Identifying Program Loop Nesting Structures during Execution of Machine Code
【24h】

Identifying Program Loop Nesting Structures during Execution of Machine Code

机译:在执行机器代码期间识别程序循环嵌套结构

获取原文
           

摘要

This paper presents a mechanism for detecting dynamic loop and procedure nesting during the actual program execution on-the-fly. This mechanism aims primarily at making better strategies for performance tuning or parallelization. Using a pre-compiled application executable machine code as an input, our mechanism statically generates simple but precise markers that indicate loop entries and loop exits, and dynamically monitors loop nesting that appears during the actual execution together with call context tree. To keep precise loop structures all the time, we monitor the indirect jumps that enter the loop regions and the setjmp/longjmp functions that cause irregular function call transfers. We also present a novel representation called Loop-Call Context Graph that can keep track of inter-procedural loop nests. We implement our mechanism and evaluate it using SPEC CPU2006 benchmark suite. The results confirm that our mechanism can successfully reveal the precise inter-procedural loop nest structures from all of SPEC CPU2006 benchmark executions without any particular compiler support. The results also show that it can reduce runtime loop detection overheads compared with the existing loop profiling method.
机译:本文提出了一种在实际程序执行过程中动态检测动态循环和过程嵌套的机制。该机制的主要目的是为性能调整或并行化制定更好的策略。使用预编译的应用程序可执行机器代码作为输入,我们的机制将静态生成简单而精确的标记,以指示循环入口和循环出口,并动态监视在实际执行过程中出现的循环嵌套以及调用上下文树。为了始终保持精确的循环结构,我们监视进入循环区域的间接跳转以及导致不规则函数调用转移的setjmp / longjmp函数。我们还提出了一种新颖的表示形式,称为“循环调用上下文图”,可以跟踪过程间循环嵌套。我们实施我们的机制,并使用SPEC CPU2006基准套件对其进行评估。结果证实,我们的机制可以在没有任何特定编译器支持的情况下,从所有SPEC CPU2006基准测试执行中成功揭示精确的过程间循环嵌套结构。结果还表明,与现有的循环概要分析方法相比,它可以减少运行时循环检测开销。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号