cpython/PCbuild/_freeze_module.vcxproj.filters
Dino Viehland 05f2f0ac92
gh-90815: Add mimalloc memory allocator (#109914)
* Add mimalloc v2.12

Modified src/alloc.c to remove include of alloc-override.c and not
compile new handler.

Did not include the following files:

 - include/mimalloc-new-delete.h
 - include/mimalloc-override.h
 - src/alloc-override-osx.c
 - src/alloc-override.c
 - src/static.c
 - src/region.c

mimalloc is thread safe and shares a single heap across all runtimes,
therefore finalization and getting global allocated blocks across all
runtimes is different.

* mimalloc: minimal changes for use in Python:

 - remove debug spam for freeing large allocations
 - use same bytes (0xDD) for freed allocations in CPython and mimalloc
   This is important for the test_capi debug memory tests

* Don't export mimalloc symbol in libpython.
* Enable mimalloc as Python allocator option.
* Add mimalloc MIT license.
* Log mimalloc in Lib/test/pythoninfo.py.
* Document new mimalloc support.
* Use macro defs for exports as done in:
  https://github.com/python/cpython/pull/31164/

Co-authored-by: Sam Gross <colesbury@gmail.com>
Co-authored-by: Christian Heimes <christian@python.org>
Co-authored-by: Victor Stinner <vstinner@python.org>
2023-10-30 15:43:11 +00:00

576 lines
19 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Python Files">
<UniqueIdentifier>{eb238244-ace1-48fc-97a4-16ff886f8642}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\Programs\_freeze_module.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\_io\_iomodule.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\_tracemalloc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\_warnings.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\abstract.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\asdl.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\assemble.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\ast.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\ast_opt.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\ast_unparse.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\atexitmodule.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\bltinmodule.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\boolobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\bootstrap_hash.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\_io\bufferedio.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\bytearrayobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\bytes_methods.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\_io\bytesio.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\bytesobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\call.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\capsule.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\cellobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\ceval.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\classobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\codecs.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\codeobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\perf_trampoline.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\compile.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\complexobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\PC\config_minimal.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\context.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\descrobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\dictobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\dtoa.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\dynamic_annotations.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\dynload_win.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\enumobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\errors.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\executor.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\exceptions.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\faulthandler.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\_io\fileio.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\fileobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\fileutils.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\floatobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\flowgraph.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\formatter_unicode.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\frame.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\frameobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\funcobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\future.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\gcmodule.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\genericaliasobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\genobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\getargs.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\getbuildinfo.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\getcompiler.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\getcopyright.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\getopt.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\getpath_noop.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\getplatform.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\getversion.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\ceval_gil.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\hamt.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\hashtable.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\import.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\importdl.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\initconfig.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\intrinsics.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\instrumentation.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\legacy_tracing.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\interpreteridobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\PC\invalid_parameter_handler.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\_io\iobase.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\iterobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\listobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\longobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\marshal.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\memoryobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\methodobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\mimalloc\alloc-aligned.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\alloc.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\arena.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\bitmap.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\heap.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\init.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\options.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\os.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\page.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\prim\prim.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\random.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\segment.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\segment-map.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Objects\mimalloc\stats.c">
<Filter>Source Files</Filter>
</CLCompile>
<ClCompile Include="..\Python\modsupport.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\moduleobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\PC\msvcrtmodule.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Parser\myreadline.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\mysnprintf.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\mystrtoul.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\namespaceobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\object.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\obmalloc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\odictobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\optimizer.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\optimizer_analysis.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Parser\parser.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\pathconfig.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Parser\peg_api.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Parser\pegen.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\picklebufobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\posixmodule.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\preconfig.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\pyarena.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\pyctype.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\pyfpe.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\pyhash.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\pylifecycle.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\pymath.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\pystate.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\pystrcmp.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\pystrhex.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\pystrtod.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\Python-ast.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\pythonrun.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\Python-tokenize.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\pytime.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\rangeobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\setobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\signalmodule.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\sliceobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\specialize.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Parser\string_parser.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\_io\stringio.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\structmember.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\structseq.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\suggestions.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\symtable.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\sysmodule.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\_io\textio.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\thread.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\timemodule.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Parser\token.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Parser\lexer\lexer.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Parser\lexer\buffer.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Parser\lexer\state.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Parser\tokenizer\string_tokenizer.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Parser\tokenizer\utf8_tokenizer.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Parser\tokenizer\file_tokenizer.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Parser\tokenizer\readline_tokenizer.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Parser\tokenizer\helpers.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\traceback.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Python\tracemalloc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\tupleobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\typeobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\unicodectype.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\unicodeobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\unionobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Objects\weakrefobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\Modules\_io\winconsoleio.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\PC\winreg.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="..\Modules\getpath.py">
<Filter>Python Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<!-- BEGIN frozen modules -->
<None Include="..\Lib\importlib\_bootstrap.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\importlib\_bootstrap_external.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\zipimport.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\abc.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\codecs.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\io.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\_collections_abc.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\_sitebuiltins.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\genericpath.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\ntpath.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\posixpath.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\os.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\site.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\stat.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\importlib\util.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\importlib\machinery.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\runpy.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\__hello__.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\__phello__\__init__.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\__phello__\ham\__init__.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\__phello__\ham\eggs.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\__phello__\spam.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Tools\freeze\flag.py">
<Filter>Python Files</Filter>
</None>
<!-- END frozen modules -->
</ItemGroup>
</Project>