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

Clean out Windows IA64 support

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Not an Issue
    • Icon: P3 P3
    • 11
    • 9
    • hotspot
    • None
    • other
    • windows

        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]

        And there's other code in os_windows.cpp specific to IA64.

              gtriantafill George Triantafillou (Inactive)
              coleenp Coleen Phillimore
              Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: