program instrumentation
文章平均质量分 79
lpxz3141
这个作者很懒,什么都没留下…
展开
-
asm[dynamically produce a class and use it without writing it to disk]
Suppose we want to use the ASM invocations to produce the very simple class:public class Chocalate { /** * @param args */ public static void main(String[] args) { // TODO Au原创 2012-05-20 21:23:18 · 382 阅读 · 0 评论 -
aspectj does not support JDK class weaving
Hi, I am using AspectJ to trace calls to graphics class.So far, I have used a pre-weaved set of javax.swing.* classes and upon loading I tell JVM to use these weaved classes and not the ones from转载 2012-05-26 20:48:14 · 1066 阅读 · 0 评论 -
Important aspects in AspectJ
In this blog, I will show some important and basic aspects. 1) locking operations. Given the locking operations such as synchronized ("ss") { sharedV =原创 2012-05-26 16:51:59 · 406 阅读 · 0 评论 -
aspectj's load-time instrumentation
Aspectj implements the functionality also using the asm tool. As it provides neat aspect grammars and is supported extensively by the community, I would like to switch to it. Better than Btrace , rig转载 2012-05-25 23:22:59 · 1245 阅读 · 0 评论 -
dacapo in progress
I run my first agent on dacapo, and it works. need to further figure out whether I miss some classes by the customized class loader (review code of tamiflex). The agent detects how many objec原创 2012-05-25 16:51:28 · 448 阅读 · 0 评论 -
try btrace before I proceed to work on dacapo.
Btrace provides annotations to allow users to specify probes and actions easily. For example, with the annotation, we can specify the control stops at the thread.start(), and carry out the action of原创 2012-05-25 13:45:19 · 441 阅读 · 0 评论 -
asm [chained visitors]
I want to give a class a chain of modifications. pw = new PrintWriter(System.out); ClassWriter cw = new ClassWriter(0); TraceClassVisitor tcv = new TraceClassVisitor(cw, pw); ClassVi原创 2012-05-21 11:20:11 · 428 阅读 · 0 评论 -
deploy the transformation code in an agent
Sometimes, we cannot touch the source code and place the transformation code in. In this case, we can use the agent to do the transformation at the class loading time. An agent should contain原创 2012-05-21 19:15:32 · 491 阅读 · 0 评论 -
asm [transform class by adding the getter methods]
given the following class: import javax.net.ssl.SSLContext; import jbet.Util.int_ptr; public class Chocalate { public int ss = 9; public static void main(String[] args) { Ch原创 2012-05-21 01:09:08 · 739 阅读 · 0 评论 -
asm
To study the usage of thread-safe libraries in dacapo benchmark suite, I want to instrument the applications. Soot, although good at analyzing and instrumenting programs, seems to miss certain classe原创 2012-05-20 15:38:19 · 375 阅读 · 0 评论 -
playing with dacapo using aspectj [the series about program instrumentation is done]
I verified two hypothesis on dacapo. The first is, there are many invocations to thread-safe library, such as synchronizedMap (Collections.synchronized()). However, I find this hypothesis is wro原创 2012-05-26 23:18:24 · 582 阅读 · 0 评论