RFR(XS) 8011391: C1: assert(code_offset() - offset == NativeInstruction::nop_instruction_size) failed: only one instruction can go in a delay slot

Igor Veresov igor.veresov at oracle.com
Tue Dec 17 12:34:20 PST 2013


I agree, let’s get rid of it. Looks good.

igor

On Dec 17, 2013, at 10:10 AM, Christian Thalinger <christian.thalinger at oracle.com> wrote:

> Ugh, that’s bad.  Personally I’ve never used that flag so I’d say let’s remove it since I’d go with VerifyOops anyway.
> 
> The change looks good but let’s wait for more opinions.
> 
> On Dec 17, 2013, at 8:14 AM, Niclas Adlertz <niclas.adlertz at oracle.com> wrote:
> 
>> Hi all,
>> 
>> The flag "VerifyOopMaps" is a non-product C1 only flag and does some but not all of the verification that the "VerifyOops" flag does. But "VerifyOopMaps" can cause problems. Since "VerifyOopMaps" temporarily turns on the "VerifyOops" flag during a part of the compilation of a C1 method, it becomes a problem when multiple compiler threads are working at the same time, causing VerifyOopMaps to be turned on and off at random during a single compilation. This is what happens during this crash.
>> 
>> My suggested fix is to remove the "VerifyOopMaps" flag and instead use the "VerifyOops" flag for Oop maps verification.
>> 
>> Another fix could be to internally set the "VerifyOopMaps" flag to false if we run tiered and/or are using more than one compiler thread. A third way could be to terminate the VM (and telling why) when having the "VerifyOopMaps" flag enabled in tiered and/or when using multiple compiler threads.
>> 
>> Kind Regards,
>> Niclas Adlertz
>> 
>> BUG: https://bugs.openjdk.java.net/browse/JDK-8011391
>> WEBREV: http://cr.openjdk.java.net/~adlertz/JDK-8011391/webrev00/
> 



More information about the hotspot-compiler-dev mailing list