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

Make ModRefBarrierSetAssembler abstract on all platforms

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Fixed
    • P4
    • 11
    • None
    • hotspot
    • None
    • b11

    Description

      The inconsistency was introduced in JDK-8199417: oop_store_at is open for overriding for particular GCs, oop_store_at is marked as pure virtual on some platforms, and the ModRefBS becomes abstract because of that.

      Yet, AArch64 and PPC implementations do provide the default implementation:

      void ModRefBarrierSetAssembler::oop_store_at(MacroAssembler* masm, DecoratorSet decorators, BasicType type,
                                                   Address dst, Register val, Register tmp1, Register tmp2) {
        BarrierSetAssembler::store_at(masm, decorators, type, dst, val, tmp1, tmp2);
      }

      It makes sense to keep ModRefBarrierSetAssembler abstract on all platforms, to catch missing overrides.

      Attachments

        Issue Links

          Activity

            People

              shade Aleksey Shipilev
              shade Aleksey Shipilev
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: