do not track eliminatable variables from inside a switch to outside
This commit is contained in:
Родитель
1821cda0f0
Коммит
90338a7dcd
|
@ -108,6 +108,30 @@ function switchy() {
|
|||
break;
|
||||
}
|
||||
}
|
||||
function switchy2($inFormat) {
|
||||
$inFormat = $inFormat | 0;
|
||||
var label = 0;
|
||||
switch ($inFormat | 0) {
|
||||
case 14:
|
||||
{
|
||||
return 5;
|
||||
}
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
case 22:
|
||||
{
|
||||
label = 4;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{}
|
||||
}
|
||||
if ((label | 0) == 4) {
|
||||
return 8;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
function tempDouble(a) {
|
||||
a = +a;
|
||||
f(a * a);
|
||||
|
|
|
@ -149,6 +149,31 @@ function switchy() {
|
|||
break;
|
||||
}
|
||||
}
|
||||
function switchy2($inFormat) {
|
||||
$inFormat = $inFormat | 0;
|
||||
var label = 0;
|
||||
switch ($inFormat | 0) {
|
||||
case 14:
|
||||
{
|
||||
return 5;
|
||||
break;
|
||||
}
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
case 22:
|
||||
{
|
||||
label = 4;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{}
|
||||
}
|
||||
if ((label | 0) == 4) {
|
||||
return 8;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
function tempDouble(a) {
|
||||
a = +a;
|
||||
var x = +0, y = +0;
|
||||
|
|
|
@ -3909,6 +3909,7 @@ function eliminate(ast, memSafe) {
|
|||
}
|
||||
}
|
||||
}
|
||||
tracked = {}; // do not track from inside the switch to outside
|
||||
} else {
|
||||
if (!(type in ABORTING_ELIMINATOR_SCAN_NODES)) {
|
||||
printErr('unfamiliar eliminator scan node: ' + JSON.stringify(node));
|
||||
|
|
Загрузка…
Ссылка в новой задаче