@@ -194,7 +194,7 @@ class Optimizer:
194194 _re_small_const_1 = _RE_NEVER_MATCH
195195 _re_small_const_2 = _RE_NEVER_MATCH
196196 const_reloc = "<Not supported>"
197- _frame_pointer_prologue : typing .ClassVar [re .Pattern [str ]] = _RE_NEVER_MATCH
197+ _frame_pointer_modify : typing .ClassVar [re .Pattern [str ]] = _RE_NEVER_MATCH
198198
199199 def __post_init__ (self ) -> None :
200200 # Split the code into a linked list of basic blocks. A basic block is an
@@ -561,7 +561,7 @@ def _validate(self):
561561 continue
562562 for inst in block .instructions :
563563 if self .frame_pointers :
564- assert self ._frame_pointer_prologue .match (inst .text ) is None , "Frame pointer should not be modified"
564+ assert self ._frame_pointer_modify .match (inst .text ) is None , "Frame pointer should not be modified"
565565
566566 def run (self ) -> None :
567567 """Run this optimizer."""
@@ -606,7 +606,7 @@ class OptimizerAArch64(Optimizer): # pylint: disable = too-few-public-methods
606606 r"\s*(?P<instruction>ldr)\s+.*(?P<value>_JIT_OP(ARG|ERAND(0|1))_(16|32)).*"
607607 )
608608 const_reloc = "CUSTOM_AARCH64_CONST"
609- _frame_pointer_prologue = re .compile (r"\s*stp\s+x29.*" )
609+ _frame_pointer_modify = re .compile (r"\s*stp\s+x29.*" )
610610
611611 def _get_reg (self , inst : Instruction ) -> str :
612612 _ , rest = inst .text .split (inst .name )
@@ -662,4 +662,4 @@ class OptimizerX86(Optimizer): # pylint: disable = too-few-public-methods
662662 _re_jump = re .compile (r"\s*jmp\s+(?P<target>[\w.]+)" )
663663 # https://www.felixcloutier.com/x86/ret
664664 _re_return = re .compile (r"\s*retq?\b" )
665- _frame_pointer_prologue = re .compile (r"\s*pushq \s+%rbp.*" )
665+ _frame_pointer_modify = re .compile (r"\s*movq?\s+%(\w+), \s+%rbp.*" )
0 commit comments