After r259781, debug hooks are now generated for all but the first sub-expression in a comma expression. [Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp](http://trac.webkit.org/changeset/259781/webkit/trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp): ``` RegisterID* CommaNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst) { for (; node->next(); node = node->next()) { generator.emitNode(generator.ignoredResult(), node->m_expr); // Don't emit a debug hook for the first expression, as that should've already happened in // the containing statement. generator.emitDebugHook(node->next()->m_expr); } return generator.emitNodeInTailPosition(dst, node->m_expr); } ``` This comment is inaccurate, as in the simple case of `true && (a(), b())`.
Created attachment 395920 [details] Patch
Comment on attachment 395920 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=395920&action=review r=me > Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:3539 > if (!shouldEmitDebugHooks()) > return; Maybe we could use LIKELY macros here.
Created attachment 395963 [details] Patch
Comment on attachment 395963 [details] Patch Oops, that should be a `LIKELY` 😅
Created attachment 395967 [details] Patch
Committed r259810: <https://trac.webkit.org/changeset/259810> All reviewed patches have been landed. Closing bug and clearing flags on attachment 395967 [details].
<rdar://problem/61528617>