Merge branch 'master' into harmony-v2.8.22

This commit is contained in:
alexlamsl
2017-04-09 11:48:47 +08:00
21 changed files with 1331 additions and 245 deletions

View File

@@ -53,7 +53,15 @@ function find_builtins() {
objects[new_global] = global[new_global] || new Function();
});
var a = [];
// NaN will be included due to Number.NaN
var a = [
"null",
"true",
"false",
"Infinity",
"-Infinity",
"undefined",
];
[ Object, Array, Function, Number,
String, Boolean, Error, Math,
Date, RegExp, objects.Symbol, ArrayBuffer,
@@ -174,13 +182,12 @@ function mangle_properties(ast, options) {
// only function declarations after this line
function can_mangle(name) {
if (!is_identifier(name)) return false;
if (unmangleable.indexOf(name) >= 0) return false;
if (reserved.indexOf(name) >= 0) return false;
if (options.only_cache) {
return cache.props.has(name);
}
if (/^[0-9.]+$/.test(name)) return false;
if (/^-?[0-9]+(\.[0-9]+)?(e[+-][0-9]+)?$/.test(name)) return false;
return true;
}