Bug 188920

Summary: Switch statement without reached the case block
Product: WebKit Reporter: isol2
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: fpizlo, ysuzuki
Priority: P2    
Version: Safari 11   
Hardware: Unspecified   
OS: Unspecified   

Description isol2 2018-08-24 09:38:35 PDT
Hi everyone,
there is an inconsistency in JSC if a switch statement with only one case block evaluation that could be not reached.

version: 235318
OS: Ubuntu 16.04 x64

steps to reproduce:
{ function f() { return "f 0"; } }
switch (1)
{
  case /0.0/gi:
    function f() {
       return "f 1";
    }
    break;
  default: 
    break;
}
print( f() );

Actual results:
f 1

Expected results:
f 0

V8 and SpiderMonkey works as expected.


cinfuzz