diff --git a/js/src/js.msg b/js/src/js.msg index 8d39df560146..9e2db605bf6e 100644 --- a/js/src/js.msg +++ b/js/src/js.msg @@ -688,7 +688,6 @@ MSG_DEF(JSMSG_BIGINT_NEGATIVE_EXPONENT, 0, JSEXN_RANGEERR, "BigInt negative expo MSG_DEF(JSMSG_BIGINT_INVALID_SYNTAX, 0, JSEXN_SYNTAXERR, "invalid BigInt syntax") MSG_DEF(JSMSG_NOT_BIGINT, 0, JSEXN_TYPEERR, "not a BigInt") MSG_DEF(JSMSG_BIGINT_NOT_SERIALIZABLE, 0, JSEXN_TYPEERR, "BigInt value can't be serialized in JSON") -MSG_DEF(JSMSG_SC_BIGINT_DISABLED, 0, JSEXN_ERR, "BigInt not cloned - feature disabled in receiver") // BinAST MSG_DEF(JSMSG_BINAST, 1, JSEXN_SYNTAXERR, "BinAST Parsing Error: {0}") diff --git a/js/src/shell/fuzz-flags.txt b/js/src/shell/fuzz-flags.txt index 75c607b2bb8c..b4a60d5bbbf3 100644 --- a/js/src/shell/fuzz-flags.txt +++ b/js/src/shell/fuzz-flags.txt @@ -43,9 +43,6 @@ --spectre-mitigations=on --more-compartments -# Experimental JS language features ---no-bigint - # GC-related # These 2 flags can cause the shell to slow down # --gc-zeal=2 diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp index ed2f39359491..a021397b5c0a 100644 --- a/js/src/shell/js.cpp +++ b/js/src/shell/js.cpp @@ -6181,13 +6181,6 @@ static bool NewGlobal(JSContext* cx, unsigned argc, Value* vp) { behaviors.setDisableLazyParsing(v.toBoolean()); } - if (!JS_GetProperty(cx, opts, "enableBigInt", &v)) { - return false; - } - if (v.isBoolean()) { - creationOptions.setBigIntEnabled(v.toBoolean()); - } - if (!JS_GetProperty(cx, opts, "systemPrincipal", &v)) { return false; } diff --git a/js/src/tests/non262/extensions/clone-bigint.js b/js/src/tests/non262/extensions/clone-bigint.js deleted file mode 100644 index 9a41a356132b..000000000000 --- a/js/src/tests/non262/extensions/clone-bigint.js +++ /dev/null @@ -1,29 +0,0 @@ -// |reftest| skip-if(!xulRuntime.shell) -// -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- -// Any copyright is dedicated to the Public Domain. -// http://creativecommons.org/licenses/publicdomain/ - -function testBigInt(b) { - var a = deserialize(serialize(b)); - assertEq(typeof b, "bigint"); - assertEq(typeof a, "bigint"); - assertEq(a, b); -} - -testBigInt(0n); -testBigInt(-1n); -testBigInt(1n); - -testBigInt(0xffffFFFFffffFFFFffffFFFFffffFFFFn); -testBigInt(-0xffffFFFFffffFFFFffffFFFFffffFFFFn); - -var g = newGlobal({ enableBigInt: false }); -var deserializeNoBigInt = g.evaluate("deserialize"); - -assertEq(deserializeNoBigInt(serialize(1)), 1); -assertThrows(() => deserializeNoBigInt(serialize(1n))) -assertThrows(() => deserializeNoBigInt(serialize(0n))) -assertThrows(() => deserializeNoBigInt(serialize(0xffffffn))) -assertThrows(() => deserializeNoBigInt(serialize(-1n))) - -reportCompare(0, 0, 'ok'); diff --git a/js/src/vm/StructuredClone.cpp b/js/src/vm/StructuredClone.cpp index e09b2ec7c248..74d3e11697f3 100644 --- a/js/src/vm/StructuredClone.cpp +++ b/js/src/vm/StructuredClone.cpp @@ -2043,12 +2043,6 @@ JSString* JSStructuredCloneReader::readString(uint32_t data) { } BigInt* JSStructuredCloneReader::readBigInt(uint32_t data) { - if (!context()->realm()->creationOptions().getBigIntEnabled()) { - JS_ReportErrorNumberASCII(context(), GetErrorMessage, nullptr, - JSMSG_SC_BIGINT_DISABLED); - return nullptr; - } - size_t length = data & JS_BITMASK(31); bool isNegative = data & (1 << 31); if (length == 0) {