Thank you Karen - and EG members.

David

On 24/05/2018 3:07 AM, Karen Kinnear wrote:
David,

The Valhalla EG met today May 23, 2018 and walked through the details of this proposal and how
they relate to the JVMS.

The EG was ok with these changes. Thank you for sending them for review.

thanks,
Karen

On May 22, 2018, at 8:08 PM, David Holmes <david.hol...@oracle.com <mailto:david.hol...@oracle.com>> wrote:

Code review found some minor issues that needed attention. Please advise if there are any concerns with these changes.

Thanks,

David


Full specs: http://cr.openjdk.java.net/~dholmes/8010319-JEP181/specs


      java.lang.Class::getNestHost()

http://cr.openjdk.java.net/~dholmes/8010319-JEP181/specs/java.lang/java/lang/Class.html

  * Error handling

    The original text stated:

        "If there is any
        
error<http://cr.openjdk.java.net/%7Edholmes/8010319-JEP181/specs/java.lang/java/lang/LinkageError.html>
        accessing the nest host, or the nest host is in any way
        invalid, then |this| is returned."

    but the implementation only catches LinkageErrors. In the original
    discussion:

    
http://mail.openjdk.java.net/pipermail/valhalla-spec-experts/2017-October/000386.html

    this wasn't discussed explicitly. It was mentioned by me in passing:

    "Though a case can still be made to allow VME's to pass through."

    and that is what has been happening with other API's (eg.
    MethodHandles). It is generally bad form to catch things like
    OutOfMemoryError and StackOverflow, so these should just
    propagate. So the text is updated to read:

        "If there is anylinkage error
        
<http://cr.openjdk.java.net/%7Edholmes/8010319-JEP181/specs/java.lang/java/lang/LinkageError.html>
        accessing the nest host, or the nest host is in any way
        invalid, then |this| is returned."

    where "linkage error" links to LinkageError.

  * Additional clarifying/explanatory text
      o To the paragraph starting "A /nest/ is a set of classes and
        interfaces ..", we add the final sentence: "
        All nestmates are implicitly defined in the same runtime package."
      o In the sentence starting "A class or interface that is not
        explicitly a member of a nest, is a member of the nest
        consisting only of itself, ..." we insert a clarification
        concerning primitive and array classes: "A class or interface
        that is not explicitly a member of a nest (such as a primitive
        or array class), is a member of the nest consisting only of
        itself, ..."
      o The @return text is reworded from: "the nest host of this
        class, or this if we cannot obtain a valid nest host" to "the
        nest host of this class, or |this| if a valid nest host cannot
        be obtained"




Reply via email to