Jay Kamat
542f1a6743
Add experimental support for reporting exclusive sizes into rocksdb
2023-03-10 11:46:30 -08:00
Alastair Robertson
d9b13ff101
Integration tests: Test templates
2023-03-09 11:51:41 +00:00
Alastair Robertson
5dd92b7f7f
Integration tests: Test arrays
2023-03-09 11:51:41 +00:00
Alastair Robertson
4eaabbab84
Update drgn to pull in fix for GCC zero-lengh arrays
2023-03-09 11:51:41 +00:00
Alastair Robertson
9dd5c4b4cc
Integration Tests: Test typedefs
2023-03-09 11:51:41 +00:00
Alastair Robertson
340a5e6803
Integration Tests: Test enums
2023-03-09 11:51:41 +00:00
Alastair Robertson
18e636d68d
Integration tests: Add simple class and simple union tests
2023-03-09 11:51:41 +00:00
Alastair Robertson
de071e2e38
FuncGen: Remove dead code
2023-03-08 14:18:36 +00:00
Alastair Robertson
c9e46bee00
FuncGen: Make functions static where possible
...
This will make it easier to share between legacy and TypeGraph codegen.
2023-03-08 14:18:36 +00:00
Alastair Robertson
ccc90c3068
Split codegen into separate build targets
...
To help with the transition to type-graph based CodeGen, we need to
reduce dependencies on legacy CodeGen from other parts of OI.
Pieces of CodeGen referenced by other files, but which only return
drgn data have been moved into a new "drgn_utils" target, allowing
us to remove CodeGen dependencies for these functions.
The new "symbol_service" build target can be used in the future by
other files only needing access to symbol information and not full
CodeGen.
2023-03-08 14:18:20 +00:00
Jake Hillion
53ba312f1e
oilgen: change interface to support multiple calls in one cu
2023-03-07 19:48:18 +00:00
Jon Haslam
ac7a1d4aba
reduce race window for breakpoint trap in prologue ( #85 )
2023-03-04 08:06:19 +00:00
Jake Hillion
be273f6e0d
tests: make relative config paths absolute when copying
2023-02-28 15:13:48 -08:00
Jon Haslam
9e1a9ed36a
Replace nop instructions with ud2 ( #84 )
2023-02-27 16:49:42 -08:00
Jake Hillion
e3ff13fd5e
update rocksdb to 7.9.2
2023-02-27 11:26:39 -08:00
Jake Hillion
3a236aa4f2
sorted_vec_set: finish changing to a container adapter
2023-02-24 10:31:59 -08:00
Jake Hillion
b1c43c2b42
update folly and enable ci usage
2023-02-24 10:31:59 -08:00
Jon Haslam
878b9bfebb
add std::conditional test ( #79 )
2023-02-22 14:37:59 -08:00
Jake Hillion
febcea4928
oilgen: add check for drgn_type_has_name
2023-02-22 12:38:46 -08:00
Jon Haslam
39e19a9c47
Special case conditional_t type name handling ( #75 )
2023-02-21 13:16:26 -08:00
Alastair Robertson
9fd96ec3a4
integration/primitives.toml: Add char8_t test
2023-02-21 11:59:16 -08:00
Jon Haslam
e458ca99eb
Stop enumerating template params for sorted_vector_set ( #74 )
2023-02-21 11:24:02 -08:00
Jay Kamat
aa8980275f
Update drgn to fix invalid pop from iterator code
2023-02-17 12:33:52 -08:00
Alastair Robertson
72f995600e
Move getRootType from OICodeGen to SymbolService
...
To allow other parts of OI to remove dependencies on OICodeGen in the
future.
2023-02-17 11:53:10 -08:00
arsarwade
2d7692d7c1
Fix/remove some log statements ( #67 )
...
Summary:
Remove some more log statements to reduce output
Test Plan:
make test-devel
2023-02-17 11:41:10 -08:00
Alastair Robertson
ab2f58b7fe
Bump minimum CMake version to 3.19
...
We are already using CMP0109 which depends on 3.19. This change just
provides more useful error messages when using older versions.
2023-02-14 17:53:12 +00:00
Jake Hillion
7cf5c6d39a
oil: removed unused cache in OILibrary
2023-02-14 11:34:08 +00:00
Jake Hillion
337e386516
remove unused ManifoldCache.h from OICompiler
2023-02-10 15:25:18 +00:00
Jon Haslam
74e07eef0e
Remove type path printing debug code ( #65 )
...
* Fix folly::sorted_vector_set and minor codegen comment change
* remove printTypePath debug code
2023-02-10 14:12:41 +00:00
Jake Hillion
31f4382178
ci: bump repeat-until-pass to 4
2023-02-08 17:13:58 +00:00
Jon Haslam
c260586a4e
Fix folly::sorted_vector_set and minor codegen comment change ( #63 )
2023-02-08 14:34:14 +00:00
Jake Hillion
cb71e69ca5
oilgen: make strong getObjectSize noinline
2023-02-06 15:23:48 +00:00
Jake Hillion
7d000e5d9e
oilgen: set object size to 0 before starting
2023-02-06 15:23:48 +00:00
Jake Hillion
72f31639b7
oilgen: add an --exit-code option to fail on noop
2023-02-03 17:26:15 +00:00
Jake Hillion
9cb8fd7a97
add missing virtual destructors
2023-02-03 17:26:04 +00:00
Alastair Robertson
13bbe2e1bb
Code coverage: Checkout repo before running
...
Apparently this is needed for CodeCov.io to work.
2023-02-03 16:52:36 +00:00
Alastair Robertson
397b798235
CI: Add code coverage reporting
...
Add CODE_COVERAGE option to enable coverage instrumentation in builds.
Add new CI job to upload coverage reports to CodeCov.io.
Reports can be found by navigating the codecov.io UI, or by going to
the URL printed at the end of the "Code Coverage" CI job. More CodeCov
integration could be set up later once we have coverage reporting on the
main branch.
2023-02-03 12:16:56 +00:00
Alastair Robertson
5c5bfd315c
OIDebugger: Remove extra "0x" prefix when logging addresses
2023-02-02 16:57:27 +00:00
Alastair Robertson
3468db7b0a
CI: Parallelise tests
...
This reduces the time to run tests from 5-9 minutes down to 3-4 minutes.
`nproc` is returning `1` on the CI node which is processing our
config.yml. In the absense of a better way of getting the number of CPUs
on our executor, just hardcode it.
We actually have 16 cores on our 2xlarge executors, but higher
parallelism in tests appears to cause oid to sometimes fail with SIGILL.
I'm still investigating this problem.
2023-02-02 15:02:39 +00:00
Alastair Robertson
b00958378b
CI: Split build and test into separate jobs
...
This will give us more flexibility later, e.g. allowing different steps
for GCC and Clang (as needed for code coverage), or letting us
parallelise our tests across multiple machines.
2023-02-02 14:21:41 +00:00
Jake Hillion
8956ca5522
oil: switch to using an impl function with no default implementation ( #46 )
2023-02-02 11:15:11 +00:00
Alastair Robertson
6f786b4348
CI: Output junit result format directly from CTest
...
Remove the conversion script we were previously using.
2023-02-02 11:00:58 +00:00
Jake Hillion
23026d80ba
config: look up paths relative to config file
2023-02-01 14:54:33 +00:00
Jake Hillion
fcaede9e7d
oil: make ObjectAddr a const reference
2023-01-31 13:30:58 +00:00
Jake Hillion
ee56decc10
oil: change interface to references
2023-01-31 13:30:58 +00:00
Jake Hillion
499b8c6f74
oil: stub out more of the header in AoT mode
2023-01-31 13:30:58 +00:00
Jay Kamat
01abff9019
Update small vec types to reflect folly update
...
Folly updated the signature of small vec types here:
c0a4e11b31
I needed to add a new 'using' for policy_size_type, as this is commonly
used with this new template parameter.
2023-01-30 19:01:38 -08:00
Alastair Robertson
9e72ada131
Support dynamic polymorphic inheritance
...
i.e. classes which contain virtual functions and use a virtual pointer
2023-01-30 13:22:09 +00:00
Alastair Robertson
aef8826a3a
Update drgn submodule
...
Adds support for C++ member functions and virtuality.
2023-01-30 13:22:09 +00:00
Alastair Robertson
ab499f6b83
Polymorphic inheritance tests
2023-01-30 13:22:09 +00:00