Mercurial > cpython-lru_cache-weakref
view PC/python34stub.def @ 87690:66c1c9f32567 default tip
Add use_weakref option to functools.lru_cache
The use_weakref option makes lru_cache create weak references to the function
arguments when creating the cache key, which prevents them from staying in the
memory forever even after all other references to them are gone.
This is a proof of concept for http://bugs.python.org/issue19859
| author | Radomir Dopieralski <devel@sheep.art.pl> |
|---|---|
| date | Tue, 03 Dec 2013 16:02:48 +0100 |
| parents | 3a86a3f1d89a |
| children |
line wrap: on
line source
LIBRARY "python34" EXPORTS PyArg_Parse PyArg_ParseTuple PyArg_ParseTupleAndKeywords PyArg_UnpackTuple PyArg_VaParse PyArg_VaParseTupleAndKeywords PyArg_ValidateKeywordArguments PyBaseObject_Type PyBool_FromLong PyBool_Type PyByteArrayIter_Type PyByteArray_AsString PyByteArray_Concat PyByteArray_FromObject PyByteArray_FromStringAndSize PyByteArray_Resize PyByteArray_Size PyByteArray_Type PyBytesIter_Type PyBytes_AsString PyBytes_AsStringAndSize PyBytes_Concat PyBytes_ConcatAndDel PyBytes_DecodeEscape PyBytes_FromFormat PyBytes_FromFormatV PyBytes_FromObject PyBytes_FromString PyBytes_FromStringAndSize PyBytes_Repr PyBytes_Size PyBytes_Type PyCFunction_Call PyCFunction_ClearFreeList PyCFunction_GetFlags PyCFunction_GetFunction PyCFunction_GetSelf PyCFunction_New PyCFunction_NewEx PyCFunction_Type PyCallIter_New PyCallIter_Type PyCallable_Check PyCapsule_GetContext PyCapsule_GetDestructor PyCapsule_GetName PyCapsule_GetPointer PyCapsule_Import PyCapsule_IsValid PyCapsule_New PyCapsule_SetContext PyCapsule_SetDestructor PyCapsule_SetName PyCapsule_SetPointer PyCapsule_Type PyClassMethodDescr_Type PyCodec_BackslashReplaceErrors PyCodec_Decode PyCodec_Decoder PyCodec_Encode PyCodec_Encoder PyCodec_IgnoreErrors PyCodec_IncrementalDecoder PyCodec_IncrementalEncoder PyCodec_KnownEncoding PyCodec_LookupError PyCodec_Register PyCodec_RegisterError PyCodec_ReplaceErrors PyCodec_StreamReader PyCodec_StreamWriter PyCodec_StrictErrors PyCodec_XMLCharRefReplaceErrors PyComplex_FromDoubles PyComplex_ImagAsDouble PyComplex_RealAsDouble PyComplex_Type PyDescr_NewClassMethod PyDescr_NewGetSet PyDescr_NewMember PyDescr_NewMethod PyDictItems_Type PyDictIterItem_Type PyDictIterKey_Type PyDictIterValue_Type PyDictKeys_Type PyDictProxy_New PyDictProxy_Type PyDictValues_Type PyDict_Clear PyDict_Contains PyDict_Copy PyDict_DelItem PyDict_DelItemString PyDict_GetItem PyDict_GetItemString PyDict_GetItemWithError PyDict_Items PyDict_Keys PyDict_Merge PyDict_MergeFromSeq2 PyDict_New PyDict_Next PyDict_SetItem PyDict_SetItemString PyDict_Size PyDict_Type PyDict_Update PyDict_Values PyEllipsis_Type PyEnum_Type PyErr_BadArgument PyErr_BadInternalCall PyErr_CheckSignals PyErr_Clear PyErr_Display PyErr_ExceptionMatches PyErr_Fetch PyErr_Format PyErr_GivenExceptionMatches PyErr_NewException PyErr_NewExceptionWithDoc PyErr_NoMemory PyErr_NormalizeException PyErr_Occurred PyErr_Print PyErr_PrintEx PyErr_ProgramText PyErr_Restore PyErr_SetFromErrno PyErr_SetFromErrnoWithFilename PyErr_SetFromErrnoWithFilenameObject PyErr_SetInterrupt PyErr_SetNone PyErr_SetObject PyErr_SetString PyErr_SyntaxLocation PyErr_WarnEx PyErr_WarnExplicit PyErr_WarnFormat PyErr_WriteUnraisable PyEval_AcquireLock PyEval_AcquireThread PyEval_CallFunction PyEval_CallMethod PyEval_CallObjectWithKeywords PyEval_EvalCode PyEval_EvalCodeEx PyEval_EvalFrame PyEval_EvalFrameEx PyEval_GetBuiltins PyEval_GetCallStats PyEval_GetFrame PyEval_GetFuncDesc PyEval_GetFuncName PyEval_GetGlobals PyEval_GetLocals PyEval_InitThreads PyEval_ReInitThreads PyEval_ReleaseLock PyEval_ReleaseThread PyEval_RestoreThread PyEval_SaveThread PyEval_ThreadsInitialized PyExc_ArithmeticError PyExc_AssertionError PyExc_AttributeError PyExc_BaseException PyExc_BufferError PyExc_BytesWarning PyExc_DeprecationWarning PyExc_EOFError PyExc_EnvironmentError PyExc_Exception PyExc_FloatingPointError PyExc_FutureWarning PyExc_GeneratorExit PyExc_IOError PyExc_ImportError PyExc_ImportWarning PyExc_IndentationError PyExc_IndexError PyExc_KeyError PyExc_KeyboardInterrupt PyExc_LookupError PyExc_MemoryError PyExc_MemoryErrorInst PyExc_NameError PyExc_NotImplementedError PyExc_OSError PyExc_OverflowError PyExc_PendingDeprecationWarning PyExc_RecursionErrorInst PyExc_ReferenceError PyExc_RuntimeError PyExc_RuntimeWarning PyExc_StopIteration PyExc_SyntaxError PyExc_SyntaxWarning PyExc_SystemError PyExc_SystemExit PyExc_TabError PyExc_TypeError PyExc_UnboundLocalError PyExc_UnicodeDecodeError PyExc_UnicodeEncodeError PyExc_UnicodeError PyExc_UnicodeTranslateError PyExc_UnicodeWarning PyExc_UserWarning PyExc_ValueError PyExc_Warning PyExc_ZeroDivisionError PyException_GetCause PyException_GetContext PyException_GetTraceback PyException_SetCause PyException_SetContext PyException_SetTraceback PyFile_FromFd PyFile_GetLine PyFile_WriteObject PyFile_WriteString PyFilter_Type PyFloat_AsDouble PyFloat_FromDouble PyFloat_FromString PyFloat_GetInfo PyFloat_GetMax PyFloat_GetMin PyFloat_Type PyFrozenSet_New PyFrozenSet_Type PyGC_Collect PyGILState_Ensure PyGILState_GetThisThreadState PyGILState_Release PyGetSetDescr_Type PyImport_AddModule PyImport_AppendInittab PyImport_Cleanup PyImport_ExecCodeModule PyImport_ExecCodeModuleEx PyImport_ExecCodeModuleWithPathnames PyImport_GetImporter PyImport_GetMagicNumber PyImport_GetMagicTag PyImport_GetModuleDict PyImport_Import PyImport_ImportFrozenModule PyImport_ImportModule PyImport_ImportModuleLevel PyImport_ImportModuleNoBlock PyImport_ReloadModule PyInterpreterState_Clear PyInterpreterState_Delete PyInterpreterState_New PyIter_Next PyListIter_Type PyListRevIter_Type PyList_Append PyList_AsTuple PyList_GetItem PyList_GetSlice PyList_Insert PyList_New PyList_Reverse PyList_SetItem PyList_SetSlice PyList_Size PyList_Sort PyList_Type PyLongRangeIter_Type PyLong_AsDouble PyLong_AsLong PyLong_AsLongAndOverflow PyLong_AsLongLong PyLong_AsLongLongAndOverflow PyLong_AsSize_t PyLong_AsSsize_t PyLong_AsUnsignedLong PyLong_AsUnsignedLongLong PyLong_AsUnsignedLongLongMask PyLong_AsUnsignedLongMask PyLong_AsVoidPtr PyLong_FromDouble PyLong_FromLong PyLong_FromLongLong PyLong_FromSize_t PyLong_FromSsize_t PyLong_FromString PyLong_FromUnsignedLong PyLong_FromUnsignedLongLong PyLong_FromVoidPtr PyLong_GetInfo PyLong_Type PyMap_Type PyMapping_Check PyMapping_GetItemString PyMapping_HasKey PyMapping_HasKeyString PyMapping_Items PyMapping_Keys PyMapping_Length PyMapping_SetItemString PyMapping_Size PyMapping_Values PyMem_Free PyMem_Malloc PyMem_Realloc PyMemberDescr_Type PyMemoryView_FromObject PyMemoryView_GetContiguous PyMemoryView_Type PyMethodDescr_Type PyModule_AddIntConstant PyModule_AddObject PyModule_AddStringConstant PyModule_Create2 PyModule_GetDef PyModule_GetDict PyModule_GetFilename PyModule_GetFilenameObject PyModule_GetName PyModule_GetState PyModule_New PyModule_Type PyNullImporter_Type PyNumber_Absolute PyNumber_Add PyNumber_And PyNumber_AsSsize_t PyNumber_Check PyNumber_Divmod PyNumber_Float PyNumber_FloorDivide PyNumber_InPlaceAdd PyNumber_InPlaceAnd PyNumber_InPlaceFloorDivide PyNumber_InPlaceLshift PyNumber_InPlaceMultiply PyNumber_InPlaceOr PyNumber_InPlacePower PyNumber_InPlaceRemainder PyNumber_InPlaceRshift PyNumber_InPlaceSubtract PyNumber_InPlaceTrueDivide PyNumber_InPlaceXor PyNumber_Index PyNumber_Invert PyNumber_Long PyNumber_Lshift PyNumber_Multiply PyNumber_Negative PyNumber_Or PyNumber_Positive PyNumber_Power PyNumber_Remainder PyNumber_Rshift PyNumber_Subtract PyNumber_ToBase PyNumber_TrueDivide PyNumber_Xor PyOS_AfterFork PyOS_InitInterrupts PyOS_InputHook PyOS_InterruptOccurred PyOS_ReadlineFunctionPointer PyOS_double_to_string PyOS_getsig PyOS_mystricmp PyOS_mystrnicmp PyOS_setsig PyOS_snprintf PyOS_string_to_double PyOS_strtol PyOS_strtoul PyOS_vsnprintf PyObject_ASCII PyObject_AsCharBuffer PyObject_AsFileDescriptor PyObject_AsReadBuffer PyObject_AsWriteBuffer PyObject_Bytes PyObject_Call PyObject_CallFunction PyObject_CallFunctionObjArgs PyObject_CallMethod PyObject_CallMethodObjArgs PyObject_CallObject PyObject_CheckReadBuffer PyObject_ClearWeakRefs PyObject_DelItem PyObject_DelItemString PyObject_Dir PyObject_Format PyObject_Free PyObject_GC_Del PyObject_GC_Track PyObject_GC_UnTrack PyObject_GenericGetAttr PyObject_GenericSetAttr PyObject_GetAttr PyObject_GetAttrString PyObject_GetItem PyObject_GetIter PyObject_HasAttr PyObject_HasAttrString PyObject_Hash PyObject_HashNotImplemented PyObject_Init PyObject_InitVar PyObject_IsInstance PyObject_IsSubclass PyObject_IsTrue PyObject_Length PyObject_Malloc PyObject_Not PyObject_Realloc PyObject_Repr PyObject_RichCompare PyObject_RichCompareBool PyObject_SelfIter PyObject_SetAttr PyObject_SetAttrString PyObject_SetItem PyObject_Size PyObject_Str PyObject_Type PyParser_SimpleParseFileFlags PyParser_SimpleParseStringFlags PyProperty_Type PyRangeIter_Type PyRange_Type PyReversed_Type PySeqIter_New PySeqIter_Type PySequence_Check PySequence_Concat PySequence_Contains PySequence_Count PySequence_DelItem PySequence_DelSlice PySequence_Fast PySequence_GetItem PySequence_GetSlice PySequence_In PySequence_InPlaceConcat PySequence_InPlaceRepeat PySequence_Index PySequence_Length PySequence_List PySequence_Repeat PySequence_SetItem PySequence_SetSlice PySequence_Size PySequence_Tuple PySetIter_Type PySet_Add PySet_Clear PySet_Contains PySet_Discard PySet_New PySet_Pop PySet_Size PySet_Type PySlice_GetIndices PySlice_GetIndicesEx PySlice_New PySlice_Type PySortWrapper_Type PyState_FindModule PyState_AddModule PyState_RemoveModule PyStructSequence_GetItem PyStructSequence_New PyStructSequence_NewType PyStructSequence_SetItem PySuper_Type PySys_AddWarnOption PySys_AddWarnOptionUnicode PySys_FormatStderr PySys_FormatStdout PySys_GetObject PySys_HasWarnOptions PySys_ResetWarnOptions PySys_SetArgv PySys_SetArgvEx PySys_SetObject PySys_SetPath PySys_WriteStderr PySys_WriteStdout PyThreadState_Clear PyThreadState_Delete PyThreadState_DeleteCurrent PyThreadState_Get PyThreadState_GetDict PyThreadState_New PyThreadState_SetAsyncExc PyThreadState_Swap PyTraceBack_Here PyTraceBack_Print PyTraceBack_Type PyTupleIter_Type PyTuple_ClearFreeList PyTuple_GetItem PyTuple_GetSlice PyTuple_New PyTuple_Pack PyTuple_SetItem PyTuple_Size PyTuple_Type PyType_ClearCache PyType_FromSpec PyType_FromSpecWithBases PyType_GenericAlloc PyType_GenericNew PyType_GetFlags PyType_IsSubtype PyType_Modified PyType_Ready PyType_Type PyUnicodeDecodeError_Create PyUnicodeDecodeError_GetEncoding PyUnicodeDecodeError_GetEnd PyUnicodeDecodeError_GetObject PyUnicodeDecodeError_GetReason PyUnicodeDecodeError_GetStart PyUnicodeDecodeError_SetEnd PyUnicodeDecodeError_SetReason PyUnicodeDecodeError_SetStart PyUnicodeEncodeError_GetEncoding PyUnicodeEncodeError_GetEnd PyUnicodeEncodeError_GetObject PyUnicodeEncodeError_GetReason PyUnicodeEncodeError_GetStart PyUnicodeEncodeError_SetEnd PyUnicodeEncodeError_SetReason PyUnicodeEncodeError_SetStart PyUnicodeIter_Type PyUnicodeTranslateError_GetEnd PyUnicodeTranslateError_GetObject PyUnicodeTranslateError_GetReason PyUnicodeTranslateError_GetStart PyUnicodeTranslateError_SetEnd PyUnicodeTranslateError_SetReason PyUnicodeTranslateError_SetStart PyUnicodeUCS2_Append PyUnicodeUCS2_AppendAndDel PyUnicodeUCS2_AsASCIIString PyUnicodeUCS2_AsCharmapString PyUnicodeUCS2_AsDecodedObject PyUnicodeUCS2_AsDecodedUnicode PyUnicodeUCS2_AsEncodedObject PyUnicodeUCS2_AsEncodedString PyUnicodeUCS2_AsEncodedUnicode PyUnicodeUCS2_AsLatin1String PyUnicodeUCS2_AsRawUnicodeEscapeString PyUnicodeUCS2_AsUTF16String PyUnicodeUCS2_AsUTF32String PyUnicodeUCS2_AsUTF8String PyUnicodeUCS2_AsUnicodeEscapeString PyUnicodeUCS2_AsWideChar PyUnicodeUCS2_ClearFreelist PyUnicodeUCS2_Compare PyUnicodeUCS2_Concat PyUnicodeUCS2_Contains PyUnicodeUCS2_Count PyUnicodeUCS2_Decode PyUnicodeUCS2_DecodeASCII PyUnicodeUCS2_DecodeCharmap PyUnicodeUCS2_DecodeFSDefault PyUnicodeUCS2_DecodeFSDefaultAndSize PyUnicodeUCS2_DecodeLatin1 PyUnicodeUCS2_DecodeRawUnicodeEscape PyUnicodeUCS2_DecodeUTF16 PyUnicodeUCS2_DecodeUTF16Stateful PyUnicodeUCS2_DecodeUTF32 PyUnicodeUCS2_DecodeUTF32Stateful PyUnicodeUCS2_DecodeUTF8 PyUnicodeUCS2_DecodeUTF8Stateful PyUnicodeUCS2_DecodeUnicodeEscape PyUnicodeUCS2_FSConverter PyUnicodeUCS2_FSDecoder PyUnicodeUCS2_Find PyUnicodeUCS2_Format PyUnicodeUCS2_FromEncodedObject PyUnicodeUCS2_FromFormat PyUnicodeUCS2_FromFormatV PyUnicodeUCS2_FromObject PyUnicodeUCS2_FromOrdinal PyUnicodeUCS2_FromString PyUnicodeUCS2_FromStringAndSize PyUnicodeUCS2_FromWideChar PyUnicodeUCS2_GetDefaultEncoding PyUnicodeUCS2_GetSize PyUnicodeUCS2_IsIdentifier PyUnicodeUCS2_Join PyUnicodeUCS2_Partition PyUnicodeUCS2_RPartition PyUnicodeUCS2_RSplit PyUnicodeUCS2_Replace PyUnicodeUCS2_Resize PyUnicodeUCS2_RichCompare PyUnicodeUCS2_SetDefaultEncoding PyUnicodeUCS2_Split PyUnicodeUCS2_Splitlines PyUnicodeUCS2_Tailmatch PyUnicodeUCS2_Translate PyUnicode_BuildEncodingMap PyUnicode_CompareWithASCIIString PyUnicode_DecodeUTF7 PyUnicode_DecodeUTF7Stateful PyUnicode_EncodeFSDefault PyUnicode_InternFromString PyUnicode_InternImmortal PyUnicode_InternInPlace PyUnicode_Type PyWeakref_GetObject PyWeakref_NewProxy PyWeakref_NewRef PyWrapperDescr_Type PyWrapper_New PyZip_Type Py_AddPendingCall Py_AtExit Py_BuildValue Py_CompileString Py_DecRef Py_EndInterpreter Py_Exit Py_FatalError Py_FileSystemDefaultEncoding Py_Finalize Py_GetBuildInfo Py_GetCompiler Py_GetCopyright Py_GetExecPrefix Py_GetPath Py_GetPlatform Py_GetPrefix Py_GetProgramFullPath Py_GetProgramName Py_GetPythonHome Py_GetRecursionLimit Py_GetVersion Py_HasFileSystemDefaultEncoding Py_IncRef Py_Initialize Py_InitializeEx Py_IsInitialized Py_Main Py_MakePendingCalls Py_NewInterpreter Py_ReprEnter Py_ReprLeave Py_SetProgramName Py_SetPythonHome Py_SetRecursionLimit Py_SymtableString Py_VaBuildValue _PyErr_BadInternalCall _PyObject_CallFunction_SizeT _PyObject_CallMethod_SizeT _PyObject_GC_Malloc _PyObject_GC_New _PyObject_GC_NewVar _PyObject_GC_Resize _PyObject_New _PyObject_NewVar _PyState_AddModule _PyThreadState_Init _PyThreadState_Prealloc _PyTrash_delete_later _PyTrash_delete_nesting _PyTrash_deposit_object _PyTrash_destroy_chain _PyWeakref_CallableProxyType _PyWeakref_ProxyType _PyWeakref_RefType _Py_BuildValue_SizeT _Py_CheckRecursionLimit _Py_CheckRecursiveCall _Py_Dealloc _Py_EllipsisObject _Py_FalseStruct _Py_NoneStruct _Py_NotImplementedStruct _Py_SwappedOp _Py_TrueStruct _Py_VaBuildValue_SizeT _PyArg_Parse_SizeT _PyArg_ParseTuple_SizeT _PyArg_ParseTupleAndKeywords_SizeT _PyArg_VaParse_SizeT _PyArg_VaParseTupleAndKeywords_SizeT _Py_BuildValue_SizeT
