gitextract_jkwm6bgm/ ├── .gitignore ├── BlockFile.md ├── InterView-obj-isa-class/ │ ├── InterView-obj-isa-class/ │ │ ├── NSObject+MNTest.h │ │ ├── NSObject+MNTest.m │ │ └── main.m │ ├── InterView-obj-isa-class.xcodeproj/ │ │ ├── project.pbxproj │ │ └── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── libmalloc-166.220.1/ │ │ ├── .clang-format │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── include/ │ │ │ └── malloc/ │ │ │ ├── _malloc.h │ │ │ └── malloc.h │ │ ├── libmalloc.xcodeproj/ │ │ │ └── project.pbxproj │ │ ├── man/ │ │ │ ├── malloc.3 │ │ │ ├── malloc_size.3 │ │ │ ├── malloc_zone_malloc.3 │ │ │ └── manpages.lst │ │ ├── private/ │ │ │ ├── malloc_private.h │ │ │ └── stack_logging.h │ │ ├── resolver/ │ │ │ ├── resolver.c │ │ │ ├── resolver.h │ │ │ └── resolver_internal.h │ │ ├── src/ │ │ │ ├── base.h │ │ │ ├── bitarray.c │ │ │ ├── bitarray.h │ │ │ ├── debug.h │ │ │ ├── dtrace.h │ │ │ ├── empty.s │ │ │ ├── frozen_malloc.c │ │ │ ├── frozen_malloc.h │ │ │ ├── internal.h │ │ │ ├── legacy_malloc.c │ │ │ ├── legacy_malloc.h │ │ │ ├── locking.h │ │ │ ├── magazine_inline.h │ │ │ ├── magazine_large.c │ │ │ ├── magazine_lite.c │ │ │ ├── magazine_malloc.c │ │ │ ├── magazine_malloc.h │ │ │ ├── magazine_rack.c │ │ │ ├── magazine_rack.h │ │ │ ├── magazine_small.c │ │ │ ├── magazine_tiny.c │ │ │ ├── magazine_zone.h │ │ │ ├── magmallocProvider.d │ │ │ ├── malloc.c │ │ │ ├── malloc_common.c │ │ │ ├── malloc_common.h │ │ │ ├── malloc_printf.c │ │ │ ├── nano_malloc.c │ │ │ ├── nano_malloc.h │ │ │ ├── nano_malloc_common.c │ │ │ ├── nano_malloc_common.h │ │ │ ├── nano_zone.h │ │ │ ├── nano_zone_common.h │ │ │ ├── nanov2_malloc.c │ │ │ ├── nanov2_malloc.h │ │ │ ├── nanov2_zone.h │ │ │ ├── platform.h │ │ │ ├── printf.h │ │ │ ├── purgeable_malloc.c │ │ │ ├── purgeable_malloc.h │ │ │ ├── radix_tree.c │ │ │ ├── radix_tree.h │ │ │ ├── radix_tree_debug.c │ │ │ ├── radix_tree_internal.h │ │ │ ├── stack_logging_disk.c │ │ │ ├── stack_logging_internal.h │ │ │ ├── thresholds.h │ │ │ ├── trace.h │ │ │ ├── vm.c │ │ │ └── vm.h │ │ ├── tests/ │ │ │ ├── Makefile │ │ │ ├── MallocBench/ │ │ │ │ ├── Benchmark.cpp │ │ │ │ ├── Benchmark.h │ │ │ │ ├── CPUCount.cpp │ │ │ │ ├── CPUCount.h │ │ │ │ ├── CommandLine.cpp │ │ │ │ ├── CommandLine.h │ │ │ │ ├── Interpreter.cpp │ │ │ │ ├── Interpreter.h │ │ │ │ ├── balloon.cpp │ │ │ │ ├── balloon.h │ │ │ │ ├── big.cpp │ │ │ │ ├── big.h │ │ │ │ ├── churn.cpp │ │ │ │ ├── churn.h │ │ │ │ ├── fragment.cpp │ │ │ │ ├── fragment.h │ │ │ │ ├── list.cpp │ │ │ │ ├── list.h │ │ │ │ ├── mbmalloc.cpp │ │ │ │ ├── mbmalloc.h │ │ │ │ ├── medium.cpp │ │ │ │ ├── medium.h │ │ │ │ ├── memalign.cpp │ │ │ │ ├── memalign.h │ │ │ │ ├── message.cpp │ │ │ │ ├── message.h │ │ │ │ ├── realloc.cpp │ │ │ │ ├── realloc.h │ │ │ │ ├── stress.cpp │ │ │ │ ├── stress.h │ │ │ │ ├── stress_aligned.cpp │ │ │ │ ├── stress_aligned.h │ │ │ │ ├── tree.cpp │ │ │ │ └── tree.h │ │ │ ├── MallocBench.cpp │ │ │ ├── asan.c │ │ │ ├── basic_malloc_free_perf.c │ │ │ ├── calloc_test.c │ │ │ ├── libmalloc_tests.xcodeproj/ │ │ │ │ └── project.pbxproj │ │ │ ├── madvise.c │ │ │ ├── magazine_malloc.c │ │ │ ├── magazine_rack.c │ │ │ ├── magazine_small_test.c │ │ │ ├── magazine_testing.h │ │ │ ├── magazine_tiny_test.c │ │ │ ├── malloc_claimed_address_tests.c │ │ │ ├── malloc_free_test.c │ │ │ ├── malloc_size_test.c │ │ │ ├── nano_tests.c │ │ │ ├── perf_contended_malloc_free.c │ │ │ ├── perf_realloc.c │ │ │ ├── radix_tree_test.m │ │ │ ├── reallocarray.c │ │ │ ├── stack_logging_test.c │ │ │ ├── stress_test.c │ │ │ └── tsan.c │ │ ├── tools/ │ │ │ ├── malloc_replay.cpp │ │ │ ├── malloc_replay.h │ │ │ ├── malloc_replay_plotter.py │ │ │ ├── radix_tree_main.m │ │ │ └── read-radix-tree │ │ ├── xcodeconfig/ │ │ │ ├── interposable.list │ │ │ ├── libmalloc.dirty │ │ │ ├── libmalloc.xcconfig │ │ │ ├── libmalloc_eos.xcconfig │ │ │ ├── libmalloc_resolved.xcconfig │ │ │ ├── libmalloc_resolver.xcconfig │ │ │ └── libmalloc_static.xcconfig │ │ └── xcodescripts/ │ │ ├── install-codes.sh │ │ ├── manpages.sh │ │ ├── reindent.sh │ │ └── sanitise_headers.sh │ └── objc4-750/ │ ├── APPLE_LICENSE │ ├── ReleaseNotes.rtf │ ├── interposable.txt │ ├── libobjc.order │ ├── markgc.cpp │ ├── objc.sln │ ├── objc.vcproj │ ├── objc.xcodeproj/ │ │ ├── project.pbxproj │ │ └── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ ├── objcrt/ │ │ └── objcrt.vcproj │ ├── prebuild.bat │ ├── runtime/ │ │ ├── Messengers.subproj/ │ │ │ ├── objc-msg-arm.s │ │ │ ├── objc-msg-arm64.s │ │ │ ├── objc-msg-i386.s │ │ │ ├── objc-msg-simulator-i386.s │ │ │ ├── objc-msg-simulator-x86_64.s │ │ │ ├── objc-msg-win32.m │ │ │ └── objc-msg-x86_64.s │ │ ├── Module/ │ │ │ ├── ObjectiveC.apinotes │ │ │ └── module.modulemap │ │ ├── NSObjCRuntime.h │ │ ├── NSObject.h │ │ ├── NSObject.mm │ │ ├── Object.h │ │ ├── Object.mm │ │ ├── OldClasses.subproj/ │ │ │ ├── List.h │ │ │ └── List.m │ │ ├── Protocol.h │ │ ├── Protocol.mm │ │ ├── arm64-asm.h │ │ ├── hashtable.h │ │ ├── hashtable2.h │ │ ├── hashtable2.mm │ │ ├── isa.h │ │ ├── llvm-AlignOf.h │ │ ├── llvm-DenseMap.h │ │ ├── llvm-DenseMapInfo.h │ │ ├── llvm-MathExtras.h │ │ ├── llvm-type_traits.h │ │ ├── maptable.h │ │ ├── maptable.mm │ │ ├── message.h │ │ ├── objc-abi.h │ │ ├── objc-accessors.mm │ │ ├── objc-api.h │ │ ├── objc-auto.h │ │ ├── objc-auto.mm │ │ ├── objc-block-trampolines.h │ │ ├── objc-block-trampolines.mm │ │ ├── objc-blocktramps-arm.s │ │ ├── objc-blocktramps-arm64.s │ │ ├── objc-blocktramps-i386.s │ │ ├── objc-blocktramps-x86_64.s │ │ ├── objc-cache-old.h │ │ ├── objc-cache-old.mm │ │ ├── objc-cache.h │ │ ├── objc-cache.mm │ │ ├── objc-class-old.mm │ │ ├── objc-class.h │ │ ├── objc-class.mm │ │ ├── objc-config.h │ │ ├── objc-env.h │ │ ├── objc-errors.mm │ │ ├── objc-exception.h │ │ ├── objc-exception.mm │ │ ├── objc-file-old.h │ │ ├── objc-file-old.mm │ │ ├── objc-file.h │ │ ├── objc-file.mm │ │ ├── objc-gdb.h │ │ ├── objc-initialize.h │ │ ├── objc-initialize.mm │ │ ├── objc-internal.h │ │ ├── objc-layout.mm │ │ ├── objc-load.h │ │ ├── objc-load.mm │ │ ├── objc-loadmethod.h │ │ ├── objc-loadmethod.mm │ │ ├── objc-lockdebug.h │ │ ├── objc-lockdebug.mm │ │ ├── objc-locks-new.h │ │ ├── objc-locks-old.h │ │ ├── objc-locks.h │ │ ├── objc-object.h │ │ ├── objc-opt.mm │ │ ├── objc-os.h │ │ ├── objc-os.mm │ │ ├── objc-private.h │ │ ├── objc-probes.d │ │ ├── objc-ptrauth.h │ │ ├── objc-references.h │ │ ├── objc-references.mm │ │ ├── objc-runtime-new.h │ │ ├── objc-runtime-new.mm │ │ ├── objc-runtime-old.h │ │ ├── objc-runtime-old.mm │ │ ├── objc-runtime.h │ │ ├── objc-runtime.mm │ │ ├── objc-sel-old.mm │ │ ├── objc-sel-set.h │ │ ├── objc-sel-set.mm │ │ ├── objc-sel-table.s │ │ ├── objc-sel.mm │ │ ├── objc-sync.h │ │ ├── objc-sync.mm │ │ ├── objc-typeencoding.mm │ │ ├── objc-weak.h │ │ ├── objc-weak.mm │ │ ├── objc.h │ │ ├── objcrt.c │ │ ├── objcrt.h │ │ └── runtime.h │ ├── unexported_symbols │ ├── version.bat │ └── version.rc ├── LICENSE ├── README.md ├── category分析.md ├── isa&&Class&&meta-class.md └── 什么是NSObject.md