diff --git a/js/src/tests/ecma_6/Symbol/toStringTag.js b/js/src/tests/ecma_6/Symbol/toStringTag.js index 9ff0d7fefa81..20aac2c42c48 100644 --- a/js/src/tests/ecma_6/Symbol/toStringTag.js +++ b/js/src/tests/ecma_6/Symbol/toStringTag.js @@ -149,4 +149,7 @@ testDefault(function* () {}().__proto__.__proto__, "Generator"); // ES6 25.4.5.4 Promise.prototype [ @@toStringTag ] testDefault(Promise.prototype, "Promise"); +// AsyncFunction.prototype [ @@toStringTag ] +testDefault(async function() {}.constructor.prototype, "AsyncFunction"); + reportCompare(true, true); diff --git a/js/src/vm/AsyncFunction.cpp b/js/src/vm/AsyncFunction.cpp index 496b2750fc21..a0a3cfac0763 100644 --- a/js/src/vm/AsyncFunction.cpp +++ b/js/src/vm/AsyncFunction.cpp @@ -25,6 +25,9 @@ GlobalObject::initAsyncFunction(JSContext* cx, Handle global) if (!asyncFunctionProto) return false; + if (!DefineToStringTag(cx, asyncFunctionProto, cx->names().AsyncFunction)) + return false; + RootedValue function(cx, global->getConstructor(JSProto_Function)); if (!function.toObjectOrNull()) return false;