{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":164874285,"defaultBranch":"main","name":"snmalloc","ownerLogin":"microsoft","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-01-09T14:05:53.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/6154722?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1704404303.0","currentOid":""},"activityList":{"items":[{"before":"b1d0d7dc78d8d75d6f8729772df6207a0cc37c66","after":"846a926155976b07a16425352dd5fed0858c5c97","ref":"refs/heads/main","pushedAt":"2024-05-24T17:49:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nwf-msr","name":"Nathaniel Filardo","path":"/nwf-msr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105816689?s=80&v=4"},"commit":{"message":"NFC: sizeclass: differentiate minimum step size and minimum allocation sizes (#651)\n\n* Move sizeclass debugging code to sizeclass test\r\n\r\nThe sizeclass was already testing most of this, so just add the missing bits.\r\nForgo some tests whose failure would have implied earlier failures.\r\n\r\nThis moves the last dynamic call of size_to_sizeclass_const into tests\r\n(and so, too, to_exp_mant_const). sizeclasstable.h still contains a static\r\ncall to compute NUM_SMALL_SIZECLASSES from MAX_SMALL_SIZECLASS_SIZE.\r\n\r\n* Remove unused to_exp_mant\r\n\r\nOnly its _const sibling is used, and little at that, now that almost everything\r\nto do with sizes and size classes is table-driven.\r\n\r\n* test/memcpy: trap, if we can, before exiting\r\n\r\nThis just means I don't need to remember to set a breakpoint on exit\r\n\r\n* test/memcpy: don't assume sizeclass 0 is allocable\r\n\r\n* test/memory: don't assume sizeclass 0 is allocable\r\n\r\n* test/sizeclass: handle nonzero minimum sizeclasses\r\n\r\n* sizeclass: distinguish min alloc and step size\r\n\r\nAdd support for a minimum allocation size that isn't the minimum step of\r\nthe sizeclass table.\r\n\r\n* Expose MIN_ALLOC_{,STEP}_SIZE through cmake\r\n\r\n* test/sizeclass: report MIN_ALLOC_{STEP_,}SIZE","shortMessageHtmlLink":"NFC: sizeclass: differentiate minimum step size and minimum allocatio…"}},{"before":"d9bca644260847f3b325f4d0e12f0360ed1c0dac","after":"b1d0d7dc78d8d75d6f8729772df6207a0cc37c66","ref":"refs/heads/main","pushedAt":"2024-05-23T15:07:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Remove unnecessary assertion from aligned_alloc (#658)\n\nWith [DR460](https://open-std.org/JTC1/SC22/WG14/www/docs/summary.htm#dr_460) the undefined behaviour for size not being a multiple of alignment was remove.\n\nThe [N2072](http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2072.htm) allows for this to return memory.\n\nSo we can remove this assert and keep the same conditions as memalign.","shortMessageHtmlLink":"Remove unnecessary assertion from aligned_alloc (#658)"}},{"before":"b8e9e99cf096357d37c67d423ccb657652879ba1","after":"d9bca644260847f3b325f4d0e12f0360ed1c0dac","ref":"refs/heads/main","pushedAt":"2024-04-10T05:31:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Add Windows ARM64 support (#656)\n\n* Add Windows ARM64 support\n\n* Add Windows ARM64/ARM64EC CI workflows","shortMessageHtmlLink":"Add Windows ARM64 support (#656)"}},{"before":"dc2b97ea16860b53ecf7209b0a8814406568ad41","after":"a85d0ef62491515d04687929c0d97e1020777e21","ref":"refs/heads/202401-morello-workflow-llvm","pushedAt":"2024-01-05T18:07:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nwf-msr","name":"Nathaniel Filardo","path":"/nwf-msr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105816689?s=80&v=4"},"commit":{"message":"test/jemalloc: notch *allocm out from CheriBSD","shortMessageHtmlLink":"test/jemalloc: notch *allocm out from CheriBSD"}},{"before":"640cacf90ee83697d082c8fc758f0ea762e5e27a","after":"b8e9e99cf096357d37c67d423ccb657652879ba1","ref":"refs/heads/main","pushedAt":"2024-01-05T17:29:09.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"nwf-msr","name":"Nathaniel Filardo","path":"/nwf-msr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105816689?s=80&v=4"},"commit":{"message":"NFC: Remove \"Backend\" from MetaEntry template arg\n\nThis parameter is in fact instantiated with FrontendSlabMetadata, so the use of\nBackend here is confusing.","shortMessageHtmlLink":"NFC: Remove \"Backend\" from MetaEntry template arg"}},{"before":"bfd9633cac7b2255e4e44bb52afd023f6cca417c","after":"dc2b97ea16860b53ecf7209b0a8814406568ad41","ref":"refs/heads/202401-morello-workflow-llvm","pushedAt":"2024-01-05T17:27:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nwf-msr","name":"Nathaniel Filardo","path":"/nwf-msr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105816689?s=80&v=4"},"commit":{"message":"test/jemalloc: notch *allocm out from CheriBSD","shortMessageHtmlLink":"test/jemalloc: notch *allocm out from CheriBSD"}},{"before":"ccbf21fc45a2e8c4341abb3fcfdfea88e4411d4e","after":"bfd9633cac7b2255e4e44bb52afd023f6cca417c","ref":"refs/heads/202401-morello-workflow-llvm","pushedAt":"2024-01-04T21:47:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nwf-msr","name":"Nathaniel Filardo","path":"/nwf-msr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105816689?s=80&v=4"},"commit":{"message":"github/morello: also explicitly install llvm\n\nThe 2023.11 ports tree no longer has llvm-localbase depend on llvm,\nso go ahead and install that too.","shortMessageHtmlLink":"github/morello: also explicitly install llvm"}},{"before":null,"after":"ccbf21fc45a2e8c4341abb3fcfdfea88e4411d4e","ref":"refs/heads/202401-morello-workflow-llvm","pushedAt":"2024-01-04T21:38:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nwf-msr","name":"Nathaniel Filardo","path":"/nwf-msr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105816689?s=80&v=4"},"commit":{"message":"github/morello: also explicitly install llvm\n\nThe 2023.11 ports tree no longer has llvm-localbase depend on llvm,\nso go ahead and install that too.","shortMessageHtmlLink":"github/morello: also explicitly install llvm"}},{"before":"3c3739ddafa384da5c89984ec765a22af4d876a5","after":"640cacf90ee83697d082c8fc758f0ea762e5e27a","ref":"refs/heads/main","pushedAt":"2024-01-02T10:02:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Updated CI workaround. (#650)\n\nhttps://github.com/actions/runner-images/issues/8659","shortMessageHtmlLink":"Updated CI workaround. (#650)"}},{"before":"a781f96211b7e61d1ac0f33cc5a26640ed79e3ac","after":"3c3739ddafa384da5c89984ec765a22af4d876a5","ref":"refs/heads/main","pushedAt":"2023-11-09T06:24:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Update NetBSD runner (#648)","shortMessageHtmlLink":"Update NetBSD runner (#648)"}},{"before":"7d88f4d638c6708aa519ef01a038a823907b0267","after":"a781f96211b7e61d1ac0f33cc5a26640ed79e3ac","ref":"refs/heads/main","pushedAt":"2023-11-08T10:15:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"FreeBSD CI. (#647)","shortMessageHtmlLink":"FreeBSD CI. (#647)"}},{"before":"f38ee89e720cd6dad0b19d334ca32d73cf84f4eb","after":"7d88f4d638c6708aa519ef01a038a823907b0267","ref":"refs/heads/main","pushedAt":"2023-11-08T10:14:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Workaround runner issue. (#645)","shortMessageHtmlLink":"Workaround runner issue. (#645)"}},{"before":"554334754340920ce03c8ed36839c0ab816a9118","after":"f38ee89e720cd6dad0b19d334ca32d73cf84f4eb","ref":"refs/heads/main","pushedAt":"2023-10-03T13:59:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Template construction of Pool elements (#641)\n\n* Template construction of Pool elements\r\n\r\nThe Pool class is used by verona-rt. The recent changes made this\r\nless nice to consume as an API.\r\n\r\nThis change makes the construction logic a template parameter to the\r\nPool. This enables standard allocation to be used from Verona.\r\n\r\n* Drop parameter from acquire\r\n\r\nPool::acquire took a list of parameters to initialise the object that it\r\nconstructed. But if this was serviced from the pool, the parameter\r\nwould be ignored. This is not an ideal API.\r\n\r\nThis PR removes the ability to pass a parameter.","shortMessageHtmlLink":"Template construction of Pool elements (#641)"}},{"before":"126e77f2a524447b397bd7cf309ed3186d234a9b","after":"554334754340920ce03c8ed36839c0ab816a9118","ref":"refs/heads/main","pushedAt":"2023-09-28T13:53:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Startup improvements (#639)\n\n* Benchmark for testing startup performance.\r\n\r\n* Make pool pass spare space to pooled item\r\n\r\nThe pool will result in power of 2 allocations as it doesn't have a\r\nlocal state when it is initially set up.\r\n\r\nThis commit passes this extra space to the constructor of the pooled\r\ntype, so that it can be feed into the freshly created allocator.\r\n\r\nCo-authored-by: Nathaniel Wesley Filardo ","shortMessageHtmlLink":"Startup improvements (#639)"}},{"before":"0a60ba86be393f089d71b2275987b3155c93cb56","after":null,"ref":"refs/heads/seqset-node-constructor","pushedAt":"2023-09-18T10:17:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"davidchisnall","name":"David Chisnall","path":"/davidchisnall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/404454?s=80&v=4"}},{"before":"2a7670eb8225e1c96ce91f03cbc0cc17e3aeb6e4","after":"126e77f2a524447b397bd7cf309ed3186d234a9b","ref":"refs/heads/main","pushedAt":"2023-09-18T10:15:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Add a default constructor to seqset nodes. (#636)\n\nThis allows them to exist as fields without invalidating the set.\r\n\r\nThis should make it possible to remove the undefined behaviour in the\r\ncreation of FrontendSlabMetadata, which is currently created via a\r\nreinterpret_cast from a different-typed allocation.\r\nFrontendSlabMetadata has a SeqSet::Node field that is in an unspecified\r\nstate on construction and which is valid only when inserted into a\r\nSeqSet.","shortMessageHtmlLink":"Add a default constructor to seqset nodes. (#636)"}},{"before":"dd94316d4619613bd0714e4cbe577e5e0b35bba2","after":"0a60ba86be393f089d71b2275987b3155c93cb56","ref":"refs/heads/seqset-node-constructor","pushedAt":"2023-09-18T09:53:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"davidchisnall","name":"David Chisnall","path":"/davidchisnall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/404454?s=80&v=4"},"commit":{"message":"Add a default constructor to seqset nodes.\n\nThis allows them to exist as fields without invalidating the set.\n\nThis should make it possible to remove the undefined behaviour in the\ncreation of FrontendSlabMetadata, which is currently created via a\nreinterpret_cast from a different-typed allocation.\nFrontendSlabMetadata has a SeqSet::Node field that is in an unspecified\nstate on construction and which is valid only when inserted into a\nSeqSet.","shortMessageHtmlLink":"Add a default constructor to seqset nodes."}},{"before":null,"after":"dd94316d4619613bd0714e4cbe577e5e0b35bba2","ref":"refs/heads/seqset-node-constructor","pushedAt":"2023-09-18T09:50:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"davidchisnall","name":"David Chisnall","path":"/davidchisnall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/404454?s=80&v=4"},"commit":{"message":"Add a default constructor to seqset nodes.\n\nThis allows them to exist as fields without invalidating the set.\n\nThis should make it possible to remove the undefined behaviour in the\ncreation of FrontendSlabMetadata, which is currently created via a\nreinterpret_cast from a different-typed allocation.\nFrontendSlabMetadata has a SeqSet::Node field that is in an unspecified\nstate on construction and which is valid only when inserted into a\nSeqSet.","shortMessageHtmlLink":"Add a default constructor to seqset nodes."}},{"before":"6b8f3338c71fb06a3609ef935a8579b7bda7e07e","after":"2a7670eb8225e1c96ce91f03cbc0cc17e3aeb6e4","ref":"refs/heads/main","pushedAt":"2023-09-18T08:37:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Add C++17 version for Mac. (#635)","shortMessageHtmlLink":"Add C++17 version for Mac. (#635)"}},{"before":"35eef3309976a9e2ca65f4d828a00a9914d53d3d","after":"6b8f3338c71fb06a3609ef935a8579b7bda7e07e","ref":"refs/heads/main","pushedAt":"2023-09-14T11:04:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Fix #631 (#633)\n\n* Fix #631\r\n\r\nAdd wrapper override for the Windows variant of maloc_usable_size : _msize\r\n\r\nCo-authored-by: Matthew Parkinson ","shortMessageHtmlLink":"Fix #631 (#633)"}},{"before":"7b597335aedc2c60b0174f6e67a7f7560f841760","after":"35eef3309976a9e2ca65f4d828a00a9914d53d3d","ref":"refs/heads/main","pushedAt":"2023-09-13T10:17:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Adding an option to disable TLS (#632)\n\nSigned-off-by: Matthew A Johnson ","shortMessageHtmlLink":"Adding an option to disable TLS (#632)"}},{"before":"c2e4a12e21ab3f034f719a01132d159aacc079b1","after":"7b597335aedc2c60b0174f6e67a7f7560f841760","ref":"refs/heads/main","pushedAt":"2023-08-25T13:17:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Disable empty static prefix for Windows. (#629)","shortMessageHtmlLink":"Disable empty static prefix for Windows. (#629)"}},{"before":"6cbc50fe2c255b5b47ea63f4cf759a6a20f6e7a6","after":"c2e4a12e21ab3f034f719a01132d159aacc079b1","ref":"refs/heads/main","pushedAt":"2023-08-09T06:15:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Using exclusive mode prefetch (#627)\n\n* Using exclusive mode prefetch\n\nThe prefetching is always used to move the cache line to the current\ncore for writing. This change makes it use exclusive mode prefetch\nand enables it as a feature flag for x64.\n\n* Debug platform for BSDs\n\n* CI fixes\n\n* More CI\n\n* Update ARM prefetch\n\n* Update x64 prefetch default","shortMessageHtmlLink":"Using exclusive mode prefetch (#627)"}},{"before":"9d4466093a7c42e4fe43e032aeca356674d6e55c","after":"6cbc50fe2c255b5b47ea63f4cf759a6a20f6e7a6","ref":"refs/heads/main","pushedAt":"2023-08-09T06:15:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Factor out libc code into a header. (#624)\n\n* Factor out libc code into a header.\n\nThis pulls the main definitions of the various libc malloc functions\ninto a header for easier use and inclusion in other projects.\n\n* Clang-tidy fixes.\n\n* Clang-tidy fixes really.\n\n* More code quality changes\n\n* Minor fix\n\n* Clangformat","shortMessageHtmlLink":"Factor out libc code into a header. (#624)"}},{"before":"cdfedd8718d741699f05d551d132a3cccaf6ff82","after":"9d4466093a7c42e4fe43e032aeca356674d6e55c","ref":"refs/heads/main","pushedAt":"2023-07-18T10:24:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Move to clang-format 15 (#621)\n\nThe current version requires clang-format-9. This now getting hard to get.\r\nThis commit moves it to the clang-format-15, which is the latest in 22.04.\r\n\r\nAlso, updates clang-tidy to 15 as well.","shortMessageHtmlLink":"Move to clang-format 15 (#621)"}},{"before":"84b3fe9c8e436c82f795b79b7918514ed4c2068d","after":null,"ref":"refs/heads/mjp41-patch-1","pushedAt":"2023-07-17T14:09:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"}},{"before":"dc1268886a5d49d38a54e5d1402b5924a71fee0b","after":"cdfedd8718d741699f05d551d132a3cccaf6ff82","ref":"refs/heads/main","pushedAt":"2023-07-17T14:09:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Update README.md (#622)","shortMessageHtmlLink":"Update README.md (#622)"}},{"before":"2387f7cc79c86d78a803c18cc028bc1c7d6d5ce2","after":"84b3fe9c8e436c82f795b79b7918514ed4c2068d","ref":"refs/heads/mjp41-patch-1","pushedAt":"2023-07-17T13:29:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":null,"after":"2387f7cc79c86d78a803c18cc028bc1c7d6d5ce2","ref":"refs/heads/mjp41-patch-1","pushedAt":"2023-07-17T13:28:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"95bad423a7a11135b467cc90e6f5a061e537f053","after":"dc1268886a5d49d38a54e5d1402b5924a71fee0b","ref":"refs/heads/main","pushedAt":"2023-06-28T10:42:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mjp41","name":"Matthew Parkinson","path":"/mjp41","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/270363?s=80&v=4"},"commit":{"message":"Improve CMake slightly (#620)\n\n* Prefix build testing flag with SNMALLOC\r\n\r\n* Only add clangformat target is testing enabled.","shortMessageHtmlLink":"Improve CMake slightly (#620)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEU0kPqQA","startCursor":null,"endCursor":null}},"title":"Activity · microsoft/snmalloc"}