RFR(S) 8204209: [Graal] Compilation fails during nmethod printing with "assert(bci == 0 || 0 <= bci && bci < code_size()) failed: illegal bci"

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Jun 22 05:02:03 UTC 2018


It is a little confusing that BeforeBci is the same as 
SynchronizationEntryBCI. In nmethod.cpp you check 
SynchronizationEntryBCI while in jvmciCodeInstaller.cpp you check 
BEFORE_BCI. So one is for legacy Hotspot code and BeforeBci is for Graal 
code. Right?

Spacing of '\' is wrong in jvmciJavaClasses.hpp.

How you chose the order of fields in jvmciJavaClasses.hpp? Can it be the 
same as order of values in MethodCompilation (compilerDefinitions.hpp)?

Thanks,
Vladimir

On 6/21/18 9:33 PM, Igor Veresov wrote:
> After discussing this with Tom, we decided that it would be a bad idea 
> to change values of final static fields as this would break 
> compatibility (since javac inlines these values). So, for now, we’d have 
> to do re-mapping.
> 
> Webrev: http://cr.openjdk.java.net/~iveresov/8204209/webrev.01
> 
> Thanks,
> igor
> 
>> On Jun 18, 2018, at 10:12 PM, Vladimir Kozlov 
>> <vladimir.kozlov at oracle.com <mailto:vladimir.kozlov at oracle.com>> wrote:
>>
>> CCing to runtime group.
>>
>> Seems fine to me.
>>
>> Thanks,
>> Vladimir
>>
>> On 6/18/18 6:28 PM, Igor Veresov wrote:
>>> Make hotspot tolerate negative placeholder BCIs that are produced by 
>>> Graal.
>>> Should this fix be deemed acceptable I’ll backport it to graal-jvmci-8.
>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8204209
>>> Webrev: http://cr.openjdk.java.net/~iveresov/8204209/webrev/
>>> Thanks,
>>> igor
> 


More information about the hotspot-compiler-dev mailing list