惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
S
SegmentFault 最新的问题
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
小众软件
小众软件
博客园 - 聂微东
阮一峰的网络日志
阮一峰的网络日志
博客园 - 三生石上(FineUI控件)
月光博客
月光博客
The Cloudflare Blog
T
Tailwind CSS Blog
博客园 - 【当耐特】
Jina AI
Jina AI
量子位
有赞技术团队
有赞技术团队
博客园 - Franky
V
Visual Studio Blog
V
V2EX

博客园 - 姜伟华

HBase的内存使用 我常用的软件列表 How can I handle a destructor that fails 让windows explorer总是打开文件夹视图的方法 转一个windows "无法停止‘通用卷’设备"的解决方法 终于看到外界宣传我们的产品 Intel XML Software Suite了。 将PDF文件放大缩小 一篇非常不错的探讨pure virtual function call错误的文章。 D-LINK DI-524无线路由器变身DI-624,解决BT断线问题 Emacs在FreeNX下不工作 gdb中如何使用shell环境变量 我的GVIM配置 开始写XML Code了 终于毕业了 放弃office,拥抱latex 终于选定了编辑器了 郁闷的夏天 在PearPC上安装Mandrake 9.1 for PPC的经历 今天复旦软院的第一届学生就要毕业了
Jikes RVM中 Java 循环的识别
姜伟华 · 2004-06-30 · via 博客园 - 姜伟华

对于Jikes RVM 2.3.2来说,其基本的循环识别步骤在OPT_LSTGraph.java中。它通过构造LSTGraph(Loop Structure Tree Graph)来识别Java bytecode中的循环。

首先它通过回边(back edge)查找来识别出循环,并确定循环中包括的基本块,然后构造一个OPT_LSTNode来包含这个循环的信息(其header域指向循环的第一个基本块,其loop域包含了循环包含的所有基本块列表)。然后循环之间的相互包含关系是通过OPT_LSTNode的inNodes和outNodes来指向的。即如果循环A包含循环B,那么B在A的outNodes中,A在B的inNodes中。

但是,这个循环的识别功能是比较弱的。它识别的是广义上的循环(for、while等等)。对于for循环的识别实际上还要用到OPT_LoopUnrolling.java中的unrollLeaf方法中的一些功能。