document various v8 bugs (#4808)

closes #4805
This commit is contained in:
Alex Lam S.L
2021-03-20 22:33:45 +00:00
committed by GitHub
parent 24619daf68
commit 8ea1ced389
4 changed files with 30 additions and 41 deletions

View File

@@ -1296,3 +1296,16 @@ To allow for better optimizations, the compiler makes various assumptions:
// SyntaxError: Identifier 'e' has already been declared // SyntaxError: Identifier 'e' has already been declared
``` ```
UglifyJS may modify the input which in turn may suppress those errors. UglifyJS may modify the input which in turn may suppress those errors.
- Some versions of Chrome and Node.js will give incorrect results with the
following:
```javascript
console.log({
...{
set 42(v) {},
42: "PASS",
},
});
// Expected: { '42': 'PASS' }
// Actual: { '42': undefined }
```
UglifyJS may modify the input which in turn may suppress those errors.

View File

@@ -725,7 +725,7 @@ unused_await: {
(() => console.log(await))(); (() => console.log(await))();
})(); })();
} }
expect_stdout: "PASS" expect_stdout: true
node_version: ">=12" node_version: ">=12"
} }

View File

@@ -836,10 +836,7 @@ for_of: {
console.log(async); console.log(async);
} }
expect_exact: 'var async=["PASS",42];async.p="FAIL";for(async of(null,async))console.log(async);' expect_exact: 'var async=["PASS",42];async.p="FAIL";for(async of(null,async))console.log(async);'
expect_stdout: [ expect_stdout: true
"PASS",
"42",
]
node_version: ">=0.12" node_version: ">=0.12"
} }

View File

@@ -158,6 +158,9 @@ var SUPPORT = function(matrix) {
template: "``", template: "``",
trailing_comma: "function f(a,) {}", trailing_comma: "function f(a,) {}",
}); });
if (SUPPORT.exponentiation && sandbox.run_code("console.log(10 ** 100 === Math.pow(10, 100));") !== "true\n") {
SUPPORT.exponentiation = false;
}
var VALUES = [ var VALUES = [
'"a"', '"a"',
@@ -241,40 +244,13 @@ BINARY_OPS = BINARY_OPS.concat(BINARY_OPS);
BINARY_OPS = BINARY_OPS.concat(BINARY_OPS); BINARY_OPS = BINARY_OPS.concat(BINARY_OPS);
BINARY_OPS.push(" in "); BINARY_OPS.push(" in ");
var ASSIGNMENTS = [ var ASSIGNMENTS = [ "=" ];
"=", ASSIGNMENTS = ASSIGNMENTS.concat(ASSIGNMENTS);
"=", ASSIGNMENTS.push("+=");
"=", ASSIGNMENTS = ASSIGNMENTS.concat(ASSIGNMENTS);
"=", ASSIGNMENTS = ASSIGNMENTS.concat(ASSIGNMENTS);
"=", ASSIGNMENTS = ASSIGNMENTS.concat(ASSIGNMENTS);
"=", ASSIGNMENTS = ASSIGNMENTS.concat([
"=",
"=",
"=",
"=",
"=",
"=",
"=",
"=",
"=",
"=",
"=",
"=",
"=",
"=",
"+=",
"+=",
"+=",
"+=",
"+=",
"+=",
"+=",
"+=",
"+=",
"+=",
"-=", "-=",
"*=", "*=",
"/=", "/=",
@@ -285,8 +261,11 @@ var ASSIGNMENTS = [
"<<=", "<<=",
">>=", ">>=",
">>>=", ">>>=",
]; ]);
if (SUPPORT.exponentiation) ASSIGNMENTS.push("**="); if (SUPPORT.exponentiation) {
ASSIGNMENTS = ASSIGNMENTS.concat(ASSIGNMENTS);
ASSIGNMENTS.push("**=");
}
var UNARY_SAFE = [ var UNARY_SAFE = [
"+", "+",