Bug 155002 - [[GetPrototypeOf]] should be a fully virtual method in the method table
Summary: [[GetPrototypeOf]] should be a fully virtual method in the method table
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Saam Barati
URL:
Keywords:
Depends on: 161534 155097
Blocks:
  Show dependency treegraph
 
Reported: 2016-03-03 19:20 PST by Saam Barati
Modified: 2016-09-02 09:46 PDT (History)
10 users (show)

See Also:


Attachments
patch (59.30 KB, patch)
2016-03-05 15:31 PST, Saam Barati
fpizlo: review+
Details | Formatted Diff | Diff
perf numbers (66.95 KB, text/plain)
2016-03-05 15:35 PST, Saam Barati
no flags Details
patch for landing (58.05 KB, patch)
2016-03-06 14:35 PST, Saam Barati
no flags Details | Formatted Diff | Diff
patch for landing v2 (119.99 KB, patch)
2016-03-06 16:07 PST, Saam Barati
no flags Details | Formatted Diff | Diff
v3 (121.00 KB, patch)
2016-03-06 16:12 PST, Saam Barati
no flags Details | Formatted Diff | Diff
v4 (128.08 KB, patch)
2016-03-06 16:25 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 2016-03-03 19:20:54 PST
This is needed for Proxy.
To make things fast, we will probably have to change
some JIT code to respect this and to introduce a getPrototypeInline
which will try to perform the default getPrototype which will probably
be named getPrototypeDirect.
Comment 1 Saam Barati 2016-03-05 15:31:01 PST
Created attachment 273102 [details]
patch
Comment 2 Filip Pizlo 2016-03-05 15:32:32 PST
Comment on attachment 273102 [details]
patch

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

> Source/JavaScriptCore/dfg/DFGOperations.cpp:1392
>  
> +#if USE(JSVALUE64)
> +EncodedJSValue 
> +#else
> +int32_t
> +#endif

Yuck!  Why not just return size_t like other functions that are in this situation?
Comment 3 Saam Barati 2016-03-05 15:35:19 PST
Created attachment 273104 [details]
perf numbers
Comment 4 Saam Barati 2016-03-06 14:35:54 PST
Created attachment 273147 [details]
patch for landing
Comment 5 Saam Barati 2016-03-06 15:14:25 PST
The compiler is confused about the ClassName::getPrototype when
building the method table :(
Comment 6 Saam Barati 2016-03-06 16:07:33 PST
Created attachment 273151 [details]
patch for landing v2

I want to see EWS results
Comment 7 Saam Barati 2016-03-06 16:12:08 PST
Created attachment 273152 [details]
v3

more method renaming. Hopefully no more is needed.
Comment 8 Saam Barati 2016-03-06 16:25:33 PST
Created attachment 273153 [details]
v4
Comment 9 Saam Barati 2016-03-06 17:00:56 PST
landed in:
http://trac.webkit.org/changeset/197648