Ignore:
Timestamp:
Mar 22, 2018, 8:40:57 AM (7 years ago)
Author:
Yusuke Suzuki
Message:

[JSC] Drop op_put_by_index
https://bugs.webkit.org/show_bug.cgi?id=183899

Reviewed by Mark Lam.

This patch drops op_put_by_index.

  1. This functionality can be just covered by direct put_by_val.
  2. put_by_index is not well optimized. It is just calling a C

function. And it does not have DFG handling.

  • bytecode/BytecodeDumper.cpp:

(JSC::BytecodeDumper<Block>::dumpBytecode):

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitPutByIndex): Deleted.

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::ArrayNode::emitBytecode):
(JSC::ArrayPatternNode::emitDirectBinding):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JIT.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_put_by_index): Deleted.

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_put_by_index): Deleted.

  • llint/LLIntSlowPaths.cpp:
  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/bytecode/BytecodeDumper.cpp

    r227738 r229852  
    11881188        break;
    11891189    }
    1190     case op_put_by_index: {
    1191         int r0 = (++it)->u.operand;
    1192         unsigned n0 = (++it)->u.operand;
    1193         int r1 = (++it)->u.operand;
    1194         printLocationAndOp(out, location, it, "put_by_index");
    1195         out.printf("%s, %u, %s", registerName(r0).data(), n0, registerName(r1).data());
    1196         break;
    1197     }
    11981190    case op_jmp: {
    11991191        int offset = (++it)->u.operand;
Note: See TracChangeset for help on using the changeset viewer.