RFR(XS) 8047383: SIGBUS in C2 compiled method weblogic.wsee.jaxws.framework.jaxrpc.EnvironmentFactory$SimulatedWsdlDefinitions.<init>

Igor Veresov igor.veresov at oracle.com
Wed Oct 22 22:16:05 UTC 2014


The problem manifests itself in various instances are constant table base register corruption. The cause is that when we’re rematerializing constant table loads (which are is_Con()) in PhaseAggressiveCoalesce::insert_copies() we are stretching the lrg of the constant table base. If that lrg is a multidef then I think we're in trouble. The fix is not rematerialize constant table loads here. We, however, will rematerialize those when splitting lrgs in split_Rematerialize(), which requires creation of a spill copy for each multidef input. I’d like to also point out that matcher aggressively clones constants (including constant table loads), which puts them close to the use in the majority of cases. So the proposed change has no measurable performance impact, which I verified with performance runs.

Webrev: http://cr.openjdk.java.net/~iveresov/8047383/webrev.00/

Thanks,
igor


More information about the hotspot-compiler-dev mailing list