Ignore:
Timestamp:
Jan 6, 2015, 5:03:25 PM (10 years ago)
Author:
[email protected]
Message:

Add the lexicalEnvironment as an operand to op_create_arguments.
<https://webkit.org/b/140148>

Reviewed by Geoffrey Garen.

This patch only adds the operand to the bytecode. It is not in use yet.

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

(JSC::computeUsesForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::createArgumentsIfNecessary):

  • Adds the lexicalEnvironment register (if present) as an operand to op_create_arguments. Else, adds a constant empty JSValue.
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
File:
1 edited

Legend:

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

    r176836 r178008  
    759759        case op_create_arguments: {
    760760            int r0 = (++it)->u.operand;
    761             printLocationOpAndRegisterOperand(out, exec, location, it, "create_arguments", r0);
     761            int r1 = (++it)->u.operand;
     762            printLocationAndOp(out, exec, location, it, "create_arguments");
     763            out.printf("%s %s", registerName(r0).data(), registerName(r1).data());
    762764            break;
    763765        }
Note: See TracChangeset for help on using the changeset viewer.