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

david buck david.buck at oracle.com
Wed Nov 16 16:44:03 UTC 2016


(moving to hotspot-dev for more exposure.)

Jamsheed, thanks once again reviewing my backport!

Any reviewers out there willing to chime in?

Cheers,
-Buck


-------- Forwarded Message --------
Subject: Re: RFR[8u]: 8158639: C2 compilation fails with SIGSEGV
Date: Wed, 16 Nov 2016 21:48:10 +0530
From: Jamsheed C m <jamsheed.c.m at oracle.com>
Organization: Oracle Corporation
To: david buck <david.buck at oracle.com>, 
hotspot-compiler-dev at openjdk.java.net 
<hotspot-compiler-dev at openjdk.java.net>

Thanks for fixing. new webrev looks good to me (not a reviewer).

Best Regards,
Jamsheed
On 11/16/2016 4:31 PM, david buck wrote:
> Hi Jamsheed!
>
> Thank you for catching the mistake! I have modified the backport to
> include the relevant change from 8072008 [0]. Here is an updated webrev:
>
> http://cr.openjdk.java.net/~dbuck/jdk8158639_8u_02/
>
> In the new chunk of code added, the only difference from the code in
> JDK 9 is I had to add a call to err_msg() as JDK 8 does not have
> variadic macro version of assert() [1].
>
> I have reran all tests (both JPRT and manual) with no issues.
>
> Cheers,
> -Buck
>
> [0] http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/9988b390777b
>
> [1] https://bugs.openjdk.java.net/browse/JDK-8080775
>
> On 2016/11/16 16:29, Jamsheed C m wrote:
>> 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-dev mailing list