Changeset 108456 in webkit for trunk/Source/JavaScriptCore/yarr/YarrJIT.cpp
- Timestamp:
- Feb 22, 2012, 12:43:52 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/yarr/YarrJIT.cpp
r107647 r108456 844 844 YarrOp& op = m_ops[opIndex]; 845 845 PatternTerm* term = op.m_term; 846 UChar ch = term->patternCharacter; 846 847 847 848 const RegisterID countRegister = regT1; … … 849 850 m_backtrackingState.link(this); 850 851 851 loadFromFrame(term->frameLocation, countRegister); 852 m_backtrackingState.append(branchTest32(Zero, countRegister)); 853 sub32(TrustedImm32(1), countRegister); 854 sub32(TrustedImm32(1), index); 855 jump(op.m_reentry); 852 if ((ch > 0xff) && (m_charSize == Char8)) { 853 // Have a 16 bit pattern character and an 8 bit string - short circuit 854 m_backtrackingState.append(op.m_jumps); 855 } else { 856 loadFromFrame(term->frameLocation, countRegister); 857 m_backtrackingState.append(branchTest32(Zero, countRegister)); 858 sub32(TrustedImm32(1), countRegister); 859 sub32(TrustedImm32(1), index); 860 jump(op.m_reentry); 861 } 856 862 } 857 863
Note:
See TracChangeset
for help on using the changeset viewer.