RFR (S) - JDK-8005689: InterfaceAccessFlagsTest failures in Lambda-JDK tests

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Jan 7 11:02:48 PST 2013


It is good. Could you point document you reference in the comment (Table 
4.20 and 9.4)?

Thanks,
Vladimir

On 1/7/13 10:17 AM, Bharadwaj Yadavalli wrote:
> Forgot to note that I also ran vm.quicktest.list with no new failures.
>
> On 1/7/2013 1:15 PM, Bharadwaj Yadavalli wrote:
>> Please review the changes at
>> http://cr.openjdk.java.net/~bharadwaj/8005689/webrev/
>>
>> These changes:
>>
>> a) refactor code that checks for the legality of interface modifiers
>> for Java class versions - pre-1.5, 1.5 and later but not Java 8. This
>> refactored condition has exactly the same functionality (details
>> below) as the existing condition for pre-1.5, 1.5 and later but not
>> Java 8.
>> b) update legality of interface modifiers for Java class version 8.
>>
>> Tests ran: JPRT, runThese, JCK tests (vm, lang done; api - still running)
>>
>> Additional notes:
>>
>> Existing interface modifier legality check :
>>
>> if (!is_public || is_static || is_final || is_native ||
>>          ((is_synchronized || is_strict)&&  major_gte_15&&
>>              (!major_gte_8 || is_abstract)) ||
>>          (!major_gte_8&&  !is_abstract)) {
>>        is_illegal = true;
>> }
>>
>> * The above existing condition for pre-java 1.5, where major_gte_15 =
>> F, and major_gte_8 = F, becomes
>>
>> if (!is_public || is_static || is_final || is_native ||
>>          ((is_synchronized || is_strict)&&  F&&
>>              (!F || is_abstract)) ||
>>          (!F&&  !is_abstract)) {
>>        is_illegal = true;
>> }
>>
>> i.e.,
>>
>> if (!is_public || is_static || is_final || is_native ||  !is_abstract)) {
>>        is_illegal = true;
>> }
>>
>> * The above existing condition for java 1.5 and later but not java 8,
>> where major_gte_15 = T, and major_gte_8 = F, becomes
>>
>>   (!is_public || is_static || is_final || is_native ||
>>          ((is_synchronized || is_strict)&&  T&&
>>              (!F || is_abstract)) ||
>>          (!F&&  !is_abstract)) {
>>        is_illegal = true;
>> }
>>
>> i.e.,
>>
>>   (!is_public || is_static || is_final || is_native ||
>>          is_synchronized || is_strict||  !is_abstract) {
>>        is_illegal = true;
>> }
>>
>> * The legality of interface modifiers for Java 8 is updated as
>> perhttp://http://cr.openjdk.java.net/~dlsmith/jsr335-0.6.1/J.html#JJVMS-4.6
>>
>>
>> Thanks,
>>
>> Bharadwaj
>>


More information about the hotspot-runtime-dev mailing list