Title: [270298] trunk/Source/_javascript_Core
Revision
270298
Author
[email protected]
Date
2020-12-01 07:50:43 -0800 (Tue, 01 Dec 2020)

Log Message

Remove unused getPrimitiveNumber() methods
https://bugs.webkit.org/show_bug.cgi?id=219370

Reviewed by Mark Lam.

These methods were originated in KJS, have weird signature / return value,
are currently unused, and were displaced by toNumber() / toPrimitive().

* runtime/JSBigInt.cpp:
(JSC::JSBigInt::getPrimitiveNumber const): Deleted.
* runtime/JSBigInt.h:
* runtime/JSCJSValue.h:
* runtime/JSCJSValueInlines.h:
(JSC::JSValue::getPrimitiveNumber): Deleted.
* runtime/JSCell.cpp:
(JSC::JSCell::getPrimitiveNumber const): Deleted.
* runtime/JSCell.h:
* runtime/JSObject.cpp:
(JSC::JSObject::getPrimitiveNumber const): Deleted.
* runtime/JSObject.h:
* runtime/JSString.cpp:
(JSC::JSString::getPrimitiveNumber const): Deleted.
* runtime/JSString.h:
(JSC::JSString::toBoolean const):
* runtime/Symbol.cpp:
(JSC::Symbol::getPrimitiveNumber const): Deleted.
* runtime/Symbol.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (270297 => 270298)


--- trunk/Source/_javascript_Core/ChangeLog	2020-12-01 15:21:33 UTC (rev 270297)
+++ trunk/Source/_javascript_Core/ChangeLog	2020-12-01 15:50:43 UTC (rev 270298)
@@ -1,3 +1,33 @@
+2020-12-01  Alexey Shvayka  <[email protected]>
+
+        Remove unused getPrimitiveNumber() methods
+        https://bugs.webkit.org/show_bug.cgi?id=219370
+
+        Reviewed by Mark Lam.
+
+        These methods were originated in KJS, have weird signature / return value,
+        are currently unused, and were displaced by toNumber() / toPrimitive().
+
+        * runtime/JSBigInt.cpp:
+        (JSC::JSBigInt::getPrimitiveNumber const): Deleted.
+        * runtime/JSBigInt.h:
+        * runtime/JSCJSValue.h:
+        * runtime/JSCJSValueInlines.h:
+        (JSC::JSValue::getPrimitiveNumber): Deleted.
+        * runtime/JSCell.cpp:
+        (JSC::JSCell::getPrimitiveNumber const): Deleted.
+        * runtime/JSCell.h:
+        * runtime/JSObject.cpp:
+        (JSC::JSObject::getPrimitiveNumber const): Deleted.
+        * runtime/JSObject.h:
+        * runtime/JSString.cpp:
+        (JSC::JSString::getPrimitiveNumber const): Deleted.
+        * runtime/JSString.h:
+        (JSC::JSString::toBoolean const):
+        * runtime/Symbol.cpp:
+        (JSC::Symbol::getPrimitiveNumber const): Deleted.
+        * runtime/Symbol.h:
+
 2020-12-01  Lauro Moura  <[email protected]>
 
         [JSC] Make Bytecodes generator command also depend on wasm.json

Modified: trunk/Source/_javascript_Core/runtime/JSBigInt.cpp (270297 => 270298)


--- trunk/Source/_javascript_Core/runtime/JSBigInt.cpp	2020-12-01 15:21:33 UTC (rev 270297)
+++ trunk/Source/_javascript_Core/runtime/JSBigInt.cpp	2020-12-01 15:50:43 UTC (rev 270298)
@@ -2356,13 +2356,6 @@
     return 0.0;
 }
 
-bool JSBigInt::getPrimitiveNumber(JSGlobalObject* globalObject, double& number, JSValue& result) const
-{
-    result = this;
-    number = toNumber(globalObject);
-    return true;
-}
-
 template <typename CharType>
 JSValue JSBigInt::parseInt(JSGlobalObject* globalObject, CharType*  data, unsigned length, ErrorParseMode errorParseMode)
 {

Modified: trunk/Source/_javascript_Core/runtime/JSBigInt.h (270297 => 270298)


--- trunk/Source/_javascript_Core/runtime/JSBigInt.h	2020-12-01 15:21:33 UTC (rev 270297)
+++ trunk/Source/_javascript_Core/runtime/JSBigInt.h	2020-12-01 15:50:43 UTC (rev 270298)
@@ -153,9 +153,7 @@
         return JSBigInt::ComparisonResult::GreaterThan;
     }
 
-    bool getPrimitiveNumber(JSGlobalObject*, double& number, JSValue& result) const;
     double toNumber(JSGlobalObject*) const;
-
     JSObject* toObject(JSGlobalObject*) const;
     inline bool toBoolean() const { return !isZero(); }
 

Modified: trunk/Source/_javascript_Core/runtime/JSCJSValue.h (270297 => 270298)


