object-introspection/oi
Jake Hillion a9cffbe22d Compile Time OIL for OIL v2
Summary:
Update `OIGenerator` and out BUCK stuff for compile time OIL with OIL v2. Main things:
- Switch `OIGenerator` from the `getObjectSize` call to the new `introspect` call.
- Switch from looking at template parameters to looking at function parameters, as this was exposing a bug in our elfutils/drgn and this way it's the same as OID.
- Migrate `OIGenerator` to CodeGen v2 and update CodeGen v2 to accept a linkage name.
- Update the compile time example to be the same as the JIT example, using the new interface and the JSON exporter.
- Clean up the `ObjectIntrospection.h` header.

Differential Revision: D48687728

fbshipit-source-id: 2c3c041fd1b6499c5e02eb5e2082a977bfa529d7
2023-08-30 04:28:02 -07:00
..
exporters oil v2 2023-08-23 15:59:53 +01:00
support tomlplusplus: compile header once 2023-05-30 16:43:10 +02:00
type_graph name contained types properly in treebuilder v2 2023-08-25 16:25:14 +01:00
types/test move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
CMakeLists.txt oil v2 2023-08-23 15:59:53 +01:00
CodeGen.cpp Compile Time OIL for OIL v2 2023-08-30 04:28:02 -07:00
CodeGen.h Compile Time OIL for OIL v2 2023-08-30 04:28:02 -07:00
ContainerInfo.cpp oil v2 2023-08-23 15:59:53 +01:00
ContainerInfo.h oil v2 2023-08-23 15:59:53 +01:00
ContainerTypeEnum.h Implement Container V2 for std::multiset 2023-08-25 16:07:10 +02:00
Descs.cpp move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
Descs.h move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
DrgnUtils.cpp ensure oi_name is never a nullptr (#165) 2023-06-12 16:47:34 -07:00
DrgnUtils.h DrgnUtils: Add isSizeComplete and underlyingType helper functions 2023-05-24 15:57:18 +01:00
EnumBitset.h Flattener: Attempt to take params from parent allocator in case of bad DWARF 2023-06-27 14:06:02 +01:00
Features.cpp oil v2 2023-08-23 15:59:53 +01:00
Features.h oil v2 2023-08-23 15:59:53 +01:00
FuncGen.cpp Compile Time OIL for OIL v2 2023-08-30 04:28:02 -07:00
FuncGen.h Compile Time OIL for OIL v2 2023-08-30 04:28:02 -07:00
Headers.h Compile Time OIL for OIL v2 2023-08-30 04:28:02 -07:00
IntrospectionResult.cpp oil v2 2023-08-23 15:59:53 +01:00
Metrics.cpp move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
Metrics.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OICache.cpp move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OICache.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OICodeGen.cpp oil v2 2023-08-23 15:59:53 +01:00
OICodeGen.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OICompiler.cpp Compile Time OIL for OIL v2 2023-08-30 04:28:02 -07:00
OICompiler.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OID.cpp move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OIDebugger.cpp move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OIDebugger.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OIGenerator.cpp Compile Time OIL for OIL v2 2023-08-30 04:28:02 -07:00
OIGenerator.h Compile Time OIL for OIL v2 2023-08-30 04:28:02 -07:00
OILexer.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OILexer.l move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OILibrary.cpp oil v2 2023-08-23 15:59:53 +01:00
OILibraryImpl.cpp oil: fix verbosity level in jit oil 2023-08-24 17:39:12 +01:00
OILibraryImpl.h oil v2 2023-08-23 15:59:53 +01:00
OIOpts.h move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
OIParser.h move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
OIParser.yy move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
OITraceCode.cpp name contained types properly in treebuilder v2 2023-08-25 16:25:14 +01:00
OIUtils.cpp features: centralise requirement logic 2023-08-09 15:23:12 +01:00
OIUtils.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
PaddingHunter.cpp move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
PaddingHunter.h move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
Serialize.cpp move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
Serialize.h clean up common.h 2023-06-09 13:15:17 +02:00
SymbolService.cpp oil v2 2023-08-23 15:59:53 +01:00
SymbolService.h oil v2 2023-08-23 15:59:53 +01:00
Syscall.h move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
TimeUtils.h move src directory to oi (#134) 2023-04-26 16:20:53 +01:00
TrapInfo.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
TreeBuilder.cpp Implement Container V2 for std::multiset 2023-08-25 16:07:10 +02:00
TreeBuilder.h move all internal logic to oi::detail namespace 2023-07-26 18:01:38 +01:00
TypeHierarchy.h clean up common.h 2023-06-09 13:15:17 +02:00
X86InstDefs.h move src directory to oi (#134) 2023-04-26 16:20:53 +01:00