Ignore:
Timestamp:
Nov 10, 2014, 7:05:25 PM (11 years ago)
Author:
[email protected]
Message:

Add scope operand to op_create_lexical_environment
https://bugs.webkit.org/show_bug.cgi?id=138588

Reviewed by Geoffrey Garen.

Added a second operand to op_create_lexical_environment that contains the scope register
to update. Note that the DFG relies on operationCreateActivation() to update the
scope register since we can't issue a set() with a non-local, non-argument register.
This is temporary until the scope register is allocated as a local.

  • bytecode/BytecodeList.json:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
Added the scope register operand.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
Filled in the scope register operand.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_create_lexical_environment):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_create_lexical_environment):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

Set the scope register with the result of the appropriate create activation slow call.

File:
1 edited

Legend:

Unmodified
Added
Removed
Note: See TracChangeset for help on using the changeset viewer.