Bug 184395 - Add pointer profiling to the FTL and supporting code.
Summary: Add pointer profiling to the FTL and supporting code.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Mark Lam
URL:
Keywords: InRadar
Depends on:
Blocks: 184324
  Show dependency treegraph
 
Reported: 2018-04-07 22:37 PDT by Mark Lam
Modified: 2018-04-09 10:42 PDT (History)
7 users (show)

See Also:


Attachments
proposed patch. (51.87 KB, patch)
2018-04-08 01:35 PDT, Mark Lam
no flags Details | Formatted Diff | Diff
proposed patch. (58.28 KB, patch)
2018-04-08 02:07 PDT, Mark Lam
fpizlo: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Lam 2018-04-07 22:37:21 PDT
Patch coming.
Comment 1 Radar WebKit Bug Importer 2018-04-07 22:37:59 PDT
<rdar://problem/39264019>
Comment 2 Mark Lam 2018-04-08 01:35:19 PDT
Created attachment 337452 [details]
proposed patch.

Let's get some EWS testing.
Comment 3 Mark Lam 2018-04-08 02:07:06 PDT
Created attachment 337454 [details]
proposed patch.
Comment 4 Michael Saboff 2018-04-09 10:25:28 PDT
Comment on attachment 337454 [details]
proposed patch.

r=me
Comment 5 Filip Pizlo 2018-04-09 10:33:10 PDT
Comment on attachment 337454 [details]
proposed patch.

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

> Source/JavaScriptCore/ftl/FTLOutput.h:408
> -    LValue operation(FunctionType function) { return constIntPtr(bitwise_cast<void*>(function)); }
> +    LValue operation(FunctionType function) { return constIntPtr(tagCFunctionPtr<void*>(function, B3CCallPtrTag)); }

Ideally we would support passing more specific diversity to B3::CCall.  Can you file a bug and reference it here with a FIXME?

I totally see how it's not necessary for making this feature work right now, but such a FIXME will help us remember that it's only this way because it was expedient.
Comment 6 Filip Pizlo 2018-04-09 10:33:24 PDT
(In reply to Michael Saboff from comment #4)
> Comment on attachment 337454 [details]
> proposed patch.
> 
> r=me

r=me too
Comment 7 Mark Lam 2018-04-09 10:39:13 PDT
(In reply to Filip Pizlo from comment #5)
> Comment on attachment 337454 [details]
> proposed patch.
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=337454&action=review
> 
> > Source/JavaScriptCore/ftl/FTLOutput.h:408
> > -    LValue operation(FunctionType function) { return constIntPtr(bitwise_cast<void*>(function)); }
> > +    LValue operation(FunctionType function) { return constIntPtr(tagCFunctionPtr<void*>(function, B3CCallPtrTag)); }
> 
> Ideally we would support passing more specific diversity to B3::CCall.  Can
> you file a bug and reference it here with a FIXME?
> 
> I totally see how it's not necessary for making this feature work right now,
> but such a FIXME will help us remember that it's only this way because it
> was expedient.

Done.  Ref: https://bugs.webkit.org/show_bug.cgi?id=184324
Comment 8 Mark Lam 2018-04-09 10:42:38 PDT
Thanks for the reviews.  Landed in r230444: <http://trac.webkit.org/r230444>.