ftl-switch-string-slow-duplicate-cases.js   [plain text]


function foo(s) {
    switch (s) {
    case "ƑẦǏŁ":
    case "ÌŅ":
    case "ṤĻŐⱲ":
    case "ṔÄȚĦ":
        return 42;
    case "due":
    case "to":
    case "16-bit":
    case "strings":
        return 43;
    default:
        return 44;
    }
}

noInline(foo);

function cat(a, b) {
    return a + b;
}

for (var i = 0; i < 10000; ++i) {
    var result = foo(cat("16-", "bit"));
    if (result != 43)
        throw "Error: bad result (1): " + result;
    result = foo("ƑẦǏŁ");
    if (result != 42)
        throw "Error: bad result (2): " + result;
}