Changeset 174401 in webkit for trunk/Source/JavaScriptCore/jit


Ignore:
Timestamp:
Oct 7, 2014, 11:57:57 AM (11 years ago)
Author:
[email protected]
Message:

Remove op_new_captured_func
https://bugs.webkit.org/show_bug.cgi?id=137491

Reviewed by Mark Lam.

Removes the op_captured_new_func opcode as part of the work
towards having any magical opcodes that write directly to
named "registers" and then have a follow on op to ensure that
the environment record correctly represents the stack state.

For this we add a non-captured scratch register so we don't
have to have any kind of magic opcode, and instead simply
have sensible creation and move semantics for capturing new
functions.

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

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

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitNewFunction):
(JSC::BytecodeGenerator::emitLazyNewFunction):
(JSC::BytecodeGenerator::emitNewFunctionInternal):

  • bytecompiler/BytecodeGenerator.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

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

(JSC::JIT::emit_op_new_captured_func): Deleted.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL): Deleted.

  • runtime/CommonSlowPaths.h:
Location:
trunk/Source/JavaScriptCore/jit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/jit/JIT.cpp

    r174226 r174401  
    257257        DEFINE_OP(op_new_array_buffer)
    258258        DEFINE_OP(op_new_func)
    259         DEFINE_OP(op_new_captured_func)
    260259        DEFINE_OP(op_new_func_exp)
    261260        DEFINE_OP(op_new_object)
  • trunk/Source/JavaScriptCore/jit/JIT.h

    r174226 r174401  
    515515        void emit_op_new_array_buffer(Instruction*);
    516516        void emit_op_new_func(Instruction*);
    517         void emit_op_new_captured_func(Instruction*);
    518517        void emit_op_new_func_exp(Instruction*);
    519518        void emit_op_new_object(Instruction*);
  • trunk/Source/JavaScriptCore/jit/JITOpcodes.cpp

    r174294 r174401  
    10361036}
    10371037
    1038 void JIT::emit_op_new_captured_func(Instruction* currentInstruction)
    1039 {
    1040     JITSlowPathCall slowPathCall(this, currentInstruction, slow_path_new_captured_func);
    1041     slowPathCall.call();
    1042 }
    1043 
    10441038void JIT::emit_op_new_func_exp(Instruction* currentInstruction)
    10451039{
Note: See TracChangeset for help on using the changeset viewer.