Landing: 57a8b54cc4d9

Project / Subsystem

gcc / libstdc++

Date

2026-05-05

Author

Jonathan Wakely

Commit

57a8b54cc4d9d7750d8e98f1df1cbbb1aacfad09

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
libstdc++
patch_id
commit_hash
57a8b54cc4d9d7750d8e98f1df1cbbb1aacfad09
source_type
github
headline
Libstdc++: Simplify std::shared_ptr internals
tldr
The `_Impl` classes inside `_Sp_counted_deleter` and `_Sp_counted_ptr_inplace` are removed, simplifying the internal layout of `std::shared_ptr`.
author
Jonathan Wakely
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • libstdc++
  • shared_ptr
  • refactoring
  • memory management
discussion_id_link
bugzilla_pr
date
2026-05-05T00:00:00.000Z

The _Impl classes inside _Sp_counted_deleter and _Sp_counted_ptr_inplace are removed. This change simplifies the internal layout of std::shared_ptr by flattening these classes now that empty base optimization (EBO) is no longer used, streamlining memory management and potentially improving performance.