Bug 76855 - Implement a JIT-code aware sampling profiler for JSC
Summary: Implement a JIT-code aware sampling profiler for JSC
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Gavin Barraclough
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-23 13:04 PST by Gavin Barraclough
Modified: 2012-01-30 12:38 PST (History)
9 users (show)

See Also:


Attachments
Pt2, generalize RedBlackTree (25.08 KB, patch)
2012-01-23 15:02 PST, Gavin Barraclough
no flags Details | Formatted Diff | Diff
Ooops, revert unnecessary change to MetaAllocatorHandle (24.35 KB, patch)
2012-01-23 15:06 PST, Gavin Barraclough
ggaren: review+
Details | Formatted Diff | Diff
Add mechanism to MetaAllocator to allow allocations to be tracked. (8.37 KB, patch)
2012-01-24 17:00 PST, Gavin Barraclough
oliver: review+
Details | Formatted Diff | Diff
The profiler. Will probably require some PLATFORM(MAC) guards to make this compiler on non-OS X builds. (51.78 KB, patch)
2012-01-27 15:10 PST, Gavin Barraclough
oliver: review+
webkit.review.bot: commit-queue-
Details | Formatted Diff | Diff
Build fixes (patch already reviewed by oliver) (54.74 KB, patch)
2012-01-27 16:05 PST, Gavin Barraclough
no flags Details | Formatted Diff | Diff
More build fixes (patch already reviewed by oliver) (56.50 KB, patch)
2012-01-27 16:36 PST, Gavin Barraclough
webkit-ews: commit-queue-
Details | Formatted Diff | Diff
More build fixes (patch already reviewed by oliver) (56.53 KB, patch)
2012-01-27 17:11 PST, Gavin Barraclough
no flags Details | Formatted Diff | Diff
More build fixes (patch already reviewed by oliver) (56.99 KB, patch)
2012-01-27 17:14 PST, Gavin Barraclough
gustavo: commit-queue-
Details | Formatted Diff | Diff
More build fixes (patch already reviewed by oliver) (57.36 KB, patch)
2012-01-27 18:04 PST, Gavin Barraclough
gustavo: commit-queue-
Details | Formatted Diff | Diff
More build fixes (patch already reviewed by oliver) (57.93 KB, patch)
2012-01-27 18:27 PST, Gavin Barraclough
no flags Details | Formatted Diff | Diff
More build fixes (patch already reviewed by oliver) (57.96 KB, patch)
2012-01-27 18:34 PST, Gavin Barraclough
webkit-ews: commit-queue-
Details | Formatted Diff | Diff
More build fixes (patch already reviewed by oliver) (58.04 KB, patch)
2012-01-27 19:00 PST, Gavin Barraclough
gyuyoung.kim: commit-queue-
Details | Formatted Diff | Diff
More build fixes (patch already reviewed by oliver) (58.35 KB, patch)
2012-01-27 23:01 PST, Gavin Barraclough
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Gavin Barraclough 2012-01-23 13:04:58 PST
We should be able to implement an non-intrusive mechanism to sample activity, recording the current running codeblock, able to generate profiles showing statistical distribution of time between JITs, JS functions, etc.
Comment 1 Gavin Barraclough 2012-01-23 13:09:05 PST
Part 1 landed in r105636.
Comment 2 Gavin Barraclough 2012-01-23 15:02:36 PST
Created attachment 123631 [details]
Pt2, generalize RedBlackTree
Comment 3 Gavin Barraclough 2012-01-23 15:06:15 PST
Created attachment 123632 [details]
Ooops, revert unnecessary change to MetaAllocatorHandle
Comment 4 Geoffrey Garen 2012-01-23 15:10:43 PST
Comment on attachment 123632 [details]
Ooops, revert unnecessary change to MetaAllocatorHandle

View in context: https://bugs.webkit.org/attachment.cgi?id=123632&action=review

r=me

> Source/JavaScriptCore/ChangeLog:8
> +        Step 2: generalize RedBlackTree. The profiler is going to want tio use

Typo: tio.
Comment 5 Gavin Barraclough 2012-01-23 15:31:21 PST
pt 2 landed in r105646
Comment 6 Gavin Barraclough 2012-01-23 17:23:11 PST
Oooops, shouldn't have marked as fixed yet!
Also, build fix in r105666.
Comment 7 Gavin Barraclough 2012-01-24 17:00:32 PST
Created attachment 123845 [details]
Add mechanism to MetaAllocator to allow allocations to be tracked.
Comment 8 Gavin Barraclough 2012-01-27 15:10:08 PST
Created attachment 124378 [details]
The profiler.  Will probably require some PLATFORM(MAC) guards to make this compiler on non-OS X builds.
Comment 9 WebKit Review Bot 2012-01-27 15:13:33 PST
Attachment 124378 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/ChangeLog', u'Source..." exit_code: 1

Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp:36:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 18 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 10 WebKit Review Bot 2012-01-27 15:13:42 PST
Comment on attachment 124378 [details]
The profiler.  Will probably require some PLATFORM(MAC) guards to make this compiler on non-OS X builds.

