Ignore:
Timestamp:
Sep 2, 2008, 10:04:39 PM (17 years ago)
Author:
[email protected]
Message:

2008-09-02 Geoffrey Garen <[email protected]>

Reviewed by Oliver Hunt.


Fast path for array.length and string.length.


SunSpider says 0.5% faster.

File:
1 edited

Legend:

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

    r36036 r36039  
    561561            break;
    562562        }
     563        case op_get_array_length: {
     564            printGetByIdOp(location, it, identifiers, "get_array_length");
     565            break;
     566        }
     567        case op_get_string_length: {
     568            printGetByIdOp(location, it, identifiers, "get_string_length");
     569            break;
     570        }
    563571        case op_put_by_id: {
    564572            printPutByIdOp(location, it, identifiers, "put_by_id");
     
    837845   
    838846    // These instructions don't ref their StructureIDs.
    839     ASSERT(vPC[0].u.opcode == machine->getOpcode(op_get_by_id) || vPC[0].u.opcode == machine->getOpcode(op_put_by_id) || vPC[0].u.opcode == machine->getOpcode(op_get_by_id_generic) || vPC[0].u.opcode == machine->getOpcode(op_put_by_id_generic));
     847    ASSERT(vPC[0].u.opcode == machine->getOpcode(op_get_by_id) || vPC[0].u.opcode == machine->getOpcode(op_put_by_id) || vPC[0].u.opcode == machine->getOpcode(op_get_by_id_generic) || vPC[0].u.opcode == machine->getOpcode(op_put_by_id_generic) || vPC[0].u.opcode == machine->getOpcode(op_get_array_length) || vPC[0].u.opcode == machine->getOpcode(op_get_string_length));
    840848}
    841849
Note: See TracChangeset for help on using the changeset viewer.