RESOLVED FIXED 201331
[JSC] DFG ByteCodeParser should not copy JIT-related part of SimpleJumpTable
https://bugs.webkit.org/show_bug.cgi?id=201331
Summary [JSC] DFG ByteCodeParser should not copy JIT-related part of SimpleJumpTable
Yusuke Suzuki
Reported 2019-08-29 22:49:23 PDT
...
Attachments
Patch (6.10 KB, patch)
2019-08-29 22:54 PDT, Yusuke Suzuki
mark.lam: review+
Yusuke Suzuki
Comment 1 2019-08-29 22:50:03 PDT
Yusuke Suzuki
Comment 2 2019-08-29 22:54:34 PDT
Mark Lam
Comment 3 2019-08-30 01:47:13 PDT
Comment on attachment 377679 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=377679&action=review r=me > Source/JavaScriptCore/ChangeLog:9 > + For example, ctiOffsets can be grown by Baseline JIT compiler. There is race condition as follows. Interesting. I've seen races between the mutator and the DFG before, but this is the first time I've heard of a race between the baselineJIT and the DFG. > Source/JavaScriptCore/bytecode/JumpTable.h:80 > // FIXME: The two Vectors can be combind into one Vector<OffsetLocation> Not your typo but might as well fix: /combind/combined/ > Source/JavaScriptCore/bytecode/JumpTable.h:122 > +#if ENABLE(DFG_JIT) > void clear() This looks legit to me, but I hope you've tested it with a test build with ENABLE_DFG_JIT set to false.
Yusuke Suzuki
Comment 4 2019-08-30 02:54:15 PDT
Comment on attachment 377679 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=377679&action=review >> Source/JavaScriptCore/bytecode/JumpTable.h:80 >> // FIXME: The two Vectors can be combind into one Vector<OffsetLocation> > > Not your typo but might as well fix: /combind/combined/ Fixed. >> Source/JavaScriptCore/bytecode/JumpTable.h:122 >> void clear() > > This looks legit to me, but I hope you've tested it with a test build with ENABLE_DFG_JIT set to false. I checked this function is only called from DFGJITCompiler.cpp's finalizing timing, and make it `ENABLE(DFG_JIT)`.
Yusuke Suzuki
Comment 5 2019-08-30 03:00:35 PDT
Note You need to log in before you can comment on or make changes to this bug.