[webkit-reviews] review granted: [Bug 238535] [JSC] Store CodeBlock in caller side : [Attachment 456642] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Apr 4 18:39:01 PDT 2022


Saam Barati <sbarati at apple.com> has granted Yusuke Suzuki <ysuzuki at apple.com>'s
request for review:
Bug 238535: [JSC] Store CodeBlock in caller side
https://bugs.webkit.org/show_bug.cgi?id=238535

Attachment 456642: Patch

https://bugs.webkit.org/attachment.cgi?id=456642&action=review




--- Comment #15 from Saam Barati <sbarati at apple.com> ---
Comment on attachment 456642
  --> https://bugs.webkit.org/attachment.cgi?id=456642
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=456642&action=review

r=me

> Source/JavaScriptCore/ChangeLog:9
> +	   This helps unlinked Baseline and DFG since we no longer need to load
CodeBlock from callee via costly dependent loads: unlinked ones

and LLInt

> Source/JavaScriptCore/jit/JIT.cpp:754
> +#if ASSERT_ENABLED
> +	   probeDebug([=](Probe::Context& ctx) {
> +	       CodeBlock* codeBlock = ctx.fp<CallFrame*>()->codeBlock();
> +	       if (codeBlock->jitType() != JITType::BaselineJIT) {
> +		   dataLogLn("FP ", RawPointer(ctx.fp<CallFrame*>()));
> +		   RELEASE_ASSERT_NOT_REACHED();
> +	       }
> +	   });
> +#endif

Why do we only do this release assert for function code? It should always be
correct. Same for DFG/FTL

> Source/JavaScriptCore/runtime/FunctionExecutable.h:302
> +	   return 0;

can you RELEASE_ASSERT_NOT_REACHED here?


More information about the webkit-reviews mailing list