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;