Repository navigation
chore(helixcontain): Remove dead code and redundant lookups in HelixContain - #3466
tintinhamans wants to merge 1 commit into
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
Walkthrough
ChangesHelix containment
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~8 minutes Change: Refactor Merge Risk: ⚪ Minimal · up to The reviewed changes show no supported behavior regression that needs resolution before merging. Pre-merge checks |
|
|
There was a problem hiding this comment.
Should be safe. My only mild concern is retail compatible use-after-free bugs invalidating our assumptions about removeFromContain and isEnclosingContainerFor.
I want to test a couple of the replays that previously had me looking at the functions in this class.
0454bdd to
972489b
Compare
Good point, a stale pointer has ID 0 and that would match a Helix without a portable. Took the lookup changes out, it's only the two dead blocks now. |
|
I just ran the previous changes (including EDIT: It's up to you whether to include the previous changes again. |
|
You could put them behind RETAIL_COMPATIBLE_CRC if paranoid and put a comment that its just a precaution to leave them. |
972489b to
56e2c32
Compare
56e2c32 to
00b579a
Compare
Thanks for testing, put the lookup changes back in. Rebased on #3282. Added an |
00b579a to
41abf62
Compare
Split out of #3282.
The two destroy blocks sit inside
m_portableStructureID == INVALID_ID, wheregetPortableStructure()is always null. The compiled output is the same with and without them.removeFromContainandisEnclosingContainerForlooked up the object they were just handed by the ID they had just compared. For a live object that lookup returns the same object, so it is dropped. Caball009 ran this against replays without a mismatch.