Changeset 59064 in webkit for trunk/JavaScriptCore/bytecode/CodeBlock.cpp
- Timestamp:
- May 9, 2010, 6:41:07 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/bytecode/CodeBlock.cpp
r58986 r59064 90 90 } 91 91 92 static UString regexpToSourceString(RegExp* regExp) 93 { 94 char postfix[5] = { '/', 0, 0, 0, 0 }; 95 int index = 1; 96 if (regExp->global()) 97 postfix[index++] = 'g'; 98 if (regExp->ignoreCase()) 99 postfix[index++] = 'i'; 100 if (regExp->multiline()) 101 postfix[index] = 'm'; 102 103 return makeString("/", regExp->pattern(), postfix); 104 } 105 106 static CString regexpName(int re, RegExp* regexp) 107 { 108 return makeString(regexpToSourceString(regexp), "(@re", UString::from(re), ")").UTF8String(); 109 } 110 92 111 static UString pointerToSourceString(void* p) 93 112 { … … 350 369 } 351 370 371 if (m_rareData && !m_rareData->m_regexps.isEmpty()) { 372 printf("\nm_regexps:\n"); 373 size_t i = 0; 374 do { 375 printf(" re%u = %s\n", static_cast<unsigned>(i), regexpToSourceString(m_rareData->m_regexps[i].get()).ascii()); 376 ++i; 377 } while (i < m_rareData->m_regexps.size()); 378 } 379 352 380 #if ENABLE(JIT) 353 381 if (!m_globalResolveInfos.isEmpty() || !m_structureStubInfos.isEmpty()) … … 485 513 int argc = (++it)->u.operand; 486 514 printf("[%4d] new_array\t %s, %s, %d\n", location, registerName(exec, dst).data(), registerName(exec, argv).data(), argc); 515 break; 516 } 517 case op_new_regexp: { 518 int r0 = (++it)->u.operand; 519 int re0 = (++it)->u.operand; 520 printf("[%4d] new_regexp\t %s, %s\n", location, registerName(exec, r0).data(), regexpName(re0, regexp(re0)).data()); 487 521 break; 488 522 } … … 1696 1730 if (m_rareData) { 1697 1731 m_rareData->m_exceptionHandlers.shrinkToFit(); 1732 m_rareData->m_regexps.shrinkToFit(); 1698 1733 m_rareData->m_immediateSwitchJumpTables.shrinkToFit(); 1699 1734 m_rareData->m_characterSwitchJumpTables.shrinkToFit();
Note:
See TracChangeset
for help on using the changeset viewer.