Ignore:
Timestamp:
Sep 24, 2012, 11:12:11 PM (13 years ago)
Author:
[email protected]
Message:

Bug in numeric accessors on global environment
https://bugs.webkit.org/show_bug.cgi?id=97526

Reviewed by Geoff Garen.

I've hit this assert in test262 in browser, but haven't yet worked out how to repro in a test case :-/
The sparsemap is failing to map back from the global object to the window shell.
A test case would need to resolve a numeric property name against the global environment.

(JSC::SparseArrayEntry::get):
(JSC::SparseArrayEntry::put):

  • Add missing toThisObject calls.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/SparseArrayValueMap.cpp

    r128802 r129458  
    160160    CallData callData;
    161161    CallType callType = getter->methodTable()->getCallData(getter, callData);
    162     return call(exec, getter, callType, callData, array, exec->emptyList());
     162    return call(exec, getter, callType, callData, array->methodTable()->toThisObject(array, exec), exec->emptyList());
    163163}
    164164
     
    190190    MarkedArgumentBuffer args;
    191191    args.append(value);
     192    if (thisValue.isObject())
     193        thisValue = asObject(thisValue)->methodTable()->toThisObject(asObject(thisValue), exec);
    192194    call(exec, setter, callType, callData, thisValue, args);
    193195}
Note: See TracChangeset for help on using the changeset viewer.