Applied at r112361, thanks for reviewing! -Argiris
On Aug 27, 2010, at 6:43 PM, Chris Lattner wrote: > That is a very clever approach, looks great to me! > > -Chris > > On Aug 25, 2010, at 2:40 AM, Argyrios Kyrtzidis wrote: > >> Attached new patch with a slight modification; using the inline APInt >> constructor for the common case. >> >> Also note that IntegerLiteral does not leak currently because the APInt is >> truncated to the biggest int of target (long long) before passing to >> IntegerLiteral, which for all current targets is <= 64 bits. >> IntegerLiteral will leak only for a target which has set long long > 64 >> bits. >> >> In light of this, If you'd like to let IntegerLiteral use an APInt instead >> of the APNumericStorage, let me know. >> >> -Argiris >> >> <numeric_leak_fix.diff> >> On Aug 25, 2010, at 2:01 AM, Argyrios Kyrtzidis wrote: >> >>> The attached patch fixes the leaks of FloatingLiteral/IntegerLiteral. >>> >>> For large floats/integers, APFloat/APInt will allocate memory from the heap >>> to represent these numbers. >>> Unfortunately, when we use a BumpPtrAllocator to allocate >>> IntegerLiteral/FloatingLiteral nodes the memory associated with >>> the APFloat/APInt values will never get freed. >>> I introduce the class 'APNumericStorage' which uses ASTContext's allocator >>> for memory allocation and is used internally by >>> FloatingLiteral/IntegerLiteral. >>> >>> Please review. >>> >>> -Argiris >>> >>> <numeric_leak_fix.diff>_______________________________________________ >>> cfe-commits mailing list >>> [email protected] >>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
