bloombloombloom / Bloom

A debug interface for AVR-based embedded systems development on GNU/Linux.
https://bloom.oscillate.io/
Other
64 stars 3 forks source link

Stop passing register descriptors everywhere - use integer IDs #65

Closed navnavnav closed 1 year ago

navnavnav commented 1 year ago

At startup, Bloom extracts all register information from the relevant TDF, and constructs a TargetRegisterDescriptor for each register.

Whenever we want to do something with a register, like read its value, we pass the TargetRegisterDescriptor to the TargetControllerService, where it eventually gets copied. This copying can be expensive, as the TargetRegisterDescriptor contains multiple std::strings.

We shouldn't be using TargetRegisterDescriptor objects as register IDs. Instead, we should introduce an integer ID in TargetRegisterDescriptor, which should then be used to reference registers throughout Bloom.

Register descriptors should still be included in the TargetDescriptor.

navnavnav commented 1 year ago

This is done. The changes have been merged into develop and will be included in the v1.0.0 release.

Closing this now.