File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -717,11 +717,18 @@ bool debug_view_memory::needs_recompute()
717717{
718718 bool recompute = m_recompute;
719719
720+ offs_t val = m_expression.value ();
721+ // checks if evaluated expression value has changed since last time
722+ if (val != m_expression_computed)
723+ {
724+ m_expression_computed = val;
725+ m_expression.mark_dirty ();
726+ }
727+
720728 // handle expression changes
721729 if (m_expression.dirty ())
722730 {
723731 const debug_view_memory_source &source = downcast<const debug_view_memory_source &>(*m_source);
724- offs_t val = m_expression.value ();
725732 if (source.m_memintf )
726733 {
727734 const address_space_config *config = m_no_translation ? source.m_memintf ->space_config (source.m_spacenum ) : source.m_memintf ->logical_space_config (source.m_spacenum );
Original file line number Diff line number Diff line change @@ -134,6 +134,7 @@ class debug_view_memory : public debug_view
134134
135135 // internal state
136136 debug_view_expression m_expression; // expression describing the start address
137+ offs_t m_expression_computed; // latest value of computed expression
137138 u32 m_chunks_per_row; // number of chunks displayed per line
138139 u8 m_bytes_per_chunk; // bytes per chunk
139140 u8 m_steps_per_chunk; // bytes per chunk
You can’t perform that action at this time.
0 commit comments