summaryrefslogtreecommitdiffstats
path: root/tests/features152
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 /tests/features152
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 'tests/features152')
-rw-r--r--tests/features152/synchronization/transformed/expected/C.m.txt1
-rw-r--r--tests/features152/synchronization/transformed/expected/C.m3.txt1
-rw-r--r--tests/features152/synchronization/transformed/expected/C.m33.txt5
3 files changed, 5 insertions, 2 deletions
diff --git a/tests/features152/synchronization/transformed/expected/C.m.txt b/tests/features152/synchronization/transformed/expected/C.m.txt
index 7f5a34cdc..70270b463 100644
--- a/tests/features152/synchronization/transformed/expected/C.m.txt
+++ b/tests/features152/synchronization/transformed/expected/C.m.txt
@@ -20,4 +20,5 @@
L0: INVOKESTATIC Four.aspectOf ()LFour;
INVOKEVIRTUAL Four.ajc$afterReturning$Four$1$c2776aed ()V
RETURN
+ RETURN
end public void m()
diff --git a/tests/features152/synchronization/transformed/expected/C.m3.txt b/tests/features152/synchronization/transformed/expected/C.m3.txt
index f1157285e..f6406ff45 100644
--- a/tests/features152/synchronization/transformed/expected/C.m3.txt
+++ b/tests/features152/synchronization/transformed/expected/C.m3.txt
@@ -20,4 +20,5 @@
L0: INVOKESTATIC Three.aspectOf ()LThree;
INVOKEVIRTUAL Three.ajc$afterReturning$Three$1$3f09355c ()V
RETURN
+ RETURN
end public void m3()
diff --git a/tests/features152/synchronization/transformed/expected/C.m33.txt b/tests/features152/synchronization/transformed/expected/C.m33.txt
index 86b78ffb3..c96a8e2be 100644
--- a/tests/features152/synchronization/transformed/expected/C.m33.txt
+++ b/tests/features152/synchronization/transformed/expected/C.m33.txt
@@ -17,8 +17,9 @@
| MONITOREXIT
finally -> E1
ATHROW
- L0: GOTO L1 (line 33)
- L1: INVOKESTATIC Three.aspectOf ()LThree;
+ L0: NOP (line 33)
+ INVOKESTATIC Three.aspectOf ()LThree;
INVOKEVIRTUAL Three.ajc$afterReturning$Three$3$b48e4ae1 ()V
RETURN
+ RETURN
end public void m33()