Changeset 238436 in webkit
- Timestamp:
- Nov 21, 2018 7:39:54 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JSTests/ChangeLog
r238433 r238436 1 2018-11-21 Saam barati <sbarati@apple.com> 2 3 Fix assertion in KnownCellUse inside SpeculativeJIT::speculate 4 https://bugs.webkit.org/show_bug.cgi?id=191895 5 <rdar://problem/46167406> 6 7 Reviewed by Mark Lam. 8 9 * stress/known-cell-use-needs-type-check-assertion.js: Added. 10 (foo): 11 (bar): 12 1 13 2018-11-21 Mark Lam <mark.lam@apple.com> 2 14 -
trunk/Source/JavaScriptCore/ChangeLog
r238435 r238436 1 2018-11-21 Saam barati <sbarati@apple.com> 2 3 Fix assertion in KnownCellUse inside SpeculativeJIT::speculate 4 https://bugs.webkit.org/show_bug.cgi?id=191895 5 <rdar://problem/46167406> 6 7 Reviewed by Mark Lam. 8 9 We were asserting that the input edge should have type SpecCell but it should 10 really be SpecCellCheck since the type filter for KnownCellUse is SpecCellCheck. 11 12 This patch cleans up that assertion code by joining a bunch of cases into a 13 single function call which grabs the type filter for the edge UseKind and 14 asserts that the incoming edge meets the type filter criteria. 15 16 * dfg/DFGSpeculativeJIT.cpp: 17 (JSC::DFG::SpeculativeJIT::speculate): 18 * ftl/FTLLowerDFGToB3.cpp: 19 (JSC::FTL::DFG::LowerDFGToB3::speculate): 20 1 21 2018-11-21 Yusuke Suzuki <yusukesuzuki@slowstart.org> 2 22 -
trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
r237972 r238436 10287 10287 case UntypedUse: 10288 10288 break; 10289 case DoubleRepUse: 10290 case Int52RepUse: 10289 10291 case KnownInt32Use: 10290 ASSERT(!needsTypeCheck(edge, SpecInt32Only));10291 break;10292 case DoubleRepUse:10293 ASSERT(!needsTypeCheck(edge, SpecFullDouble));10294 break;10295 case Int52RepUse:10296 ASSERT(!needsTypeCheck(edge, SpecAnyInt));10297 break;10298 10292 case KnownCellUse: 10299 ASSERT(!needsTypeCheck(edge, SpecCell));10300 break;10301 10293 case KnownStringUse: 10302 ASSERT(!needsTypeCheck(edge, SpecString));10303 break;10304 10294 case KnownPrimitiveUse: 10305 ASSERT(!needsTypeCheck(edge, SpecHeapTop & ~SpecObject)); 10295 case KnownOtherUse: 10296 case KnownBooleanUse: 10297 ASSERT(!m_interpreter.needsTypeCheck(edge)); 10306 10298 break; 10307 10299 case Int32Use: … … 10328 10320 speculateBoolean(edge); 10329 10321 break; 10330 case KnownBooleanUse:10331 ASSERT(!needsTypeCheck(edge, SpecBoolean));10332 break;10333 10322 case CellUse: 10334 10323 speculateCell(edge); … … 10405 10394 case NotCellUse: 10406 10395 speculateNotCell(edge); 10407 break;10408 case KnownOtherUse:10409 ASSERT(!needsTypeCheck(edge, SpecOther));10410 10396 break; 10411 10397 case OtherUse: -
trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
r237972 r238436 15340 15340 case DoubleRepUse: 15341 15341 case Int52RepUse: 15342 case KnownCellUse: 15343 case KnownBooleanUse: 15342 15344 ASSERT(!m_interpreter.needsTypeCheck(edge)); 15343 15345 break; … … 15350 15352 case CellOrOtherUse: 15351 15353 speculateCellOrOther(edge); 15352 break;15353 case KnownCellUse:15354 ASSERT(!m_interpreter.needsTypeCheck(edge));15355 15354 break; 15356 15355 case AnyIntUse:
Note: See TracChangeset
for help on using the changeset viewer.