Ignore:
Timestamp:
Apr 12, 2016, 6:31:52 PM (9 years ago)
Author:
[email protected]
Message:

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:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/builtins/GlobalObject.js

    r199393 r199400  
    11/*
    22 * Copyright (C) 2015 Yusuke Suzuki <[email protected]>.
    3  * Copyright (C) 2016 Apple Inc. All rights reserved.
    43 *
    54 * Redistribution and use in source and binary forms, with or without
     
    6261    return this;
    6362}
    64 
    65 function speciesConstructor(obj, defaultConstructor)
    66 {
    67     var constructor = obj.constructor;
    68     if (constructor === @undefined)
    69         return defaultConstructor;
    70     if (!@isObject(constructor))
    71         throw new @TypeError("|this|.constructor is not an Object or undefined");
    72     constructor = constructor[@symbolSpecies];
    73     if (constructor == null)
    74         return defaultConstructor;
    75     if (@isConstructor(constructor))
    76         return constructor;
    77     throw new @TypeError("|this|.constructor[Symbol.species] is not a constructor");
    78 }
Note: See TracChangeset for help on using the changeset viewer.