diff options
| author | Mason Reed <mason@vector35.com> | 2025-04-06 20:00:00 -0400 |
|---|---|---|
| committer | Mason Reed <mason@vector35.com> | 2025-04-06 20:00:37 -0400 |
| commit | c22d54c5d95f4d23629484579414387b0c7503ee (patch) | |
| tree | 933a58c8ed3518f507f5bd4d496364411273f5b9 /view/sharedcache/core/VirtualMemory.h | |
| parent | 4f22a944d77f784b53ee3a37d9f1966ede1c98a4 (diff) | |
[SharedCache] Replace write log with callback registration for reapplying slide info
This improves performance by ~10x with the only real issue being a copy of the cache entry existing for each weak ref.
Also fixes
- Some old TODO's that are no longer relevant
- Some function signatures not being const
- FileAccessorCache not evicting enough accessors to fit under an adjusted cache size
- Added a warning if we are over the global cache size in view initialization
- Logger name not having a `.` in `SlideInfoProcessor::SlideInfoProcessor`
- Re-added the accessor dirty check before applying slide info to fix https://github.com/Vector35/binaryninja-api/issues/6570
Diffstat (limited to 'view/sharedcache/core/VirtualMemory.h')
| -rw-r--r-- | view/sharedcache/core/VirtualMemory.h | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/view/sharedcache/core/VirtualMemory.h b/view/sharedcache/core/VirtualMemory.h index 43a9acb4..2edc6ef3 100644 --- a/view/sharedcache/core/VirtualMemory.h +++ b/view/sharedcache/core/VirtualMemory.h @@ -55,10 +55,7 @@ public: bool IsAddressMapped(uint64_t address); - // TODO: Bulk pointer writes here would alleviate a lot of the time spent in the slide info processor. - // Write a pointer at a given address. This pointer will be persisted - // for a given `VirtualMemoryRegion` region, unlike using the MappedFileAccessor directly. - // The persistence is provided through the WeakFileAccessor itself and thus is unique to the construction. + // Write a pointer at a given address. This pointer is never persisted when a file accessor is closed. void WritePointer(size_t address, size_t pointer); std::string ReadCString(uint64_t address); |
