Changeset 243237 in webkit for trunk/Source/JavaScriptCore/yarr/YarrJIT.cpp
- Timestamp:
- Mar 20, 2019, 2:04:10 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/yarr/YarrJIT.cpp
r242838 r243237 3387 3387 YarrOpCode alternativeEndOpCode = OpSimpleNestedAlternativeEnd; 3388 3388 3389 if (UNLIKELY(!m_vm->isSafeToRecurse())) { 3390 m_failureReason = JITFailureReason::ParenthesisNestedTooDeep; 3391 return; 3392 } 3393 3389 3394 // We can currently only compile quantity 1 subpatterns that are 3390 3395 // not copies. We generate a copy in the case of a range quantifier, … … 3493 3498 void opCompileParentheticalAssertion(PatternTerm* term) 3494 3499 { 3500 if (UNLIKELY(!m_vm->isSafeToRecurse())) { 3501 m_failureReason = JITFailureReason::ParenthesisNestedTooDeep; 3502 return; 3503 } 3504 3495 3505 size_t parenBegin = m_ops.size(); 3496 3506 m_ops.append(OpParentheticalAssertionBegin); … … 3573 3583 void opCompileBody(PatternDisjunction* disjunction) 3574 3584 { 3585 if (UNLIKELY(!m_vm->isSafeToRecurse())) { 3586 m_failureReason = JITFailureReason::ParenthesisNestedTooDeep; 3587 return; 3588 } 3589 3575 3590 Vector<std::unique_ptr<PatternAlternative>>& alternatives = disjunction->m_alternatives; 3576 3591 size_t currentAlternativeIndex = 0; … … 4201 4216 dataLog("Can't JIT a pattern containing fixed count parenthesized subpatterns\n"); 4202 4217 break; 4218 case JITFailureReason::ParenthesisNestedTooDeep: 4219 dataLog("Can't JIT pattern due to parentheses nested too deeply\n"); 4220 break; 4203 4221 case JITFailureReason::ExecutableMemoryAllocationFailure: 4204 4222 dataLog("Can't JIT because of failure of allocation of executable memory\n");
Note:
See TracChangeset
for help on using the changeset viewer.