-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Enforce doubly-linked chained block #331
Conversation
Because we already have block chaining, there is no need for predicted 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.
Explicitly mention Close #329
in the body of git commit messages.
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.
Be aware of the terminology. It is referred as "doubly-linked chained block" instead of "doubly-link chained block."
d5d07ac
to
467660a
Compare
if (block1 && block1->translatable) | ||
if (ir->branch_taken && !set_has(set, ir->branch_taken->pc)) { | ||
block_t *block1 = cache_get(rv->block_cache, ir->branch_taken->pc); | ||
if (block1->translatable) |
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.
Shall we check block1
before dereferencing?
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.
The block1 must be existed because we correctly handle deleted block.
Previously, the chained block was a linear structure where previous block only pointed to the next block. Now, we have introduced additional information, allowing the next block to also reference the previous block. This modification enhance the deletion of replaced block. Close: sysprog21#329
LGTM, the patches indeed addressed the issue, thanks! |
Enforce doubly-linked chained block
Previously, the chained block was a linear structure where previous block only pointed to the next block. Now, we have introduced additional information, allowing the next block to also reference the previous block. This modification enhance the deletion of replaced block.
Close: #329