Commit Graph

  • feb43aee0d Fix Windows build develop Mattias Jansson 2025-10-26 19:21:49 +01:00
  • 490e34d9f5 Use packaging instead of distutils in msvc toolchain enumerator Mattias Jansson 2025-10-26 15:31:34 +01:00
  • ff6608b027 Handle commit failures with callback and return null Mattias Jansson 2025-10-26 15:27:35 +01:00
  • 44bfb525d0 Fix validate args impl Mattias Jansson 2025-10-26 14:48:21 +01:00
  • 620dd00980 Add heap stats and update global status Mattias Jansson 2025-10-26 14:33:56 +01:00
  • dea263ba02 Windows updates and Visual Studio fixes (#360) Vaughn Nugent 2025-10-25 09:21:34 -04:00
  • b0ce72c291 Fix build on arm64ec (#362) Ryan Houdek 2025-10-25 05:32:20 -07:00
  • 6b34d95691 Fix missing init when first call is a huge alloc Mattias Jansson 2025-08-10 14:33:35 +02:00
  • 66fd705a81 feat: add support for LoongArch (#353) Catty Steve 2025-05-27 01:57:44 +08:00
  • 89e9a46618 fix: use shlex than pipes to support python3.13 (#352) Catty Steve 2025-05-27 01:56:40 +08:00
  • 979092cf45 Switch to 0BSD + UNLICENSE Mattias Jansson 2025-03-15 12:35:27 +01:00
  • bcd8080509 Check compiler level for builtin thread pointer Mattias Jansson 2025-03-15 12:19:53 +01:00
  • 56b41c36a3 fix _Static_assert/Thread_local -Wpre-c11-compat build error with clang. (#339) David CARLIER 2025-03-15 11:10:00 +00:00
  • 7e1dcac7f0 GetLargePageMinimum is only available on certain flavors of Windows - we'll default to 2MB on the ones that don't support the call (#348) Trithek 2025-03-15 13:09:26 +02:00
  • d313031c6b Update Android TLS model check Mattias Jansson 2025-03-15 12:04:59 +01:00
  • 9351765a98 android: Enable tls_model("local_dynamic") for NDK-less builds on LLVM >= 17 (#349) main Marijn Suijten 2025-03-15 12:04:34 +01:00
  • 8f768ab93e Clean up thread ID Mattias Jansson 2025-03-15 11:58:45 +01:00
  • 19a9daa6a1 Use acquire release memory semantics for weak memory model support Mattias Jansson 2025-03-15 11:50:52 +01:00
  • d5c329e014 Correct positional arguments for allocation attrib of rpmalloc_heap_aligned_calloc Mattias Jansson 2025-01-11 17:54:21 +01:00
  • 60d76b7eb8 Correct positional arguments for allocation attrib of rpmalloc_heap_aligned_calloc Mattias Jansson 2025-01-11 17:53:48 +01:00
  • 2162002191 Avoid issues with has builtin macro Mattias Jansson 2025-01-11 17:47:47 +01:00
  • 73d3177abf Update TLS model for Android based on sdk version Mattias Jansson 2025-01-11 17:37:27 +01:00
  • 20844207cf Restore default TLS model Mattias Jansson 2025-01-11 17:34:59 +01:00
  • b443c9dc5f Set TLS model on Android depending on target sdk (#347) Trout Zhang 2025-01-11 23:40:16 +08:00
  • d60ad1f974 Improve crossthread free (#336) Mattias Jansson 2024-05-18 22:55:38 +02:00
  • 4f1b39a55e Retain per page type mjansson/crossthread-free Mattias Jansson 2024-05-18 22:45:44 +02:00
  • b6b035806f Tune down page retain Mattias Jansson 2024-05-18 22:28:24 +02:00
  • 718c5221ce Use builtin thread pointer and set correct virtual alloc flags Mattias Jansson 2024-05-18 22:24:08 +02:00
  • db6bcc4d62 New clang warnings and formatting Mattias Jansson 2024-05-18 22:14:57 +02:00
  • 884ec2b5bc Introduce a heap thread free list Mattias Jansson 2024-05-18 22:03:02 +02:00
  • a46c10cebb Use correct name for retain count Mattias Jansson 2024-05-18 21:25:51 +02:00
  • 7993a04a32 adding option to disable thp on linux/android Mattias Jansson 2024-05-18 11:42:56 +02:00
  • 565e92b6cc adding option to disable thp on linux/android. David Carlier 2024-05-17 22:12:25 +01:00
  • 955f44b6c3 Avoid specifying a tls model Mattias Jansson 2024-05-12 21:23:46 +02:00
  • f92bf85224 Clang compat Mattias Jansson 2024-05-12 21:14:44 +02:00
  • 137bc8451c Avoid initial page commit on Windows Mattias Jansson 2024-04-20 15:39:40 +02:00
  • 2863309a8c Fix init symbol ref for x86 linking Mattias Jansson 2024-04-04 21:06:24 +02:00
  • 6a41733f7a fix: i686 Wodann 2024-04-03 11:06:31 +00:00
  • 6b3ebcb11d Promote rewrite branch to develop Mattias Jansson 2024-04-01 23:18:13 +02:00
  • 2dd697f69a Merge branch 'develop' into mjansson/rewrite mjansson/rewrite Mattias Jansson 2024-04-01 09:25:39 +02:00
  • e562595f2c Merge branch 'develop' into mjansson/rewrite Mattias Jansson 2024-04-01 09:21:46 +02:00
  • e4393ff855 Use __yield on ARM64 Windows 1.4.5 Mattias Jansson 2024-04-01 09:04:44 +02:00
  • ba9b001dd3 Use __yield on ARM64 Windows Mattias Jansson 2024-04-01 09:04:17 +02:00
  • d20307b611 Update CHANGELOG Mattias Jansson 2024-04-01 09:02:45 +02:00
  • d8c324da19 Update CHANGELOG Mattias Jansson 2024-04-01 09:02:11 +02:00
  • 94f24c7d61 Merge to main Mattias Jansson 2024-04-01 08:55:59 +02:00
  • 5932457ebd Windows ARM64 support Mattias Jansson 2024-04-01 08:45:23 +02:00
  • a9904521c3 perf: check global cache before extracting from reserved memory (#323) FujiZ 2024-04-01 02:32:55 +08:00
  • ef179ff86d Fix issue where pages could end up on default heap Mattias Jansson 2024-01-25 23:27:35 +01:00
  • b41aa177fc Properly release span cache on free all (#321) Mattias Jansson 2023-12-25 09:24:26 +01:00
  • 858d8b484c Properly release span cache on free all mjansson/fix-first-class-free-all Mattias Jansson 2023-12-25 09:21:44 +01:00
  • 3953ffd04b Add _base variants of Windows Heap API Mattias Jansson 2023-12-22 23:41:08 +01:00
  • 240f482903 Add _base variants of Windows Heap API (#317) taigacon 2023-12-23 06:39:47 +08:00
  • 64e3a3ccd7 Fix Windows global init proc to return 0 Mattias Jansson 2023-12-22 23:39:23 +01:00
  • 2b0639406a Merge branch 'mjansson/rewrite' of https://github.com/mjansson/rpmalloc into mjansson/rewrite Mattias Jansson 2023-12-22 23:12:21 +01:00
  • 8800e19d1c Split the heap get page for better codegen Mattias Jansson 2023-12-22 23:12:15 +01:00
  • 839925e52d Avoid unsafe buffer warning on clang 16+ Mattias Jansson 2023-12-22 22:24:02 +01:00
  • e6fe78ecf8 Avoid unsafe buffer warning on clang 16+ Mattias Jansson 2023-12-22 22:16:11 +01:00
  • 395b352a3e Skip mprotect calls on decommit/commit Mattias Jansson 2023-10-30 18:13:58 +01:00
  • 857a088914 Skip mprotect calls on decommit/commit Mattias Jansson 2023-10-30 18:10:21 +01:00
  • b1b0ffb833 Cleanups Mattias Jansson 2023-10-30 17:35:46 +01:00
  • 4ec0455c98 Increase alloc test to force decommit/recommit pages Mattias Jansson 2023-10-30 09:24:49 +01:00
  • 0213fab739 Add some zalloc tests Mattias Jansson 2023-10-30 09:46:44 +01:00
  • 2f35e67c97 Add missing static decl Mattias Jansson 2023-10-25 12:23:27 +02:00
  • 31966e5070 Improved codegen in free path Mattias Jansson 2023-10-22 14:56:07 +02:00
  • 385a7dbb64 Update readme Mattias Jansson 2023-10-22 10:12:35 +02:00
  • d472be4883 Windows compat Mattias Jansson 2023-10-22 07:48:41 +02:00
  • 8cb4337651 Unify standard overrides and tests Mattias Jansson 2023-10-22 09:24:08 +02:00
  • bf2cfe9af3 Fix Windows compat Mattias Jansson 2023-10-21 21:39:36 +02:00
  • 70af81984c Clean up thread init/fini and remove need for preload define Mattias Jansson 2023-10-21 23:20:33 +02:00
  • 3b0197ded7 Fix page name support Mattias Jansson 2023-10-21 16:08:50 +02:00
  • 2aa6d30715 Improve codegen in free path Mattias Jansson 2023-09-24 20:02:06 +02:00
  • 432370d8a3 Minor code cleanups Mattias Jansson 2023-09-24 19:56:01 +02:00
  • 706ccf1ad1 Merge branch 'mjansson/rewrite' of https://github.com/mjansson/rpmalloc into mjansson/rewrite Mattias Jansson 2023-09-24 16:21:33 +02:00
  • ee886d54e8 Improve codegen Mattias Jansson 2023-09-24 16:21:25 +02:00
  • 8e858b2376 Make page overflow decommit limits configurable Mattias Jansson 2023-09-24 08:36:31 +02:00
  • e58681f56f Reintroduce first class heaps Mattias Jansson 2023-09-23 22:30:15 +02:00
  • 1c093aca1a Improve thread freed page handling Mattias Jansson 2023-09-23 19:18:09 +02:00
  • a77b333832 Initial attempt at retaining a set of committed free pages Mattias Jansson 2023-09-23 16:02:25 +02:00
  • 492961f8da Remove deprecated code paths Mattias Jansson 2023-09-23 15:13:52 +02:00
  • b9749ad0eb Fix huge page deallocation and migrate three free pages Mattias Jansson 2023-09-23 15:12:11 +02:00
  • 9f1f34818a Prepare for pages transitioning between heaps Mattias Jansson 2023-09-23 09:47:48 +02:00
  • 4c7483a414 Add some basic statistics Mattias Jansson 2023-09-22 21:37:08 +02:00
  • 046ef0813f count overflow list when unlimited cache is enabled (#314) FujiZ 2023-09-23 03:24:02 +08:00
  • 1252129302 Restore default values Mattias Jansson 2023-09-22 16:38:00 +02:00
  • f483cf1e14 Fix zero initialization of freed partial pages, support free in global destructors by leaving interface pointer valid Mattias Jansson 2023-09-22 16:37:17 +02:00
  • 3e3852a80b Avoid overriding libc internals Mattias Jansson 2023-09-22 16:36:30 +02:00
  • 23752c6ea0 Zero flag wip Mattias Jansson 2023-07-12 08:31:22 +02:00
  • 0becbad889 Fix override defs Mattias Jansson 2023-07-11 10:24:22 +02:00
  • 438cada472 Clean up override and wrap lib Mattias Jansson 2023-07-11 10:19:04 +02:00
  • cc0a532001 Compiler compatibility fixes Mattias Jansson 2023-07-10 22:49:02 +02:00
  • feb19278d0 Optimizing hot path codegen Mattias Jansson 2023-07-10 22:38:59 +02:00
  • 7a6e84687b Streamline deallocation path Mattias Jansson 2023-07-09 19:33:13 +02:00
  • 23e64b0ac5 Switch to 16 byte granularity and fixed size intervals up to 1024 bytes Mattias Jansson 2023-07-09 19:08:03 +02:00
  • f7e115bff7 Fix thread ownership tests and heap set Mattias Jansson 2023-07-09 11:21:22 +02:00
  • 97386b12e7 Optimize thread local heap and alloc/free paths Mattias Jansson 2023-07-07 23:58:20 +02:00
  • 3814bdef39 Fix large page size Mattias Jansson 2023-07-07 15:04:57 +02:00
  • 6f0abf11f2 Wip on new size classes Mattias Jansson 2023-07-07 11:18:14 +02:00
  • 3512dc996b Minor improvements and cleanups Mattias Jansson 2023-07-06 18:44:16 +02:00
  • 9f74da47f9 Fix Windows build and deallocation of huge spans Mattias Jansson 2023-07-06 14:27:13 +02:00