Ignore:
Timestamp:
Mar 28, 2013, 5:09:56 PM (12 years ago)
Author:
[email protected]
Message:

Simplified the bytecode by removing op_jmp_scopes
https://bugs.webkit.org/show_bug.cgi?id=113545

Reviewed by Filip Pizlo.

We already have op_pop_scope and op_jmp, so we don't need op_jmp_scopes.
Using op_jmp_scopes was also adding a "jump to self" to codegen for
return statements, which was pretty silly.

(JSC::CodeBlock::dumpBytecode):

  • bytecode/Opcode.h:

(JSC::padOpcodeName):

  • bytecode/PreciseJumpTargets.cpp:

(JSC::computePreciseJumpTargets):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitComplexPopScopes):
(JSC::BytecodeGenerator::emitPopScopes):

  • bytecompiler/BytecodeGenerator.h:

(BytecodeGenerator):

  • bytecompiler/NodesCodegen.cpp:

(JSC::ContinueNode::emitBytecode):
(JSC::BreakNode::emitBytecode):
(JSC::ReturnNode::emitBytecode):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JIT.h:
  • jit/JITOpcodes.cpp:
  • jit/JITOpcodes32_64.cpp:
  • jit/JITStubs.cpp:
  • jit/JITStubs.h:
  • llint/LLIntSlowPaths.cpp:
  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
File:
1 edited

Legend:

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

    r145000 r147184  
    679679        void emit_op_jfalse(Instruction*);
    680680        void emit_op_jmp(Instruction*);
    681         void emit_op_jmp_scopes(Instruction*);
    682681        void emit_op_jneq_null(Instruction*);
    683682        void emit_op_jneq_ptr(Instruction*);
Note: See TracChangeset for help on using the changeset viewer.