Changeset 37050 in webkit for trunk/JavaScriptCore/kjs/NodeInfo.h


Ignore:
Timestamp:
Sep 28, 2008, 8:04:08 PM (17 years ago)
Author:
[email protected]
Message:

2008-09-28 Cameron Zwarich <[email protected]>

Reviewed by Maciej Stachowiak.

Bug 21200: Allow direct access to 'arguments' without using op_resolve
<https://bugs.webkit.org/show_bug.cgi?id=21200>

Allow fast access to the 'arguments' object by adding an extra slot to
the callframe to store it.

  • JavaScriptCore.exp:
  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator): (JSC::CodeGenerator::registerFor):
  • VM/CodeGenerator.h: (JSC::CodeGenerator::registerFor):
  • VM/Machine.cpp: (JSC::Machine::initializeCallFrame): (JSC::Machine::dumpRegisters): (JSC::Machine::privateExecute): (JSC::Machine::retrieveArguments): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_op_create_arguments): (JSC::Machine::cti_op_construct_JSConstruct):
  • VM/Machine.h:
  • VM/Opcode.h:
  • VM/RegisterFile.h: (JSC::RegisterFile::):
  • kjs/JSActivation.cpp: (JSC::JSActivation::mark): (JSC::JSActivation::argumentsGetter):
  • kjs/JSActivation.h: (JSC::JSActivation::JSActivationData::JSActivationData):
  • kjs/NodeInfo.h:
  • kjs/Parser.cpp: (JSC::Parser::didFinishParsing):
  • kjs/Parser.h: (JSC::Parser::parse):
  • kjs/grammar.y:
  • kjs/nodes.cpp: (JSC::ScopeNode::ScopeNode): (JSC::ProgramNode::ProgramNode): (JSC::ProgramNode::create): (JSC::EvalNode::EvalNode): (JSC::EvalNode::create): (JSC::FunctionBodyNode::FunctionBodyNode): (JSC::FunctionBodyNode::create):
  • kjs/nodes.h: (JSC::ScopeNode::usesArguments):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/NodeInfo.h

    r36263 r37050  
    3232    const FeatureInfo ClosureFeature = 1 << 1;
    3333    const FeatureInfo AssignFeature = 1 << 2;
     34    const FeatureInfo ArgumentsFeature = 1 << 3;
    3435
    3536    template <typename T> struct NodeFeatureInfo {
Note: See TracChangeset for help on using the changeset viewer.