RESOLVED FIXED 80365
PredictNone is incorrectly treated as isDoublePrediction
https://bugs.webkit.org/show_bug.cgi?id=80365
Summary PredictNone is incorrectly treated as isDoublePrediction
Yuqiang Xian
Reported 2012-03-05 19:21:46 PST
And also it is incorrectly treated as isFixedIndexedStorageObjectPrediction.
Attachments
the patch (1.58 KB, patch)
2012-03-05 19:31 PST, Yuqiang Xian
fpizlo: review+
Performance result (6.16 KB, text/plain)
2012-03-05 22:39 PST, Yuqiang Xian
no flags
Yuqiang Xian
Comment 1 2012-03-05 19:31:53 PST
Created attachment 130269 [details] the patch Attention: One performance regression on SunSpider-bitops-nsieve-bits. The root cause is identified - In ToT, a dead/unused variable was marked as ForcedDouble simply because it has PredictNone (as we don't propagate the type information for the dead/unused variables), and is treated as a Double prediction - so OSR performed successfully (that unused variable actually happened to be an integer, see line 108 in DFGOSREntry.cpp). But with this bug fix, the OSR is failed because there's no type prediction for the unused variable. Separated bug will be filed against this.
Yuqiang Xian
Comment 2 2012-03-05 20:25:49 PST
(In reply to comment #1) > Attention: One performance regression on SunSpider-bitops-nsieve-bits. The root cause is identified - In ToT, a dead/unused variable was marked as ForcedDouble simply because it has PredictNone (as we don't propagate the type information for the dead/unused variables), and is treated as a Double prediction - so OSR performed successfully (that unused variable actually happened to be an integer, see line 108 in DFGOSREntry.cpp). But with this bug fix, the OSR is failed because there's no type prediction for the unused variable. Separated bug will be filed against this. bug 80371 is created for this specific issue.
Filip Pizlo
Comment 3 2012-03-05 22:13:45 PST
Does the performance regression go away now?
Yuqiang Xian
Comment 4 2012-03-05 22:39:19 PST
Created attachment 130296 [details] Performance result Yes, there's no performance regression with this change after bug 80371 is fixed. Please see the attached result.
Yuqiang Xian
Comment 5 2012-03-05 23:04:26 PST
Note You need to log in before you can comment on or make changes to this bug.