Ignore:
Timestamp:
Sep 6, 2008, 10:44:58 PM (17 years ago)
Author:
[email protected]
Message:

Merge squirrelfish-extreme to trunk.

File:
1 edited

Legend:

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

    r36087 r36244  
    274274        size_t i = 0;
    275275        do {
    276             printStructureIDs(&instructions[structureIDInstructions[i]]);
    277             ++i;
     276             printStructureIDs(&instructions[structureIDInstructions[i]]);
     277             ++i;
    278278        } while (i < structureIDInstructions.size());
    279279    }
    280 
     280 
    281281    if (exceptionHandlers.size()) {
    282282        printf("\nException Handlers:\n");
     
    318318                UChar ch = static_cast<UChar>(entry + characterSwitchJumpTables[i].min);
    319319                printf("\t\t\"%s\" => %04d\n", UString(&ch, 1).ascii(), *iter);
    320             }
     320        }
    321321            printf("      }\n");
    322322            ++i;
     
    329329        do {
    330330            printf("  %1d = {\n", i);
    331             StringJumpTable::const_iterator end = stringSwitchJumpTables[i].end();
    332             for (StringJumpTable::const_iterator iter = stringSwitchJumpTables[i].begin(); iter != end; ++iter)
    333                 printf("\t\t\"%s\" => %04d\n", UString(iter->first).ascii(), iter->second);
     331            StringJumpTable::StringOffsetTable::const_iterator end = stringSwitchJumpTables[i].offsetTable.end();
     332            for (StringJumpTable::StringOffsetTable::const_iterator iter = stringSwitchJumpTables[i].offsetTable.begin(); iter != end; ++iter)
     333                printf("\t\t\"%s\" => %04d\n", UString(iter->first).ascii(), iter->second.branchOffset);
    334334            printf("      }\n");
    335335            ++i;
     
    821821    for (size_t i = 0; i < size; ++i)
    822822        derefStructureIDs(&instructions[structureIDInstructions[i]]);
     823
     824    size = structureIDAccessStubs.size();
     825    for (size_t i = 0; i < size; ++i)
     826        fastFree(structureIDAccessStubs[i]);
     827
     828#if ENABLE(CTI)
     829    if (ctiCode)
     830        fastFree(ctiCode);
     831#endif
    823832}
    824833
     
    913922}
    914923
     924void* CodeBlock::nativeExceptionCodeForHandlerVPC(const Instruction* handlerVPC)
     925{
     926    Vector<HandlerInfo>::iterator ptr = exceptionHandlers.begin();
     927    Vector<HandlerInfo>::iterator end = exceptionHandlers.end();
     928   
     929    for (; ptr != end; ++ptr) {
     930        Instruction*target = instructions.begin() + ptr->target;
     931        if (handlerVPC == target)
     932            return ptr->nativeCode;
     933    }
     934
     935    return 0;
     936}
     937
    915938int CodeBlock::lineNumberForVPC(const Instruction* vPC)
    916939{
Note: See TracChangeset for help on using the changeset viewer.