Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2040394 | 1.4.0 | Azeem Jiva | P3 | Resolved | Fixed | beta |
Name: cl74495 Date: 02/03/2001
I am working with the sources from
hotspot-1_3_1-pre-beta-src-b15-solsparc-01_feb_2001.zip
In src/share/vm/adlc/formsopt.hpp, the class PipelineForm
is defined. It appears that quite a few of the int fields
in an instance of PipelineForm are not initialized
reliably.
I had a coredump from adlc, at line 549 of output_c.cpp
548 for (int s = 0; s < _pipeline->_stagecnt; s++)
549 fprintf(fp_cpp, ", \"%s\"", _pipeline->_stages.name(s)); <<< CORE HERE
because _pipeline->_stagecnt was greater than the actual number
of strings in _pipeline->_stages._stages .
The problem did not reproduce when running adlc under dbx,
but by putting a "wait for debugger" loop in adlc and attaching
with dbx, at first execution of line 1819 in adlparse.cpp
1818 // Add the name to the list
1819 pipeline._stages.addName(ident);
1820 pipeline._stagecnt++;
I saw pipeline._stagecnt ==3 .
( See also "Workaround" )
(Review ID: 116311)
======================================================================
- backported by
-
JDK-2040394 uninitialized fields in PipelineForm in adlc
-
- Resolved
-