Tags: Elros60/root
Tags
Introduce PagedVector class The goal of the class is to be an (almost) drop in replacement for SmallVector and std::vector when those are presized and filled later, as it happens in SourceManager and ASTReader. By splitting the actual vector in pages of the same size and allocating the pages only when they are needed, using this containers reduces the memory usage by a factor 4 for the cases relevant to the ALICE experiment ROOT / cling usage.
Revert "Fix CMake error with the latest version of Arrow" This reverts commit 6b1424d.
Avoid TPad::fFrame double delete when read from file This fixes root-project#11747 As seen in cms-sw/cmssw#40091 the code in `TPad::Close`: ``` if (fPrimitives) fPrimitives->Clear(); if (fView) { if (!ROOT::Detail::HasBeenDeleted(fView)) delete fView; fView = nullptr; } if (fFrame) { if (!ROOT::Detail::HasBeenDeleted(fFrame)) delete fFrame; fFrame = nullptr; } ``` is failing in the case of reading a pad from a file in at least some circumstances. `TPad::Streamer` explicit set the bit `kCanDelete` on all objects in the list of primitives, thus including the view and the frame which have their `kCanDelete` bit explicitly reset elsewhere (in the code run during the initial creation of the frame and view). This means that avoiding the a double deletion (the first is now during the `fPrimitives->Clear()`) relies on the heuristic of `HasBeenDeleted` to work properly, at least in the case seen in cmssw above) it does not and lead to crash.
Revert "core: Disable test for already deleted object." This reverts commit 2d7acfd.
Revert "[cmake] Current Xcode issues a warning on -undefined dynamic_… …lookup:" This reverts commit c6edb2e.
Revert "[core] On macOS, allow missing symbols when linking the shlib:" This reverts commit 17dfb55.
Revert "Fix CMake error with the latest version of Arrow" This reverts commit 6b1424d.
Optional power-user treatment to reduce syscalls during startup This commit provides the possibility to pass system library search paths as well as some compiler include paths to ROOT as environment variables. This has the advantage that ROOT will not spawn sub-processes and we can do the setup only once, instead of doing it for every single executable that is linked to ROOT.
PreviousNext