def ll_weakref_deref(wref): plink = llmemory.cast_weakrefptr_to_ptr(lltype.Ptr(WEAKLINK), wref) if revdb: result = llop.revdb_weakref_deref(llmemory.GCREF, plink) else: result = llmemory.cast_adr_to_ptr(plink.addr, llmemory.GCREF) return result
def op_cast_weakrefptr_to_ptr(self, PTRTYPE, obj): return llmemory.cast_weakrefptr_to_ptr(PTRTYPE, obj)
def ll_weakref_deref(wref): wref = llmemory.cast_weakrefptr_to_ptr(WEAKREFPTR, wref) return wref.weakptr
def ll_weakref_deref(wref): plink = llmemory.cast_weakrefptr_to_ptr(lltype.Ptr(WEAKLINK), wref) return plink[0]
def op_cast_weakrefptr_to_ptr(self, PTRTYPE, obj): assert self.llinterpreter.typer.getconfig().translation.rweakref return llmemory.cast_weakrefptr_to_ptr(PTRTYPE, obj)