--- trunk/Source/_javascript_Core/runtime/JSCJSValue.h	2020-12-01 15:21:33 UTC (rev 270297)
+++ trunk/Source/_javascript_Core/runtime/JSCJSValue.h	2020-12-01 15:50:43 UTC (rev 270298)
@@ -268,8 +268,6 @@
         
     // Basic conversions.
     JSValue toPrimitive(JSGlobalObject*, PreferredPrimitiveType = NoPreference) const;
-    bool getPrimitiveNumber(JSGlobalObject*, double& number, JSValue&);
-
     bool toBoolean(JSGlobalObject*) const;
     TriState pureToBoolean() const;
 

Modified: trunk/Source/_javascript_Core/runtime/JSCJSValueInlines.h (270297 => 270298)


--- trunk/Source/_javascript_Core/runtime/JSCJSValueInlines.h	2020-12-01 15:21:33 UTC (rev 270297)
+++ trunk/Source/_javascript_Core/runtime/JSCJSValueInlines.h	2020-12-01 15:50:43 UTC (rev 270298)
@@ -822,46 +822,6 @@
     return NoPreference;
 }
 
-inline bool JSValue::getPrimitiveNumber(JSGlobalObject* globalObject, double& number, JSValue& value)
-{
-    VM& vm = globalObject->vm();
-    auto scope = DECLARE_THROW_SCOPE(vm);
-
-    if (isInt32()) {
-        number = asInt32();
-        value = *this;
-        return true;
-    }
-    if (isDouble()) {
-        number = asDouble();
-        value = *this;
-        return true;
-    }
-    if (isCell())
-        return asCell()->getPrimitiveNumber(globalObject, number, value);
-    if (isTrue()) {
-        number = 1.0;
-        value = *this;
-        return true;
-    }
-    if (isFalse() || isNull()) {
-        number = 0.0;
-        value = *this;
-        return true;
-    }
-    if (isUndefined()) {
-        number = PNaN;
-        value = *this;
-        return true;
-    }
-
-    ASSERT(isBigInt32());
-    throwTypeError(globalObject, scope, "Conversion from 'BigInt' to 'number' is not allowed."_s);
-    number = 0.0;
-    value = *this;
-    return true;
-}
-
 ALWAYS_INLINE double JSValue::toNumber(JSGlobalObject* globalObject) const
 {
     if (isInt32())

Modified: trunk/Source/_javascript_Core/runtime/JSCell.cpp (270297 => 270298)


--- trunk/Source/_javascript_Core/runtime/JSCell.cpp	2020-12-01 15:21:33 UTC (rev 270297)
+++ trunk/Source/_javascript_Core/runtime/JSCell.cpp	2020-12-01 15:50:43 UTC (rev 270298)
@@ -155,17 +155,6 @@
     return static_cast<const JSObject*>(this)->toPrimitive(globalObject, preferredType);
 }
 
-bool JSCell::getPrimitiveNumber(JSGlobalObject* globalObject, double& number, JSValue& value) const
-{
-    if (isString())
-        return static_cast<const JSString*>(this)->getPrimitiveNumber(globalObject, number, value);
-    if (isSymbol())
-        return static_cast<const Symbol*>(this)->getPrimitiveNumber(globalObject, number, value);
-    if (isHeapBigInt())
-        return static_cast<const JSBigInt*>(this)->getPrimitiveNumber(globalObject, number, value);
-    return static_cast<const JSObject*>(this)->getPrimitiveNumber(globalObject, number, value);
-}
-
 double JSCell::toNumber(JSGlobalObject* globalObject) const
 {
     if (isString())

Modified: trunk/Source/_javascript_Core/runtime/JSCell.h (270297 => 270298)


--- trunk/Source/_javascript_Core/runtime/JSCell.h	2020-12-01 15:21:33 UTC (rev 270297)
+++ trunk/Source/_javascript_Core/runtime/JSCell.h	2020-12-01 15:50:43 UTC (rev 270298)
@@ -156,7 +156,6 @@
 
     // Basic conversions.
     JS_EXPORT_PRIVATE JSValue toPrimitive(JSGlobalObject*, PreferredPrimitiveType) const;
-    bool getPrimitiveNumber(JSGlobalObject*, double& number, JSValue&) const;
     bool toBoolean(JSGlobalObject*) const;
     TriState pureToBoolean() const;
     JS_EXPORT_PRIVATE double toNumber(JSGlobalObject*) const;

Modified: trunk/Source/_javascript_Core/runtime/JSObject.cpp (270297 => 270298)


--- trunk/Source/_javascript_Core/runtime/JSObject.cpp	2020-12-01 15:21:33 UTC (rev 270297)
+++ trunk/Source/_javascript_Core/runtime/JSObject.cpp	2020-12-01 15:50:43 UTC (rev 270298)
@@ -2273,18 +2273,6 @@
     RELEASE_AND_RETURN(scope, this->methodTable(vm)->defaultValue(this, globalObject, preferredType));
 }
 
