Bug 140165 - interpret op_profile_type in the LLInt instead of unconditionally calling into the slow path
Summary: interpret op_profile_type in the LLInt instead of unconditionally calling int...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Saam Barati
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-06 18:56 PST by Saam Barati
Modified: 2015-01-07 17:22 PST (History)
1 user (show)

See Also:


Attachments
patch (8.40 KB, patch)
2015-01-07 14:13 PST, Saam Barati
msaboff: review+
saam: commit-queue-
Details | Formatted Diff | Diff
patch (8.40 KB, patch)
2015-01-07 16:31 PST, Saam Barati
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Saam Barati 2015-01-06 18:56:36 PST
Interpreting op_profile_type in the LLInt unconditionally calls into a slow path, but it should instead directly interpret op_profile_type and only call into the slow path when the TypeProfilerLog is full.
Comment 1 Saam Barati 2015-01-07 14:13:30 PST
Created attachment 244201 [details]
patch
Comment 2 Michael Saboff 2015-01-07 14:30:33 PST
Comment on attachment 244201 [details]
patch

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

r=me

> Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:623
> +    vm.typeProfilerLog()->processLogEntries(ASCIILiteral("LLInt log full."));

You might want to change the string to simply "log full".  I assume we'll expand this to at least the baseline JIT.
Comment 3 Saam Barati 2015-01-07 16:31:16 PST
Created attachment 244221 [details]
patch

Fixed bug on 32-bit asm. loadisFromInstrution had the wrong index.
Comment 4 Saam Barati 2015-01-07 16:33:52 PST
> You might want to change the string to simply "log full".  I assume we'll
> expand this to at least the baseline JIT.

The baseline JIT calls into a different operation when the log is full, passing a string indicating the log filled up while inside the baseline JIT. It's nice, when viewing performance of the log, to determine where TypeProfilerLog::processLogEntries is being called from.
Comment 5 WebKit Commit Bot 2015-01-07 17:22:30 PST
Comment on attachment 244221 [details]
patch

Clearing flags on attachment: 244221

Committed r178073: <http://trac.webkit.org/changeset/178073>
Comment 6 WebKit Commit Bot 2015-01-07 17:22:33 PST
All reviewed patches have been landed.  Closing bug.