Ignore:
Timestamp:
Aug 17, 2009, 6:00:12 PM (16 years ago)
Author:
[email protected]
Message:

REGRESSION (r47292): Prototype.js is broken by ES5 Arguments changes
https://bugs.webkit.org/show_bug.cgi?id=28341
<rdar://problem/7145615>

RS=Mark Rowe

Reverting r47292. Alas Prototype.js breaks with Arguments inheriting
from Array as ES5 attempted. Prototype.js defines $A in terms of a
function it places on (among other global objects) the Array prototype,
thus breaking $A for arrays.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/runtime/Arguments.h

    r47330 r47404  
    101101
    102102        void init(CallFrame*);
    103         void initializeStandardProperties(CallFrame*);
    104103
    105104        OwnPtr<ArgumentsData> d;
     
    135134        , d(new ArgumentsData)
    136135    {
    137         initializeStandardProperties(callFrame);
    138136        JSFunction* callee;
    139137        ptrdiff_t firstParameterIndex;
     
    174172    {
    175173        ASSERT(!callFrame->callee()->body()->parameterCount());
    176        
    177         initializeStandardProperties(callFrame);
     174
    178175        unsigned numArguments = callFrame->argumentCount() - 1;
    179176
     
    243240    }
    244241   
    245    
    246     inline void Arguments::initializeStandardProperties(CallFrame* callFrame)
    247     {
    248         putDirectFunction(callFrame->propertyNames().constructor, callFrame->lexicalGlobalObject()->objectConstructor(), DontEnum);
    249         putDirectFunction(callFrame->propertyNames().toString, callFrame->lexicalGlobalObject()->objectToStringFunction(), DontEnum);
    250         putDirectFunction(callFrame->propertyNames().toLocaleString, callFrame->lexicalGlobalObject()->objectToLocaleStringFunction(), DontEnum);
    251     }
    252242
    253243} // namespace JSC
Note: See TracChangeset for help on using the changeset viewer.