RESOLVED FIXED 226404
New malloc algorithm
https://bugs.webkit.org/show_bug.cgi?id=226404
Summary New malloc algorithm
Filip Pizlo
Reported 2021-05-28 16:30:21 PDT
...
Attachments
a work in progress version of the patch (5.22 MB, patch)
2021-05-28 16:31 PDT, Filip Pizlo
no flags
updated patch (4.29 MB, patch)
2021-06-06 12:36 PDT, Filip Pizlo
no flags
updated patch (4.29 MB, patch)
2021-06-09 17:23 PDT, Filip Pizlo
no flags
updated patch (4.29 MB, patch)
2021-06-09 17:24 PDT, Filip Pizlo
no flags
the patch (4.44 MB, patch)
2021-06-17 21:09 PDT, Filip Pizlo
no flags
the patch (4.41 MB, patch)
2021-06-18 17:53 PDT, Filip Pizlo
ews-feeder: commit-queue-
the patch (4.41 MB, patch)
2021-06-19 16:36 PDT, Filip Pizlo
ysuzuki: review+
ews-feeder: commit-queue-
Patch (4.58 MB, patch)
2021-07-09 19:36 PDT, Yusuke Suzuki
ews-feeder: commit-queue-
Patch (4.59 MB, patch)
2021-07-09 20:12 PDT, Yusuke Suzuki
ews-feeder: commit-queue-
Patch (4.59 MB, patch)
2021-07-09 20:19 PDT, Yusuke Suzuki
ews-feeder: commit-queue-
Patch (4.44 MB, patch)
2021-07-10 10:24 PDT, Yusuke Suzuki
no flags
Patch (4.44 MB, patch)
2021-07-12 11:20 PDT, Yusuke Suzuki
ews-feeder: commit-queue-
Patch (4.44 MB, patch)
2021-07-12 21:59 PDT, Yusuke Suzuki
ews-feeder: commit-queue-
Filip Pizlo
Comment 1 2021-05-28 16:31:53 PDT
Created attachment 430071 [details] a work in progress version of the patch
Radar WebKit Bug Importer
Comment 2 2021-06-04 16:31:31 PDT
Filip Pizlo
Comment 3 2021-06-06 12:36:04 PDT
Created attachment 430695 [details] updated patch 1.5% speed-up on Speedometer2. Neutral on JS2. 10% memory savings on a bunch of different memory benchmarks. This version replaces bmalloc, IsoHeaps, gigacage, and MetaAllocator.
Yusuke Suzuki
Comment 4 2021-06-08 23:39:24 PDT
(In reply to Filip Pizlo from comment #3) > Created attachment 430695 [details] > updated patch > > 1.5% speed-up on Speedometer2. Neutral on JS2. 10% memory savings on a > bunch of different memory benchmarks. > > This version replaces bmalloc, IsoHeaps, gigacage, and MetaAllocator. Wow, that's awesome
Filip Pizlo
Comment 5 2021-06-09 17:23:08 PDT
Created attachment 431028 [details] updated patch
Filip Pizlo
Comment 6 2021-06-09 17:24:46 PDT
Created attachment 431029 [details] updated patch
Paulo Matos
Comment 7 2021-06-10 01:16:49 PDT
I am having issues compiling with this patch. I see bmalloc_heap_inlines.h and bmalloc_heap_ref.h in libpas but bmalloc/*.cpp files cannot find it and complain during build causing it to fail. Given you have results of running the patch, it seems you have compiled. Have I missed anything on building besides: $ Tools/Scripts/webkit-patch apply-from-bug 226404 $ Tools/Scripts/build-jsc --jsc-only --debug
Filip Pizlo
Comment 8 2021-06-10 08:04:57 PDT
(In reply to Paulo Matos from comment #7) > I am having issues compiling with this patch. I see bmalloc_heap_inlines.h > and bmalloc_heap_ref.h in libpas but bmalloc/*.cpp files cannot find it and > complain during build causing it to fail. They find those files just fine with xcodebuild. > > Given you have results of running the patch, it seems you have compiled. > Have I missed anything on building besides: > $ Tools/Scripts/webkit-patch apply-from-bug 226404 > $ Tools/Scripts/build-jsc --jsc-only --debug It’s not supported on non-Darwin platforms. You might be able to make it work on non-Darwin platforms but that’ll probably require nontrivial work.
Paulo Matos
Comment 9 2021-06-14 09:02:15 PDT
Thanks - I managed to build it through xcode. I wanted to understand the implications of this patch for 32bits before it lands and breaks the 32bit world. I will keep an eye on the patch as it develops.
Filip Pizlo
Comment 10 2021-06-14 09:04:36 PDT
(In reply to Paulo Matos from comment #9) > Thanks - I managed to build it through xcode. > > I wanted to understand the implications of this patch for 32bits before it > lands and breaks the 32bit world. I will keep an eye on the patch as it > develops. I think it'll land disabled in 32-bit.
Filip Pizlo
Comment 11 2021-06-17 21:09:27 PDT
Created attachment 431753 [details] the patch
Filip Pizlo
Comment 12 2021-06-17 21:50:47 PDT
Looks like a perfect score so far!
Filip Pizlo
Comment 13 2021-06-18 17:53:17 PDT
Created attachment 431788 [details] the patch Should apply and build on more things now.
Filip Pizlo
Comment 14 2021-06-19 16:36:57 PDT
Created attachment 431809 [details] the patch
Yusuke Suzuki
Comment 15 2021-07-09 19:36:24 PDT
Created attachment 433252 [details] Patch Update to apply libpas to executable allocator for now
Yusuke Suzuki
Comment 16 2021-07-09 20:12:55 PDT
Yusuke Suzuki
Comment 17 2021-07-09 20:19:32 PDT
Yusuke Suzuki
Comment 18 2021-07-10 10:24:11 PDT
Yusuke Suzuki
Comment 19 2021-07-12 11:20:42 PDT
Yusuke Suzuki
Comment 20 2021-07-12 15:00:07 PDT
Discussed with Phil. My patch is basically adjusting libpas to make it under executable-allocator and bmalloc (and this is basically small changes). I'll review libpas things.
Yusuke Suzuki
Comment 21 2021-07-12 21:31:29 PDT
Comment on attachment 431809 [details] the patch r=me
Yusuke Suzuki
Comment 22 2021-07-12 21:59:12 PDT
Yusuke Suzuki
Comment 23 2021-07-13 00:39:45 PDT
Yusuke Suzuki
Comment 24 2021-07-14 13:50:55 PDT
This is currently only enabled for macOS ARM64 executable allocator.
Note You need to log in before you can comment on or make changes to this bug.