Add missing Op_RoundDoubleMode in VectorNode::vector_operands()

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Fixed
    • Priority: P4
    • 21
    • Affects Version/s: 21
    • Component/s: hotspot
    • b11
    • generic
    • generic

      VectorNode::vector_operands() is a C2 function used to get a half-open range [start, end) defining which operands are vectors to handle. Op_RoundDoubleMode has two operands but only the 1st one is a vector. Its 2nd operand is the rounding mode (ceil/floor/rint). Missing Op_RoundDoubleMode in the switch block results in the 2nd operand treated as a vector. It is fortunate that this hasn't caused any crash yet because the code follows assumes the 2nd input is an immediate to replicate. C2 just runs some extra code with it. But we should fix this potential issue.

            Assignee:
            Pengfei Li
            Reporter:
            Pengfei Li
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: