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

Print methods in exception messages in java-like Syntax.

    Details

    • Subcomponent:
    • Resolved In Build:
      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

                • Assignee:
                  goetz Goetz Lindenmaier
                  Reporter:
                  goetz Goetz Lindenmaier
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: