Allow bailing out of the register allocator when running out of virtual registers.
authorfschneider@chromium.org <fschneider@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 3 Feb 2012 12:05:08 +0000 (12:05 +0000)
committerfschneider@chromium.org <fschneider@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 3 Feb 2012 12:05:08 +0000 (12:05 +0000)
commit0ec777368081904bb390c55a6eb67054f1e57093
tree19643ba1381a1469fd3cd162d4cd89f24b6b601d
parenta297d3f9af50440ae03a342578f0ff4e9899b7e9
Allow bailing out of the register allocator when running out of virtual registers.

1. Instead of checking upfront and estimating a limit for the number, we
now are able to stop register allocation and bailout when we don't
have enough virtual registers.

2. GCed some out-dated flags from flag-definition.h

3. Simplified the interface from the Lithium builder to the
register allocator in lithium-*.cc: For uses and definitions, we
just record the virtual register number given by the Hydrogen value id.
For temporaries, we request a new virtual register from the allocator.
For fixed temps, we don't need to do anything.

4. Increased number of deoptimization entries to 16K. Eventually we
probably want to make this array grow dynamically.
Review URL: https://chromiumcodereview.appspot.com/9325019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/arm/lithium-arm.cc
src/compiler.cc
src/deoptimizer.h
src/flag-definitions.h
src/hydrogen.cc
src/ia32/lithium-ia32.cc
src/lithium-allocator.cc
src/lithium-allocator.h
src/mips/lithium-mips.cc
src/x64/lithium-x64.cc