summaryrefslogtreecommitdiffstats
path: root/courgette/adjustment_method_2.cc
Commit message (Collapse)AuthorAgeFilesLines
* iwyu: Include stringprintf.h where appropriate, part 3.jhawkins@chromium.org2011-05-121-2/+1
| | | | | | | | | | | BUG=82098 TEST=none R=csilv@chromium.org Review URL: http://codereview.chromium.org/7016011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85088 0039d316-1c4b-4281-b951-d872f2087c98
* Switch out use of std::string and std::vector for large allocations for a ↵tommi@chromium.org2011-04-061-2/+2
| | | | | | | | | | | | | | | | | buffer class that doesn't throw exceptions. The new buffer class is pretty simple and relies on the MemoryAllocator class that I previously to back large allocations with mapped files when memory is scarce. That reduced the number of crashes quite a bit but we still crash on machines that are simply out of diskspace as well. So, the right thing to do is to expect and handle failures which is what this cl is all about. What we should see once this has landed is that crash dumps due to courgette running out of disk space should disappear from crash/ and instead we should see the number of users that run into this particular problem in dashboards. TEST=Courgette out-of-memory/out-of-diskspace errors should disappear from crash/ BUG=74777 Review URL: http://codereview.chromium.org/6677141 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80648 0039d316-1c4b-4281-b951-d872f2087c98
* Pure pedantry: Replace all ".size() == 0" with ".empty()".erg@google.com2011-03-021-6/+6
| | | | | | | | | BUG=carnitas TEST=compiles; existing unit tests. Review URL: http://codereview.chromium.org/6602049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76467 0039d316-1c4b-4281-b951-d872f2087c98
* Implementation of an STL compatible allocator for Courgette on Windows.tommi@chromium.org2011-03-011-1/+1
| | | | | | | | | | | | | | | | | This is to better handle low memory situations when applying a differential patch to a large Chrome setup. For reading input files, I'm also switching to using memory mapped files instead of ReadFileToString to reduce the load on the heap. TEST=courgette.exe should succeed in applying a patch between two chrome 10.x archives on an XP machine with 180MB of physical memory and no page file. BUG=72459,73209 Review URL: http://codereview.chromium.org/6597038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76320 0039d316-1c4b-4281-b951-d872f2087c98
* Also build a 64-bit exe version of the 32-bit courgettebradnelson@google.com2010-12-211-8/+11
| | | | | | | | | | | | utility + library to support larger input sizes. BUG=63793 TEST=None Review URL: http://codereview.chromium.org/5096007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69779 0039d316-1c4b-4281-b951-d872f2087c98
* base: Get rid of 'using' declaration of StringAppendF.tfarina@chromium.org2010-11-151-20/+21
| | | | | | | | | | | Update the callers to append base:: in the calls to StringAppendF. BUG=None TEST=trybots Review URL: http://codereview.chromium.org/4974001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66116 0039d316-1c4b-4281-b951-d872f2087c98
* Convert LOG(INFO) to VLOG(1) - courgette/.pkasting@chromium.org2010-10-211-54/+25
| | | | | | | | | | This eliminates the custom logging code as VLOG is per-module configurable. I did preserve the distinct log level numbers in the VLOG statements. BUG=none TEST=none Review URL: http://codereview.chromium.org/3904002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63407 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for bug where 64-bit executables were processed as 32-bit executables.laforge@chromium.org2010-03-151-0/+4
| | | | | | | | | | Added some more logging. TBR=sra Review URL: http://codereview.chromium.org/988002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41598 0039d316-1c4b-4281-b951-d872f2087c98
* Add compiler-specific "examine printf format" attributes to printfs.evan@chromium.org2009-11-201-6/+7
| | | | | | | | | | | | Functions that take a printf-style format get a new annotation, which produces a bunch of compiler warnings when you use printf impoperly. This change adds the annotations and fixes the warnings. We now must use PRId64 for 64-bit numbers and the PRIsz for size_t. Review URL: http://codereview.chromium.org/339059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32600 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity fixes to keep coverity quiet.sra@chromium.org2009-07-221-1/+1
| | | | | | | | | | | | | | | | | Only the first issue is remotely interesting. * Possibility (low) of using NULL SinkStream* courgette tool 'gen1a' command. * Added initializers for all class members to several constructors. * return 0 at end of from wmain. BUG=none TEST=existing Review URL: http://codereview.chromium.org/155820 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21253 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing compilation error on Linux with GCC 4.3.3. My environment is Ubuntu ↵yusukes@google.com2009-07-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | 9.04 (x86, 32bit). % hammer --mode=Release ... Compiling /home/yusukes/chromium2/src/sconsbuild/Release/obj/courgette/adjustment_method_2.o Linking /home/yusukes/chromium2/src/sconsbuild/Release/startup_tests cc1plus: warnings being treated as errors /home/yusukes/chromium2/src/courgette/adjustment_method_2.cc: In constructor 'courgette::adjustment_method_2::ShinglePattern::Index::Index(const courgette::adjustment_method_2::Shingle*)': /home/yusukes/chromium2/src/courgette/adjustment_method_2.cc:676: error: 'kind' may be used uninitialized in this function /home/yusukes/chromium2/src/courgette/adjustment_method_2.cc: In constructor 'courgette::adjustment_method_2::ShinglePattern::Index::Index(const courgette::adjustment_method_2::Shingle*)': /home/yusukes/chromium2/src/courgette/adjustment_method_2.cc:676: error: 'kind' may be used uninitialized in this function scons: *** [/home/yusukes/chromium2/src/sconsbuild/Release/obj/courgette/adjustment_method_2.o] Error 1 scons: building terminated because of errors BUG=none TEST=none Review URL: http://codereview.chromium.org/159054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21062 0039d316-1c4b-4281-b951-d872f2087c98
* Code changes to get the code to compile under GCC.sra@google.com2009-07-181-9/+12
| | | | | | | | | | | | Courgette still only knows how to compress Windows x86 executables. But now you can compress them on linux. BUG=none TEST=none Review URL: http://codereview.chromium.org/149597 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21042 0039d316-1c4b-4281-b951-d872f2087c98
* New adjustment method for Courgette.sra@chromium.org2009-06-031-0/+1318
Slower, but better. 1.0.154.59 to 1.0.154.65 Old: 1m19s, 354,997 bytes New: 4m01s, 279,798 bytes Timings on Lenovo T61 (T7700 cpu) BUG=none TEST=none (existing tests) Review URL: http://codereview.chromium.org/118031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17566 0039d316-1c4b-4281-b951-d872f2087c98