[webkit-reviews] review denied: [Bug 182951] Play with stack frame randomization : [Attachment 334287] Randomize with a slab
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Feb 20 11:26:06 PST 2018
JF Bastien <jfbastien at apple.com> has denied review:
Bug 182951: Play with stack frame randomization
https://bugs.webkit.org/show_bug.cgi?id=182951
Attachment 334287: Randomize with a slab
https://bugs.webkit.org/attachment.cgi?id=334287&action=review
--- Comment #3 from JF Bastien <jfbastien at apple.com> ---
Created attachment 334287
--> https://bugs.webkit.org/attachment.cgi?id=334287&action=review
Randomize with a slab
This patch randomizes using:
- A slab of random values which we update every 1 ms. This creates a thread,
but we should just use the same thread for all random things, or use the GC
thread.
- Mixes in prior stack content.
- Mixes in a random immediate that's generated at codegen time (so different
on every compile).
This means that recursion gets different values (because stack) and
alternatively calling two functions gets different values (because codegen
immediate). It also means that one can't warm up much because the slab changes
every 1 ms.
Running all benchmarks with --outer 10, I get:
after
original
SunSpider:
<arithmetic> 4.2632+-0.0234
4.2392+-0.0350 might be 1.0057x faster
V8Spider:
<geometric> 34.2187+-0.2149
33.8160+-0.3134 might be 1.0119x faster
Octane:
<geometric> 4.31879+-0.03799 ^
4.21199+-0.02822 ^ definitely 1.0254x faster
Kraken:
<arithmetic> 42.515+-0.358
42.190+-1.147 might be 1.0077x faster
TailBench:
<geometric> 287.1674+-2.6893 ^
278.2981+-3.4959 ^ definitely 1.0319x faster
Microbenchmarks:
<geometric> 6.9822+-0.0104 ^
6.9129+-0.0103 ^ definitely 1.0100x faster
AsmBench:
<geometric> 643.1675+-1.7432 ^
628.5469+-7.5472 ^ definitely 1.0233x faster
Geomean of preferred means:
<scaled-result> 32.0231+-0.0706 ^
31.5000+-0.1103 ^ definitely 1.0166x faster
More information about the webkit-reviews
mailing list