Make ModRefBarrierSetAssembler abstract on all platforms

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Fixed
    • Priority: P4
    • 11
    • Affects Version/s: None
    • Component/s: hotspot
    • None
    • b11

      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.

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

              Created:
              Updated:
              Resolved: