Ignore:
Timestamp:
Dec 13, 2017, 11:38:51 AM (7 years ago)
Author:
[email protected]
Message:

Unreviewed rollout of r225695. Caused a crash on yahoo login page.

That bug tracked in https://bugs.webkit.org/show_bug.cgi?id=180761.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/RegExp.cpp

    r225695 r225861  
    272272}
    273273
    274 
    275 static std::unique_ptr<Yarr::BytecodePattern> byteCodeCompilePattern(VM* vm, Yarr::YarrPattern& pattern)
    276 {
    277     return Yarr::byteCompile(pattern, &vm->m_regExpAllocator, &vm->m_regExpAllocatorLock);
    278 }
    279 
    280 void RegExp::byteCodeCompileIfNecessary(VM* vm)
    281 {
    282     if (m_regExpBytecode)
    283         return;
    284 
    285     Yarr::YarrPattern pattern(m_patternString, m_flags, &m_constructionError, vm->stackLimit());
    286     if (m_constructionError) {
    287         RELEASE_ASSERT_NOT_REACHED();
    288 #if COMPILER_QUIRK(CONSIDERS_UNREACHABLE_CODE)
    289         m_state = ParseError;
    290         return;
    291 #endif
    292     }
    293     ASSERT(m_numSubpatterns == pattern.m_numSubpatterns);
    294 
    295     m_regExpBytecode = byteCodeCompilePattern(vm, pattern);
    296 }
    297 
    298274void RegExp::compile(VM* vm, Yarr::YarrCharSize charSize)
    299275{
     
    328304#endif
    329305
    330     if (Options::dumpCompiledRegExpPatterns())
    331         dataLog("Can't JIT this regular expression: \"", m_patternString, "\"\n");
    332 
    333306    m_state = ByteCode;
    334     m_regExpBytecode = byteCodeCompilePattern(vm, pattern);
     307    m_regExpBytecode = Yarr::byteCompile(pattern, &vm->m_regExpAllocator, &vm->m_regExpAllocatorLock);
    335308}
    336309
     
    384357#endif
    385358
    386     if (Options::dumpCompiledRegExpPatterns())
    387         dataLog("Can't JIT this regular expression: \"", m_patternString, "\"\n");
    388 
    389359    m_state = ByteCode;
    390     m_regExpBytecode = byteCodeCompilePattern(vm, pattern);
     360    m_regExpBytecode = Yarr::byteCompile(pattern, &vm->m_regExpAllocator, &vm->m_regExpAllocatorLock);
    391361}
    392362
Note: See TracChangeset for help on using the changeset viewer.