[UDFS] Remove legacy x86 asm string-length paths in favor of shared C/C++ implementation#277
[UDFS] Remove legacy x86 asm string-length paths in favor of shared C/C++ implementation#277Copilot wants to merge 12 commits into
Conversation
Agent-Logs-Url: https://github.com/Zero3K20/reactos/sessions/e6c55273-aa26-46f7-800d-d886684328b6 Co-authored-by: Zero3K20 <258969903+Zero3K20@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Zero3K20/reactos/sessions/9391a902-dd88-4c82-bf33-9e94fdacb804 Co-authored-by: Zero3K20 <258969903+Zero3K20@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR modernizes the UDFS driver’s debug/breakpoint and “touch” helpers by removing legacy x86 inline-asm code paths and standardizing on shared C/C++ implementations.
Changes:
- Replaced x86
__asm int 3/ INT3 usage with__debugbreak()in multiple debug/bounds-check paths. - Removed x86 inline-asm implementations for “touch” helpers, keeping a single C implementation.
- Removed x86 inline-asm “string length scan” implementations, keeping the generic C loop.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| drivers/filesystems/udfs/udf_dbg.h | Uses __debugbreak() for breakpoints; drops x86 asm UDFTouch() path in favor of a single C implementation. |
| drivers/filesystems/udfs/Include/mem_tools.cpp | Drops x86 asm DbgTouch() path in favor of a single C implementation. |
| drivers/filesystems/udfs/Include/mem_tools.h | Replaces inline-asm INT3 breakpoints in debug/bounds-check helpers with __debugbreak(). |
| drivers/filesystems/udfs/Include/string_lib.cpp | Removes x86 asm string-length scanning, leaving the generic loop. |
| drivers/filesystems/udfs/Include/Sys_spec_lib.cpp | Removes x86 asm string-length scanning, leaving the generic loop. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@copilot apply changes based on the comments in this thread |
…d in string scans Agent-Logs-Url: https://github.com/Zero3K20/reactos/sessions/3f27bce7-3456-4448-a1b3-0b63c30b4cc7 Co-authored-by: Zero3K20 <258969903+Zero3K20@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Zero3K20/reactos/sessions/3f27bce7-3456-4448-a1b3-0b63c30b4cc7 Co-authored-by: Zero3K20 <258969903+Zero3K20@users.noreply.github.com>
Applied all six review suggestions in commit
|
… __debugbreak() Agent-Logs-Url: https://github.com/Zero3K20/reactos/sessions/c974a8bc-1af0-4576-a1db-2cba7bd89376 Co-authored-by: Zero3K20 <258969903+Zero3K20@users.noreply.github.com>
… __debugbreak() Agent-Logs-Url: https://github.com/Zero3K20/reactos/sessions/c974a8bc-1af0-4576-a1db-2cba7bd89376 Co-authored-by: Zero3K20 <258969903+Zero3K20@users.noreply.github.com>
|
@copilot Please fix the conflicts. |
…mance Resolve conflicts: - Sys_spec_lib.cpp: removed commented-out block (base branch refactored, kept new functions) - udf_dbg.h: keep __debugbreak() over legacy __asm int 3 (our PR change) Co-authored-by: Zero3K20 <258969903+Zero3K20@users.noreply.github.com>
Resolved in merge commit
|
Agent-Logs-Url: https://github.com/Zero3K20/reactos/sessions/c60a5f35-f71d-435d-916f-3de11d690240 Co-authored-by: Zero3K20 <258969903+Zero3K20@users.noreply.github.com>
Initial plan,[UDFS] remove legacy x86 asm,[UDFS] Remove all inline assembly,fix: review feedback,fix: USHORT cast precedence) ontoorigin/udf-dev, skipping the two pre-existing Gleb Lamm refactoring commits that are superseded by udf-devSys_spec_lib.cppconflicts by keeping udf-dev's version (udf-dev already removed those functions; equivalent changes were auto-applied tostring_lib.cppwhere the functions now live)Sys_spec_lib.cpp