-
Notifications
You must be signed in to change notification settings - Fork 49.3k
[compiler] Do not inline IIFEs in value blocks #33548
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
small change, there are a variety of kinds of value blocks that we use mostly for debugging purposes
* We can't handle labels inside expressions yet, so we don't inline IIFEs if they are in a | ||
* value block. | ||
*/ | ||
if (block.kind === 'value') { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lets invert this, block.kind !== 'block'
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inverted. In your outer comment I wasn't sure if you meant "variety of kinds of expression blocks" but assumed yes and used the isExpressionBlock
helper
As discussed in chat, this is a simple fix to stop introducing labels inside expressions. The useMemo-with-optional test was added in facebook@d70b2c2 and crashes for the same reason- an unexpected label as a value block terminal.
--- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/33546). * #33548 * __->__ #33546
As discussed in chat, this is a simple fix to stop introducing labels inside expressions. The useMemo-with-optional test was added in d70b2c2 and crashes for the same reason- an unexpected label as a value block terminal. --- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/33548). * __->__ #33548 * #33546 DiffTrain build for [90bee81](90bee81)
As discussed in chat, this is a simple fix to stop introducing labels inside expressions. The useMemo-with-optional test was added in d70b2c2 and crashes for the same reason- an unexpected label as a value block terminal. --- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/33548). * __->__ #33548 * #33546 DiffTrain build for [90bee81](90bee81)
--- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/33546). * #33548 * __->__ #33546 DiffTrain build for [75e78d2](75e78d2)
--- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/33546). * #33548 * __->__ #33546 DiffTrain build for [75e78d2](75e78d2)
As discussed in chat, this is a simple fix to stop introducing labels inside expressions.
The useMemo-with-optional test was added in d70b2c2
and crashes for the same reason- an unexpected label as a value block terminal.
Stack created with Sapling. Best reviewed with ReviewStack.