mirror of
https://github.com/JakeHillion/object-introspection.git
synced 2024-09-18 18:59:04 +01:00
Object Introspection (OI) enables on-demand, hierarchical profiling of objects in arbitrary C/C++ programs with no recompilation.
7eebee2bf7
Previously AlignmentCalc calculates the alignment and sets packing for every type except a member with explicit alignment. Change this to check whether an alignment has been previously set for a type before calculating it. Use this in ClangTypeParser where the full alignment of the type is available. Remove explicitly aligning members by the type because that was previously reserved for members with explicit alignment. AlignmentCalc will correctly align a member to the underlying type without this. Explicit member alignment is still missing, as before this change. Test plan: - CI - Too little. Gets further into a production type than without this change. |
||
---|---|---|
.circleci | ||
.github | ||
cmake | ||
examples | ||
extern | ||
include/oi | ||
oi | ||
resources | ||
test | ||
tools | ||
types | ||
website | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.git-blame-ignore-revs | ||
.gitignore | ||
.gitmodules | ||
CHANGELOG.md | ||
CMakeLists.txt | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
dev.oid.toml | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
oss.oid.toml | ||
README.md |
object-introspection
Object Introspection is a memory profiling technology for C++ objects. It provides the ability to dynamically instrument applications to capture the precise memory occupancy of entire object hierarchies including all containers and dynamic allocations. All this with no code modification or recompilation!
For more information on the technology and how to get started applying it to your applications please check out the Object Introspection website.
Join the Object Introspection community
See the CONTRIBUTING file for how to help out.
License
Object Introspection is licensed under the Apache 2.0 License.