非局部跳转控制流的自动消除  

Removing Non-Local Goto Automatically

在线阅读下载全文

作  者:陈桂林[1] 黄波[1] 臧斌宇[1] 朱传琪[1] 

机构地区:[1]复旦大学并行处理研究所,上海200433

出  处:《计算机学报》2000年第6期585-592,共8页Chinese Journal of Computers

基  金:国家自然科学基金;教育部博士点专项科研基金

摘  要:longjmp是 C语言中实现非局部跳转的库函数调用 ,它破坏了程序的结构性 ,并使常见的数据流分析技术无法在包含 longjmp的程序段上有效地进行 .文中提出一种消除 longjmp的算法 ,该算法用转移语句和返回语句的结合来模拟非局部跳转功能 ,从而使控制流趋于规范并有利于数据流分析的进行 ,进一步地增强了挖掘程序并行性的能力 .longjmp is a library routine that causes the non local control flow in C programs. It damages the structure of C program and some common dataflow analysis techniques cannot work effectively on the program segments containing longjmp . An algorithm is introduced here to eliminate longjmp . In this algorithm, the combination of RETURN and GOTO are used to simulate the semantics of non local goto, which will normalize the control flow and is beneficial to program structurization, dataflow analysis, and the detection of parallelism in C program.

关 键 词:程序结构化 非局部跳转控制流 自动消除 

分 类 号:TP311[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象