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

uninitialized fields in PipelineForm in adlc

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 1.3.1
    • 1.3.1
    • hotspot
    • rc1
    • sparc
    • solaris_8



        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)
        ======================================================================

              azeemj Azeem Jiva
              clucasius Carlos Lucasius (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: