Changeset 155889 in webkit


Ignore:
Timestamp:
Sep 16, 2013 11:58:46 AM (11 years ago)
Author:
fpizlo@apple.com
Message:

Inlining should work in debug mode (i.e. Executable::newCodeBlock() should call recordParse())
https://bugs.webkit.org/show_bug.cgi?id=121444

Reviewed by Mark Hahnenberg.

  • dfg/DFGArgumentPosition.h: Fix a bug discovered by reenabling inlining. ArgumentPosition may point to the non-canonical VariableAccessData but users of someVariable() want the canonical one.

(JSC::DFG::ArgumentPosition::someVariable):

  • runtime/Executable.cpp: Call recordParse() so that the Executable knows things about itself (like if it has captured variables). Otherwise those fields are uninitialized.

(JSC::ScriptExecutable::newCodeBlockFor):

Location:
trunk/Source/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r155884 r155889  
     12013-09-16  Filip Pizlo  <fpizlo@apple.com>
     2
     3        Inlining should work in debug mode (i.e. Executable::newCodeBlock() should call recordParse())
     4        https://bugs.webkit.org/show_bug.cgi?id=121444
     5
     6        Reviewed by Mark Hahnenberg.
     7
     8        * dfg/DFGArgumentPosition.h: Fix a bug discovered by reenabling inlining. ArgumentPosition may point to the non-canonical VariableAccessData but users of someVariable() want the canonical one.
     9        (JSC::DFG::ArgumentPosition::someVariable):
     10        * runtime/Executable.cpp: Call recordParse() so that the Executable knows things about itself (like if it has captured variables). Otherwise those fields are uninitialized.
     11        (JSC::ScriptExecutable::newCodeBlockFor):
     12
    1132013-09-16  Balazs Kilvady  <kilvadyb@homejinni.com>
    214
  • trunk/Source/JavaScriptCore/dfg/DFGArgumentPosition.h

    r155564 r155889  
    5353        if (m_variables.isEmpty())
    5454            return 0;
    55         return m_variables[0];
     55        return m_variables[0]->find();
    5656    }
    5757   
  • trunk/Source/JavaScriptCore/runtime/Executable.cpp

    r155023 r155889  
    210210        executable->m_unlinkedExecutable->codeBlockFor(
    211211            *vm, executable->m_source, kind, debuggerMode, profilerMode, error);
     212    recordParse(executable->m_unlinkedExecutable->features(), executable->m_unlinkedExecutable->hasCapturedVariables(), lineNo(), lastLine(), startColumn());
    212213    if (!unlinkedCodeBlock) {
    213214        exception = vm->throwException(
Note: See TracChangeset for help on using the changeset viewer.