-bool JSObject::getPrimitiveNumber(JSGlobalObject* globalObject, double& number, JSValue& result) const
-{
-    VM& vm = globalObject->vm();
-    auto scope = DECLARE_THROW_SCOPE(vm);
-
-    result = toPrimitive(globalObject, PreferNumber);
-    RETURN_IF_EXCEPTION(scope, false);
-    scope.release();
-    number = result.toNumber(globalObject);
-    return !result.isString();
-}
-
 bool JSObject::getOwnStaticPropertySlot(VM& vm, PropertyName propertyName, PropertySlot& slot)
 {
     for (auto* info = classInfo(vm); info; info = info->parentClass) {

Modified: trunk/Source/_javascript_Core/runtime/JSObject.h (270297 => 270298)


--- trunk/Source/_javascript_Core/runtime/JSObject.h	2020-12-01 15:21:33 UTC (rev 270297)
+++ trunk/Source/_javascript_Core/runtime/JSObject.h	2020-12-01 15:50:43 UTC (rev 270298)
@@ -683,7 +683,6 @@
     JS_EXPORT_PRIVATE static void getGenericPropertyNames(JSObject*, JSGlobalObject*, PropertyNameArray&, EnumerationMode);
 
     JS_EXPORT_PRIVATE JSValue toPrimitive(JSGlobalObject*, PreferredPrimitiveType = NoPreference) const;
-    bool getPrimitiveNumber(JSGlobalObject*, double& number, JSValue&) const;
     JS_EXPORT_PRIVATE double toNumber(JSGlobalObject*) const;
     JS_EXPORT_PRIVATE JSString* toString(JSGlobalObject*) const;
 

Modified: trunk/Source/_javascript_Core/runtime/JSString.cpp (270297 => 270298)


--- trunk/Source/_javascript_Core/runtime/JSString.cpp	2020-12-01 15:21:33 UTC (rev 270297)
+++ trunk/Source/_javascript_Core/runtime/JSString.cpp	2020-12-01 15:50:43 UTC (rev 270298)
@@ -382,17 +382,6 @@
     return const_cast<JSString*>(this);
 }
 
-bool JSString::getPrimitiveNumber(JSGlobalObject* globalObject, double& number, JSValue& result) const
-{
-    VM& vm = globalObject->vm();
-    auto scope = DECLARE_THROW_SCOPE(vm);
-    StringView view = unsafeView(globalObject);
-    RETURN_IF_EXCEPTION(scope, false);
-    result = this;
-    number = jsToNumber(view);
-    return false;
-}
-
 double JSString::toNumber(JSGlobalObject* globalObject) const
 {
     VM& vm = globalObject->vm();

Modified: trunk/Source/_javascript_Core/runtime/JSString.h (270297 => 270298)


--- trunk/Source/_javascript_Core/runtime/JSString.h	2020-12-01 15:21:33 UTC (rev 270297)
+++ trunk/Source/_javascript_Core/runtime/JSString.h	2020-12-01 15:50:43 UTC (rev 270298)
@@ -199,7 +199,6 @@
 
     JSValue toPrimitive(JSGlobalObject*, PreferredPrimitiveType) const;
     bool toBoolean() const { return !!length(); }
-    bool getPrimitiveNumber(JSGlobalObject*, double& number, JSValue&) const;
     JSObject* toObject(JSGlobalObject*) const;
     double toNumber(JSGlobalObject*) const;
 

Modified: trunk/Source/_javascript_Core/runtime/Symbol.cpp (270297 => 270298)


--- trunk/Source/_javascript_Core/runtime/Symbol.cpp	2020-12-01 15:21:33 UTC (rev 270297)
+++ trunk/Source/_javascript_Core/runtime/Symbol.cpp	2020-12-01 15:50:43 UTC (rev 270298)
@@ -72,13 +72,6 @@
     return const_cast<Symbol*>(this);
 }
 
-bool Symbol::getPrimitiveNumber(JSGlobalObject* globalObject, double& number, JSValue& result) const
-{
-    result = this;
-    number = toNumber(globalObject);
-    return true;
-}
-
 JSObject* Symbol::toObject(JSGlobalObject* globalObject) const
 {
     return SymbolObject::create(globalObject->vm(), globalObject, const_cast<Symbol*>(this));

Modified: trunk/Source/_javascript_Core/runtime/Symbol.h (270297 => 270298)


--- trunk/Source/_javascript_Core/runtime/Symbol.h	2020-12-01 15:21:33 UTC (rev 270297)
+++ trunk/Source/_javascript_Core/runtime/Symbol.h	2020-12-01 15:50:43 UTC (rev 270298)
@@ -61,7 +61,6 @@
     String description() const;
 
     JSValue toPrimitive(JSGlobalObject*, PreferredPrimitiveType) const;
-    bool getPrimitiveNumber(JSGlobalObject*, double& number, JSValue&) const;
     JSObject* toObject(JSGlobalObject*) const;
     double toNumber(JSGlobalObject*) const;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to