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] the patch
Comment on attachment 215992 [details] the patch r=me
Landed in http://trac.webkit.org/changeset/158646