aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/codesearch/database.go
Commit message (Collapse)AuthorAgeFilesLines
* pkg/codesearch: reduce memory consumption a bit moreDmitry Vyukov2026-01-221-7/+7
| | | | | Use uint32 instead of int for line numbers (2G lines should be enough for everyone). Reorder fields to remove unnecessary paddings.
* pkg/codesearch: reduce memory consumption moreDmitry Vyukov2026-01-221-8/+100
| | | | | Use uint8 enums instead of strings to store entity/reference kind. String is 16 bytes and is slower to work with.
* pkg/codesearch: reduce memory consumption when building indexDmitry Vyukov2026-01-221-8/+51
| | | | | | | | | | | | | | | | | | With all references in the index, it become quite big. Merge and dedup the resulting index on the fly. Also intern all strings b/c there are tons of duplicates. This also removes unnecessary duplicates (effectively ODR violations in the kernel) due to use of BUILD_BUG_ON. The macro produces different function calls in different translations units, so the same function may contain __compiletime_assert_N1 call in one TU and __compiletime_assert_N2 in another. Over this reduces resource consumption of index building from: time:296.11s user:16993.71s sys:6661.03s memory:82707MB to: time:194.28s user:16860.01s sys:6647.01s memory: 3243MB 25x reduction in memory consumption.
* tools/clang/codesearch: index struct referencesDmitry Vyukov2026-01-221-1/+1
| | | | Update #6469
* pkg/codesearch: do indexing of struct/union/enumDmitry Vyukov2026-01-211-1/+1
| | | | Update #6469
* pkg/aflow/tool/codesearcher: take into account DB format when cachingDmitry Vyukov2026-01-211-0/+16
| | | | | | If format of the codesearch DB file changes, we need to create new DB rather than use old cached one. Add DB format hash to cache signature.
* pkg/codesearch: support searching for referencesDmitry Vyukov2026-01-211-6/+14
| | | | | | | | | Extend codesearch clang tool to export info about function references (calls, takes-address-of). Add pkg/codesearch command find-references. Export find-references in pkg/aflow/tools/codesearcher to LLMs. Update #6469
* pkg/codesearch: add skeleton for code searching toolDmitry Vyukov2025-11-201-0/+56
Add a clang tool that is used for code indexing (tools/clang/codesearch/). It follows conventions and build procedure of the declextract tool. Add pkg/codesearch package that aggregates the info exposed by the clang tools, and allows doing simple queries: - show source code of an entity (function, struct, etc) - show entity comment - show all entities defined in a source file Add tools/syz-codesearch wrapper tool that allows to create index for a kernel build, and then run code queries on it.