Changeset 46598 in webkit for trunk/JavaScriptCore/bytecompiler


Ignore:
Timestamp:
Jul 30, 2009, 1:57:44 PM (16 years ago)
Author:
[email protected]
Message:

Merged nitro-extreme branch into trunk.

Location:
trunk/JavaScriptCore/bytecompiler
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp

    r45791 r46598  
    328328        emitOpcode(op_enter);
    329329
    330      if (usesArguments) {
     330    if (usesArguments) {
    331331        emitOpcode(op_init_arguments);
    332332
     
    862862
    863863    if (opcodeID == op_bitor || opcodeID == op_bitand || opcodeID == op_bitxor ||
    864         opcodeID == op_add || opcodeID == op_mul || opcodeID == op_sub) {
     864        opcodeID == op_add || opcodeID == op_mul || opcodeID == op_sub || opcodeID == op_div)
    865865        instructions().append(types.toInt());
    866     }
    867866
    868867    return dst;
     
    11841183}
    11851184
    1186 RegisterID* BytecodeGenerator::emitResolveFunction(RegisterID* baseDst, RegisterID* funcDst, const Identifier& property)
    1187 {
    1188     emitOpcode(op_resolve_func);
    1189     instructions().append(baseDst->index());
    1190     instructions().append(funcDst->index());
    1191     instructions().append(addConstant(property));
    1192     return baseDst;
    1193 }
    1194 
    11951185void BytecodeGenerator::emitMethodCheck()
    11961186{
     
    18061796    instructions().append(retAddrDst->index());
    18071797    instructions().append(finally->offsetFrom(instructions().size()));
     1798    emitLabel(newLabel().get()); // Record the fact that the next instruction is implicitly labeled, because op_sret will return to it.
    18081799    return finally;
    18091800}
     
    18591850    double value = static_cast<NumberNode*>(node)->value();
    18601851    int32_t key = static_cast<int32_t>(value);
    1861     ASSERT(JSValue::makeInt32Fast(key) && (JSValue::makeInt32Fast(key).getInt32Fast() == value));
    18621852    ASSERT(key == value);
    18631853    ASSERT(key >= min);
  • trunk/JavaScriptCore/bytecompiler/BytecodeGenerator.h

    r45609 r46598  
    277277        RegisterID* emitResolveBase(RegisterID* dst, const Identifier& property);
    278278        RegisterID* emitResolveWithBase(RegisterID* baseDst, RegisterID* propDst, const Identifier& property);
    279         RegisterID* emitResolveFunction(RegisterID* baseDst, RegisterID* funcDst, const Identifier& property);
    280279
    281280        void emitMethodCheck();
     
    356355        PassRefPtr<Label> emitComplexJumpScopes(Label* target, ControlFlowContext* topScope, ControlFlowContext* bottomScope);
    357356
    358         typedef HashMap<EncodedJSValue, unsigned, PtrHash<EncodedJSValue>, JSValueHashTraits> JSValueMap;
     357        typedef HashMap<EncodedJSValue, unsigned, EncodedJSValueHash, EncodedJSValueHashTraits> JSValueMap;
    359358
    360359        struct IdentifierMapIndexHashTraits {
Note: See TracChangeset for help on using the changeset viewer.