Reviewed by Dan Bernstein.
authorcwzwarich@webkit.org <cwzwarich@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 13 Feb 2011 10:12:10 +0000 (10:12 +0000)
committercwzwarich@webkit.org <cwzwarich@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 13 Feb 2011 10:12:10 +0000 (10:12 +0000)
Bug 53760 - JSC fails to build with TOT Clang
https://bugs.webkit.org/show_bug.cgi?id=53760

Fix -Woverloaded-virtual warnings. This is also a 6% speedup on the v8 raytrace
benchmark; it is nothing-to-noise on everything else.

JavaScriptCore:

* API/JSCallbackObject.h: Remove pointlessly overloaded method.
* API/JSCallbackObjectFunctions.h: Ditto.
* runtime/Arguments.cpp:
(JSC::Arguments::put): Change signature to match the base class. This implementation
was no longer being called by anyone. This wasn't noticed because it is merely an
optimization of the base class' implementation.
* runtime/Arguments.h: Ditto.

JavaScriptGlue:

* UserObjectImp.cpp:
(UserObjectImp::toPrimitive): Use PreferredPrimitiveType instead of JSType to
match the base class.
* UserObjectImp.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@78428 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/API/JSCallbackObject.h
Source/JavaScriptCore/API/JSCallbackObjectFunctions.h
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/Arguments.cpp
Source/JavaScriptCore/runtime/Arguments.h
Source/JavaScriptGlue/ChangeLog
Source/JavaScriptGlue/UserObjectImp.cpp
Source/JavaScriptGlue/UserObjectImp.h

index d6c31d8..f47d0b1 100644 (file)
@@ -155,7 +155,6 @@ private:
     virtual UString className() const;
 
     virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
-    virtual bool getOwnPropertySlot(ExecState*, unsigned, PropertySlot&);
     virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
     
     virtual void put(ExecState*, const Identifier&, JSValue, PutPropertySlot&);
index f03443f..59373ec 100644 (file)
@@ -164,12 +164,6 @@ bool JSCallbackObject<Base>::getOwnPropertySlot(ExecState* exec, const Identifie
 }
 
 template <class Base>
-bool JSCallbackObject<Base>::getOwnPropertySlot(ExecState* exec, unsigned propertyName, PropertySlot& slot)
-{
-    return getOwnPropertySlot(exec, Identifier::from(exec, propertyName), slot);
-}
-
-template <class Base>
 bool JSCallbackObject<Base>::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
 {
     PropertySlot slot;
index e3d345c..98358ef 100644 (file)
@@ -1,3 +1,21 @@
+2011-02-13  Cameron Zwarich  <zwarich@apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        Bug 53760 - JSC fails to build with TOT Clang
+        https://bugs.webkit.org/show_bug.cgi?id=53760
+
+        Fix -Woverloaded-virtual warnings. This is also a 6% speedup on the v8 raytrace
+        benchmark; it is nothing-to-noise on everything else.
+
+        * API/JSCallbackObject.h: Remove pointlessly overloaded method.
+        * API/JSCallbackObjectFunctions.h: Ditto.
+        * runtime/Arguments.cpp: 
+        (JSC::Arguments::put): Change signature to match the base class. This implementation
+        was no longer being called by anyone. This wasn't noticed because it is merely an
+        optimization of the base class' implementation.
+        * runtime/Arguments.h: Ditto.
+
 2011-02-12  Adam Barth  <abarth@webkit.org>
 
         Reviewed by Mark Rowe.
index 96a1d33..305b247 100644 (file)
@@ -253,7 +253,7 @@ void Arguments::getOwnPropertyNames(ExecState* exec, PropertyNameArray& property
     JSObject::getOwnPropertyNames(exec, propertyNames, mode);
 }
 
-void Arguments::put(ExecState* exec, unsigned i, JSValue value, PutPropertySlot& slot)
+void Arguments::put(ExecState* exec, unsigned i, JSValue value)
 {
     if (i < d->numArguments && (!d->deletedArguments || !d->deletedArguments[i])) {
         if (i < d->numParameters)
@@ -263,6 +263,7 @@ void Arguments::put(ExecState* exec, unsigned i, JSValue value, PutPropertySlot&
         return;
     }
 
+    PutPropertySlot slot;
     JSObject::put(exec, Identifier(exec, UString::number(i)), value, slot);
 }
 
index 4000c4d..658538b 100644 (file)
@@ -107,7 +107,7 @@ namespace JSC {
         virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
         virtual void getOwnPropertyNames(ExecState*, PropertyNameArray&, EnumerationMode mode = ExcludeDontEnumProperties);
         virtual void put(ExecState*, const Identifier& propertyName, JSValue, PutPropertySlot&);
-        virtual void put(ExecState*, unsigned propertyName, JSValue, PutPropertySlot&);
+        virtual void put(ExecState*, unsigned propertyName, JSValue);
         virtual bool deleteProperty(ExecState*, const Identifier& propertyName);
         virtual bool deleteProperty(ExecState*, unsigned propertyName);
         void createStrictModeCallerIfNecessary(ExecState*);
index 0fad313..cc13884 100644 (file)
@@ -1,3 +1,17 @@
+2011-02-13  Cameron Zwarich  <zwarich@apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        Bug 53760 - JSC fails to build with TOT Clang
+        https://bugs.webkit.org/show_bug.cgi?id=53760
+
+        Fix -Woverloaded-virtual warnings.
+
+        * UserObjectImp.cpp:
+        (UserObjectImp::toPrimitive): Use PreferredPrimitiveType instead of JSType to
+        match the base class.
+        * UserObjectImp.h: 
+
 2011-02-06  Ryosuke Niwa  <rniwa@webkit.org>
 
         Reviewed by Darin Adler.
index 1728a7e..340864b 100644 (file)
@@ -169,7 +169,7 @@ JSUserObject* UserObjectImp::GetJSUserObject() const
     return fJSUserObject;
 }
 
-JSValue UserObjectImp::toPrimitive(ExecState *exec, JSType) const
+JSValue UserObjectImp::toPrimitive(ExecState *exec, PreferredPrimitiveType) const
 {
     JSValue result = jsUndefined();
     JSUserObject* jsObjPtr = KJSValueToJSObject(toObject(exec), exec);
index 8dbad98..dbd4faa 100644 (file)
@@ -50,7 +50,7 @@ public:
     virtual bool getOwnPropertySlot(ExecState *, const Identifier&, PropertySlot&);
     virtual void put(ExecState *exec, const Identifier &propertyName, JSValue value, PutPropertySlot&);
 
-    JSValue toPrimitive(ExecState*, JSType preferredType = UnspecifiedType) const;
+    JSValue toPrimitive(ExecState*, PreferredPrimitiveType preferredType = NoPreference) const;
     virtual bool toBoolean(ExecState *exec) const;
     virtual double toNumber(ExecState *exec) const;
     virtual UString toString(ExecState *exec) const;