• b32

        Task description:
        ---------------------

        The compiler team is responsible for implementing the following Diagnostic Commands (see main bug):

        print_codegenlist
        dump_codelist
        print_codeblocks


        Implementation:
        -------------------------

        Command: "dump_codegenlist"
        New name: "Code.codelist"
        Changes: prints to stdout instead of file
        Description: compile ID, compile level, name and signature, [start of nmethod, start of code - end of code]

        Example:
        823 2 spec.jbb.JBButil.NUrand_val(IIIIS)I [0x00007f685d45af90, 0x00007f685d45b1c0 - 0x00007f685d45b8a0]
        849 2 spec.jbb.NewOrder.getId()I [0x00007f685d45bb90, 0x00007f685d45bd00 - 0x00007f685d45bfd8]
        608 1 spec.jbb.Customer.getDiscountRate()Ljava/math/BigDecimal; [0x00007f685d45c110, 0x00007f685d45c280 - 0x00007f685d45c438]
        637 1 spec.jbb.District.getId()I [0x00007f685d45c510, 0x00007f685d45c660 - 0x00007f685d45c798]
        ...

        Command: "print_codegenlist"
        New name: "Code.compile_queue"

        Example:

        Contents of C1 compile queue
        ----------------------------
        Empty
        ----------------------------
        Contents of C2 compile queue
        ----------------------------
         807 4 java.util.TreeMap::getCeilingEntry (107 bytes)
         809 4 java.math.BigDecimal::layoutChars (656 bytes)
         812 4 java.util.logging.Logger::logp (40 bytes)
         817 s 4 spec.jbb.Order::getOrderlineList (45 bytes)

        Command: "print_codeblocks"
        New name: "Code.codecache"
        Changes: Hotspot does not have segments for different code types, thus is contains much less information.

        Example:

        CodeCache: size=245760Kb used=2577Kb max_used=2580Kb free=243182Kb
         bounds [0x00007f82e1000000, 0x00007f82e1290000, 0x00007f82f0000000]
         total_blobs=664 nmethods=91 adapters=494
         compilation: enabled


        Help messages:
        ----------------------------

        >> help Compiler.codecache
        Compiler.codecache
        Print code cache layout and bounds.

        Impact: Low

        Permission: java.lang.management.ManagementPermission(monitor)

        Syntax: Compiler.codecache

        >>help Compiler.codelist
        Compiler.codelist
        Print all compiled methods in code cache.

        Impact: Medium

        Permission: java.lang.management.ManagementPermission(monitor)

        Syntax: Compiler.codelist

        >>help Compiler.queue
        Compiler.queue
        Print methods queued for compilation.

        Impact: Low

        Permission: java.lang.management.ManagementPermission(monitor)

        Syntax: Compiler.queue


              neliasso Nils Eliasson (Inactive)
              sla Staffan Larsen (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: