JDK-8054889 : Compiler team's implementation task
  • Type: Sub-task
  • Component: hotspot
  • Sub-Component: compiler
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2014-08-12
  • Updated: 2018-01-04
  • Resolved: 2014-09-11
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9 b32Fixed
Related Reports
Relates :  
Description
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



Comments
Actually, only a Due Date since there is no Integration Date field.
22-08-2014

[~neliasso], we need an Integration and Due Date.
12-08-2014