[JS IR] Implement MoveTemporaryVariableDeclarationToAssignment optimization
This commit is contained in:
committed by
Space Team
parent
25f7b81d51
commit
524c475834
+3
-3
@@ -3,18 +3,18 @@ function f(x) {
|
||||
}
|
||||
|
||||
function box() {
|
||||
var result1, result2, $a, $b;
|
||||
var $a, $b;
|
||||
|
||||
if (f(true)) {
|
||||
$a = "1";
|
||||
}
|
||||
result1 = $a;
|
||||
var result1 = $a;
|
||||
if (result1 !== "1") return "fail1: " + result1;
|
||||
|
||||
if (f(false)) {
|
||||
$b = "1";
|
||||
}
|
||||
result2 = $b;
|
||||
var result2 = $b;
|
||||
if (result2 !== void 0) return "fail2: " + result2;
|
||||
|
||||
return "OK";
|
||||
|
||||
+4
-8
@@ -13,32 +13,28 @@ function testIrregular() {
|
||||
}
|
||||
|
||||
function testDoubleUse1() {
|
||||
var $b;
|
||||
$b = f("testDoubleUse1");
|
||||
var $b = f("testDoubleUse1");
|
||||
var result = $b;
|
||||
f($b);
|
||||
return result;
|
||||
}
|
||||
|
||||
function testDoubleUse2() {
|
||||
var $d;
|
||||
$d = f("testDoubleUse2");
|
||||
var $d = f("testDoubleUse2");
|
||||
var result = $d;
|
||||
f($d);
|
||||
return result;
|
||||
}
|
||||
|
||||
function testDoubleUse3() {
|
||||
var $a;
|
||||
$a = f("testDoubleUse3");
|
||||
var $a = f("testDoubleUse3");
|
||||
var result = $a;
|
||||
f($a);
|
||||
return result;
|
||||
}
|
||||
|
||||
function testCircular() {
|
||||
var $b;
|
||||
$b = f("testCircular");
|
||||
var $b = f("testCircular");
|
||||
$b = $b;
|
||||
var result = $b;
|
||||
return result;
|
||||
|
||||
Reference in New Issue
Block a user