def select_call_release_gil_mode(self): """Overridden in CallBuilder64""" AbstractCallBuilder.select_call_release_gil_mode(self) if self.asm._is_asmgcc(): from rpython.memory.gctransform import asmgcroot self.stack_max = PASS_ON_MY_FRAME - asmgcroot.JIT_USE_WORDS assert self.stack_max >= 3
def __init__(self, assembler, fnloc, arglocs, resloc): AbstractCallBuilder.__init__(self, assembler, fnloc, arglocs, resloc, restype=INT, ressize=None)
def __init__(self, assembler, fnloc, arglocs, resloc=r.r0, restype=INT, ressize=WORD, ressigned=True): AbstractCallBuilder.__init__(self, assembler, fnloc, arglocs, resloc, restype, ressize) self.current_sp = 0
def __init__(self, assembler, fnloc, arglocs, resloc=eax, restype=INT, ressize=WORD): AbstractCallBuilder.__init__(self, assembler, fnloc, arglocs, resloc, restype, ressize) # Avoid tons of issues with a non-immediate fnloc by sticking it # as an extra argument if needed self.fnloc_is_immediate = isinstance(fnloc, ImmedLoc) if not self.fnloc_is_immediate: self.fnloc = None self.arglocs = arglocs + [fnloc] self.current_esp = 0 # 0 or (usually) negative, counted in bytes
def __init__(self, assembler, fnloc, arglocs, resloc, calldescr): type = INT size = WORD self.ressign = True if calldescr is not None and isinstance(calldescr, CallDescr): type = calldescr.get_result_type() size = calldescr.get_result_size() self.ressign = calldescr.is_result_signed() AbstractCallBuilder.__init__(self, assembler, fnloc, arglocs, resloc, restype=type, ressize=size)
def __init__(self, assembler, fnloc, arglocs, resloc=eax, restype=INT, ressize=WORD): AbstractCallBuilder.__init__(self, assembler, fnloc, arglocs, resloc, restype, ressize) # Avoid tons of issues with a non-immediate fnloc by sticking it # as an extra argument if needed if isinstance(fnloc, ImmedLoc): self.fnloc_is_immediate = True self.fnloc = imm(follow_jump(fnloc.value)) else: self.fnloc_is_immediate = False self.fnloc = None self.arglocs = arglocs + [fnloc] self.start_frame_size = self.mc._frame_size
def select_call_release_gil_mode(self): AbstractCallBuilder.select_call_release_gil_mode(self)
def select_call_release_gil_mode(self): AbstractCallBuilder.select_call_release_gil_mode(self) if self.asm._is_asmgcc(): from rpython.memory.gctransform import asmgcroot self.stack_max = PASS_ON_MY_FRAME - asmgcroot.JIT_USE_WORDS assert self.stack_max >= 3