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

Karen Kinnear karen.kinnear at oracle.com
Tue Jan 8 09:53:58 PST 2013


Bharadwaj.

Code looks good. Thank you for the comments in the code and the explanation below.

thanks,
Karen

On Jan 7, 2013, at 1:17 PM, 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