Go to file
fschneider@chromium.org 3e94ac952d Change heuristics for deciding phi-representation types to use int32 more frequently.
Until now we conservatively chose a double representation if
at least one use occurs in a double operation. This causes performance
degradation in many cases where there are mixes uses (integer and double)

e.g.:

for (int i = 0; i < 10; i++) {
  var t = i / 3.5;
  a[i] = t;
}

where the use in i/3 requires a double, where as the keyed store requires i
as an integer.

For these cases we want to have i as an integer and convert it only before the
double division.

In order to avoid unconditional deoptimization in some rare cases, we check
phis if there is any conversion that will always fail when converting a
heap-number constant to int32.
Review URL: http://codereview.chromium.org/6905166

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-03 08:31:35 +00:00
benchmarks Promote the current V8 benchmark suite candidate to version 6. 2010-10-07 07:25:22 +00:00
build Initial support for generating Visual Studio solution and project files using GYP 2011-04-27 14:20:21 +00:00
include Implement API to disallow code generation from strings for a context. 2011-05-03 05:40:47 +00:00
preparser Reapply changelist r7436. 2011-03-31 08:12:17 +00:00
samples Add support for startup data (snapshot) compression. 2011-04-29 12:08:33 +00:00
src Change heuristics for deciding phi-representation types to use int32 more frequently. 2011-05-03 08:31:35 +00:00
test Simplify include dependencies. 2011-05-03 08:23:58 +00:00
tools Simplify include dependencies. 2011-05-03 08:23:58 +00:00
.gitignore ARM: Changed the handling of compiletime CPU feature detection 2011-05-03 06:51:59 +00:00
AUTHORS Improve modulo operation in lithium on IA32. 2011-04-28 14:58:45 +00:00
ChangeLog Prepare push to trunk. We are now working on version 3.3.4 2011-05-02 14:10:14 +00:00
LICENSE Fix the license info to correctly state Copyright "the V8 project 2011-01-19 09:20:18 +00:00
LICENSE.strongtalk Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.v8 Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.valgrind Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
SConstruct ARM: Enhance the hardfloat support 2011-04-29 12:13:46 +00:00