Changeset 246237 in webkit
- Timestamp:
- Jun 9, 2019, 12:09:48 AM (7 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 3 edited
-
JSTests/ChangeLog (modified) (1 diff)
-
JSTests/stress/prediction-propagation-should-use-merge-prediction-for-value-pow.js (added)
-
Source/JavaScriptCore/ChangeLog (modified) (1 diff)
-
Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/JSTests/ChangeLog
r246210 r246237 1 2019-06-09 Yusuke Suzuki <ysuzuki@apple.com> 2 3 [JSC] Use mergePrediction in ValuePow prediction propagation 4 https://bugs.webkit.org/show_bug.cgi?id=198648 5 6 Reviewed by Saam Barati. 7 8 * stress/prediction-propagation-should-use-merge-prediction-for-value-pow.js: Added. 9 1 10 2019-06-07 Tadeu Zagallo <tzagallo@apple.com> 2 11 -
trunk/Source/JavaScriptCore/ChangeLog
r246210 r246237 1 2019-06-09 Yusuke Suzuki <ysuzuki@apple.com> 2 3 [JSC] Use mergePrediction in ValuePow prediction propagation 4 https://bugs.webkit.org/show_bug.cgi?id=198648 5 6 Reviewed by Saam Barati. 7 8 We are accidentally using setPrediction. This is wrong since prediction propagation (not processInvariant) 9 must extend the speculation types to ensure we eventually reach to the fixed point. setPrediction can discard 10 previously configured predictions, can lead to oscillation potentially. Use mergePrediction instead. 11 12 * dfg/DFGPredictionPropagationPhase.cpp: 13 1 14 2019-06-07 Tadeu Zagallo <tzagallo@apple.com> 2 15 -
trunk/Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp
r246041 r246237 287 287 else if (isFullNumberOrBooleanSpeculationExpectingDefined(left) 288 288 && isFullNumberOrBooleanSpeculationExpectingDefined(right)) 289 setPrediction(SpecBytecodeDouble);289 changed |= mergePrediction(SpecBytecodeDouble); 290 290 else 291 setPrediction(SpecBytecodeDouble | SpecBigInt);291 changed |= mergePrediction(SpecBytecodeDouble | SpecBigInt); 292 292 } 293 293 break;
Note:
See TracChangeset
for help on using the changeset viewer.