- Mar 03, 2021
-
-
Philippe Canal authored
This allows to significant reduce the number of search through the list of cached result ... That search was a noticeable cause of slow down with an increase of number threads due to the contention on updating the number of readers (used for the local read/write lock mechanism).
-
- Dec 10, 2015
-
-
Vassil Vassilev authored
Makes modules builds with -fno-implicit-module-maps go further.
-
- Sep 22, 2015
-
-
Olivier Couet authored
-
- Jun 26, 2015
-
-
Axel Naumann authored
-
- Mar 05, 2015
-
-
Bertrand Bellenot authored
-
- Mar 04, 2015
-
-
Philippe Canal authored
-
Philippe Canal authored
When the cached value is nullptr, we need to check if the TClass has been loaded since.
-
Philippe Canal authored
-
Christopher Jones authored
The TIsAProxy does late initialization and caching, both of which need to be done in a thread-safe manner.
-
- May 18, 2014
-
-
Philippe Canal authored
-
- May 07, 2014
-
-
Philippe Canal authored
-
- Dec 14, 2012
-
-
Fons Rademakers authored
while with cling ;-) ). git-svn-id: http://root.cern.ch/svn/root/trunk@48043 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Dec 09, 2012
-
-
Fons Rademakers authored
- Remove CINT - Update configure to not have CINT references - Update Makefile to not have CINT references - Remove all references to G__BIT_xxxx More cleaning in next rounds. git-svn-id: http://root.cern.ch/svn/root/trunk@47939 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Mar 27, 2012
-
-
Philippe Canal authored
Fix coding convention R.RN7 (Avoid the raw C types 'long', 'unsigned long', 'long double', 'bool', 'long long' and 'unsigned long long'.) git-svn-id: http://root.cern.ch/svn/root/trunk@43515 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Aug 30, 2010
-
-
Philippe Canal authored
git-svn-id: http://root.cern.ch/svn/root/trunk@35067 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jul 01, 2010
-
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@34272 27541ba8-7e3a-0410-8455-c3a389f83636
-
- May 31, 2008
-
-
Rene Brun authored
The concrete implementation of the class is in TCint. The new functions are essentially interfaces to the existing CINT C++ classes like G__ClassInfo, G__CallFunc, G__DataMemberInfo, G__MethodInfo, G__TypeInfo and G__TypedefInfo. Most of these functions will call the Reflex interface once the CINT/Reflex interface will be available later this year. All direct calls to CINT are replaced by calls like gCint->ClassInfo_xxx where gCint points to the TCint implementation. The existing calls to TCint via gInterpreter are kept because on Windows gInterpreter does not call directly TCint, but instead call TWin32InterpreterProxy that in turns call TCint. On Linux and Mac, gInterpreter and gCint are equivalent. Once the transformation using gCint will be completed, it will be possible to specify at startup time which version of CINT (CINT or CINT7) by loading dynamically TCint or TCint7.--This line, and those below, will be ignored-- M core/meta/src/TStreamerElement.cxx M core/meta/src/TCint.cxx M core/meta/src/TGlobal.cxx M core/meta/src/TBaseClass.cxx M core/meta/src/TDataMember.cxx M core/meta/src/TInterpreter.cxx M core/meta/src/TClass.cxx M core/meta/src/TMethodArg.cxx M core/meta/src/TDataType.cxx M core/meta/src/TMethodCall.cxx M core/meta/src/TIsAProxy.cxx M core/meta/src/TMethod.cxx M core/meta/src/TFunction.cxx M core/meta/inc/TClass.h M core/meta/inc/TDictionary.h M core/meta/inc/TMethodArg.h M core/meta/inc/TDataType.h M core/meta/inc/TMethodCall.h M core/meta/inc/TMethod.h M core/meta/inc/TFunction.h M core/meta/inc/TCint.h M core/meta/inc/TGlobal.h M core/meta/inc/TBaseClass.h M core/meta/inc/TDataMember.h M core/meta/inc/TInterpreter.h M core/thread/src/TThread.cxx M core/base/src/TVirtualFitter.cxx M core/base/src/TStorage.cxx M core/base/src/TQConnection.cxx M core/base/src/TROOT.cxx M core/base/src/TSystem.cxx M core/base/src/TQObject.cxx M core/rint/src/TRint.cxx M core/rint/src/TTabCom.cxx M math/foam/src/TFoam.cxx M math/minuit2/src/TFitterMinuit.cxx M math/mathcore/src/FunctorCint.cxx M math/minuit/src/TMinuit.cxx M tree/tree/src/TTree.cxx M tree/tree/src/TSelectorCint.cxx M tree/tree/src/TSelector.cxx M tree/tree/inc/TSelectorCint.h M roofit/roofitcore/src/RooGenCategory.cxx M roofit/roofitcore/src/RooWorkspace.cxx M hist/hist/src/TF1.cxx M gui/guibuilder/src/TGuiBldDragManager.cxx M net/alien/inc/TAlienSystem.h git-svn-id: http://root.cern.ch/svn/root/trunk@24077 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Apr 03, 2008
-
-
Fons Rademakers authored
base clib cont meta metautils newdelete pcre rint thread unix utils winnt zip under the new core meta directory. git-svn-id: http://root.cern.ch/svn/root/trunk@22961 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Sep 19, 2007
-
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@19826 27541ba8-7e3a-0410-8455-c3a389f83636
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@19825 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jan 29, 2007
-
-
Rene Brun authored
that TROOT was included via TClass.h -In TClass.h: --Remove the include of TROOT.h --add the following static member static IdMap_t *fgIdMap; //Map from typeid to TClass pointer --add the following functions: static void AddClass(TClass *cl); static void RemoveClass(TClass *cl); --Replace the inline definitions of GetClass functions by template <typename T> TClass* GetClass( T** /* dummy */) { return GetClass((T*)0); } template <typename T> TClass* GetClass(const T** /* dummy */) { return GetClass((T*)0); } -In TClass.cxx: --Instead of forwarding the calls to gROOT->GetClass, move the code originally in TROOT in the TClass::GetClass functions --Move class TMapTypeToTClass from TROOT to TClass. git-svn-id: http://root.cern.ch/svn/root/trunk@17561 27541ba8-7e3a-0410-8455-c3a389f83636
-
- May 24, 2006
-
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@15168 27541ba8-7e3a-0410-8455-c3a389f83636
-
- May 23, 2006
-
-
Rene Brun authored
"I have implemented all copy and equal operators needed to silence all warnings in AliRoot, as requested. I have implemented shallow copies as would do the default operators synthetized by the compiler. Most operators are protected. If users complain, you just have to move them into the public area, but class derivation is of course supported. It has been a terrible job, I have modified 278 files, but the changes are backward compabile, and this goes a long way to permitting user to use the effc++ flag with root headers." git-svn-id: http://root.cern.ch/svn/root/trunk@15134 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Sep 03, 2005
-
-
Philippe Canal authored
git-svn-id: http://root.cern.ch/svn/root/trunk@12601 27541ba8-7e3a-0410-8455-c3a389f83636
-
- May 30, 2005
-
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@11908 27541ba8-7e3a-0410-8455-c3a389f83636
-
- May 27, 2005
-
-
Philippe Canal authored
git-svn-id: http://root.cern.ch/svn/root/trunk@11902 27541ba8-7e3a-0410-8455-c3a389f83636
-
Philippe Canal authored
This patch significantly improves the IsA lookup for foreign classes (i.e the lookup by typeid). It is inspired from the implementation used by POOL/Reflex. The type of the fIsA data member is changed from a static function with the signature TClass *(*IsAFunc_t)(const void *obj) to a functor similar to class TIsaProxy { private: TClass* fClass; void* fContext; std::map<const std::type_info*, TClass*> fSubTypes; IsaProxy(TClass* cl, void* ctx); IsaProxy(const IsaProxy& copy); TClass* operator(const void* obj); }; The map is empty in the beginning; then slowly as new types come along which are calling fIsa(obj) first a local lookup is done by typeid (We also want to keep explicitly the last TClass), then a semi-local lookup is done (in the map) and if all fails the "big" lookup in gROOT->GetClass(typeid) is done. This last call is used to fill the map, so that after the first unknown object types the following calls can be satisfied by the map. i.e. the map is self-learning. git-svn-id: http://root.cern.ch/svn/root/trunk@11893 27541ba8-7e3a-0410-8455-c3a389f83636
-