|
Lines 4315-4320
private:
Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp_sec1
|
| 4315 |
case BooleanUse: |
4315 |
case BooleanUse: |
| 4316 |
speculateBoolean(edge); |
4316 |
speculateBoolean(edge); |
| 4317 |
break; |
4317 |
break; |
|
|
4318 |
case NotCellUse: |
| 4319 |
speculateNotCell(edge); |
| 4320 |
break; |
| 4318 |
default: |
4321 |
default: |
| 4319 |
dataLog("Unsupported speculation use kind: ", edge.useKind(), "\n"); |
4322 |
dataLog("Unsupported speculation use kind: ", edge.useKind(), "\n"); |
| 4320 |
RELEASE_ASSERT_NOT_REACHED(); |
4323 |
RELEASE_ASSERT_NOT_REACHED(); |
|
Lines 4590-4595
private:
Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp_sec2
|
| 4590 |
lowBoolean(edge); |
4593 |
lowBoolean(edge); |
| 4591 |
} |
4594 |
} |
| 4592 |
|
4595 |
|
|
|
4596 |
void speculateNotCell(Edge edge) |
| 4597 |
{ |
| 4598 |
if (!m_interpreter.needsTypeCheck(edge)) |
| 4599 |
return; |
| 4600 |
|
| 4601 |
LValue value = lowJSValue(edge); |
| 4602 |
typeCheck(jsValueValue(value), edge, ~SpecCell, isCell(value)); |
| 4603 |
} |
| 4604 |
|
| 4593 |
bool masqueradesAsUndefinedWatchpointIsStillValid() |
4605 |
bool masqueradesAsUndefinedWatchpointIsStillValid() |
| 4594 |
{ |
4606 |
{ |
| 4595 |
return m_graph.masqueradesAsUndefinedWatchpointIsStillValid(m_node->codeOrigin); |
4607 |
return m_graph.masqueradesAsUndefinedWatchpointIsStillValid(m_node->codeOrigin); |