RFR[8u]: 8158639: C2 compilation fails with SIGSEGV
Jamsheed C m
jamsheed.c.m at oracle.com
Wed Nov 16 16:18:10 UTC 2016
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-compiler-dev
mailing list