[Webkit-unassigned] [Bug 160671] New: Parser<LexerType>::parseFunctionInfo() has the wrong info about captured vars when a function is not cached.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Aug 8 15:59:53 PDT 2016


https://bugs.webkit.org/show_bug.cgi?id=160671

            Bug ID: 160671
           Summary: Parser<LexerType>::parseFunctionInfo() has the wrong
                    info about captured vars when a function is not
                    cached.
    Classification: Unclassified
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: mark.lam at apple.com

Created attachment 285595
  --> https://bugs.webkit.org/attachment.cgi?id=285595&action=review
Repro test case.

Steps to repro:

1. Apply the following patch to disable the function cache.

Index: Source/JavaScriptCore/parser/Parser.cpp
===================================================================
--- Source/JavaScriptCore/parser/Parser.cpp     (revision 204127)
+++ Source/JavaScriptCore/parser/Parser.cpp     (working copy)
@@ -1954,6 +1954,7 @@ template <class TreeBuilder> bool Parser
     FunctionBodyType functionBodyType;

     auto loadCachedFunction = [&] () -> bool {
+        if (true) return false;
         ASSERT(parametersStart != -1);
         ASSERT(startColumn != -1);

2. Run jsc on the attached test case.

It ends up throwing the following invalid error:

Exception: ReferenceError: Can't find variable: inner
/Volumes/Data/objcjsc/tests/test.js:9:52
foo2@/Volumes/Data/objcjsc/tests/test.js:12:17
goo2@/Volumes/Data/objcjsc/tests/test.js:14:9
global code@/Volumes/Data/objcjsc/tests/test.js:15:3

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160808/779ee300/attachment.html>


More information about the webkit-unassigned mailing list