hotspot/src/share/vm/opto/buildOopMap.cpp
changeset 2131 98f9cef66a34
parent 670 ddf3e9583f2f
child 2573 b5002ef26155
equal deleted inserted replaced
2130:f935aa562118 2131:98f9cef66a34
    53 //
    53 //
    54 // The reaching def's is a simple 1-pass worklist approach.  I tried a clever
    54 // The reaching def's is a simple 1-pass worklist approach.  I tried a clever
    55 // breadth-first approach but it was worse (showed O(n^2) in the
    55 // breadth-first approach but it was worse (showed O(n^2) in the
    56 // pick-next-block code).
    56 // pick-next-block code).
    57 //
    57 //
    58 // The relevent data is kept in a struct of arrays (it could just as well be
    58 // The relevant data is kept in a struct of arrays (it could just as well be
    59 // an array of structs, but the struct-of-arrays is generally a little more
    59 // an array of structs, but the struct-of-arrays is generally a little more
    60 // efficient).  The arrays are indexed by register number (including
    60 // efficient).  The arrays are indexed by register number (including
    61 // stack-slots as registers) and so is bounded by 200 to 300 elements in
    61 // stack-slots as registers) and so is bounded by 200 to 300 elements in
    62 // practice.  One array will map to a reaching def Node (or NULL for
    62 // practice.  One array will map to a reaching def Node (or NULL for
    63 // conflict/dead).  The other array will map to a callee-saved register or
    63 // conflict/dead).  The other array will map to a callee-saved register or