Bug 69501 - SpeculativeJIT::isKnownString() is wrong
Summary: SpeculativeJIT::isKnownString() is wrong
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
Depends on:
Reported: 2011-10-05 22:15 PDT by Filip Pizlo
Modified: 2011-10-06 02:08 PDT (History)
0 users

See Also:

the patch (1.36 KB, patch)
2011-10-05 22:18 PDT, Filip Pizlo
oliver: 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 2011-10-05 22:15:53 PDT
It returns true if the child is a GetLocal and the local's prediction is PredictString.  But that's not right, since PredictString just means that the local is predicted to be a string, rather than it's known to be a string.

For some predictions, like array, boolean, and int32, we enforce predictions on local variables when we do a SetLocal.  But we don't do this for strings.  Hence, we can't have the same logic for strings as we have for those types.
Comment 1 Filip Pizlo 2011-10-05 22:18:56 PDT
Created attachment 109915 [details]
the patch
Comment 2 Oliver Hunt 2011-10-05 22:36:28 PDT
Comment on attachment 109915 [details]
the patch

It makes me sad that we can't propagate stringiness :-(
Comment 3 Filip Pizlo 2011-10-05 22:37:45 PDT
(In reply to comment #2)
> (From update of attachment 109915 [details])
> It makes me sad that we can't propagate stringiness :-(

I'm working on it!  Happy thoughts!
Comment 4 Filip Pizlo 2011-10-06 02:08:23 PDT
Landed in r96794.