Diff
Modified: trunk/JSTests/ChangeLog (215398 => 215399)
--- trunk/JSTests/ChangeLog 2017-04-16 06:24:39 UTC (rev 215398)
+++ trunk/JSTests/ChangeLog 2017-04-16 11:13:46 UTC (rev 215399)
@@ -1,3 +1,12 @@
+2017-04-16 Joseph Pecoraro <pecor...@apple.com>
+
+ test262: test262/test/built-ins/Date/prototype/Symbol.toPrimitive/name.js
+ https://bugs.webkit.org/show_bug.cgi?id=170884
+
+ Reviewed by Yusuke Suzuki.
+
+ * test262.yaml:
+
2017-04-15 Joseph Pecoraro <pecor...@apple.com>
test262: test262/test/language/global-code/new.target-arrow.js
Modified: trunk/JSTests/test262.yaml (215398 => 215399)
--- trunk/JSTests/test262.yaml 2017-04-16 06:24:39 UTC (rev 215398)
+++ trunk/JSTests/test262.yaml 2017-04-16 11:13:46 UTC (rev 215399)
@@ -15462,9 +15462,9 @@
- path: test262/test/built-ins/Date/prototype/Symbol.toPrimitive/length.js
cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
- path: test262/test/built-ins/Date/prototype/Symbol.toPrimitive/name.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
- path: test262/test/built-ins/Date/prototype/Symbol.toPrimitive/name.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
- path: test262/test/built-ins/Date/prototype/Symbol.toPrimitive/prop-desc.js
cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
- path: test262/test/built-ins/Date/prototype/Symbol.toPrimitive/prop-desc.js
@@ -17640,9 +17640,9 @@
- path: test262/test/built-ins/Function/prototype/Symbol.hasInstance/length.js
cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
- path: test262/test/built-ins/Function/prototype/Symbol.hasInstance/name.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
- path: test262/test/built-ins/Function/prototype/Symbol.hasInstance/name.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
- path: test262/test/built-ins/Function/prototype/Symbol.hasInstance/prop-desc.js
cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
- path: test262/test/built-ins/Function/prototype/Symbol.hasInstance/prop-desc.js
@@ -39016,9 +39016,9 @@
- path: test262/test/built-ins/RegExp/prototype/Symbol.match/length.js
cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
- path: test262/test/built-ins/RegExp/prototype/Symbol.match/name.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
- path: test262/test/built-ins/RegExp/prototype/Symbol.match/name.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
- path: test262/test/built-ins/RegExp/prototype/Symbol.match/prop-desc.js
cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
- path: test262/test/built-ins/RegExp/prototype/Symbol.match/prop-desc.js
@@ -39148,9 +39148,9 @@
- path: test262/test/built-ins/RegExp/prototype/Symbol.replace/match-failure.js
cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
- path: test262/test/built-ins/RegExp/prototype/Symbol.replace/name.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
- path: test262/test/built-ins/RegExp/prototype/Symbol.replace/name.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
- path: test262/test/built-ins/RegExp/prototype/Symbol.replace/prop-desc.js
cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
- path: test262/test/built-ins/RegExp/prototype/Symbol.replace/prop-desc.js
@@ -39300,9 +39300,9 @@
- path: test262/test/built-ins/RegExp/prototype/Symbol.search/match-err.js
cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
- path: test262/test/built-ins/RegExp/prototype/Symbol.search/name.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
- path: test262/test/built-ins/RegExp/prototype/Symbol.search/name.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
- path: test262/test/built-ins/RegExp/prototype/Symbol.search/prop-desc.js
cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
- path: test262/test/built-ins/RegExp/prototype/Symbol.search/prop-desc.js
@@ -39384,9 +39384,9 @@
- path: test262/test/built-ins/RegExp/prototype/Symbol.split/limit-0-bail.js
cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
- path: test262/test/built-ins/RegExp/prototype/Symbol.split/name.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
- path: test262/test/built-ins/RegExp/prototype/Symbol.split/name.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
- path: test262/test/built-ins/RegExp/prototype/Symbol.split/prop-desc.js
cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
- path: test262/test/built-ins/RegExp/prototype/Symbol.split/prop-desc.js
@@ -45278,9 +45278,9 @@
- path: test262/test/built-ins/Symbol/prototype/Symbol.toPrimitive/length.js
cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
- path: test262/test/built-ins/Symbol/prototype/Symbol.toPrimitive/name.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
- path: test262/test/built-ins/Symbol/prototype/Symbol.toPrimitive/name.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
- path: test262/test/built-ins/Symbol/prototype/Symbol.toPrimitive/prop-desc.js
cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
- path: test262/test/built-ins/Symbol/prototype/Symbol.toPrimitive/prop-desc.js
Modified: trunk/Source/_javascript_Core/ChangeLog (215398 => 215399)
--- trunk/Source/_javascript_Core/ChangeLog 2017-04-16 06:24:39 UTC (rev 215398)
+++ trunk/Source/_javascript_Core/ChangeLog 2017-04-16 11:13:46 UTC (rev 215399)
@@ -1,3 +1,21 @@
+2017-04-16 Joseph Pecoraro <pecor...@apple.com>
+
+ test262: test262/test/built-ins/Date/prototype/Symbol.toPrimitive/name.js
+ https://bugs.webkit.org/show_bug.cgi?id=170884
+
+ Reviewed by Yusuke Suzuki.
+
+ * runtime/DatePrototype.cpp:
+ (JSC::DatePrototype::finishCreation):
+ * runtime/FunctionPrototype.cpp:
+ (JSC::FunctionPrototype::addFunctionProperties):
+ * runtime/RegExpPrototype.cpp:
+ (JSC::RegExpPrototype::finishCreation):
+ * runtime/SymbolPrototype.cpp:
+ (JSC::SymbolPrototype::finishCreation):
+ Give symbol property functions proper function names.
+ This addresses function.name but not function.toString().
+
2017-04-15 Joseph Pecoraro <pecor...@apple.com>
test262: test262/test/language/global-code/new.target-arrow.js
Modified: trunk/Source/_javascript_Core/runtime/DatePrototype.cpp (215398 => 215399)
--- trunk/Source/_javascript_Core/runtime/DatePrototype.cpp 2017-04-16 06:24:39 UTC (rev 215398)
+++ trunk/Source/_javascript_Core/runtime/DatePrototype.cpp 2017-04-16 11:13:46 UTC (rev 215399)
@@ -500,11 +500,11 @@
JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION("toLocaleString", datePrototypeToLocaleStringCodeGenerator, DontEnum);
JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION("toLocaleDateString", datePrototypeToLocaleDateStringCodeGenerator, DontEnum);
JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION("toLocaleTimeString", datePrototypeToLocaleTimeStringCodeGenerator, DontEnum);
-#else
- UNUSED_PARAM(globalObject);
-#endif // ENABLE(INTL)
+#endif
- JSC_NATIVE_FUNCTION(vm.propertyNames->toPrimitiveSymbol, dateProtoFuncToPrimitiveSymbol, DontEnum | ReadOnly, 1);
+ JSFunction* toPrimitiveFunction = JSFunction::create(vm, globalObject, 1, ASCIILiteral("[Symbol.toPrimitive]"), dateProtoFuncToPrimitiveSymbol, NoIntrinsic);
+ putDirectWithoutTransition(vm, vm.propertyNames->toPrimitiveSymbol, toPrimitiveFunction, DontEnum | ReadOnly);
+
// The constructor will be added later, after DateConstructor has been built.
}
Modified: trunk/Source/_javascript_Core/runtime/FunctionPrototype.cpp (215398 => 215399)
--- trunk/Source/_javascript_Core/runtime/FunctionPrototype.cpp 2017-04-16 06:24:39 UTC (rev 215398)
+++ trunk/Source/_javascript_Core/runtime/FunctionPrototype.cpp 2017-04-16 11:13:46 UTC (rev 215399)
@@ -63,8 +63,10 @@
*applyFunction = putDirectBuiltinFunctionWithoutTransition(vm, globalObject, vm.propertyNames->builtinNames().applyPublicName(), functionPrototypeApplyCodeGenerator(vm), DontEnum);
*callFunction = putDirectBuiltinFunctionWithoutTransition(vm, globalObject, vm.propertyNames->builtinNames().callPublicName(), functionPrototypeCallCodeGenerator(vm), DontEnum);
- *hasInstanceSymbolFunction = putDirectBuiltinFunction(vm, globalObject, vm.propertyNames->hasInstanceSymbol, functionPrototypeSymbolHasInstanceCodeGenerator(vm), DontDelete | ReadOnly | DontEnum);
putDirectBuiltinFunctionWithoutTransition(vm, globalObject, vm.propertyNames->bind, functionPrototypeBindCodeGenerator(vm), DontEnum);
+
+ *hasInstanceSymbolFunction = JSFunction::createBuiltinFunction(vm, functionPrototypeSymbolHasInstanceCodeGenerator(vm), globalObject, ASCIILiteral("[Symbol.hasInstance]"));
+ putDirectWithoutTransition(vm, vm.propertyNames->hasInstanceSymbol, *hasInstanceSymbolFunction, DontDelete | ReadOnly | DontEnum);
}
void FunctionPrototype::initRestrictedProperties(ExecState* exec, JSGlobalObject* globalObject)
Modified: trunk/Source/_javascript_Core/runtime/JSGlobalObject.cpp (215398 => 215399)
--- trunk/Source/_javascript_Core/runtime/JSGlobalObject.cpp 2017-04-16 06:24:39 UTC (rev 215398)
+++ trunk/Source/_javascript_Core/runtime/JSGlobalObject.cpp 2017-04-16 11:13:46 UTC (rev 215399)
@@ -404,9 +404,9 @@
[] (const Initializer<Structure>& init) {
init.set(Structure::addPropertyTransition(init.vm, init.owner->m_functionStructure.get(), init.vm.propertyNames->name, DontDelete | ReadOnly | DontEnum, init.owner->m_functionNameOffset));
});
- JSFunction* callFunction = 0;
- JSFunction* applyFunction = 0;
- JSFunction* hasInstanceSymbolFunction = 0;
+ JSFunction* callFunction = nullptr;
+ JSFunction* applyFunction = nullptr;
+ JSFunction* hasInstanceSymbolFunction = nullptr;
m_functionPrototype->addFunctionProperties(exec, this, &callFunction, &applyFunction, &hasInstanceSymbolFunction);
m_callFunction.set(vm, this, callFunction);
m_applyFunction.set(vm, this, applyFunction);
Modified: trunk/Source/_javascript_Core/runtime/JSObject.cpp (215398 => 215399)
--- trunk/Source/_javascript_Core/runtime/JSObject.cpp 2017-04-16 06:24:39 UTC (rev 215398)
+++ trunk/Source/_javascript_Core/runtime/JSObject.cpp 2017-04-16 11:13:46 UTC (rev 215399)
@@ -2926,6 +2926,16 @@
return putDirect(vm, propertyName, function, attributes);
}
+void JSObject::putDirectNativeFunctionWithoutTransition(VM& vm, JSGlobalObject* globalObject, const PropertyName& propertyName, unsigned functionLength, NativeFunction nativeFunction, Intrinsic intrinsic, unsigned attributes)
+{
+ StringImpl* name = propertyName.publicName();
+ if (!name)
+ name = vm.propertyNames->anonymous.impl();
+ ASSERT(name);
+ JSFunction* function = JSFunction::create(vm, globalObject, functionLength, name, nativeFunction, intrinsic);
+ putDirectWithoutTransition(vm, propertyName, function, attributes);
+}
+
JSFunction* JSObject::putDirectBuiltinFunction(VM& vm, JSGlobalObject* globalObject, const PropertyName& propertyName, FunctionExecutable* functionExecutable, unsigned attributes)
{
StringImpl* name = propertyName.publicName();
@@ -2944,16 +2954,6 @@
return function;
}
-void JSObject::putDirectNativeFunctionWithoutTransition(VM& vm, JSGlobalObject* globalObject, const PropertyName& propertyName, unsigned functionLength, NativeFunction nativeFunction, Intrinsic intrinsic, unsigned attributes)
-{
- StringImpl* name = propertyName.publicName();
- if (!name)
- name = vm.propertyNames->anonymous.impl();
- ASSERT(name);
- JSFunction* function = JSFunction::create(vm, globalObject, functionLength, name, nativeFunction, intrinsic);
- putDirectWithoutTransition(vm, propertyName, function, attributes);
-}
-
// NOTE: This method is for ArrayStorage vectors.
ALWAYS_INLINE unsigned JSObject::getNewVectorLength(unsigned indexBias, unsigned currentVectorLength, unsigned currentLength, unsigned desiredLength)
{
Modified: trunk/Source/_javascript_Core/runtime/JSObject.h (215398 => 215399)
--- trunk/Source/_javascript_Core/runtime/JSObject.h 2017-04-16 06:24:39 UTC (rev 215398)
+++ trunk/Source/_javascript_Core/runtime/JSObject.h 2017-04-16 11:13:46 UTC (rev 215399)
@@ -705,9 +705,10 @@
JS_EXPORT_PRIVATE bool putDirectNativeIntrinsicGetter(VM&, JSGlobalObject*, Identifier, NativeFunction, Intrinsic, unsigned attributes);
JS_EXPORT_PRIVATE bool putDirectNativeFunction(VM&, JSGlobalObject*, const PropertyName&, unsigned functionLength, NativeFunction, Intrinsic, unsigned attributes);
JS_EXPORT_PRIVATE bool putDirectNativeFunction(VM&, JSGlobalObject*, const PropertyName&, unsigned functionLength, NativeFunction, Intrinsic, const DOMJIT::Signature*, unsigned attributes);
+ JS_EXPORT_PRIVATE void putDirectNativeFunctionWithoutTransition(VM&, JSGlobalObject*, const PropertyName&, unsigned functionLength, NativeFunction, Intrinsic, unsigned attributes);
+
JS_EXPORT_PRIVATE JSFunction* putDirectBuiltinFunction(VM&, JSGlobalObject*, const PropertyName&, FunctionExecutable*, unsigned attributes);
JSFunction* putDirectBuiltinFunctionWithoutTransition(VM&, JSGlobalObject*, const PropertyName&, FunctionExecutable*, unsigned attributes);
- JS_EXPORT_PRIVATE void putDirectNativeFunctionWithoutTransition(VM&, JSGlobalObject*, const PropertyName&, unsigned functionLength, NativeFunction, Intrinsic, unsigned attributes);
JS_EXPORT_PRIVATE static bool defineOwnProperty(JSObject*, ExecState*, PropertyName, const PropertyDescriptor&, bool shouldThrow);
@@ -1581,5 +1582,4 @@
#define JSC_NATIVE_GETTER(jsName, cppName, attributes) \
JSC_NATIVE_INTRINSIC_GETTER((jsName), (cppName), (attributes), NoIntrinsic)
-
} // namespace JSC
Modified: trunk/Source/_javascript_Core/runtime/PropertyName.h (215398 => 215399)
--- trunk/Source/_javascript_Core/runtime/PropertyName.h 2017-04-16 06:24:39 UTC (rev 215398)
+++ trunk/Source/_javascript_Core/runtime/PropertyName.h 2017-04-16 11:13:46 UTC (rev 215399)
@@ -52,7 +52,7 @@
bool isNull() const { return !m_impl; }
- bool isSymbol()
+ bool isSymbol() const
{
return m_impl && m_impl->isSymbol();
}
Modified: trunk/Source/_javascript_Core/runtime/RegExpPrototype.cpp (215398 => 215399)
--- trunk/Source/_javascript_Core/runtime/RegExpPrototype.cpp 2017-04-16 06:24:39 UTC (rev 215398)
+++ trunk/Source/_javascript_Core/runtime/RegExpPrototype.cpp 2017-04-16 11:13:46 UTC (rev 215399)
@@ -76,10 +76,16 @@
JSC_NATIVE_GETTER(vm.propertyNames->unicode, regExpProtoGetterUnicode, DontEnum | Accessor);
JSC_NATIVE_GETTER(vm.propertyNames->source, regExpProtoGetterSource, DontEnum | Accessor);
JSC_NATIVE_GETTER(vm.propertyNames->flags, regExpProtoGetterFlags, DontEnum | Accessor);
- JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->matchSymbol, regExpPrototypeMatchCodeGenerator, DontEnum);
- JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->replaceSymbol, regExpPrototypeReplaceCodeGenerator, DontEnum);
- JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->searchSymbol, regExpPrototypeSearchCodeGenerator, DontEnum);
- JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->splitSymbol, regExpPrototypeSplitCodeGenerator, DontEnum);
+
+ JSFunction* matchFunction = JSFunction::createBuiltinFunction(vm, regExpPrototypeMatchCodeGenerator(vm), globalObject, ASCIILiteral("[Symbol.match]"));
+ putDirectWithoutTransition(vm, vm.propertyNames->matchSymbol, matchFunction, DontEnum);
+ JSFunction* replaceFunction = JSFunction::createBuiltinFunction(vm, regExpPrototypeReplaceCodeGenerator(vm), globalObject, ASCIILiteral("[Symbol.replace]"));
+ putDirectWithoutTransition(vm, vm.propertyNames->replaceSymbol, replaceFunction, DontEnum);
+ JSFunction* searchFunction = JSFunction::createBuiltinFunction(vm, regExpPrototypeSearchCodeGenerator(vm), globalObject, ASCIILiteral("[Symbol.search]"));
+ putDirectWithoutTransition(vm, vm.propertyNames->searchSymbol, searchFunction, DontEnum);
+ JSFunction* splitFunction = JSFunction::createBuiltinFunction(vm, regExpPrototypeSplitCodeGenerator(vm), globalObject, ASCIILiteral("[Symbol.split]"));
+ putDirectWithoutTransition(vm, vm.propertyNames->splitSymbol, splitFunction, DontEnum);
+
JSC_BUILTIN_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->test, regExpPrototypeTestCodeGenerator, DontEnum);
m_emptyRegExp.set(vm, this, RegExp::create(vm, "", NoFlags));
Modified: trunk/Source/_javascript_Core/runtime/SymbolPrototype.cpp (215398 => 215399)
--- trunk/Source/_javascript_Core/runtime/SymbolPrototype.cpp 2017-04-16 06:24:39 UTC (rev 215398)
+++ trunk/Source/_javascript_Core/runtime/SymbolPrototype.cpp 2017-04-16 11:13:46 UTC (rev 215399)
@@ -62,7 +62,8 @@
putDirectWithoutTransition(vm, vm.propertyNames->toStringTagSymbol, jsString(&vm, "Symbol"), DontEnum | ReadOnly);
ASSERT(inherits(vm, info()));
- JSC_NATIVE_FUNCTION(vm.propertyNames->toPrimitiveSymbol, symbolProtoFuncValueOf, DontEnum | ReadOnly, 1);
+ JSFunction* toPrimitiveFunction = JSFunction::create(vm, globalObject, 1, ASCIILiteral("[Symbol.toPrimitive]"), symbolProtoFuncValueOf, NoIntrinsic);
+ putDirectWithoutTransition(vm, vm.propertyNames->toPrimitiveSymbol, toPrimitiveFunction, DontEnum | ReadOnly);
}
// ------------------------------ Functions ---------------------------