Ignore:
Timestamp:
Dec 16, 2014, 3:08:24 PM (11 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/JITOperations.cpp

    r177380 r177401  
    274274    JSValue baseValue = JSValue::decode(encodedBase);
    275275    PutPropertySlot slot(baseValue, true, exec->codeBlock()->putByIdContext());
    276 
    277     Structure* structure = baseValue.isCell() ? baseValue.asCell()->structure(*vm) : nullptr;
     276   
    278277    baseValue.put(exec, ident, value, slot);
    279278   
     
    282281   
    283282    if (stubInfo->seen)
    284         repatchPutByID(exec, baseValue, structure, ident, slot, *stubInfo, NotDirect);
     283        repatchPutByID(exec, baseValue, ident, slot, *stubInfo, NotDirect);
    285284    else
    286285        stubInfo->seen = true;
     
    298297    JSValue baseValue = JSValue::decode(encodedBase);
    299298    PutPropertySlot slot(baseValue, false, exec->codeBlock()->putByIdContext());
    300 
    301     Structure* structure = baseValue.isCell() ? baseValue.asCell()->structure(*vm) : nullptr;   
     299   
    302300    baseValue.put(exec, ident, value, slot);
    303301   
     
    306304   
    307305    if (stubInfo->seen)
    308         repatchPutByID(exec, baseValue, structure, ident, slot, *stubInfo, NotDirect);
     306        repatchPutByID(exec, baseValue, ident, slot, *stubInfo, NotDirect);
    309307    else
    310308        stubInfo->seen = true;
     
    323321    PutPropertySlot slot(baseObject, true, exec->codeBlock()->putByIdContext());
    324322   
    325     Structure* structure = baseObject->structure(*vm);
    326323    baseObject->putDirect(exec->vm(), ident, value, slot);
    327324   
     
    330327   
    331328    if (stubInfo->seen)
    332         repatchPutByID(exec, baseObject, structure, ident, slot, *stubInfo, Direct);
     329        repatchPutByID(exec, baseObject, ident, slot, *stubInfo, Direct);
    333330    else
    334331        stubInfo->seen = true;
     
    347344    PutPropertySlot slot(baseObject, false, exec->codeBlock()->putByIdContext());
    348345   
    349     Structure* structure = baseObject->structure(*vm);
    350346    baseObject->putDirect(exec->vm(), ident, value, slot);
    351347   
     
    354350   
    355351    if (stubInfo->seen)
    356         repatchPutByID(exec, baseObject, structure, ident, slot, *stubInfo, Direct);
     352        repatchPutByID(exec, baseObject, ident, slot, *stubInfo, Direct);
    357353    else
    358354        stubInfo->seen = true;
Note: See TracChangeset for help on using the changeset viewer.