Commit 0ecfb405 authored by Matthew Gaudet's avatar Matthew Gaudet
Browse files

Bug 1795816 - Remove Nightly Build guarding around Array.fromAsync in...

Bug 1795816 - Remove Nightly Build guarding around Array.fromAsync in anticipation of train riding r=arai

Differential Revision: https://phabricator.services.mozilla.com/D178481
parent ef3d7d2f
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -4910,9 +4910,7 @@ static const JSFunctionSpec array_methods[] = {
static const JSFunctionSpec array_static_methods[] = {
    JS_INLINABLE_FN("isArray", array_isArray, 1, 0, ArrayIsArray),
    JS_SELF_HOSTED_FN("from", "ArrayFrom", 3, 0),
#ifdef NIGHTLY_BUILD
    JS_SELF_HOSTED_FN("fromAsync", "ArrayFromAsync", 3, 0),
#endif
    JS_FN("of", array_of, 0, 0),

    JS_FS_END};
+0 −2
Original line number Diff line number Diff line
@@ -832,7 +832,6 @@ function ArrayKeys() {
  return CreateArrayIterator(this, ITEM_KIND_KEY);
}

#ifdef NIGHTLY_BUILD
// https://tc39.es/proposal-array-from-async/
// TODO: Bug 1834560 The step numbers in this will need updating when this is merged
// into the main spec.
@@ -1006,7 +1005,6 @@ function ArrayFromAsync(asyncItems, mapfn = undefined, thisArg = undefined) {
  // Step 5. Return promiseCapability.[[Promise]].
  return fromAsyncClosure();
}
#endif

// ES 2017 draft 0f10dba4ad18de92d47d421f378233a2eae8f077 22.1.2.1
function ArrayFrom(items, mapfn = undefined, thisArg = undefined) {
+5 −5
Original line number Diff line number Diff line
@@ -623,9 +623,9 @@ bool shell::enableToSource = false;
bool shell::enablePropertyErrorMessageFix = false;
bool shell::enableIteratorHelpers = false;
bool shell::enableShadowRealms = false;
bool shell::enableArrayFromAsync = false;
#ifdef NIGHTLY_BUILD
bool shell::enableArrayGrouping = false;
bool shell::enableArrayFromAsync = false;
// Pref for String.prototype.{is,to}WellFormed() methods.
bool shell::enableWellFormedUnicodeStrings = false;
#endif
@@ -3893,9 +3893,9 @@ static void SetStandardRealmOptions(JS::RealmOptions& options) {
      .setPropertyErrorMessageFixEnabled(enablePropertyErrorMessageFix)
      .setIteratorHelpersEnabled(enableIteratorHelpers)
      .setShadowRealmsEnabled(enableShadowRealms)
      .setArrayFromAsyncEnabled(enableArrayFromAsync)
#ifdef NIGHTLY_BUILD
      .setArrayGroupingEnabled(enableArrayGrouping)
      .setArrayFromAsyncEnabled(enableArrayFromAsync)
      .setWellFormedUnicodeStringsEnabled(enableWellFormedUnicodeStrings)
#endif
#ifdef ENABLE_CHANGE_ARRAY_BY_COPY
@@ -11384,9 +11384,9 @@ bool InitOptionParser(OptionParser& op) {
                        "Enable iterator helpers") ||
      !op.addBoolOption('\0', "enable-shadow-realms", "Enable ShadowRealms") ||
      !op.addBoolOption('\0', "enable-array-grouping",
                        "Enable Array.fromAsync") ||
                        "Enable Array.grouping") ||
      !op.addBoolOption('\0', "enable-array-from-async",
                        "Enable Array Grouping") ||
                        "Enable Array.fromAsync") ||
      !op.addBoolOption('\0', "enable-well-formed-unicode-strings",
                        "Enable String.prototype.{is,to}WellFormed() methods"
                        "(Well-Formed Unicode Strings)") ||
@@ -11908,9 +11908,9 @@ bool SetContextOptions(JSContext* cx, const OptionParser& op) {
      !op.getBoolOption("disable-property-error-message-fix");
  enableIteratorHelpers = op.getBoolOption("enable-iterator-helpers");
  enableShadowRealms = op.getBoolOption("enable-shadow-realms");
  enableArrayFromAsync = op.getBoolOption("enable-array-from-async");
#ifdef NIGHTLY_BUILD
  enableArrayGrouping = op.getBoolOption("enable-array-grouping");
  enableArrayFromAsync = op.getBoolOption("enable-array-from-async");
  enableWellFormedUnicodeStrings =
      op.getBoolOption("enable-well-formed-unicode-strings");
#endif
+1 −1
Original line number Diff line number Diff line
@@ -2228,6 +2228,7 @@ JS_PUBLIC_API bool js::ShouldIgnorePropertyDefinition(JSContext* cx,
       id == NameToId(cx->names().groupToMap))) {
    return true;
  }
#endif

  // It's gently surprising that this is JSProto_Function, but the trick
  // to realize is that this is a -constructor function-, not a function
@@ -2237,7 +2238,6 @@ JS_PUBLIC_API bool js::ShouldIgnorePropertyDefinition(JSContext* cx,
      id == NameToId(cx->names().fromAsync)) {
    return true;
  }
#endif

#ifdef ENABLE_CHANGE_ARRAY_BY_COPY
  if (key == JSProto_Array &&