consolidate evaluate & reduce_vars (#1505)

- improve marking efficiency
- apply smarter `const` replacement to `var`

fixes #1501
This commit is contained in:
Alex Lam S.L
2017-02-26 00:40:33 +08:00
committed by GitHub
parent 834f9f3924
commit 16cd5d57a5
5 changed files with 57 additions and 50 deletions

View File

@@ -134,8 +134,8 @@ modified: {
}
function f2() {
var b = 2, c = 3;
b = c;
var b = 2;
b = 3;
console.log(1 + b);
console.log(b + 3);
console.log(4);
@@ -143,8 +143,8 @@ modified: {
}
function f3() {
var b = 2, c = 3;
b *= c;
var b = 2;
b *= 3;
console.log(1 + b);
console.log(b + 3);
console.log(4);
@@ -236,7 +236,7 @@ unsafe_evaluate_object: {
function f0(){
var a = 1;
var b = {};
b[a] = 2;
b[1] = 2;
console.log(4);
}
@@ -280,7 +280,7 @@ unsafe_evaluate_array: {
function f0(){
var a = 1;
var b = [];
b[a] = 2;
b[1] = 2;
console.log(4);
}
@@ -373,8 +373,8 @@ passes: {
}
expect: {
function f() {
var b = 2, c = 3;
b = c;
var b = 2;
b = 3;
console.log(1 + b);
console.log(b + 3);
console.log(4);