Ignore:
Timestamp:
Nov 29, 2017, 9:46:26 AM (8 years ago)
Author:
[email protected]
Message:

Strict and sloppy functions shouldn't share structure

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r225271 r225273  
     12017-11-28  JF Bastien  <[email protected]>
     2
     3        Strict and sloppy functions shouldn't share structure
     4        https://bugs.webkit.org/show_bug.cgi?id=180103
     5        <rdar://problem/35667847>
     6
     7        Reviewed by Saam Barati.
     8
     9        Sloppy and strict functions don't act the same when it comes to
     10        arguments, caller, and callee. Sharing a structure means that
     11        anything that is cached gets shared, and that's incorrect.
     12
     13        * dfg/DFGAbstractInterpreterInlines.h:
     14        (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
     15        * dfg/DFGSpeculativeJIT.cpp:
     16        (JSC::DFG::SpeculativeJIT::compileNewFunction):
     17        * ftl/FTLLowerDFGToB3.cpp:
     18        (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction):
     19        * runtime/FunctionConstructor.cpp:
     20        (JSC::constructFunctionSkippingEvalEnabledCheck):
     21        * runtime/JSFunction.cpp:
     22        (JSC::JSFunction::create): the second ::create is always strict
     23        because it applies to native functions.
     24        * runtime/JSFunctionInlines.h:
     25        (JSC::JSFunction::createWithInvalidatedReallocationWatchpoint):
     26        * runtime/JSGlobalObject.cpp:
     27        (JSC::JSGlobalObject::init):
     28        (JSC::JSGlobalObject::visitChildren):
     29        * runtime/JSGlobalObject.h:
     30        (JSC::JSGlobalObject::strictFunctionStructure const):
     31        (JSC::JSGlobalObject::sloppyFunctionStructure const):
     32        (JSC::JSGlobalObject::nativeStdFunctionStructure const):
     33        (JSC::JSGlobalObject::functionStructure const): Deleted. Renamed.
     34        (JSC::JSGlobalObject::namedFunctionStructure const): Deleted. Drive-by, unused.
     35
    1362017-11-29  Yusuke Suzuki  <[email protected]>
    237
Note: See TracChangeset for help on using the changeset viewer.