- Jan 24, 2006
-
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@13907 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jul 29, 2005
-
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@12407 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jun 22, 2005
-
-
Rene Brun authored
#define R__ANSISTREAM #define R__TMPLTSTREAM This facilitates the implementation of Reflex, Cintex and Roofit git-svn-id: http://root.cern.ch/svn/root/trunk@12118 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jun 10, 2005
-
-
Fons Rademakers authored
MacOS X on Intel machines. git-svn-id: http://root.cern.ch/svn/root/trunk@12014 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Apr 18, 2005
-
-
Fons Rademakers authored
Linux in 64 bit mode). git-svn-id: http://root.cern.ch/svn/root/trunk@11611 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Apr 15, 2005
-
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@11602 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Mar 31, 2005
-
-
Fons Rademakers authored
on 64bit PowerPC (IBM and Apple G5). git-svn-id: http://root.cern.ch/svn/root/trunk@11470 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Mar 11, 2005
-
-
Fons Rademakers authored
Provided by Fujitsu when porting the ROOT based SPEC suite. git-svn-id: http://root.cern.ch/svn/root/trunk@11308 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Feb 28, 2005
-
-
Fons Rademakers authored
OpenBSD port. git-svn-id: http://root.cern.ch/svn/root/trunk@11200 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Oct 29, 2004
-
-
Fons Rademakers authored
to aCC now being standards compliant (STL container in proper std namespace, etc.). git-svn-id: http://root.cern.ch/svn/root/trunk@10429 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Aug 02, 2004
-
-
Fons Rademakers authored
been obsoleted by full MacOS X support. git-svn-id: http://root.cern.ch/svn/root/trunk@9651 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jun 22, 2004
-
-
Rene Brun authored
To fix alpha/egcs, the RConfig.h needs to be correct by defining R__PLACEMENTINLINE for that configuration. git-svn-id: http://root.cern.ch/svn/root/trunk@9293 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jun 04, 2004
-
-
Rene Brun authored
This patch rename WriteObject(const TObject*, const char*, Option_t) into WriteTObject(const TObject*,const char*, Option_t) This prevent any ambiguity with the template WriteObject(const T*, const char*, Option_t) git-svn-id: http://root.cern.ch/svn/root/trunk@9127 27541ba8-7e3a-0410-8455-c3a389f83636
-
Fons Rademakers authored
work around a MS 6 compiler deficiency. git-svn-id: http://root.cern.ch/svn/root/trunk@9119 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Apr 06, 2004
-
-
Fons Rademakers authored
I have taken into account the definition of the __xlc__ macros we just discovered. Hence I removed the -D_xlc_ options and changed the code accordingly. git-svn-id: http://root.cern.ch/svn/root/trunk@8552 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Mar 10, 2004
-
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@8354 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Feb 18, 2004
-
-
Fons Rademakers authored
some changes to bring FreeBSD more in line with Linux config. git-svn-id: http://root.cern.ch/svn/root/trunk@8227 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Feb 17, 2004
-
-
Rene Brun authored
For installing ROOT v4.00/01(CVS 2004 Feb 12th) on a machine running FreeBSD 5.1-RELEASE, I added define R__THROWNEWDELETE git-svn-id: http://root.cern.ch/svn/root/trunk@8215 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Feb 05, 2004
-
-
Rene Brun authored
Was only active for gcc3xx git-svn-id: http://root.cern.ch/svn/root/trunk@8133 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jan 31, 2004
-
-
Rene Brun authored
In NewDelete, special case for HP-UX/ACC, using bad_alloc instead of std::bad_alloc git-svn-id: http://root.cern.ch/svn/root/trunk@8099 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
stress, bench and DrawTest.sh runs correctly. Still problem in running DrawTest.sh on SGI (cc,gcc,kcc). Likely due to an alignement problem with the handling of the new type Double32_t git-svn-id: http://root.cern.ch/svn/root/trunk@8098 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jan 30, 2004
-
-
Rene Brun authored
The changes were unfortunately introduced withouth enough testing. git-svn-id: http://root.cern.ch/svn/root/trunk@8091 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
There are a few more index to be replaced and R__PLACEMENTINLINE is also needed on windows (however I only tried vc 6.0). git-svn-id: http://root.cern.ch/svn/root/trunk@8090 27541ba8-7e3a-0410-8455-c3a389f83636
-
Fons Rademakers authored
string is in global namespace. Also since <string> pulls in <new> we have to define R__PLACEMENTINLINE for icc otherwise NewDelete.cxx does not compile. Replace index() by strchr() in TClassEdit.cxx. git-svn-id: http://root.cern.ch/svn/root/trunk@8089 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jan 19, 2004
-
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@7949 27541ba8-7e3a-0410-8455-c3a389f83636
-
Fons Rademakers authored
on glibc >= 2.1. This solves also special case for WINGCC which has no glibc and therefore also does now not have R__SEEK64 set. git-svn-id: http://root.cern.ch/svn/root/trunk@7942 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jan 10, 2004
-
-
Rene Brun authored
This mega patch introduces a new implementation of the STL I/O which is backward and forward compatible. In addition this is more exactly a new implementation or an extension of the container I/O. We are introducing a new abstract interface: "TVirtualContainerProxy", which can be implemented to present a proxy to any collection which the I/O (and TTreeFormula) can use then transparently. The TVirtualContainerProxy interface allows to the I/O system to request some information and to execute some essential function of the container: what kind of object/data does it contain does it contain pointers how to insert data into the container how to retrieve an array of pointer to the elements inside how to create a collection object how to clear the collection how to resize the collection how to streamer the collection (if needed) how to calculate the sizeof the collection how to calculate the number of elements of the collection. Using those primitives, the I/O and TTreeFormula should be able to access any collection. The I/O should also be able to handle the splitting of collections that can be split (i.e. contains a single type of object/data). The current compromise selected between code duplication, performance of the I/O of TClonesArray and vector of pointers and the performance of the I/O of other containers, was to have on function handle all collection as if they were a C-style array of pointers to data. This implies for example that the I/O of vector of object current passes via the construction of temporary array of pointer. The cost of this construction is usually ~Qjust~R the cost of calculating the addresses of the elements and assigning it to an array element. Registering a collection proxy will be similar to static int dummy = GenerateInitInstance((CollectType*)0x0)- >AdoptCollectionProxy(new CollectTypeProxy)); Follows a few details on the modifications made to some of the files and classes. Bytes.h: Work around a problem in the MSVC++ 6.0 optimizer. This should not affect other compilers. String: Included the std::string dictionary into G__Base2.cxx, this insures its presence at all time. Added a new file string.cxx holding the streamer for std::string. RConfig.h Added proper ansi stream configuration for AIX, KCC Added template specialization defect for MSVC TBrowser Start adding the ability to browser non TObject classes TBuffer To handle the reading and writing array of objects, added: Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss, const char* classname); Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const char *classname); void ReadFastArray(void *start , TClass *cl, Int_t n=1, TMemberStreamer *s=0); void ReadFastArray(void **startp, TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0); void WriteFastArray(void *start, TClass *cl, Int_t n=1, TMemberStreamer *s=0); Int_t WriteFastArray(void **startp, TClass *cl, Int_t n=1, Bool_t isPreAlloc=kFALSE, TMemberStreamer *s=0); TROOT Enhancement to make the access to gROOT not dependent for the library loading order. In particular we added: ROOT::GetROOT() which should be used instead of gROOT. Improve support for STL. In particular, now STL containers do have a corresponding TClass object TRealData Replace SetStreamer by AdoptStreamer that allow to use not only a streamer function but also streamer object (allowing streamer with a state for Foreign classes) TString: Improve streamer performance TSystem: More consistency of the return value of TSystem::CompileMacro build/unix/makecintdlls.sh Stop making the string.dll config: enhance sgicc makefiles cont: fix TBits::operator= TClassTable now warns for duplicate only for non stl classes TClonesArray fix a typo gpad: Add a new class TInspectObject to enable inspect non TObject classes TRootBrowser : enable inspect non TObject classes TFormula/TTreeFormula To enhance performance switch from using one array fOper which contained the operation code and its arguments to using 2 arrays fActions and fActionParams to store respectively the operation and its parameters. A new function Convert is used to convert old version from the fOper to fActions. This allows cleaner coding and offer optimization opportunities. TTreePlayer Start adding support in MakeClass for STL containers. TRint/TProofServ Insure the loading of the string support Event.cxx make sure to avoid memory over-write stress.cxx Add new parameters stress <nevent> <style> <subbench> <portion> if <subbench> is 1 or higher, print the benchmark results after each test. This allows understand which test is affect by a performance change. portion is a binary field to indicate which test to run. This allows to focus on a particular test. TVirtualCollectionProxy Abstract interface used to access any type of containers from the I/O system and TTreeFormula. See TVectorProxy and TEmulatedVectorProxy for examples. TEmulatedVectorProxy Implementation of a std::vector proxy to be able to read a std::vector without any libraries. TVectorProxy Implementation of TVirtualCollectionProxy for a std::vector for which we have the library. TStreamerInfo.cxx Split in 3 files: TStreamerInfo.cxx TStreamerInfoReadBuffer.cxx TStreamerInfoWriteBuffer.cxx All the ReadBuffer, ReadBufferClones and the new ReadBufferSTL (similarly for WriteBuffer) have been factorized into one function and 2 short wrappers. The new main function expect an array of pointer to the objects (this array is most often of size one). TClonesArray objects pass GetObjectRef(0) to the common ReadBuffer vector<bla*> v pass &(v[0]) vector<bla> needs to create an intermediary array to hold the address This mechanism is sometimes not optimal (vector<blah>) but allows extremely flexibly and extension. Basically, to add support for a new container type using the StreamerInfo mechanism (in particular allows splitting), one 'just' need to implement a TVirtualCollectionProxy, which, in particular, will return an array of address to the object it contains. Even std::map can be handled with this mechanism, since, for I/O purposes, it can be consider as a container of pairs. Add a few optimization, including more caching via a new array of a new struct (fComp). Fixed a problem (re)introduced while implementing the Foreign class CheckSum. Doing: class Event; f = new TFile("Event.root"); resulted in errors. TCint Add proper support for TClass of STL containers. Fix a memory leak. Add support for load TClass via a typedef. Fix a problem with multiple inheritance TClass Fixed a problem (re)introduced while implementing the Foreign class CheckSum. Doing: class Event; f = new TFile("Event.root"); resulted in errors. Add a TClass/TGenericClassInfo/TDataMember Add support for a new interface (TVirtualCollectionProxy) useable for STL containers or any user defined containers. Add support for streamer with are objects (as opposed to free standing function or methods). This allows the user a greater flexibility in writing a streamer. Add a few optimizations Add CanSplit to answer the question for a whole Class (for example some collection can not be splitted). TClassStreamer New class to wrap a class wide streamer ClassStreamerFunc_t typedef for a class wide streamer function TMemberStreamer New class to wrap a specific class member streamer MemberStreamerFunc_t typedef for a specific class member streamer function RootStreamer Macro to specify a free standing streamer object or function for a class For example: RootStreamer(string,std_string_streamer); TStreamerElement: A couple of optimization/simplification. Add support for the new STL I/O Extend the useful TBranchElement: add a connection to the proper TVirtualCollectionProxy add support for STL containers (non-split and split mode) TTree Make the function TTree::GetMakeClass NON-virtual for better efficiency Add support for STL containers TBasket Left (in comment) a yet unproved improvement proposed by Victor. The preliminary tests were inconclusive performance wise and it had (seemingly) problem with backward and forward compatibility. TBranch Performance improvements metautils This is a new package for C++ files shared between rootcint and meta. It contains TClassEdit a class to help determine some property of a class given its class name (stl, template, etc). utils Introduced a new file RStl.cxx to start separating rootcint in modules. Modified rootcint to support the new STL I/O methods. In particular a new class RStl is in charge of doing the generating of code for STL containers. git-svn-id: http://root.cern.ch/svn/root/trunk@7880 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Dec 30, 2003
-
-
Rene Brun authored
supporting open64, lseek64 and stat64. Use the variable R__SEEK64 in TFile and TUnixSystem. git-svn-id: http://root.cern.ch/svn/root/trunk@7818 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Dec 04, 2003
-
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@7692 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Aug 14, 2003
-
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@7090 27541ba8-7e3a-0410-8455-c3a389f83636
-
- May 02, 2003
-
-
Fons Rademakers authored
linuxx8664gcc (based on the Opteron's compiler flag __x86_64__). Use this option when the machine runs in full 64 bit mode under Linux. The Opteron can also run in full 32 bit compatability mode (use tag linux in that case). git-svn-id: http://root.cern.ch/svn/root/trunk@6525 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Apr 11, 2003
-
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@6425 27541ba8-7e3a-0410-8455-c3a389f83636
-
Fons Rademakers authored
- basic typedefs in Rtypes.h: Long64_t and ULong64_t - basic Long64 I/O support in TBuffer - automatic Long64 I/O support in TStreamerInfo - Long64 byteswap in Bytes.h - Long64 type handling in classes like TDataMember, TDataType, TCint, TROOT, etc - Removal of obsolete Long64_t typedefs in many PROOF classes No changes for non-Long64 data types (no backward incompatibilies). I/O tested for Long64 basic type, and static and dynamic arrays using handcoded streamers, rootcint generated streamers and automatic StreamerInfo streamers. git-svn-id: http://root.cern.ch/svn/root/trunk@6421 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Apr 06, 2003
-
-
Fons Rademakers authored
git-svn-id: http://root.cern.ch/svn/root/trunk@6393 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Apr 03, 2003
-
-
Rene Brun authored
with the gcc3.2 compiler and the X11 environment. git-svn-id: http://root.cern.ch/svn/root/trunk@6358 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Feb 28, 2003
-
-
Fons Rademakers authored
VC6 and VC7 binaries and dll's can be mixed. Tested this on Win2000 with VC6 and on WinXP with VC7. On both platforms all tests and RootShower work. git-svn-id: http://root.cern.ch/svn/root/trunk@6215 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jan 31, 2003
-
-
Rene Brun authored
Activating R__ANSISTREAM with VC++6 has two many side-effects. Bugs found in VC++6 when compiling TDatime and TTime. Hopeless to fix. This seems to compile however correctly with VC++7 git-svn-id: http://root.cern.ch/svn/root/trunk@6027 27541ba8-7e3a-0410-8455-c3a389f83636
-
Rene Brun authored
git-svn-id: http://root.cern.ch/svn/root/trunk@6024 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Jan 12, 2003
-
-
Fons Rademakers authored
dynamic_cast<>. All systems now support this standard C++ feature. git-svn-id: http://root.cern.ch/svn/root/trunk@5879 27541ba8-7e3a-0410-8455-c3a389f83636
-
- Dec 04, 2002
-
-
Rene Brun authored
NET." git-svn-id: http://root.cern.ch/svn/root/trunk@5731 27541ba8-7e3a-0410-8455-c3a389f83636
-