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

Fixing bugs in detecting memory alignments in SuperWord

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P5
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b76
    • CPU:
      x86
    • OS:
      generic

      Backports

        Description

        Fixing bugs in detecting memory alignments in SuperWord:
        SWPointer::scaled_iv_plus_offset (fixing here a bug in detection of "scale"),
        SWPointer::offset_plus_k (fixing here a bug in detection of "invariant"),

        Add tracing output to the code that deal with memory alignment. The following routines are traceable:

        SWPointer::scaled_iv_plus_offset
        SWPointer::offset_plus_k
        SWPointer::scaled_iv,
        WPointer::SWPointer,
        SuperWord::memory_alignment
         
        Tracing is done only for NOT_PRODUCT. Currently tracing is controlled by VectorizeDebug:
         
        #ifndef PRODUCT
          if (_phase->C->method() != NULL) {
               _phase->C->method()->has_option_value("VectorizeDebug", _vector_loop_debug);
          }
        #endif
         
        And VectorizeDebug may take any combination (bitwise OR) of the following values:
        bool is_trace_alignment() { return (_vector_loop_debug & 2) > 0; }
        bool is_trace_mem_slice() { return (_vector_loop_debug & 4) > 0; }
        bool is_trace_loop() { return (_vector_loop_debug & 8) > 0; }
        bool is_trace_adjacent() { return (_vector_loop_debug & 16) > 0; }

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                kvn Vladimir Kozlov
                Reporter:
                kvn Vladimir Kozlov
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: