Bug 144456 - TypeOfIsUndefined by-type folding should take advantage of the masquerades-as-undefined watchpoint
Summary: TypeOfIsUndefined by-type folding should take advantage of the masquerades-as...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P2 Enhancement
Assignee: Alexey Shvayka
Depends on: 144409
  Show dependency treegraph
Reported: 2015-04-30 10:31 PDT by Filip Pizlo
Modified: 2021-08-04 15:10 PDT (History)
7 users (show)

See Also:

Patch (5.23 KB, patch)
2021-08-04 14:52 PDT, Alexey Shvayka
fpizlo: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2015-04-30 10:31:02 PDT
This would allow us to fold more things.
Comment 1 Alexey Shvayka 2021-08-04 14:52:44 PDT
Created attachment 434939 [details]
Comment 2 Alexey Shvayka 2021-08-04 14:53:30 PDT
(In reply to Alexey Shvayka from comment #1)
> Created attachment 434939 [details]
> Patch

                                                    r280626                    patch

is-undefined-fold-tricky-spec-object-other      30.6171+-0.7028     ^     21.8494+-0.6913        ^ definitely 1.4013x faster
Comment 3 Filip Pizlo 2021-08-04 15:10:39 PDT
Comment on attachment 434939 [details]

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

> Source/JavaScriptCore/ChangeLog:12
> +        TypeOfIsObject / TypeOfIsFunction by-type folding can't be improved in the same way:
> +        even if SpecObjectOther is a proven non-masquerader, we don't know if it's callable.

Can you replace the FIXME's with comments to this effect?  This is an easy detail to forget.  I would say something like - we could use the masquerade watchpoint to prove it's not undefined, but we don't have a trick for callability.