aboutsummaryrefslogtreecommitdiffstats
path: root/weaver/testdata/AfterReturningHelloWorld.txt
diff options
context:
space:
mode:
authoracolyer <acolyer>2006-06-22 04:49:26 +0000
committeracolyer <acolyer>2006-06-22 04:49:26 +0000
commit426cbdccfdf8fcfcda07b86d8e524d1034b2d0b7 (patch)
tree86e17625eadc66a8d7c6d908d5db6c7c746c7eec /weaver/testdata/AfterReturningHelloWorld.txt
parent497dcf1140b7ec4eab3aab80fa5a22c8259bae48 (diff)
downloadaspectj-426cbdccfdf8fcfcda07b86d8e524d1034b2d0b7.tar.gz
aspectj-426cbdccfdf8fcfcda07b86d8e524d1034b2d0b7.zip
tests and "fix" for pr148007 - workaround JRockit "goto" bug by generating code closer to that produced by javac when weaving after and after returning. In particular: avoid adding a goto that branches to the next instruction (now replaces that return opcode with a nop instead), and store the return value on the top of the stack in a temp before branching to the after advice dispatch and restore it afterwards.
Diffstat (limited to 'weaver/testdata/AfterReturningHelloWorld.txt')
-rw-r--r--weaver/testdata/AfterReturningHelloWorld.txt12
1 files changed, 7 insertions, 5 deletions
diff --git a/weaver/testdata/AfterReturningHelloWorld.txt b/weaver/testdata/AfterReturningHelloWorld.txt
index 6f58d2f3d..abc748eb5 100644
--- a/weaver/testdata/AfterReturningHelloWorld.txt
+++ b/weaver/testdata/AfterReturningHelloWorld.txt
@@ -1,10 +1,11 @@
public class HelloWorld extends java.lang.Object:
public void <init>():
- ALOAD_0 // HelloWorld this (line 5)
+ ALOAD_0 // LHelloWorld; this (line 5)
INVOKESPECIAL java.lang.Object.<init> ()V
constructor-execution(void HelloWorld.<init>())
- | GOTO L0
- | L0: INVOKESTATIC Aspect.ajc_afterReturning_constructor_execution ()V
+ | NOP
+ | INVOKESTATIC Aspect.ajc_afterReturning_constructor_execution ()V
+ | RETURN
| RETURN
constructor-execution(void HelloWorld.<init>())
end public void <init>()
@@ -22,8 +23,9 @@ public class HelloWorld extends java.lang.Object:
| | INVOKESTATIC Aspect.ajc_afterReturning_method_call ()V
| | NOP
| method-call(void java.io.PrintStream.println(java.lang.String))
- | GOTO L0 (line 11)
- | L0: INVOKESTATIC Aspect.ajc_afterReturning_method_execution ()V
+ | NOP (line 11)
+ | INVOKESTATIC Aspect.ajc_afterReturning_method_execution ()V
+ | RETURN
| RETURN
method-execution(void HelloWorld.main(java.lang.String[]))
end public static void main(String[])