RFR[8u]: 8158639: C2 compilation fails with SIGSEGV

Jamsheed C m jamsheed.c.m at oracle.com
Wed Nov 16 07:29:30 UTC 2016


Hi David,

this change is missing

JVMState* VirtualCallGenerator::generate(JVMState* jvms) {

...

   if (kit.gvn().type(receiver)->higher_equal(TypePtr::NULL_PTR)) {
     assert(Bytecodes::is_invoke(kit.java_bc()), "%d: %s", 
kit.java_bc(), Bytecodes::name(kit.java_bc()));
     ciMethod* declared_method = kit.method()->get_method_at_bci(kit.bci());
     int arg_size = 
declared_method->signature()->arg_size_for_bc(kit.java_bc());
     kit.inc_sp(arg_size);  // restore arguments
     kit.uncommon_trap(Deoptimization::Reason_null_check,
                       Deoptimization::Action_none,
                       NULL, "null receiver");


Best Regards,

Jamsheed


On 11/15/2016 8:55 PM, david buck wrote:
> Hi!
>
> Please review the backported changes of JDK-8158639 to 8u:
>
> It is a very straightforward backport. The only two differences are:
>
> - I added a convenience macro, get_method_at_bci(), from the change 
> for 8072008 to make the backport cleaner.
>
> - I had to modify (remove) the package used for the testcase.
>
> Bug Report:
> [ 8158639: C2 compilation fails with SIGSEGV ]
> https://bugs.openjdk.java.net/browse/JDK-8158639
>
> JDK 9 changeset:
> http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/119a2a3cc29b
>
> 8u-dev Webrev:
> http://cr.openjdk.java.net/~dbuck/jdk8158639_8u_01/
>
> Testing:
> Manual verification and JPRT (default and hotspot testsets)
>
> Cheers,
> -Buck



More information about the hotspot-compiler-dev mailing list