Landing: 84db13f68e14

Project / Subsystem

gcc / gccrs

Date

2026-06-23

Author

Enes Cevik

Commit

84db13f68e143c844b787a55e80ca4c9c07076be

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
gccrs
patch_id
commit_hash
84db13f68e143c844b787a55e80ca4c9c07076be
source_type
github
headline
gccrs: Refactor dynamic object fat pointers and vtable generation
tldr
gccrs refactors vtable generation for dynamic objects, improving fat pointer structure and metadata.
author
Enes Cevik
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • gccrs
  • backend
  • codegen
  • optimization
  • refactor
discussion_id_link
bugzilla_pr
date
2026-06-23T00:00:00.000Z

This commit refactors how gccrs handles dynamic object fat pointers and generates virtual method tables (vtables). The fat pointer is now strictly two words, and vtables are generated as separate global static structs containing trait object metadata like ‘size’, ‘align’, and ‘drop_in_place’, alongside trait methods. A caching mechanism prevents duplicate vtable generation.