Diff
Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/ChangeLog (242456 => 242457)
--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/ChangeLog 2019-03-05 12:41:52 UTC (rev 242456)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/ChangeLog 2019-03-05 12:41:57 UTC (rev 242457)
@@ -1,5 +1,48 @@
2019-02-25 Yusuke Suzuki <ysuz...@apple.com>
+ [JSC] Make Intl fields lazily-allocated
+ https://bugs.webkit.org/show_bug.cgi?id=195022
+
+ Reviewed by Mark Lam.
+
+ This patch makes the following memory footprint optimization in IntlObject.
+
+ 1. Make IntlObject fields including Intl.Collator lazily-allocated because we already removed direct references from JS builtins to these constructors (@Collator etc.).
+
+ 2. Move LazyProperty<IntlObject, Structure> structures from IntlObject to JSGlobalObject. This makes sizeof(IntlObject) the same to the other ones of usual runtime Objects,
+ and drop one MarkedBlock.
+
+ * runtime/IntlCollatorConstructor.h:
+ * runtime/IntlDateTimeFormatConstructor.h:
+ * runtime/IntlNumberFormatConstructor.h:
+ * runtime/IntlObject.cpp:
+ (JSC::createCollatorConstructor):
+ (JSC::createNumberFormatConstructor):
+ (JSC::createDateTimeFormatConstructor):
+ (JSC::createPluralRulesConstructor):
+ (JSC::IntlObject::finishCreation):
+ (JSC::IntlObject::visitChildren): Deleted.
+ * runtime/IntlObject.h:
+ * runtime/IntlPluralRulesConstructor.h:
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::init):
+ (JSC::JSGlobalObject::visitChildren):
+ (JSC::JSGlobalObject::defaultCollator):
+ * runtime/JSGlobalObject.h:
+ (JSC::JSGlobalObject::collatorStructure):
+ (JSC::JSGlobalObject::numberFormatStructure):
+ (JSC::JSGlobalObject::dateTimeFormatStructure):
+ (JSC::JSGlobalObject::pluralRulesStructure):
+ (JSC::JSGlobalObject::intlObject const): Deleted.
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::globalFuncDateTimeFormat):
+ * runtime/NumberPrototype.cpp:
+ (JSC::numberProtoFuncToLocaleString):
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncLocaleCompare):
+
+2019-02-25 Yusuke Suzuki <ysuz...@apple.com>
+
[JSC] Drop direct references to Intl constructors by rewriting Intl JS builtins in C++
https://bugs.webkit.org/show_bug.cgi?id=194976
Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlCollatorConstructor.h (242456 => 242457)
--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlCollatorConstructor.h 2019-03-05 12:41:52 UTC (rev 242456)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlCollatorConstructor.h 2019-03-05 12:41:57 UTC (rev 242457)
@@ -46,7 +46,7 @@
DECLARE_INFO;
- Structure* collatorStructure(VM& vm) const { return globalObject(vm)->intlObject()->collatorStructure(); }
+ Structure* collatorStructure(VM& vm) const { return globalObject(vm)->collatorStructure(); }
protected:
void finishCreation(VM&, IntlCollatorPrototype*);
Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlDateTimeFormatConstructor.h (242456 => 242457)
--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlDateTimeFormatConstructor.h 2019-03-05 12:41:52 UTC (rev 242456)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlDateTimeFormatConstructor.h 2019-03-05 12:41:57 UTC (rev 242457)
@@ -46,7 +46,7 @@
DECLARE_INFO;
- Structure* dateTimeFormatStructure(VM& vm) const { return globalObject(vm)->intlObject()->dateTimeFormatStructure(); }
+ Structure* dateTimeFormatStructure(VM& vm) const { return globalObject(vm)->dateTimeFormatStructure(); }
protected:
void finishCreation(VM&, IntlDateTimeFormatPrototype*);
Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlNumberFormatConstructor.h (242456 => 242457)
--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlNumberFormatConstructor.h 2019-03-05 12:41:52 UTC (rev 242456)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlNumberFormatConstructor.h 2019-03-05 12:41:57 UTC (rev 242457)
@@ -46,7 +46,7 @@
DECLARE_INFO;
- Structure* numberFormatStructure(VM& vm) const { return globalObject(vm)->intlObject()->numberFormatStructure(); }
+ Structure* numberFormatStructure(VM& vm) const { return globalObject(vm)->numberFormatStructure(); }
protected:
void finishCreation(VM&, IntlNumberFormatPrototype*);
Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlObject.cpp (242456 => 242457)
--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlObject.cpp 2019-03-05 12:41:52 UTC (rev 242456)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlObject.cpp 2019-03-05 12:41:57 UTC (rev 242457)
@@ -33,21 +33,16 @@
#include "Error.h"
#include "FunctionPrototype.h"
#include "IntlCanonicalizeLanguage.h"
-#include "IntlCollator.h"
#include "IntlCollatorConstructor.h"
#include "IntlCollatorPrototype.h"
-#include "IntlDateTimeFormat.h"
#include "IntlDateTimeFormatConstructor.h"
#include "IntlDateTimeFormatPrototype.h"
-#include "IntlNumberFormat.h"
#include "IntlNumberFormatConstructor.h"
#include "IntlNumberFormatPrototype.h"
-#include "IntlPluralRules.h"
#include "IntlPluralRulesConstructor.h"
#include "IntlPluralRulesPrototype.h"
#include "JSCInlines.h"
#include "JSCJSValueInlines.h"
-#include "LazyPropertyInlines.h"
#include "Lookup.h"
#include "ObjectPrototype.h"
#include "Options.h"
@@ -68,7 +63,7 @@
{
IntlObject* intlObject = jsCast<IntlObject*>(object);
JSGlobalObject* globalObject = intlObject->globalObject(vm);
- return IntlCollatorConstructor::create(vm, IntlCollatorConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<IntlCollatorPrototype*>(intlObject->collatorStructure()->storedPrototypeObject()));
+ return IntlCollatorConstructor::create(vm, IntlCollatorConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<IntlCollatorPrototype*>(globalObject->collatorStructure()->storedPrototypeObject()));
}
static JSValue createNumberFormatConstructor(VM& vm, JSObject* object)
@@ -75,7 +70,7 @@
{
IntlObject* intlObject = jsCast<IntlObject*>(object);
JSGlobalObject* globalObject = intlObject->globalObject(vm);
- return IntlNumberFormatConstructor::create(vm, IntlNumberFormatConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<IntlNumberFormatPrototype*>(intlObject->numberFormatStructure()->storedPrototypeObject()));
+ return IntlNumberFormatConstructor::create(vm, IntlNumberFormatConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<IntlNumberFormatPrototype*>(globalObject->numberFormatStructure()->storedPrototypeObject()));
}
static JSValue createDateTimeFormatConstructor(VM& vm, JSObject* object)
@@ -82,7 +77,7 @@
{
IntlObject* intlObject = jsCast<IntlObject*>(object);
JSGlobalObject* globalObject = intlObject->globalObject(vm);
- return IntlDateTimeFormatConstructor::create(vm, IntlDateTimeFormatConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<IntlDateTimeFormatPrototype*>(intlObject->dateTimeFormatStructure()->storedPrototypeObject()));
+ return IntlDateTimeFormatConstructor::create(vm, IntlDateTimeFormatConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<IntlDateTimeFormatPrototype*>(globalObject->dateTimeFormatStructure()->storedPrototypeObject()));
}
static JSValue createPluralRulesConstructor(VM& vm, JSObject* object)
@@ -89,7 +84,7 @@
{
IntlObject* intlObject = jsCast<IntlObject*>(object);
JSGlobalObject* globalObject = intlObject->globalObject(vm);
- return IntlPluralRulesConstructor::create(vm, IntlPluralRulesConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<IntlPluralRulesPrototype*>(intlObject->pluralRulesStructure()->storedPrototypeObject()));
+ return IntlPluralRulesConstructor::create(vm, IntlPluralRulesConstructor::createStructure(vm, globalObject, globalObject->functionPrototype()), jsCast<IntlPluralRulesPrototype*>(globalObject->pluralRulesStructure()->storedPrototypeObject()));
}
}
@@ -101,6 +96,9 @@
/* Source for IntlObject.lut.h
@begin intlObjectTable
getCanonicalLocales intlObjectFuncGetCanonicalLocales DontEnum|Function 1
+ Collator createCollatorConstructor DontEnum|PropertyCallback
+ DateTimeFormat createDateTimeFormatConstructor DontEnum|PropertyCallback
+ NumberFormat createNumberFormatConstructor DontEnum|PropertyCallback
@end
*/
@@ -129,35 +127,6 @@
Base::finishCreation(vm);
ASSERT(inherits(vm, info()));
- m_collatorStructure.initLater(
- [] (const LazyProperty<IntlObject, Structure>::Initializer& init) {
- JSGlobalObject* globalObject = jsCast<IntlObject*>(init.owner)->globalObject(init.vm);
- IntlCollatorPrototype* collatorPrototype = IntlCollatorPrototype::create(init.vm, globalObject, IntlCollatorPrototype::createStructure(init.vm, globalObject, globalObject->objectPrototype()));
- init.set(IntlCollator::createStructure(init.vm, globalObject, collatorPrototype));
- });
- m_numberFormatStructure.initLater(
- [] (const LazyProperty<IntlObject, Structure>::Initializer& init) {
- JSGlobalObject* globalObject = jsCast<IntlObject*>(init.owner)->globalObject(init.vm);
- IntlNumberFormatPrototype* numberFormatPrototype = IntlNumberFormatPrototype::create(init.vm, globalObject, IntlNumberFormatPrototype::createStructure(init.vm, globalObject, globalObject->objectPrototype()));
- init.set(IntlNumberFormat::createStructure(init.vm, globalObject, numberFormatPrototype));
- });
- m_dateTimeFormatStructure.initLater(
- [] (const LazyProperty<IntlObject, Structure>::Initializer& init) {
- JSGlobalObject* globalObject = jsCast<IntlObject*>(init.owner)->globalObject(init.vm);
- IntlDateTimeFormatPrototype* dateTimeFormatPrototype = IntlDateTimeFormatPrototype::create(init.vm, globalObject, IntlDateTimeFormatPrototype::createStructure(init.vm, globalObject, globalObject->objectPrototype()));
- init.set(IntlDateTimeFormat::createStructure(init.vm, globalObject, dateTimeFormatPrototype));
- });
- m_pluralRulesStructure.initLater(
- [] (const LazyProperty<IntlObject, Structure>::Initializer& init) {
- JSGlobalObject* globalObject = jsCast<IntlObject*>(init.owner)->globalObject(init.vm);
- IntlPluralRulesPrototype* pluralRulesPrototype = IntlPluralRulesPrototype::create(init.vm, globalObject, IntlPluralRulesPrototype::createStructure(init.vm, globalObject, globalObject->objectPrototype()));
- init.set(IntlPluralRules::createStructure(init.vm, globalObject, pluralRulesPrototype));
- });
-
- putDirectWithoutTransition(vm, vm.propertyNames->Collator, createCollatorConstructor(vm, this), static_cast<unsigned>(PropertyAttribute::DontEnum));
- putDirectWithoutTransition(vm, vm.propertyNames->NumberFormat, createNumberFormatConstructor(vm, this), static_cast<unsigned>(PropertyAttribute::DontEnum));
- putDirectWithoutTransition(vm, vm.propertyNames->DateTimeFormat, createDateTimeFormatConstructor(vm, this), static_cast<unsigned>(PropertyAttribute::DontEnum));
-
// Constructor Properties of the Intl Object
// https://tc39.github.io/ecma402/#sec-constructor-properties-of-the-intl-object
if (Options::useIntlPluralRules())
@@ -981,19 +950,6 @@
return JSValue::encode(localeArray);
}
-void IntlObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
-{
- IntlObject* thisObject = jsCast<IntlObject*>(cell);
- ASSERT_GC_OBJECT_INHERITS(thisObject, info());
-
- Base::visitChildren(thisObject, visitor);
-
- thisObject->m_collatorStructure.visit(visitor);
- thisObject->m_numberFormatStructure.visit(visitor);
- thisObject->m_dateTimeFormatStructure.visit(visitor);
- thisObject->m_pluralRulesStructure.visit(visitor);
-}
-
} // namespace JSC
#endif // ENABLE(INTL)
Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlObject.h (242456 => 242457)
--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlObject.h 2019-03-05 12:41:52 UTC (rev 242456)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlObject.h 2019-03-05 12:41:57 UTC (rev 242457)
@@ -44,7 +44,7 @@
class IntlObject final : public JSNonFinalObject {
public:
typedef JSNonFinalObject Base;
- static const unsigned StructureFlags = Base::StructureFlags | HasStaticPropertyTable | OverridesGetOwnPropertySlot;
+ static const unsigned StructureFlags = Base::StructureFlags | HasStaticPropertyTable;
static IntlObject* create(VM&, Structure*);
static Structure* createStructure(VM&, JSGlobalObject*, JSValue);
@@ -51,22 +51,11 @@
DECLARE_INFO;
- Structure* collatorStructure() { return m_collatorStructure.get(this); }
- Structure* numberFormatStructure() { return m_numberFormatStructure.get(this); }
- Structure* dateTimeFormatStructure() { return m_dateTimeFormatStructure.get(this); }
- Structure* pluralRulesStructure() { return m_pluralRulesStructure.get(this); }
-
protected:
void finishCreation(VM&);
private:
- static void visitChildren(JSCell*, SlotVisitor&);
-
IntlObject(VM&, Structure*);
- LazyProperty<IntlObject, Structure> m_collatorStructure;
- LazyProperty<IntlObject, Structure> m_numberFormatStructure;
- LazyProperty<IntlObject, Structure> m_dateTimeFormatStructure;
- LazyProperty<IntlObject, Structure> m_pluralRulesStructure;
};
String defaultLocale(ExecState&);
Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlPluralRulesConstructor.h (242456 => 242457)
--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlPluralRulesConstructor.h 2019-03-05 12:41:52 UTC (rev 242456)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/IntlPluralRulesConstructor.h 2019-03-05 12:41:57 UTC (rev 242457)
@@ -45,7 +45,7 @@
DECLARE_INFO;
- Structure* pluralRulesStructure(VM& vm) const { return globalObject(vm)->intlObject()->pluralRulesStructure(); }
+ Structure* pluralRulesStructure(VM& vm) const { return globalObject(vm)->pluralRulesStructure(); }
protected:
void finishCreation(VM&, IntlPluralRulesPrototype*);
Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/JSGlobalObject.cpp (242456 => 242457)
--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/JSGlobalObject.cpp 2019-03-05 12:41:52 UTC (rev 242456)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/JSGlobalObject.cpp 2019-03-05 12:41:57 UTC (rev 242457)
@@ -179,7 +179,14 @@
#if ENABLE(INTL)
#include "IntlCollator.h"
+#include "IntlCollatorPrototype.h"
+#include "IntlDateTimeFormat.h"
+#include "IntlDateTimeFormatPrototype.h"
+#include "IntlNumberFormat.h"
+#include "IntlNumberFormatPrototype.h"
#include "IntlObject.h"
+#include "IntlPluralRules.h"
+#include "IntlPluralRulesPrototype.h"
#include <unicode/ucol.h>
#include <unicode/udat.h>
#include <unicode/unum.h>
@@ -799,6 +806,31 @@
putDirectWithoutTransition(vm, vm.propertyNames->eval, m_evalFunction.get(), static_cast<unsigned>(PropertyAttribute::DontEnum));
#if ENABLE(INTL)
+ m_collatorStructure.initLater(
+ [] (const Initializer<Structure>& init) {
+ JSGlobalObject* globalObject = jsCast<JSGlobalObject*>(init.owner);
+ IntlCollatorPrototype* collatorPrototype = IntlCollatorPrototype::create(init.vm, globalObject, IntlCollatorPrototype::createStructure(init.vm, globalObject, globalObject->objectPrototype()));
+ init.set(IntlCollator::createStructure(init.vm, globalObject, collatorPrototype));
+ });
+ m_numberFormatStructure.initLater(
+ [] (const Initializer<Structure>& init) {
+ JSGlobalObject* globalObject = jsCast<JSGlobalObject*>(init.owner);
+ IntlNumberFormatPrototype* numberFormatPrototype = IntlNumberFormatPrototype::create(init.vm, globalObject, IntlNumberFormatPrototype::createStructure(init.vm, globalObject, globalObject->objectPrototype()));
+ init.set(IntlNumberFormat::createStructure(init.vm, globalObject, numberFormatPrototype));
+ });
+ m_dateTimeFormatStructure.initLater(
+ [] (const Initializer<Structure>& init) {
+ JSGlobalObject* globalObject = jsCast<JSGlobalObject*>(init.owner);
+ IntlDateTimeFormatPrototype* dateTimeFormatPrototype = IntlDateTimeFormatPrototype::create(init.vm, globalObject, IntlDateTimeFormatPrototype::createStructure(init.vm, globalObject, globalObject->objectPrototype()));
+ init.set(IntlDateTimeFormat::createStructure(init.vm, globalObject, dateTimeFormatPrototype));
+ });
+ m_pluralRulesStructure.initLater(
+ [] (const Initializer<Structure>& init) {
+ JSGlobalObject* globalObject = jsCast<JSGlobalObject*>(init.owner);
+ IntlPluralRulesPrototype* pluralRulesPrototype = IntlPluralRulesPrototype::create(init.vm, globalObject, IntlPluralRulesPrototype::createStructure(init.vm, globalObject, globalObject->objectPrototype()));
+ init.set(IntlPluralRules::createStructure(init.vm, globalObject, pluralRulesPrototype));
+ });
+
IntlObject* intl = IntlObject::create(vm, IntlObject::createStructure(vm, this, m_objectPrototype.get()));
putDirectWithoutTransition(vm, vm.propertyNames->Intl, intl, static_cast<unsigned>(PropertyAttribute::DontEnum));
m_intlObject.set(vm, this, intl);
@@ -1568,6 +1600,10 @@
#if ENABLE(INTL)
visitor.append(thisObject->m_intlObject);
visitor.append(thisObject->m_defaultCollator);
+ thisObject->m_collatorStructure.visit(visitor);
+ thisObject->m_numberFormatStructure.visit(visitor);
+ thisObject->m_dateTimeFormatStructure.visit(visitor);
+ thisObject->m_pluralRulesStructure.visit(visitor);
#endif
visitor.append(thisObject->m_nullGetterFunction);
visitor.append(thisObject->m_nullSetterFunction);
@@ -1874,7 +1910,7 @@
if (m_defaultCollator)
return m_defaultCollator.get();
- IntlCollator* collator = IntlCollator::create(vm, intlObject()->collatorStructure());
+ IntlCollator* collator = IntlCollator::create(vm, collatorStructure());
collator->initializeCollator(*exec, jsUndefined(), jsUndefined());
RETURN_IF_EXCEPTION(scope, nullptr);
m_defaultCollator.set(vm, this, collator);
Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/JSGlobalObject.h (242456 => 242457)
--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/JSGlobalObject.h 2019-03-05 12:41:52 UTC (rev 242456)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/JSGlobalObject.h 2019-03-05 12:41:57 UTC (rev 242457)
@@ -278,6 +278,10 @@
#if ENABLE(INTL)
WriteBarrier<IntlObject> m_intlObject;
WriteBarrier<IntlCollator> m_defaultCollator;
+ LazyProperty<JSGlobalObject, Structure> m_collatorStructure;
+ LazyProperty<JSGlobalObject, Structure> m_numberFormatStructure;
+ LazyProperty<JSGlobalObject, Structure> m_dateTimeFormatStructure;
+ LazyProperty<JSGlobalObject, Structure> m_pluralRulesStructure;
#endif
WriteBarrier<NullGetterFunction> m_nullGetterFunction;
WriteBarrier<NullSetterFunction> m_nullSetterFunction;
@@ -588,7 +592,6 @@
JSInternalPromiseConstructor* internalPromiseConstructor() const { return m_internalPromiseConstructor.get(); }
#if ENABLE(INTL)
- IntlObject* intlObject() const { return m_intlObject.get(); }
IntlCollator* defaultCollator(ExecState*);
#endif
@@ -766,6 +769,12 @@
Structure* webAssemblyWrapperFunctionStructure() const { return m_webAssemblyWrapperFunctionStructure.get(); }
Structure* webAssemblyToJSCalleeStructure() const { return m_webAssemblyToJSCalleeStructure.get(); }
#endif // ENABLE(WEBASSEMBLY)
+#if ENABLE(INTL)
+ Structure* collatorStructure() { return m_collatorStructure.get(this); }
+ Structure* numberFormatStructure() { return m_numberFormatStructure.get(this); }
+ Structure* dateTimeFormatStructure() { return m_dateTimeFormatStructure.get(this); }
+ Structure* pluralRulesStructure() { return m_pluralRulesStructure.get(this); }
+#endif // ENABLE(INTL)
JS_EXPORT_PRIVATE void setRemoteDebuggingEnabled(bool);
JS_EXPORT_PRIVATE bool remoteDebuggingEnabled() const;
Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/JSGlobalObjectFunctions.cpp (242456 => 242457)
--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/JSGlobalObjectFunctions.cpp 2019-03-05 12:41:52 UTC (rev 242456)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/JSGlobalObjectFunctions.cpp 2019-03-05 12:41:57 UTC (rev 242457)
@@ -839,7 +839,7 @@
auto scope = DECLARE_THROW_SCOPE(vm);
JSGlobalObject* globalObject = exec->lexicalGlobalObject();
- IntlDateTimeFormat* dateTimeFormat = IntlDateTimeFormat::create(vm, globalObject->intlObject()->dateTimeFormatStructure());
+ IntlDateTimeFormat* dateTimeFormat = IntlDateTimeFormat::create(vm, globalObject->dateTimeFormatStructure());
dateTimeFormat->initializeDateTimeFormat(*exec, exec->argument(0), exec->argument(1));
RETURN_IF_EXCEPTION(scope, encodedJSValue());
double value = exec->argument(2).toNumber(exec);
Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/NumberPrototype.cpp (242456 => 242457)
--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/NumberPrototype.cpp 2019-03-05 12:41:52 UTC (rev 242456)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/NumberPrototype.cpp 2019-03-05 12:41:57 UTC (rev 242457)
@@ -602,7 +602,7 @@
#if ENABLE(INTL)
JSGlobalObject* globalObject = exec->lexicalGlobalObject();
- IntlNumberFormat* numberFormat = IntlNumberFormat::create(vm, globalObject->intlObject()->numberFormatStructure());
+ IntlNumberFormat* numberFormat = IntlNumberFormat::create(vm, globalObject->numberFormatStructure());
numberFormat->initializeNumberFormat(*exec, exec->argument(0), exec->argument(1));
RETURN_IF_EXCEPTION(scope, encodedJSValue());
RELEASE_AND_RETURN(scope, JSValue::encode(numberFormat->formatNumber(*exec, x)));
Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/StringPrototype.cpp (242456 => 242457)
--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/StringPrototype.cpp 2019-03-05 12:41:52 UTC (rev 242456)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/runtime/StringPrototype.cpp 2019-03-05 12:41:57 UTC (rev 242457)
@@ -1517,7 +1517,7 @@
collator = globalObject->defaultCollator(exec);
RETURN_IF_EXCEPTION(scope, encodedJSValue());
} else {
- collator = IntlCollator::create(vm, globalObject->intlObject()->collatorStructure());
+ collator = IntlCollator::create(vm, globalObject->collatorStructure());
collator->initializeCollator(*exec, locales, options);
RETURN_IF_EXCEPTION(scope, encodedJSValue());
}