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

Bharadwaj Yadavalli bharadwaj.yadavalli at oracle.com
Mon Jan 7 10:15:39 PST 2013


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