-
Aaron Suen authored
It was discovered that concrete nodes tend to get way too many groups in many cases, and the cause of this seems to be table aliasing in underride. Underride no longer reuses (aliases) the original source tables when it copies a table into the target, but makes a deep copy. This is a significant change because the underride logic is used in many places, and so this has very broad impact. This may fix other bugs caused by table aliasing, including ones that may be "load-bearing", so we will need to be on the look-out for any unexpected changes in behavior. In order to work for underride, deepcopy needed to be extended to support cycles and other non-simple graph structures. This may have some performance impact where underride is used (mostly startup time), and where deepcopy is used (DNTs) but that should not be very large as long as data structures are not excessively complex.
a7051dcc