Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8221470

Print methods in exception messages in java-like Syntax.

    XMLWordPrintable

Details

    • b16

    Backports

      Description

        A row of exceptions are thrown from the hotspot runtime.
        They print methods with their JNI signatures. To increase
        readability and resemblance to source code, print them
        in a Java-like syntax.

        Some examples:

        current method printouts:

        test.TeMe3_B.ma()V
        test.TeMe3_B.ma(IZ[[BF)[[D
        test.TeMe3_B.ma([[[Ljava/lang/Object;)[[Ltest/TeMe3_B;

        improved format:

        void test.TeMe3_B.ma()
        double[][] test.TeMe3_B.ma(int, boolean, byte[][], float)
        test.TeMe3_B[][] test.TeMe3_B.ma(java.lang.Object[][][])

        So far, Method::name_and_sig_as_C_string() is used to print
        these messages.

        Implement function Method::external_name() that prints the better
        format.
        external_name() is chosen according to Klass::external_name().

        Printing the better format requires parsing the signature
        Symbol. This is implemented in
        void Symbol::print_as_signature_external_return_type(outputStream *os);
        void Symbol::print_as_signature_external_parameters(outputStream *os);
        These method names are chosen according to Symbol::as_class_external_name().

        Adapt printing messages and according tests.

        Attachments

          Issue Links

            Activity

              People

                goetz Goetz Lindenmaier
                goetz Goetz Lindenmaier
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: