-
Bug
-
Resolution: Fixed
-
P3
-
18, 19
A change in the CFG file format introduced by JDK-8277496 makes the log file unreadable by the C1Visualizer tool.
The change adds a new line in the CFG file "(block has no end, cannot print successors)" that the C1Visualizer tool is not able to parse:
begin_cfg
name "BlockListBuilder virtual void java.lang.Object.<init>()"
begin_block
name "B0"
from_bci 0
to_bci -1
predecessors
(block has no end, cannot print successors). <====
xhandlers
flags "std"
end_block
end_cfg
There's no fundamental reason to provide the "no end block" information in the log file, instead a line tagged "successors" with an empty set of successors would be sufficient and would not break the C1Visualizer:
begin_cfg
name "BlockListBuilder virtual void java.lang.Object.<init>()"
begin_block
name "B0"
from_bci 0
to_bci -1
predecessors
successors <==============
xhandlers
flags "std"
end_block
end_cfg
The C1Visualizer tool is not maintained anymore, so fixing it is not an option.
An alternative solution would be to use a script to "fix" log files before opening them with the C1Visualizer, but it seems to add an unnecessary step in the process.
The change adds a new line in the CFG file "(block has no end, cannot print successors)" that the C1Visualizer tool is not able to parse:
begin_cfg
name "BlockListBuilder virtual void java.lang.Object.<init>()"
begin_block
name "B0"
from_bci 0
to_bci -1
predecessors
(block has no end, cannot print successors). <====
xhandlers
flags "std"
end_block
end_cfg
There's no fundamental reason to provide the "no end block" information in the log file, instead a line tagged "successors" with an empty set of successors would be sufficient and would not break the C1Visualizer:
begin_cfg
name "BlockListBuilder virtual void java.lang.Object.<init>()"
begin_block
name "B0"
from_bci 0
to_bci -1
predecessors
successors <==============
xhandlers
flags "std"
end_block
end_cfg
The C1Visualizer tool is not maintained anymore, so fixing it is not an option.
An alternative solution would be to use a script to "fix" log files before opening them with the C1Visualizer, but it seems to add an unnecessary step in the process.
- relates to
-
JDK-8277496 Remove duplication in c1 Block successor lists
-
- Resolved
-