Attachment 124378 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11359180
Comment 11 Gyuyoung Kim 2012-01-27 15:55:01 PST
Comment on attachment 124378 [details]
The profiler.  Will probably require some PLATFORM(MAC) guards to make this compiler on non-OS X builds.

Attachment 124378 [details] did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11359190
Comment 12 Gavin Barraclough 2012-01-27 16:05:03 PST
Created attachment 124391 [details]
Build fixes (patch already reviewed by oliver)
Comment 13 WebKit Review Bot 2012-01-27 16:07:54 PST
Attachment 124391 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/CMakeLists.txt', u'S..." exit_code: 1

Source/JavaScriptCore/Target.pri:212:  Line contains tab character.  [whitespace/tab] [5]
Source/JavaScriptCore/Target.pri:213:  Line contains tab character.  [whitespace/tab] [5]
Source/JavaScriptCore/CMakeLists.txt:203:  Line contains tab character.  [whitespace/tab] [5]
Source/JavaScriptCore/CMakeLists.txt:204:  Line contains tab character.  [whitespace/tab] [5]
Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 5 in 22 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 14 Gavin Barraclough 2012-01-27 16:36:15 PST
Created attachment 124398 [details]
More build fixes (patch already reviewed by oliver)
Comment 15 Early Warning System Bot 2012-01-27 17:09:01 PST
Comment on attachment 124398 [details]
More build fixes (patch already reviewed by oliver)

Attachment 124398 [details] did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11359226
Comment 16 Gavin Barraclough 2012-01-27 17:11:37 PST
Created attachment 124403 [details]
More build fixes (patch already reviewed by oliver)
Comment 17 Gavin Barraclough 2012-01-27 17:14:04 PST
Created attachment 124404 [details]
More build fixes (patch already reviewed by oliver)
Comment 18 Gustavo Noronha (kov) 2012-01-27 17:35:18 PST
Comment on attachment 124404 [details]
More build fixes (patch already reviewed by oliver)

Attachment 124404 [details] did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11359241
Comment 19 Early Warning System Bot 2012-01-27 17:42:46 PST
Comment on attachment 124404 [details]
More build fixes (patch already reviewed by oliver)

Attachment 124404 [details] did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11358356
Comment 20 Gyuyoung Kim 2012-01-27 17:46:52 PST
Comment on attachment 124404 [details]
More build fixes (patch already reviewed by oliver)

Attachment 124404 [details] did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11358358
Comment 21 Gavin Barraclough 2012-01-27 18:04:48 PST
Created attachment 124411 [details]
More build fixes (patch already reviewed by oliver)
Comment 22 Gustavo Noronha (kov) 2012-01-27 18:17:01 PST
Comment on attachment 124411 [details]
More build fixes (patch already reviewed by oliver)

Attachment 124411 [details] did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11360226
Comment 23 Early Warning System Bot 2012-01-27 18:23:28 PST
Comment on attachment 124411 [details]
More build fixes (patch already reviewed by oliver)

Attachment 124411 [details] did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11191933
Comment 24 Gavin Barraclough 2012-01-27 18:27:01 PST
Created attachment 124418 [details]
More build fixes (patch already reviewed by oliver)
Comment 25 Gavin Barraclough 2012-01-27 18:34:33 PST
Created attachment 124421 [details]
More build fixes (patch already reviewed by oliver)
Comment 26 Early Warning System Bot 2012-01-27 18:58:17 PST
Comment on attachment 124421 [details]
More build fixes (patch already reviewed by oliver)

Attachment 124421 [details] did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11360243
Comment 27 Gavin Barraclough 2012-01-27 19:00:21 PST
Created attachment 124423 [details]
More build fixes (patch already reviewed by oliver)
Comment 28 Gyuyoung Kim 2012-01-27 19:26:52 PST
Comment on attachment 124423 [details]
More build fixes (patch already reviewed by oliver)

Attachment 124423 [details] did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11360246
Comment 29 Gavin Barraclough 2012-01-27 23:01:52 PST
Created attachment 124430 [details]
More build fixes (patch already reviewed by oliver)
Comment 30 Gavin Barraclough 2012-01-28 19:47:43 PST
Fixed in r106197
Comment 31 mitz 2012-01-29 09:33:48 PST
(In reply to comment #30)
> Fixed in r106197

This broke the TestWebKitAPI build: <http://build.webkit.org/builders/Lion%20Intel%20Debug%20%28Tests%29/builds/3058/steps/run-api-tests/logs/stdio/text>.
Comment 32 Gavin Barraclough 2012-01-30 11:27:09 PST
build fix in r106264.
Comment 33 Gavin Barraclough 2012-01-30 12:38:50 PST
Interpreter build fixed in r106276