Changeset 225695 in webkit for trunk/Source/JavaScriptCore/runtime/RegExp.cpp
- Timestamp:
- Dec 8, 2017, 12:32:42 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/RegExp.cpp
r223010 r225695 272 272 } 273 273 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 274 298 void RegExp::compile(VM* vm, Yarr::YarrCharSize charSize) 275 299 { … … 304 328 #endif 305 329 330 if (Options::dumpCompiledRegExpPatterns()) 331 dataLog("Can't JIT this regular expression: \"", m_patternString, "\"\n"); 332 306 333 m_state = ByteCode; 307 m_regExpBytecode = Yarr::byteCompile(pattern, &vm->m_regExpAllocator, &vm->m_regExpAllocatorLock);334 m_regExpBytecode = byteCodeCompilePattern(vm, pattern); 308 335 } 309 336 … … 357 384 #endif 358 385 386 if (Options::dumpCompiledRegExpPatterns()) 387 dataLog("Can't JIT this regular expression: \"", m_patternString, "\"\n"); 388 359 389 m_state = ByteCode; 360 m_regExpBytecode = Yarr::byteCompile(pattern, &vm->m_regExpAllocator, &vm->m_regExpAllocatorLock);390 m_regExpBytecode = byteCodeCompilePattern(vm, pattern); 361 391 } 362 392
Note:
See TracChangeset
for help on using the changeset viewer.