Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 324462 - edc - ARM - disassembly - fix several bugs with refactoring of ARMDisassembly and Disassembly
Summary: edc - ARM - disassembly - fix several bugs with refactoring of ARMDisassembly...
Status: RESOLVED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-debug-edc (show other bugs)
Version: 7.0   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Ken Ryall CLA
QA Contact: Ken Ryall CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-03 13:45 EDT by Kirk Beitz CLA
Modified: 2011-05-13 10:53 EDT (History)
0 users

See Also:


Attachments
fix several bugs with refactoring of ARMDisassembly.java and Disassembly.java (29.75 KB, patch)
2010-09-03 13:45 EDT, Kirk Beitz CLA
cdtdoug: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kirk Beitz CLA 2010-09-03 13:45:41 EDT
Created attachment 178183 [details]
fix several bugs with refactoring of ARMDisassembly.java and Disassembly.java

the attached patch re-factors ARMDisassembly.java and Disassembly.java

the goals, in order of importance:

- fix several bugs viewing ARM disassembly not appearing in edc windows debugger
  - view stops updating until the user closes and re-opens the view
  - scrolling back would result in disassembly without mixed source
  - mixed source with inline code would semi-arbitrarily mix code incorrectly
  - stepping through a long function or scrolling down would stop mixing source
  - the correct line number would be mixed in from the wrong file

- re-use portions of the code known to work for Disassembly.java by making them protected and thus visible to ARMDisassembly.java and other extending classes (this applies most specifically to new function ARMDisassembly#getStartAddressForLineEntryContainingAddress() ).

- bulletproof the calls from NPEs could due to requests for services that might arrive just after the service manager shuts down with the end of debugging

- eliminate other redundant code (one ARMDisassembly @override was identical; the code extracted to new protected mixSource() was not part of other problems, but was also identical; the code establishing status for a missing disassembler or unreadable was essentially identical, but the ARMDisassembly code could not see the new property values due to access restriction across plugins).

- avoid confusion between class member and local function variables named thumbMode by renaming the class member currentlyProcessingThumbMode.
Comment 1 Kirk Beitz CLA 2010-10-06 22:45:23 EDT
resolved with 2010.oct.04 edc merge commits by ken.ryall@nokia.com