Fwd: review (XS): 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub (original) (raw)
Igor Veresov igor.veresov at oracle.com
Wed May 25 23:56:22 PDT 2011
- Previous message: hg: hsx/hotspot-comp/hotspot: 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code
- Next message: review (XS): 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I guess this mail didn't make it. Resending.
-------- Original Message -------- Subject: review (XS): 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub Date: Mon, 23 May 2011 12:48:50 -0700 From: Igor Veresov <igor.veresov at oracle.com> To: hotspot-compiler-dev <hotspot-compiler-dev at openjdk.java.net>
Incorrect handling of the registers made runThese fail one of the arraycopy tests on 64bit windows with -d64 -Xcomp -XX:+TieredCompilation.
The problem is that when we call the checkcast_arraycopy stub we assume that it abides to C calling convention, but in fact it doesn't, so it can kill the registers containing arguments that are expected later by the slow stub. The easiest solution is to save argument registers before the call and then restore them.
Webrev: http://cr.openjdk.java.net/~iveresov/7047491/webrev.00/
Tested with JPRT by passing -XX:+TieredCompilation to every test.
igor
- Previous message: hg: hsx/hotspot-comp/hotspot: 7046732: JSR 292 assert(result == cpce->f1()) failed: expected result for assembly code
- Next message: review (XS): 7047491: C1: registers saved incorrectly when calling checkcast_arraycopy stub
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the hotspot-compiler-dev mailing list