RESOLVED FIXED 80055
JIT heuristics should be hyperbolic
https://bugs.webkit.org/show_bug.cgi?id=80055
Summary JIT heuristics should be hyperbolic
Filip Pizlo
Reported 2012-03-01 15:15:04 PST
The less memory we have, the more we should wait to tier up. This should further reduce the likelihood that we'll ever run out of executable memory, while also ensuring that when running an app that has a ton of code, we end up optimizing the things that are really the most important. <rdar://problem/10922260>
Attachments
work in progress (47.95 KB, patch)
2012-03-01 15:22 PST, Filip Pizlo
no flags
work in progress (48.00 KB, patch)
2012-03-01 15:32 PST, Filip Pizlo
no flags
the patch (50.51 KB, patch)
2012-03-04 01:37 PST, Filip Pizlo
webkit-ews: commit-queue-
the patch (53.25 KB, patch)
2012-03-04 01:58 PST, Filip Pizlo
webkit-ews: commit-queue-
the patch (53.28 KB, patch)
2012-03-04 02:15 PST, Filip Pizlo
oliver: review+
webkit.review.bot: commit-queue-
Filip Pizlo
Comment 1 2012-03-01 15:22:40 PST
Created attachment 129756 [details] work in progress
Filip Pizlo
Comment 2 2012-03-01 15:32:34 PST
Created attachment 129758 [details] work in progress
Filip Pizlo
Comment 3 2012-03-04 01:37:02 PST
Created attachment 130019 [details] the patch
Early Warning System Bot
Comment 4 2012-03-04 01:52:50 PST
Build Bot
Comment 5 2012-03-04 01:57:26 PST
Filip Pizlo
Comment 6 2012-03-04 01:58:47 PST
Created attachment 130020 [details] the patch Ooops, forgot to fix up all of the build systems.
Early Warning System Bot
Comment 7 2012-03-04 02:12:18 PST
Filip Pizlo
Comment 8 2012-03-04 02:15:25 PST
Created attachment 130021 [details] the patch Trying again to fix Qt.
WebKit Review Bot
Comment 9 2012-03-04 03:47:13 PST
Comment on attachment 130021 [details] the patch Attachment 130021 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/11802597 New failing tests: editing/selection/select-line-break-with-opposite-directionality.html
Filip Pizlo
Comment 10 2012-03-04 22:53:26 PST
Patrick R. Gansterer
Comment 11 2012-03-05 11:56:39 PST
(In reply to comment #10) > Landed in http://trac.webkit.org/changeset/109705 Patch broke WinCE bot, which is the only one with JIT turned off. 1>ExecutionCounter.cpp 1>..\..\..\..\Source\JavaScriptCore\bytecode\ExecutionCounter.cpp(68) : error C2653: 'ExecutableAllocator' : is not a class or namespace name 1>..\..\..\..\Source\JavaScriptCore\bytecode\ExecutionCounter.cpp(68) : error C3861: 'memoryPressureMultiplier': identifier not found Can fix it, or at least tell me what's the correct way to fix it? If there is any interrest in maintaing the !ENABLE(JIT) build, it would be nice to watch the WinCE bot too. :-)
Filip Pizlo
Comment 12 2012-03-05 12:08:02 PST
(In reply to comment #11) > (In reply to comment #10) > > Landed in http://trac.webkit.org/changeset/109705 > > Patch broke WinCE bot, which is the only one with JIT turned off. > > 1>ExecutionCounter.cpp > 1>..\..\..\..\Source\JavaScriptCore\bytecode\ExecutionCounter.cpp(68) : error C2653: 'ExecutableAllocator' : is not a class or namespace name > 1>..\..\..\..\Source\JavaScriptCore\bytecode\ExecutionCounter.cpp(68) : error C3861: 'memoryPressureMultiplier': identifier not found > > Can fix it, or at least tell me what's the correct way to fix it? > > > If there is any interrest in maintaing the !ENABLE(JIT) build, it would be nice to watch the WinCE bot too. :-) Oh noes! Sorry about that! The right fix is to place #if ENABLE(JIT) around ExecutionCounter.h and ExecutionCounter.cpp. Hopefully that will be sufficient. If you don't get around to it in the next half hour, I'll do it when I get to the office.
Patrick R. Gansterer
Comment 13 2012-03-05 12:40:46 PST
Landed fix for !ENABLE(JIT) in http://trac.webkit.org/changeset/109784
Patrick R. Gansterer
Comment 14 2012-03-05 12:52:05 PST
(In reply to comment #13) > Landed fix for !ENABLE(JIT) in http://trac.webkit.org/changeset/109784 Simple adding #if ENABLE(JIT) isn't sufficent, since it's used in CodeBlock.h. IMHO there are some additional ifdefs required. Can you take care of this problem? Otherwise I need to digg deeper into the code, to place the ifdefs correctly.
Filip Pizlo
Comment 15 2012-03-05 13:07:38 PST
(In reply to comment #14) > (In reply to comment #13) > > Landed fix for !ENABLE(JIT) in http://trac.webkit.org/changeset/109784 > > Simple adding #if ENABLE(JIT) isn't sufficent, since it's used in CodeBlock.h. IMHO there are some additional ifdefs required. Can you take care of this problem? Otherwise I need to digg deeper into the code, to place the ifdefs correctly. Yes, I'll take a look.
Filip Pizlo
Comment 16 2012-03-05 14:11:19 PST
Note You need to log in before you can comment on or make changes to this bug.