DynamoRIO / DynamoRIO/dynamorio
need to flush icache on code cache memory re-use on ARM
- Dominant language
- C
- Stars
- 3.2k
- Forks
- 629
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 30
Description
Today we flush just on hot-patching branches for linking and unlinking.
We also need to flush big regions if we ever re-use them for new fragments.
For cases like cache resets, we'll have to decide whether this is simpler
to do on freeing, or whether we need to maintain a data structure that tracks
whether we've ever had code in each unit.
Contributor guide
Research direction
Locate the ARM code-cache reuse paths and the existing instruction-cache flushes used for hot-patching branches. Compare handling during cache reset and region freeing, then determine how reused regions can be identified and flushed; done means newly allocated fragments never execute stale instructions after reuse.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- performance
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100