kilim
文章平均质量分 82
yueyemaitian
这个作者很懒,什么都没留下…
展开
-
Kilim源码分析之二 ---- 织入入口及可织入判断
1、织入入口,配置 1.1、织入入口 kilim.tools.Weaver是织入的主类,通过程序参数设置要织入的代码路径,可以是class文件、jar包、其他(是什么)、目录(目录中可以是jar包、class文件)。 如果传入的是class文件,会直接织入;调用kilim.tools.Weaver.weaveFile(String, InputS...原创 2013-03-20 19:33:52 · 218 阅读 · 0 评论 -
Kilim源码分析之三 ---- 织入之构造/合并BasicBlock
上一篇分析了可织入判断的代码,本篇继续分析织入部分的构造/合并BasicBlock。 首先看下分析方法kilim.analysis.MethodFlow.analyze()包含的功能: //织入逻辑 public void analyze() throws KilimException { buildBasicBlock...原创 2013-03-20 19:50:17 · 296 阅读 · 0 评论 -
Kilim源码分析之四 ---- 织入之内联subroutine
小于1.5编译级别时,如果不显示inline try/catch/finally块,try/catch和any会产生的jsr指令跳转到finally。此处分析kilim如何对这种情况下的jsr指令进行内联:finally块中有pausable则会被拷贝一份;finally块中有pausable则会把jsr/ret指令都替换为goto指令,但是并没有像1.5及以后编译级别那样,拷...原创 2013-03-20 20:00:50 · 173 阅读 · 0 评论 -
Kilim源码分析之五 ---- 织入之变量活跃性分析
/** * In live var analysis a BB asks its successor (in essence) about which * vars are live, mixes it with its own uses and defs and passes on a * new list of live vars to i...原创 2013-03-20 21:00:28 · 191 阅读 · 0 评论