From 283690ae9bfcecbb3deb80cd275d327c46b276b5 Mon Sep 17 00:00:00 2001 From: hugsy Date: Sun, 30 Jan 2022 14:29:23 -0800 Subject: [PATCH] - added cache management for `Architecture` --- gef.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gef.py b/gef.py index eca41a896..838615460 100644 --- a/gef.py +++ b/gef.py @@ -2198,6 +2198,10 @@ def mprotect_asm(cls, addr: int, size: int, perm: Permission) -> str: pass aliases: Tuple[Union[str, int], ...] = [] special_registers: List[str] = [] + def reset_caches(self) -> None: + self.__get_register_for_selected_frame.cache_clear() + return + def __get_register(self, regname: str) -> Optional[int]: """Return a register's value.""" curframe = gdb.selected_frame() @@ -11546,7 +11550,7 @@ def setup(self) -> None: def reset_caches(self) -> None: """Recursively clean the cache of all the managers. Avoid calling this function directly, using `reset-cache` is preferred""" - for mgr in (self.memory, self.heap, self.session): + for mgr in (self.memory, self.heap, self.session, self.arch): mgr.reset_caches() return