Rollout: ES6: Implement String.prototype.split and RegExp.prototype[@@split].
authormark.lam@apple.com <mark.lam@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 13 Apr 2016 01:31:52 +0000 (01:31 +0000)
committermark.lam@apple.com <mark.lam@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 13 Apr 2016 01:31:52 +0000 (01:31 +0000)
commitde1288ca303a5971935330f6e14fae06e247e1a2
treef1a0e5ee12be7086179981991149785793f0f5fa
parent853590ae02fbb913e55953d869c0ee55f2f0617f
Rollout: ES6: Implement String.prototype.split and RegExp.prototype[@@split].
https://bugs.webkit.org/show_bug.cgi?id=156013

Speculative rollout to fix 32-bit shadow-chicken.yaml/tests/v8-v6/v8-regexp.js.shadow-chicken test failure.

Not reviewed.

Source/JavaScriptCore:

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* builtins/GlobalObject.js:
(speciesGetter):
(speciesConstructor): Deleted.
* builtins/PromisePrototype.js:
* builtins/RegExpPrototype.js:
(advanceStringIndexUnicode):
(match):
(advanceStringIndex): Deleted.
(regExpExec): Deleted.
(hasObservableSideEffectsForRegExpSplit): Deleted.
(split): Deleted.
* builtins/StringPrototype.js:
(repeat):
(split): Deleted.
* bytecode/BytecodeIntrinsicRegistry.cpp:
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
(JSC::BytecodeIntrinsicRegistry::lookup):
* bytecode/BytecodeIntrinsicRegistry.h:
* runtime/CommonIdentifiers.h:
* runtime/ECMAScriptSpecInternalFunctions.cpp: Removed.
* runtime/ECMAScriptSpecInternalFunctions.h: Removed.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::setGlobalThis):
(JSC::JSGlobalObject::init):
(JSC::getGetterById): Deleted.
* runtime/PropertyDescriptor.cpp:
(JSC::PropertyDescriptor::setDescriptor):
* runtime/RegExpObject.h:
(JSC::RegExpObject::offsetOfLastIndexIsWritable):
* runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::finishCreation):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncSearch):
(JSC::advanceStringIndex): Deleted.
(JSC::regExpProtoFuncSplitFast): Deleted.
* runtime/RegExpPrototype.h:
* runtime/StringObject.h:
(JSC::jsStringWithReuse): Deleted.
(JSC::jsSubstring): Deleted.
* runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
(JSC::jsStringWithReuse):
(JSC::jsSubstring):
(JSC::substituteBackreferencesSlow):
(JSC::splitStringByOneCharacterImpl):
(JSC::stringProtoFuncSplit):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncEndsWith):
(JSC::stringProtoFuncIncludes):
(JSC::stringProtoFuncIterator):
(JSC::stringProtoFuncSplitFast): Deleted.
(JSC::builtinStringSubstrInternal): Deleted.
(JSC::stringIncludesImpl): Deleted.
(JSC::builtinStringIncludesInternal): Deleted.
* runtime/StringPrototype.h:
* tests/es6.yaml:

LayoutTests:

