Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b754353fb35e5ef83ef156291ef2455b281c1f48
      
https://github.com/WebKit/WebKit/commit/b754353fb35e5ef83ef156291ef2455b281c1f48
  Author: Marcus Plutowski <[email protected]>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

  Changed paths:
    M Source/bmalloc/libpas/src/libpas/pas_mte.h
    M Source/bmalloc/libpas/src/libpas/pas_mte_config.h

  Log Message:
  -----------
  [libpas] Unconditionally tag-on-alloc
https://bugs.webkit.org/show_bug.cgi?id=308483
rdar://171007509

Reviewed by Keith Miller.

Generally, we want to avoid unnecessary tag-set operations due to
the performance and power implications. When retag-on-scavenge is
enabled, this is possible for non-initial segregated allocations
as they would have been previously tagged, meaning that those tags
can be re-used for the new allocation.
However, we cannot make this assumption when the pages in question may
have been decommitted since they were last tagged. Until libpas handles
this case properly (e.g. by tagging on recommit, rdar://171662605) then
we need to tag on both alloc and free.

Referencing the diagrams from pas_mte.h, we are effectively moving from a
tagging policy of
 *                         [-----]    [--------------]            [-----]
 *      Segregated heaps:  ^     ^                   ^                  ^
 *          Bitfit heaps:  ^     ^    ^              ^            ^     ^
to a policy of
 *                         [-----]    [--------------]            [-----]
 *      Segregated heaps:  ^     ^    ^              ^            ^     ^
 *          Bitfit heaps:  ^     ^    ^              ^            ^     ^

Canonical link: https://commits.webkit.org/308769@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to