Ignore:
Timestamp:
Dec 16, 2014, 3:08:24 PM (10 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling out r177380.
https://bugs.webkit.org/show_bug.cgi?id=139707

"Breaks js/regres/elidable-new-object-* tests" (Requested by
msaboff_ on #webkit).

Reverted changeset:

"Fixes operationPutByIdOptimizes such that they check that the
put didn't"
https://bugs.webkit.org/show_bug.cgi?id=139500
http://trac.webkit.org/changeset/177380

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/jit/Repatch.cpp

    r177380 r177401  
    12251225}
    12261226
    1227 static InlineCacheAction tryCachePutByID(ExecState* exec, JSValue baseValue, Structure* structure, const Identifier& ident, const PutPropertySlot& slot, StructureStubInfo& stubInfo, PutKind putKind)
     1227static InlineCacheAction tryCachePutByID(ExecState* exec, JSValue baseValue, const Identifier& ident, const PutPropertySlot& slot, StructureStubInfo& stubInfo, PutKind putKind)
    12281228{
    12291229    if (Options::forceICFailure())
     
    12361236        return GiveUpOnCache;
    12371237    JSCell* baseCell = baseValue.asCell();
    1238    
    1239     if (baseCell->structure(*vm)->id() != structure->id())
    1240         return GiveUpOnCache;
    1241 
     1238    Structure* structure = baseCell->structure(*vm);
    12421239    Structure* oldStructure = structure->previousID();
    12431240   
     
    13371334}
    13381335
    1339 void repatchPutByID(ExecState* exec, JSValue baseValue, Structure* structure, const Identifier& propertyName, const PutPropertySlot& slot, StructureStubInfo& stubInfo, PutKind putKind)
     1336void repatchPutByID(ExecState* exec, JSValue baseValue, const Identifier& propertyName, const PutPropertySlot& slot, StructureStubInfo& stubInfo, PutKind putKind)
    13401337{
    13411338    GCSafeConcurrentJITLocker locker(exec->codeBlock()->m_lock, exec->vm().heap);
    13421339   
    1343     if (tryCachePutByID(exec, baseValue, structure, propertyName, slot, stubInfo, putKind) == GiveUpOnCache)
     1340    if (tryCachePutByID(exec, baseValue, propertyName, slot, stubInfo, putKind) == GiveUpOnCache)
    13441341        repatchCall(exec->codeBlock(), stubInfo.callReturnLocation, appropriateGenericPutByIdFunction(slot, putKind));
    13451342}
Note: See TracChangeset for help on using the changeset viewer.