* js/Object-getOwnPropertyNames-expected.txt:
* js/dom/string-prototype-properties-expected.txt:
* js/regress/regexp-prototype-split-observable-side-effects-expected.txt: Removed.
* js/regress/regexp-prototype-split-observable-side-effects.html: Removed.
* js/regress/regexp-prototype-split-observable-side-effects2-expected.txt: Removed.
* js/regress/regexp-prototype-split-observable-side-effects2.html: Removed.
* js/regress/regexp-prototype-split-observable-side-effects3-flags-expected.txt: Removed.
* js/regress/regexp-prototype-split-observable-side-effects3-flags.html: Removed.
* js/regress/regexp-prototype-split-observable-side-effects3-global-expected.txt: Removed.
* js/regress/regexp-prototype-split-observable-side-effects3-global.html: Removed.
* js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Removed.
* js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase.html: Removed.
* js/regress/regexp-prototype-split-observable-side-effects3-multiline-expected.txt: Removed.
* js/regress/regexp-prototype-split-observable-side-effects3-multiline.html: Removed.
* js/regress/regexp-prototype-split-observable-side-effects3-sticky-expected.txt: Removed.
* js/regress/regexp-prototype-split-observable-side-effects3-sticky.html: Removed.
* js/regress/regexp-prototype-split-observable-side-effects3-unicode-expected.txt: Removed.
* js/regress/regexp-prototype-split-observable-side-effects3-unicode.html: Removed.
* js/regress/regexp-prototype-split-observable-side-effects4-expected.txt: Removed.
* js/regress/regexp-prototype-split-observable-side-effects4.html: Removed.
* js/regress/script-tests/regexp-prototype-split-observable-side-effects.js: Removed.
* js/regress/script-tests/regexp-prototype-split-observable-side-effects2.js: Removed.
* js/regress/script-tests/regexp-prototype-split-observable-side-effects3-flags.js: Removed.
* js/regress/script-tests/regexp-prototype-split-observable-side-effects3-global.js: Removed.
* js/regress/script-tests/regexp-prototype-split-observable-side-effects3-ignoreCase.js: Removed.
* js/regress/script-tests/regexp-prototype-split-observable-side-effects3-multiline.js: Removed.
* js/regress/script-tests/regexp-prototype-split-observable-side-effects3-sticky.js: Removed.
* js/regress/script-tests/regexp-prototype-split-observable-side-effects3-unicode.js: Removed.
* js/regress/script-tests/regexp-prototype-split-observable-side-effects4.js: Removed.
* js/regress/script-tests/string-prototype-split-observable-side-effects.js: Removed.
* js/regress/script-tests/string-prototype-split-observable-side-effects2.js: Removed.
* js/regress/script-tests/string-prototype-split-observable-side-effects3-flags.js: Removed.
* js/regress/script-tests/string-prototype-split-observable-side-effects3-global.js: Removed.
* js/regress/script-tests/string-prototype-split-observable-side-effects3-ignoreCase.js: Removed.
* js/regress/script-tests/string-prototype-split-observable-side-effects3-multiline.js: Removed.
* js/regress/script-tests/string-prototype-split-observable-side-effects3-sticky.js: Removed.
* js/regress/script-tests/string-prototype-split-observable-side-effects3-unicode.js: Removed.
* js/regress/script-tests/string-prototype-split-observable-side-effects4.js: Removed.
* js/regress/string-prototype-split-observable-side-effects-expected.txt: Removed.
* js/regress/string-prototype-split-observable-side-effects.html: Removed.
* js/regress/string-prototype-split-observable-side-effects2-expected.txt: Removed.
* js/regress/string-prototype-split-observable-side-effects2.html: Removed.
* js/regress/string-prototype-split-observable-side-effects3-flags-expected.txt: Removed.
* js/regress/string-prototype-split-observable-side-effects3-flags.html: Removed.
* js/regress/string-prototype-split-observable-side-effects3-global-expected.txt: Removed.
* js/regress/string-prototype-split-observable-side-effects3-global.html: Removed.
* js/regress/string-prototype-split-observable-side-effects3-ignoreCase-expected.txt: Removed.
* js/regress/string-prototype-split-observable-side-effects3-ignoreCase.html: Removed.
* js/regress/string-prototype-split-observable-side-effects3-multiline-expected.txt: Removed.
* js/regress/string-prototype-split-observable-side-effects3-multiline.html: Removed.
* js/regress/string-prototype-split-observable-side-effects3-sticky-expected.txt: Removed.
* js/regress/string-prototype-split-observable-side-effects3-sticky.html: Removed.
* js/regress/string-prototype-split-observable-side-effects3-unicode-expected.txt: Removed.
* js/regress/string-prototype-split-observable-side-effects3-unicode.html: Removed.
* js/regress/string-prototype-split-observable-side-effects4-expected.txt: Removed.
* js/regress/string-prototype-split-observable-side-effects4.html: Removed.
* js/script-tests/Object-getOwnPropertyNames.js:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@199400 268f45cc-cd09-0410-ab3c-d52691b4dbfc
80 files changed:
LayoutTests/ChangeLog
LayoutTests/js/Object-getOwnPropertyNames-expected.txt
LayoutTests/js/dom/string-prototype-properties-expected.txt
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects-expected.txt [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects.html [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects2-expected.txt [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects2.html [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects3-flags-expected.txt [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects3-flags.html [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects3-global-expected.txt [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects3-global.html [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase-expected.txt [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects3-ignoreCase.html [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects3-multiline-expected.txt [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects3-multiline.html [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects3-sticky-expected.txt [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects3-sticky.html [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects3-unicode-expected.txt [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects3-unicode.html [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects4-expected.txt [deleted file]
LayoutTests/js/regress/regexp-prototype-split-observable-side-effects4.html [deleted file]
LayoutTests/js/regress/script-tests/regexp-prototype-split-observable-side-effects.js [deleted file]
LayoutTests/js/regress/script-tests/regexp-prototype-split-observable-side-effects2.js [deleted file]
LayoutTests/js/regress/script-tests/regexp-prototype-split-observable-side-effects3-flags.js [deleted file]
LayoutTests/js/regress/script-tests/regexp-prototype-split-observable-side-effects3-global.js [deleted file]
LayoutTests/js/regress/script-tests/regexp-prototype-split-observable-side-effects3-ignoreCase.js [deleted file]
LayoutTests/js/regress/script-tests/regexp-prototype-split-observable-side-effects3-multiline.js [deleted file]
LayoutTests/js/regress/script-tests/regexp-prototype-split-observable-side-effects3-sticky.js [deleted file]
LayoutTests/js/regress/script-tests/regexp-prototype-split-observable-side-effects3-unicode.js [deleted file]
LayoutTests/js/regress/script-tests/regexp-prototype-split-observable-side-effects4.js [deleted file]
LayoutTests/js/regress/script-tests/string-prototype-split-observable-side-effects.js [deleted file]
LayoutTests/js/regress/script-tests/string-prototype-split-observable-side-effects2.js [deleted file]
LayoutTests/js/regress/script-tests/string-prototype-split-observable-side-effects3-flags.js [deleted file]
LayoutTests/js/regress/script-tests/string-prototype-split-observable-side-effects3-global.js [deleted file]
LayoutTests/js/regress/script-tests/string-prototype-split-observable-side-effects3-ignoreCase.js [deleted file]
LayoutTests/js/regress/script-tests/string-prototype-split-observable-side-effects3-multiline.js [deleted file]
LayoutTests/js/regress/script-tests/string-prototype-split-observable-side-effects3-sticky.js [deleted file]
LayoutTests/js/regress/script-tests/string-prototype-split-observable-side-effects3-unicode.js [deleted file]
LayoutTests/js/regress/script-tests/string-prototype-split-observable-side-effects4.js [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects-expected.txt [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects.html [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects2-expected.txt [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects2.html [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects3-flags-expected.txt [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects3-flags.html [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects3-global-expected.txt [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects3-global.html [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects3-ignoreCase-expected.txt [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects3-ignoreCase.html [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects3-multiline-expected.txt [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects3-multiline.html [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects3-sticky-expected.txt [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects3-sticky.html [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects3-unicode-expected.txt [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects3-unicode.html [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects4-expected.txt [deleted file]
LayoutTests/js/regress/string-prototype-split-observable-side-effects4.html [deleted file]
LayoutTests/js/script-tests/Object-getOwnPropertyNames.js
LayoutTests/sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3-expected.txt
Source/JavaScriptCore/CMakeLists.txt
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
Source/JavaScriptCore/builtins/GlobalObject.js
Source/JavaScriptCore/builtins/PromisePrototype.js
Source/JavaScriptCore/builtins/RegExpPrototype.js
Source/JavaScriptCore/builtins/StringPrototype.js
Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.cpp
Source/JavaScriptCore/bytecode/BytecodeIntrinsicRegistry.h
Source/JavaScriptCore/runtime/CommonIdentifiers.h
Source/JavaScriptCore/runtime/ECMAScriptSpecInternalFunctions.cpp [deleted file]
Source/JavaScriptCore/runtime/ECMAScriptSpecInternalFunctions.h [deleted file]
Source/JavaScriptCore/runtime/JSGlobalObject.cpp
Source/JavaScriptCore/runtime/PropertyDescriptor.cpp
Source/JavaScriptCore/runtime/RegExpObject.h
Source/JavaScriptCore/runtime/RegExpPrototype.cpp
Source/JavaScriptCore/runtime/RegExpPrototype.h
Source/JavaScriptCore/runtime/StringObject.h
Source/JavaScriptCore/runtime/StringPrototype.cpp
Source/JavaScriptCore/runtime/StringPrototype.h
Source/JavaScriptCore/tests/es6.yaml