diff options
| author | Enrico Granata <egranata@apple.com> | 2012-03-09 03:09:58 +0000 |
|---|---|---|
| committer | Enrico Granata <egranata@apple.com> | 2012-03-09 03:09:58 +0000 |
| commit | 9d60f6076032f2947055f9c2791afedc29d75299 (patch) | |
| tree | d961ea7c877d78445dbc9ba7d3dd87cb614306d7 /llvm/lib/Object/MachOObjectFile.cpp | |
| parent | effcd47eef464765c84130b667ef296da104756e (diff) | |
| download | bcm5719-llvm-9d60f6076032f2947055f9c2791afedc29d75299.tar.gz bcm5719-llvm-9d60f6076032f2947055f9c2791afedc29d75299.zip | |
Changed ValueObject to use a dedicated ChildrenManager class to store its children, instead of an std::vector
This solves an issue where a ValueObject was getting a wrong children count (usually, a huge value) and trying to resize the vector of children to fit that many ValueObject*
Added a loop detection algorithm to the synthetic children provider for std::list
Added a few more checks to the synthetic children provider for std::vector
Both std::list and std::vector's synthetic children providers now cache the count of children instead of recomputing it every time
std::map has a field that stores the count, so there is little need to cache it on our side
llvm-svn: 152371
Diffstat (limited to 'llvm/lib/Object/MachOObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions

