[Webkit-unassigned] [Bug 245468] New: A live node becomes undefined in OSR Exit.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Sep 21 01:48:32 PDT 2022


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

            Bug ID: 245468
           Summary: A live node becomes undefined in OSR Exit.
           Product: WebKit
           Version: WebKit Local Build
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: entryhii at gmail.com

function main() {
  const v75 = {};
  v75.__proto__ = Object;
  Object.defineProperty(Object, 117982949, {});
  let v119 = 0;
  while (v119 < 10) {
    function v121() {
      for (let v130 = 0; v130 < 100; v130++) {}
      const v142 = [2.1,  NaN];
      print(v142[0]) // wrongly print undefined 
    }
    v121()
    v119++;
  }
}
noDFG(main);
noFTL(main);
main();

With the above script as input to JSC, run JSC with the following parameters:
./jsc test.js --useConcurrentJIT=0 --jitPolicyScale=0.001

v142[0] should be 2.1. But after OSRExit, v142[0] becomes undefined. The problem may be in CompileNewArray in DFGSpeculativeJIT. 2.1 is used (operand.use()) and NaN causes bailout. The use count of 2.1 is 0. So OSRExit wrongly thinks 2.1 is dead and put an undefined into the call frame.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20220921/fb2fea8a/attachment.htm>


More information about the webkit-unassigned mailing list