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

enhancement of cmpxchg and copy_to_survivor for ppc64

XMLWordPrintable

    • gc
    • b17
    • arm, ppc

        The current implementation of cmpxchg was done in a sequential consistent way.
        On PPC64, it uses a sync instruction before and one after the cmpxchg code which is the most conservative implementation.
        However, these sync instructions cause overhead because they are very expensive in the current POWER chip design.

        Proposed Enhancement (by Hiroshi H Horii):
        Callers can explicitly specify memory barriers. Default value must be conservative so it is not necessary to change all callers.

        The change will improve performance of copy_to_survivor in the parallel GC.
        copy_to_survivor changes forward pointers by using cmpxchg. This operation doesn't require any sync instructions.
        A pointer is changed at most once in a GC and when cmpxchg fails, the latest pointer is available for the caller.

              horii Hiroshi Horii (Inactive)
              mdoerr Martin Doerr
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: