NEW 219034
CodeBlock m_shouldAlwaysBeInlined in JIT::compileWithoutLinking should be set directly.
https://bugs.webkit.org/show_bug.cgi?id=219034
Summary CodeBlock m_shouldAlwaysBeInlined in JIT::compileWithoutLinking should be set...
xc.o.c.1180@gmail.com
Reported 2020-11-17 07:46:02 PST
Created attachment 414339 [details] Proposed patch. It does not depend on JS execution, this saves a few JIT codes. store8(TrustedImm32(0), &m_codeBlock->m_shouldAlwaysBeInlined);
Attachments
Proposed patch. (583 bytes, patch)
2020-11-17 07:46 PST, xc.o.c.1180@gmail.com
no flags
Patch (1.53 KB, patch)
2020-11-19 06:31 PST, xc.o.c.1180@gmail.com
xc.o.c.1180: review?
Radar WebKit Bug Importer
Comment 1 2020-11-18 10:37:55 PST
Yusuke Suzuki
Comment 2 2020-11-18 19:15:42 PST
Comment on attachment 414339 [details] Proposed patch. View in context: https://bugs.webkit.org/attachment.cgi?id=414339&action=review > JIT.cpp:789 > + m_codeBlock->m_shouldAlwaysBeInlined = false; I think this should be removed since inlining function including arity-fixup is supported in DFG and FTL. Can you upload a patch by `webkit-patch` command? And please describe the goal of the change in ChangeLog file which template is generated by webkit-patch command. https://webkit.org/contributing-code/ describes the detailed process :)
xc.o.c.1180@gmail.com
Comment 3 2020-11-19 06:31:04 PST
xc.o.c.1180@gmail.com
Comment 4 2020-11-19 06:33:27 PST
Comment on attachment 414573 [details] Patch >Subversion Revision: 270020 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index 368551eaad5e5da24d5379302ce8fe93c84db7a5..320f325f77418f95dc498d7a1582151b4fa6e7e2 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,15 @@ >+2020-11-19 xc.o.c.1180 at gmail.com >+ >+ CodeBlock m_shouldAlwaysBeInlined in JIT::compileWithoutLinking should be set directly. >+ https://bugs.webkit.org/show_bug.cgi?id=219034 >+ >+ Reviewed by Yusuke Suzuki. >+ >+ It does not depend on JS execution, this saves a few JIT codes. >+ >+ * jit/JIT.cpp: >+ (JSC::JIT::compileWithoutLinking): >+ > 2020-11-18 Dmitry Bezhetskov <dbezhetskov@igalia.com> > > [WASM-References] Remove subtyping rule for externref and funcref >diff --git a/Source/JavaScriptCore/jit/JIT.cpp b/Source/JavaScriptCore/jit/JIT.cpp >index ce87c8764775fafb0c879f59e9f94a3908f86cc3..f33911356ac0b8af0366a5adeaa8fddcb34c5cf2 100644 >--- a/Source/JavaScriptCore/jit/JIT.cpp >+++ b/Source/JavaScriptCore/jit/JIT.cpp >@@ -786,7 +786,7 @@ void JIT::compileWithoutLinking(JITCompilationEffort effort) > bool requiresArityFixup = m_codeBlock->m_numParameters != 1; > if (m_codeBlock->codeType() == FunctionCode && requiresArityFixup) { > m_arityCheck = label(); >- store8(TrustedImm32(0), &m_codeBlock->m_shouldAlwaysBeInlined); >+ m_codeBlock->m_shouldAlwaysBeInlined = false; > emitFunctionPrologue(); > emitPutToCallFrameHeader(m_codeBlock, CallFrameSlot::codeBlock); >
xc.o.c.1180@gmail.com
Comment 5 2020-11-19 06:35:54 PST
That line is still needed, otherwise, operationOptimize prevents entering DFG JIT.
Note You need to log in before you can comment on or make changes to this bug.