Summary: | New malloc algorithm | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Filip Pizlo <fpizlo> | ||||||||||||||||||||||||||||
Component: | bmalloc | Assignee: | Filip Pizlo <fpizlo> | ||||||||||||||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||||||||||||||
Severity: | Normal | CC: | annulen, benjamin, cdumez, cmarcelo, ews-watchlist, ggaren, gyuyoung.kim, keith_miller, mark.lam, mitz, msaboff, pmatos, ryuan.choi, saam, sergio, tzagallo, webkit-bug-importer, ysuzuki | ||||||||||||||||||||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||||||||||||||||||||
Version: | Other | ||||||||||||||||||||||||||||||
Hardware: | All | ||||||||||||||||||||||||||||||
OS: | All | ||||||||||||||||||||||||||||||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=227927 | ||||||||||||||||||||||||||||||
Bug Depends on: | |||||||||||||||||||||||||||||||
Bug Blocks: | 227177 | ||||||||||||||||||||||||||||||
Attachments: |
|
Description
Filip Pizlo
2021-05-28 16:30:21 PDT
Created attachment 430071 [details]
a work in progress version of the patch
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.
(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 Created attachment 431028 [details]
updated patch
Created attachment 431029 [details]
updated patch
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 (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. 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. (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. Created attachment 431753 [details]
the patch
Looks like a perfect score so far! Created attachment 431788 [details]
the patch
Should apply and build on more things now.
Created attachment 431809 [details]
the patch
Created attachment 433252 [details]
Patch
Update to apply libpas to executable allocator for now
Created attachment 433255 [details]
Patch
Created attachment 433256 [details]
Patch
Created attachment 433260 [details]
Patch
Created attachment 433334 [details]
Patch
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. Comment on attachment 431809 [details]
the patch
r=me
Created attachment 433388 [details]
Patch
Committed r279867 (239620@main): <https://commits.webkit.org/239620@main> This is currently only enabled for macOS ARM64 executable allocator. |