Andrew Burgess
baf8791efb
gdb/python: Reuse gdb.RegisterGroup objects where possible
...
Only create one gdb.RegisterGroup Python object for each of GDB's
reggroup objects.
I could have added a field into the reggroup object to hold the Python
object pointer for each reggroup, however, as reggroups are never
deleted within GDB, and are global (not per-architecture) a simpler
solution seemed to be just to hold a single global map from reggroup
pointer to a Python object representing the reggroup. Then we can
reuse the objects out of this map.
After this commit it is possible for a user to tell that two
gdb.RegisterGroup objects are now identical when previously they were
unique, however, as both these objects are read-only I don't think
this should be a problem.
There should be no other user visible changes after this commit.
gdb/ChangeLog:
* python/py-registers.c : Add 'unordered_map' include.
(gdbpy_new_reggroup): Renamed to...
(gdbpy_get_reggroup): ...this. Update to only create register
group descriptors when needed.
(gdbpy_reggroup_iter_next): Update.
gdb/testsuite/ChangeLog:
* gdb.python/py-arch-reg-groups.exp: Additional tests.
2020-07-21 21:57:08 +01:00
..
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-02-19 22:57:19 +01:00
2020-07-21 21:57:08 +01:00
2020-07-21 21:57:08 +01:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-06-30 18:40:21 +02:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-06-30 18:40:21 +02:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-06-30 18:40:21 +02:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-05-15 15:03:42 +01:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-06-17 13:43:32 -07:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-06-30 18:40:21 +02:00
2020-06-30 18:40:21 +02:00
2020-06-30 18:40:21 +02:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-06-30 18:40:21 +02:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-06-16 12:41:28 +01:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-06-30 18:40:21 +02:00
2020-06-23 15:11:27 +01:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-06-23 15:11:27 +01:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-04-24 15:35:03 -06:00
2020-04-29 13:22:21 +02:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-07-06 15:06:07 +01:00
2020-07-06 15:06:07 +01:00
2020-07-06 15:06:07 +01:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-07-06 15:06:05 +01:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-06-30 18:40:21 +02:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-06-26 22:04:46 +02:00
2020-01-01 10:20:53 +04:00
2020-01-01 10:20:53 +04:00
2020-06-16 17:48:38 -06:00
2020-06-16 17:48:38 -06:00