diff options
author | acolyer <acolyer> | 2006-06-22 04:49:26 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2006-06-22 04:49:26 +0000 |
commit | 426cbdccfdf8fcfcda07b86d8e524d1034b2d0b7 (patch) | |
tree | 86e17625eadc66a8d7c6d908d5db6c7c746c7eec /tests/features152 | |
parent | 497dcf1140b7ec4eab3aab80fa5a22c8259bae48 (diff) | |
download | aspectj-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')
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() |