Valhalla EG Jan 31, 2018

Karen Kinnear karen.kinnear at
Tue Jan 30 22:36:26 UTC 2018

Reminder: meeting resumes Jan 31
at 9am PT/ noon ET/ 17 Dublin, 18 Grenoble/Stockholm, 20 St Petersburg <>

audio only:     +1 646 558 8656 or +1 669 900 6833 US Toll

Initial agenda items:

1. Condy:
JVMS final ConstantDynamic spec: last call for feedback: <>

summary of final changes:

2. Nestmates:
JVMS changes:

Summary: Changes from: <>
JVMS 6 Invokeinterface:

Run-time Exceptions
> Otherwise, if step 1 or step 2 of the lookup procedure selects a method that is not public, invokeinterface throws an IllegalAccessError.
> This is the line that we believe could be restored, slightly modified to apply to the selection lookup procedure steps in 5.4.5, so that the only non-public selected method would be a private method which is the referenced method as well as the selected method.

Concretely, we would undo this deletion, and instead modify the rule as follows:

"Otherwise, if step 1 or step 2 of the lookup procedure selects a method that is ~~not public~~ **neither public nor private**, invokeinterface throws an IllegalAccessError."

The motivation here is that invokeinterface is uniquely able to i) resolve to a public interface method, and ii) select a protected/package method of a superclass that would otherwise be inaccessible to the caller. The fact that the referenced method is in an interface is important, because anyone with the ability to extend a class can also declare a fresh superinterface that includes any method names+descriptors they're interested in.

3. LWorld Value Types:
Updated proposal - walk through 
   key changes: signature handling, nullability


More information about the valhalla-spec-observers mailing list