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

Remove bitrotted Windows IA64 code in src/share/vm/oops/oop.inline.hpp

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Closed
    • Priority: P3
    • Resolution: Duplicate
    • Affects Version/s: 9, 10
    • Fix Version/s: 10
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • OS:
      windows

      Description

      In src/share/vm/oops/oop.inline.hpp size_given_klass():
      ...
      #ifdef _M_IA64
            // The Windows Itanium Aug 2002 SDK hoists this load above
            // the check for s < 0. An oop at the end of the heap will
            // cause an access violation if this load is performed on a non
            // array oop. Making the reference volatile prohibits this.
            // (%%% please explain by what magic the length is actually fetched!)
            volatile int *array_length;
            array_length = (volatile int *)( (intptr_t)this +
                                arrayOopDesc::length_offset_in_bytes() );
            assert(array_length > 0, "Integer arithmetic problem somewhere");
            // Put into size_t to avoid overflow.
            size_in_bytes = (size_t) array_length;
            size_in_bytes = size_in_bytes << Klass::layout_helper_log2_element_size(lh);
      #else

      This has been broken since 2005. As pointed out by [~kbarrett]

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              gtriantafill George Triantafillou (Inactive)
              Reporter:
              gtriantafill George Triantafillou (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: