This is likely to be an overzealous assertion.
Heh, this is obviously a wrong assertion. We do an execute() above it. It is asserting that if we need a watchpoint (i.e. the best proven structure was not the current structure) then it must be the future possible structure. But while that may have been true before execute(), it won't be true after.
Created attachment 215992 [details]
Comment on attachment 215992 [details]
Landed in http://trac.webkit.org/changeset/158646