RFR(XXS) 8027751: C1 crashes in Weblogic with G1 enabled
igor.veresov at oracle.com
Mon Nov 4 01:14:13 PST 2013
I ran Weblogic+Medrec from UTE.
On Nov 4, 2013, at 1:04 AM, Igor Ignatyev <igor.ignatyev at oracle.com> wrote:
> Hi Igor,
> What testing did you do?
> - Igor
> On 11/04/2013 12:59 PM, Igor Veresov wrote:
>> G1 barriers use logical operators (xor) on T_OBJECT mixed with T_LONG or T_INT. The current implementation of logical operations on x86 in C1 doesn't allow for long operands to be on stack. There is a special code in the register allocator that forces long arguments in registers on x86. However T_OBJECT can be spilled just fine, and in that case the xor emission will fail.
>> The shortest fix is to force the allocator to keep operands of type T_OBJECT in registers when doing logical operations (as we do with T_LONG already) on 64bit x86.
>> Webrev: http://cr.openjdk.java.net/~iveresov/8027751/webrev.0/
More information about the hotspot-compiler-dev