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

Bharadwaj Yadavalli bharadwaj.yadavalli at oracle.com
Mon Jan 7 10:17:59 PST 2013


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