Changeset 36300 in webkit for trunk/JavaScriptCore/VM/CTI.cpp


Ignore:
Timestamp:
Sep 9, 2008, 1:44:00 PM (17 years ago)
Author:
[email protected]
Message:

2008-09-09 Cameron Zwarich <[email protected]>

Reviewed by Maciej Stachowiak.

Clean up the WREC code some more.

  • VM/CTI.cpp: (JSC::CTI::compileRegExp):
  • wrec/WREC.cpp: (JSC::getCharacterClassNewline): (JSC::getCharacterClassDigits): (JSC::getCharacterClassSpaces): (JSC::getCharacterClassWordchar): (JSC::getCharacterClassNondigits): (JSC::getCharacterClassNonspaces): (JSC::getCharacterClassNonwordchar): (JSC::WRECGenerator::generateBacktrack1): (JSC::WRECGenerator::generateBacktrackBackreference): (JSC::WRECGenerator::generateBackreferenceQuantifier): (JSC::WRECGenerator::generateNonGreedyQuantifier): (JSC::WRECGenerator::generateGreedyQuantifier): (JSC::WRECGenerator::generatePatternCharacter): (JSC::WRECGenerator::generateCharacterClassInvertedRange): (JSC::WRECGenerator::generateCharacterClassInverted): (JSC::WRECGenerator::generateCharacterClass): (JSC::WRECGenerator::generateParentheses): (JSC::WRECGenerator::gererateParenthesesResetTrampoline): (JSC::WRECGenerator::generateAssertionBOL): (JSC::WRECGenerator::generateAssertionEOL): (JSC::WRECGenerator::generateAssertionWordBoundary): (JSC::WRECGenerator::generateBackreference): (JSC::WRECGenerator::gernerateDisjunction): (JSC::WRECParser::parseCharacterClass): (JSC::WRECParser::parseEscape): (JSC::WRECParser::parseTerm):
  • wrec/WREC.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/VM/CTI.cpp

    r36285 r36300  
    18461846    jit.emitConvertToFastCall();
    18471847    // (0) Setup:
    1848     //     Preserve regs & initialize OUTPUT_REG.
    1849     jit.emitPushl_r(WRECGenerator::OUTPUT_REG);
    1850     jit.emitPushl_r(WRECGenerator::CURR_VAL_REG);
     1848    //     Preserve regs & initialize outputRegister.
     1849    jit.emitPushl_r(WRECGenerator::outputRegister);
     1850    jit.emitPushl_r(WRECGenerator::currentValueRegister);
    18511851    // push pos onto the stack, both to preserve and as a parameter available to parseDisjunction
    1852     jit.emitPushl_r(WRECGenerator::CURR_POS_REG);
     1852    jit.emitPushl_r(WRECGenerator::currentPositionRegister);
    18531853    // load output pointer
    18541854    jit.emitMovl_mr(16
     
    18561856                    + 3 * sizeof(void*)
    18571857#endif
    1858                     , MacroAssembler::esp, WRECGenerator::OUTPUT_REG);
     1858                    , MacroAssembler::esp, WRECGenerator::outputRegister);
    18591859   
    18601860    // restart point on match fail.
     
    18781878    //     Set return value & pop registers from the stack.
    18791879
    1880     jit.emitTestl_rr(WRECGenerator::OUTPUT_REG, WRECGenerator::OUTPUT_REG);
     1880    jit.emitTestl_rr(WRECGenerator::outputRegister, WRECGenerator::outputRegister);
    18811881    WRECGenerator::JmpSrc noOutput = jit.emitUnlinkedJe();
    18821882
    1883     jit.emitMovl_rm(WRECGenerator::CURR_POS_REG, 4, WRECGenerator::OUTPUT_REG);
     1883    jit.emitMovl_rm(WRECGenerator::currentPositionRegister, 4, WRECGenerator::outputRegister);
    18841884    jit.emitPopl_r(MacroAssembler::eax);
    1885     jit.emitMovl_rm(MacroAssembler::eax, WRECGenerator::OUTPUT_REG);
    1886     jit.emitPopl_r(WRECGenerator::CURR_VAL_REG);
    1887     jit.emitPopl_r(WRECGenerator::OUTPUT_REG);
     1885    jit.emitMovl_rm(MacroAssembler::eax, WRECGenerator::outputRegister);
     1886    jit.emitPopl_r(WRECGenerator::currentValueRegister);
     1887    jit.emitPopl_r(WRECGenerator::outputRegister);
    18881888    jit.emitRet();
    18891889   
     
    18911891   
    18921892    jit.emitPopl_r(MacroAssembler::eax);
    1893     jit.emitMovl_rm(MacroAssembler::eax, WRECGenerator::OUTPUT_REG);
    1894     jit.emitPopl_r(WRECGenerator::CURR_VAL_REG);
    1895     jit.emitPopl_r(WRECGenerator::OUTPUT_REG);
     1893    jit.emitMovl_rm(MacroAssembler::eax, WRECGenerator::outputRegister);
     1894    jit.emitPopl_r(WRECGenerator::currentValueRegister);
     1895    jit.emitPopl_r(WRECGenerator::outputRegister);
    18961896    jit.emitRet();
    18971897
     
    19041904    failures.clear();
    19051905
    1906     jit.emitMovl_mr(MacroAssembler::esp, WRECGenerator::CURR_POS_REG);
    1907     jit.emitAddl_i8r(1, WRECGenerator::CURR_POS_REG);
    1908     jit.emitMovl_rm(WRECGenerator::CURR_POS_REG, MacroAssembler::esp);
    1909     jit.emitCmpl_rr(WRECGenerator::LENGTH_REG, WRECGenerator::CURR_POS_REG);
     1906    jit.emitMovl_mr(MacroAssembler::esp, WRECGenerator::currentPositionRegister);
     1907    jit.emitAddl_i8r(1, WRECGenerator::currentPositionRegister);
     1908    jit.emitMovl_rm(WRECGenerator::currentPositionRegister, MacroAssembler::esp);
     1909    jit.emitCmpl_rr(WRECGenerator::lengthRegister, WRECGenerator::currentPositionRegister);
    19101910    jit.link(jit.emitUnlinkedJle(), nextLabel);
    19111911
     
    19131913
    19141914    jit.emitMovl_i32r(-1, MacroAssembler::eax);
    1915     jit.emitPopl_r(WRECGenerator::CURR_VAL_REG);
    1916     jit.emitPopl_r(WRECGenerator::OUTPUT_REG);
     1915    jit.emitPopl_r(WRECGenerator::currentValueRegister);
     1916    jit.emitPopl_r(WRECGenerator::outputRegister);
    19171917    jit.emitRet();
    19181918
Note: See TracChangeset for help on using the changeset viewer.