Title: [241713] releases/WebKitGTK/webkit-2.24/Source/_javascript_Core
Revision
241713
Author
carlo...@webkit.org
Date
2019-02-18 08:17:00 -0800 (Mon, 18 Feb 2019)

Log Message

Merge r241649 - [JSC] JSWrapperObject should not be destructible
https://bugs.webkit.org/show_bug.cgi?id=194743

Reviewed by Saam Barati.

JSWrapperObject should be just a wrapper object for JSValue, thus, it should not be a JSDestructibleObject.
Currently it is destructible object because DateInstance uses it. This patch changes Base of DateInstance from
JSWrapperObject to JSDestructibleObject, and makes JSWrapperObject non-destructible.

* runtime/BigIntObject.cpp:
(JSC::BigIntObject::BigIntObject):
* runtime/BooleanConstructor.cpp:
(JSC::BooleanConstructor::finishCreation):
* runtime/BooleanObject.cpp:
(JSC::BooleanObject::BooleanObject):
* runtime/BooleanObject.h:
* runtime/DateInstance.cpp:
(JSC::DateInstance::DateInstance):
(JSC::DateInstance::finishCreation):
* runtime/DateInstance.h:
* runtime/DatePrototype.cpp:
(JSC::dateProtoFuncGetTime):
(JSC::dateProtoFuncSetTime):
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetYear):
* runtime/JSCPoison.h:
* runtime/JSWrapperObject.h:
(JSC::JSWrapperObject::JSWrapperObject):
* runtime/NumberObject.cpp:
(JSC::NumberObject::NumberObject):
* runtime/NumberObject.h:
* runtime/StringConstructor.cpp:
(JSC::StringConstructor::finishCreation):
* runtime/StringObject.cpp:
(JSC::StringObject::StringObject):
* runtime/StringObject.h:
(JSC::StringObject::internalValue const):
* runtime/SymbolObject.cpp:
(JSC::SymbolObject::SymbolObject):
* runtime/SymbolObject.h:

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/ChangeLog (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/ChangeLog	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/ChangeLog	2019-02-18 16:17:00 UTC (rev 241713)
@@ -1,5 +1,49 @@
 2019-02-16  Yusuke Suzuki  <ysuz...@apple.com>
 
+        [JSC] JSWrapperObject should not be destructible
+        https://bugs.webkit.org/show_bug.cgi?id=194743
+
+        Reviewed by Saam Barati.
+
+        JSWrapperObject should be just a wrapper object for JSValue, thus, it should not be a JSDestructibleObject.
+        Currently it is destructible object because DateInstance uses it. This patch changes Base of DateInstance from
+        JSWrapperObject to JSDestructibleObject, and makes JSWrapperObject non-destructible.
+
+        * runtime/BigIntObject.cpp:
+        (JSC::BigIntObject::BigIntObject):
+        * runtime/BooleanConstructor.cpp:
+        (JSC::BooleanConstructor::finishCreation):
+        * runtime/BooleanObject.cpp:
+        (JSC::BooleanObject::BooleanObject):
+        * runtime/BooleanObject.h:
+        * runtime/DateInstance.cpp:
+        (JSC::DateInstance::DateInstance):
+        (JSC::DateInstance::finishCreation):
+        * runtime/DateInstance.h:
+        * runtime/DatePrototype.cpp:
+        (JSC::dateProtoFuncGetTime):
+        (JSC::dateProtoFuncSetTime):
+        (JSC::setNewValueFromTimeArgs):
+        (JSC::setNewValueFromDateArgs):
+        (JSC::dateProtoFuncSetYear):
+        * runtime/JSCPoison.h:
+        * runtime/JSWrapperObject.h:
+        (JSC::JSWrapperObject::JSWrapperObject):
+        * runtime/NumberObject.cpp:
+        (JSC::NumberObject::NumberObject):
+        * runtime/NumberObject.h:
+        * runtime/StringConstructor.cpp:
+        (JSC::StringConstructor::finishCreation):
+        * runtime/StringObject.cpp:
+        (JSC::StringObject::StringObject):
+        * runtime/StringObject.h:
+        (JSC::StringObject::internalValue const):
+        * runtime/SymbolObject.cpp:
+        (JSC::SymbolObject::SymbolObject):
+        * runtime/SymbolObject.h:
+
+2019-02-16  Yusuke Suzuki  <ysuz...@apple.com>
+
         [JSC] Shrink UnlinkedFunctionExecutable
         https://bugs.webkit.org/show_bug.cgi?id=194733
 

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/BigIntObject.cpp (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/BigIntObject.cpp	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/BigIntObject.cpp	2019-02-18 16:17:00 UTC (rev 241713)
@@ -45,7 +45,7 @@
 }
 
 BigIntObject::BigIntObject(VM& vm, Structure* structure)
-    : JSWrapperObject(vm, structure)
+    : Base(vm, structure)
 {
 }
 

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/BooleanConstructor.cpp (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/BooleanConstructor.cpp	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/BooleanConstructor.cpp	2019-02-18 16:17:00 UTC (rev 241713)
@@ -57,7 +57,7 @@
 
 void BooleanConstructor::finishCreation(VM& vm, BooleanPrototype* booleanPrototype)
 {
-    Base::finishCreation(vm, booleanPrototype->classInfo()->className);
+    Base::finishCreation(vm, booleanPrototype->classInfo(vm)->className);
     putDirectWithoutTransition(vm, vm.propertyNames->prototype, booleanPrototype, PropertyAttribute::DontEnum | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly);
     putDirectWithoutTransition(vm, vm.propertyNames->length, jsNumber(1), PropertyAttribute::ReadOnly | PropertyAttribute::DontEnum);
 }

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/BooleanObject.cpp (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/BooleanObject.cpp	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/BooleanObject.cpp	2019-02-18 16:17:00 UTC (rev 241713)
@@ -28,10 +28,10 @@
 
 STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(BooleanObject);
 
-const ClassInfo BooleanObject::s_info = { "Boolean", &JSWrapperObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(BooleanObject) };
+const ClassInfo BooleanObject::s_info = { "Boolean", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(BooleanObject) };
 
 BooleanObject::BooleanObject(VM& vm, Structure* structure)
-    : JSWrapperObject(vm, structure)
+    : Base(vm, structure)
 {
 }
 

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/BooleanObject.h (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/BooleanObject.h	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/BooleanObject.h	2019-02-18 16:17:00 UTC (rev 241713)
@@ -30,7 +30,7 @@
     JS_EXPORT_PRIVATE void finishCreation(VM&);
 
 public:
-    typedef JSWrapperObject Base;
+    using Base = JSWrapperObject;
 
     static BooleanObject* create(VM& vm, Structure* structure)
     {

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/DateInstance.cpp (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/DateInstance.cpp	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/DateInstance.cpp	2019-02-18 16:17:00 UTC (rev 241713)
@@ -32,10 +32,10 @@
 
 using namespace WTF;
 
-const ClassInfo DateInstance::s_info = {"Date", &JSWrapperObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(DateInstance)};
+const ClassInfo DateInstance::s_info = {"Date", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(DateInstance)};
 
 DateInstance::DateInstance(VM& vm, Structure* structure)
-    : JSWrapperObject(vm, structure)
+    : Base(vm, structure)
 {
 }
 
@@ -43,7 +43,6 @@
 {
     Base::finishCreation(vm);
     ASSERT(inherits(vm, info()));
-    setInternalValue(vm, jsNaN());
 }
 
 void DateInstance::finishCreation(VM& vm, double time)
@@ -50,7 +49,7 @@
 {
     Base::finishCreation(vm);
     ASSERT(inherits(vm, info()));
-    setInternalValue(vm, jsNumber(timeClip(time)));
+    m_internalNumber = timeClip(time);
 }
 
 void DateInstance::destroy(JSCell* cell)

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/DateInstance.h (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/DateInstance.h	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/DateInstance.h	2019-02-18 16:17:00 UTC (rev 241713)
@@ -20,12 +20,11 @@
 
 #pragma once
 
-#include "JSCPoison.h"
-#include "JSWrapperObject.h"
+#include "JSDestructibleObject.h"
 
 namespace JSC {
 
-class DateInstance final : public JSWrapperObject {
+class DateInstance final : public JSDestructibleObject {
 protected:
     JS_EXPORT_PRIVATE DateInstance(VM&, Structure*);
     void finishCreation(VM&);
@@ -34,7 +33,7 @@
     JS_EXPORT_PRIVATE static void destroy(JSCell*);
 
 public:
-    typedef JSWrapperObject Base;
+    using Base = JSDestructibleObject;
 
     static DateInstance* create(VM& vm, Structure* structure, double date)
     {
@@ -50,7 +49,8 @@
         return instance;
     }
 
-    double internalNumber() const { return internalValue().asNumber(); }
+    double internalNumber() const { return m_internalNumber; }
+    void setInternalNumber(double value) { m_internalNumber = value; }
 
     DECLARE_EXPORT_INFO;
 
@@ -77,7 +77,8 @@
     JS_EXPORT_PRIVATE const GregorianDateTime* calculateGregorianDateTime(ExecState*) const;
     JS_EXPORT_PRIVATE const GregorianDateTime* calculateGregorianDateTimeUTC(ExecState*) const;
 
-    mutable PoisonedRefPtr<DateInstancePoison, DateInstanceData> m_data;
+    double m_internalNumber { PNaN };
+    mutable RefPtr<DateInstanceData> m_data;
 };
 
 } // namespace JSC

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/DatePrototype.cpp (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/DatePrototype.cpp	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/DatePrototype.cpp	2019-02-18 16:17:00 UTC (rev 241713)
@@ -648,7 +648,7 @@
     if (UNLIKELY(!thisDateObj))
         return throwVMTypeError(exec, scope);
 
-    return JSValue::encode(thisDateObj->internalValue());
+    return JSValue::encode(jsNumber(thisDateObj->internalNumber()));
 }
 
 EncodedJSValue JSC_HOST_CALL dateProtoFuncGetFullYear(ExecState* exec)
@@ -923,9 +923,8 @@
 
     double milli = timeClip(exec->argument(0).toNumber(exec));
     RETURN_IF_EXCEPTION(scope, encodedJSValue());
-    JSValue result = jsNumber(milli);
-    thisDateObj->setInternalValue(vm, result);
-    return JSValue::encode(result);
+    thisDateObj->setInternalNumber(milli);
+    return JSValue::encode(jsNumber(milli));
 }
 
 static EncodedJSValue setNewValueFromTimeArgs(ExecState* exec, int numArgsToUse, WTF::TimeType inputTimeType)
@@ -940,9 +939,8 @@
     double milli = thisDateObj->internalNumber();
 
     if (!exec->argumentCount() || std::isnan(milli)) {
-        JSValue result = jsNaN();
-        thisDateObj->setInternalValue(vm, result);
-        return JSValue::encode(result);
+        thisDateObj->setInternalNumber(PNaN);
+        return JSValue::encode(jsNaN());
     }
      
     double secs = floor(milli / msPerSecond);
@@ -959,15 +957,14 @@
     bool success = fillStructuresUsingTimeArgs(exec, numArgsToUse, &ms, &gregorianDateTime);
     RETURN_IF_EXCEPTION(scope, encodedJSValue());
     if (!success) {
-        JSValue result = jsNaN();
-        thisDateObj->setInternalValue(vm, result);
-        return JSValue::encode(result);
+        thisDateObj->setInternalNumber(PNaN);
+        return JSValue::encode(jsNaN());
     } 
 
     double newUTCDate = gregorianDateTimeToMS(vm, gregorianDateTime, ms, inputTimeType);
-    JSValue result = jsNumber(timeClip(newUTCDate));
-    thisDateObj->setInternalValue(vm, result);
-    return JSValue::encode(result);
+    double result = timeClip(newUTCDate);
+    thisDateObj->setInternalNumber(result);
+    return JSValue::encode(jsNumber(result));
 }
 
 static EncodedJSValue setNewValueFromDateArgs(ExecState* exec, int numArgsToUse, WTF::TimeType inputTimeType)
@@ -980,9 +977,8 @@
         return throwVMTypeError(exec, scope);
 
     if (!exec->argumentCount()) {
-        JSValue result = jsNaN();
-        thisDateObj->setInternalValue(vm, result);
-        return JSValue::encode(result);
+        thisDateObj->setInternalNumber(PNaN);
+        return JSValue::encode(jsNaN());
     }
 
     double milli = thisDateObj->internalNumber();
@@ -1004,15 +1000,14 @@
     bool success = fillStructuresUsingDateArgs(exec, numArgsToUse, &ms, &gregorianDateTime);
     RETURN_IF_EXCEPTION(scope, encodedJSValue());
     if (!success) {
-        JSValue result = jsNaN();
-        thisDateObj->setInternalValue(vm, result);
-        return JSValue::encode(result);
+        thisDateObj->setInternalNumber(PNaN);
+        return JSValue::encode(jsNaN());
     } 
 
     double newUTCDate = gregorianDateTimeToMS(vm, gregorianDateTime, ms, inputTimeType);
-    JSValue result = jsNumber(timeClip(newUTCDate));
-    thisDateObj->setInternalValue(vm, result);
-    return JSValue::encode(result);
+    double result = timeClip(newUTCDate);
+    thisDateObj->setInternalNumber(result);
+    return JSValue::encode(jsNumber(result));
 }
 
 EncodedJSValue JSC_HOST_CALL dateProtoFuncSetMilliSeconds(ExecState* exec)
@@ -1095,9 +1090,8 @@
         return throwVMTypeError(exec, scope);
 
     if (!exec->argumentCount()) { 
-        JSValue result = jsNaN();
-        thisDateObj->setInternalValue(vm, result);
-        return JSValue::encode(result);
+        thisDateObj->setInternalNumber(PNaN);
+        return JSValue::encode(jsNaN());
     }
 
     double milli = thisDateObj->internalNumber();
@@ -1118,16 +1112,15 @@
     double year = exec->argument(0).toIntegerPreserveNaN(exec);
     RETURN_IF_EXCEPTION(scope, encodedJSValue());
     if (!std::isfinite(year)) {
-        JSValue result = jsNaN();
-        thisDateObj->setInternalValue(vm, result);
-        return JSValue::encode(result);
+        thisDateObj->setInternalNumber(PNaN);
+        return JSValue::encode(jsNaN());
     }
 
     gregorianDateTime.setYear(toInt32((year >= 0 && year <= 99) ? (year + 1900) : year));
     double timeInMilliseconds = gregorianDateTimeToMS(vm, gregorianDateTime, ms, WTF::LocalTime);
-    JSValue result = jsNumber(timeClip(timeInMilliseconds));
-    thisDateObj->setInternalValue(vm, result);
-    return JSValue::encode(result);
+    double result = timeClip(timeInMilliseconds);
+    thisDateObj->setInternalNumber(result);
+    return JSValue::encode(jsNumber(result));
 }
 
 EncodedJSValue JSC_HOST_CALL dateProtoFuncGetYear(ExecState* exec)

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/JSCPoison.h (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/JSCPoison.h	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/JSCPoison.h	2019-02-18 16:17:00 UTC (rev 241713)
@@ -33,7 +33,6 @@
 #define FOR_EACH_JSC_POISON(v) \
     v(ArrayPrototype) \
     v(CodeBlock) \
-    v(DateInstance) \
     v(GlobalData) \
     v(JITCode) \
     v(JSAPIWrapperObject) \

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/JSWrapperObject.h (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/JSWrapperObject.h	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/JSWrapperObject.h	2019-02-18 16:17:00 UTC (rev 241713)
@@ -21,15 +21,15 @@
 
 #pragma once
 
-#include "JSDestructibleObject.h"
+#include "JSObject.h"
 
 namespace JSC {
 
 // This class is used as a base for classes such as String,
-// Number, Boolean and Date which are wrappers for primitive types.
-class JSWrapperObject : public JSDestructibleObject {
+// Number, Boolean and Symbol which are wrappers for primitive types.
+class JSWrapperObject : public JSNonFinalObject {
 public:
-    typedef JSDestructibleObject Base;
+    using Base = JSNonFinalObject;
 
     static size_t allocationSize(Checked<size_t> inlineCapacity)
     {
@@ -65,7 +65,7 @@
 };
 
 inline JSWrapperObject::JSWrapperObject(VM& vm, Structure* structure)
-    : JSDestructibleObject(vm, structure)
+    : Base(vm, structure)
 {
 }
 

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/NumberObject.cpp (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/NumberObject.cpp	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/NumberObject.cpp	2019-02-18 16:17:00 UTC (rev 241713)
@@ -30,10 +30,10 @@
 
 STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(NumberObject);
 
-const ClassInfo NumberObject::s_info = { "Number", &JSWrapperObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(NumberObject) };
+const ClassInfo NumberObject::s_info = { "Number", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(NumberObject) };
 
 NumberObject::NumberObject(VM& vm, Structure* structure)
-    : JSWrapperObject(vm, structure)
+    : Base(vm, structure)
 {
 }
 

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/NumberObject.h (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/NumberObject.h	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/NumberObject.h	2019-02-18 16:17:00 UTC (rev 241713)
@@ -30,7 +30,7 @@
     void finishCreation(VM&);
 
 public:
-    typedef JSWrapperObject Base;
+    using Base = JSWrapperObject;
 
     static NumberObject* create(VM& vm, Structure* structure)
     {

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/StringConstructor.cpp (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/StringConstructor.cpp	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/StringConstructor.cpp	2019-02-18 16:17:00 UTC (rev 241713)
@@ -63,7 +63,7 @@
 
 void StringConstructor::finishCreation(VM& vm, StringPrototype* stringPrototype)
 {
-    Base::finishCreation(vm, stringPrototype->classInfo()->className);
+    Base::finishCreation(vm, stringPrototype->classInfo(vm)->className);
     putDirectWithoutTransition(vm, vm.propertyNames->prototype, stringPrototype, PropertyAttribute::ReadOnly | PropertyAttribute::DontEnum | PropertyAttribute::DontDelete);
     putDirectWithoutTransition(vm, vm.propertyNames->length, jsNumber(1), PropertyAttribute::ReadOnly | PropertyAttribute::DontEnum);
 }

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/StringObject.cpp (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/StringObject.cpp	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/StringObject.cpp	2019-02-18 16:17:00 UTC (rev 241713)
@@ -30,10 +30,10 @@
 
 STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(StringObject);
 
-const ClassInfo StringObject::s_info = { "String", &JSWrapperObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(StringObject) };
+const ClassInfo StringObject::s_info = { "String", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(StringObject) };
 
 StringObject::StringObject(VM& vm, Structure* structure)
-    : JSWrapperObject(vm, structure)
+    : Base(vm, structure)
 {
 }
 

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/StringObject.h (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/StringObject.h	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/StringObject.h	2019-02-18 16:17:00 UTC (rev 241713)
@@ -27,7 +27,7 @@
 
 class StringObject : public JSWrapperObject {
 public:
-    typedef JSWrapperObject Base;
+    using Base = JSWrapperObject;
     static const unsigned StructureFlags = Base::StructureFlags | OverridesGetOwnPropertySlot | InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero | OverridesGetPropertyNames;
 
     static StringObject* create(VM& vm, Structure* structure)
@@ -59,7 +59,7 @@
 
     DECLARE_EXPORT_INFO;
 
-    JSString* internalValue() const { return asString(JSWrapperObject::internalValue());}
+    JSString* internalValue() const { return asString(JSWrapperObject::internalValue()); }
 
     static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
     {

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/SymbolObject.cpp (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/SymbolObject.cpp	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/SymbolObject.cpp	2019-02-18 16:17:00 UTC (rev 241713)
@@ -33,10 +33,10 @@
 
 STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(SymbolObject);
 
-const ClassInfo SymbolObject::s_info = { "Symbol", &JSWrapperObject::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(SymbolObject) };
+const ClassInfo SymbolObject::s_info = { "Symbol", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(SymbolObject) };
 
 SymbolObject::SymbolObject(VM& vm, Structure* structure)
-    : JSWrapperObject(vm, structure)
+    : Base(vm, structure)
 {
 }
 

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/SymbolObject.h (241712 => 241713)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/SymbolObject.h	2019-02-18 16:16:52 UTC (rev 241712)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/SymbolObject.h	2019-02-18 16:17:00 UTC (rev 241713)
@@ -28,7 +28,7 @@
 
 class SymbolObject final : public JSWrapperObject {
 public:
-    typedef JSWrapperObject Base;
+    using Base = JSWrapperObject;
 
     static SymbolObject* create(VM& vm, Structure* structure)
     {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to