RFR[8u]: 8158639: C2 compilation fails with SIGSEGV
david buck
david.buck at oracle.com
Wed Nov 16 11:01:13 UTC 2016
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