Go to file
svenpanne@chromium.org e48ec1c4bd Use type info for the ToBoolean translation in crankshaft.
To do this, the Branch instruction needs to carry around a temporary register,
but only when the crankshafted code will make a map access. When the
crankshafted code sees an object of a type it hasn't encountered before, it will
always trigger a deopt. Another option in theses cases would be calling a
ToBooleanStub which can handle all types, but then one has to be careful to
*not* trigger a GC (which is currently a bit tricky to achieve).

Const-corrected ToBoolean::Types. Moved the NeedsMap logic into ToBoolean::Types
itself, where it belongs.

This patch improves a lot of benchmarks, crypto-orig even by 16.7%, but slows
down others. The slowdown has to be investigated, but I'd like to get this patch
out first to fix the flakiness problems we currently have due to the previous
crankshafted ToBoolean.
Review URL: http://codereview.chromium.org/7461107

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-28 13:33:51 +00:00
benchmarks Promote the current V8 benchmark suite candidate to version 6. 2010-10-07 07:25:22 +00:00
build Revert "Make GYP build usable for day-to-day work" 2011-07-18 16:39:41 +00:00
include Fix: FunctionTemplate::SetPrototypeAttributes broke prototype object 2011-07-25 15:01:45 +00:00
preparser Revert "Make GYP build usable for day-to-day work" 2011-07-18 16:39:41 +00:00
samples Revert "Make GYP build usable for day-to-day work" 2011-07-18 16:39:41 +00:00
src Use type info for the ToBoolean translation in crankshaft. 2011-07-28 13:33:51 +00:00
test Fix calculation of 'scope_calls_eval' when 'eval' is within a nested catch. 2011-07-28 12:17:36 +00:00
tools Update oom_dump README to indicate that people should build the correct V8 version. 2011-07-26 06:03:36 +00:00
.gitignore Revert "Make GYP build usable for day-to-day work" 2011-07-18 16:39:41 +00:00
AUTHORS Fixes the build for the shell on illumos and Solaris. -D__C99FEATURES__ was added to mirror how the build is done on the normal platform. The changes in the platform code are a follow up to a prior review and has the Solaris implementation be more similar to the Linux version as opposed to the FreeBSD. 2011-07-01 05:50:14 +00:00
ChangeLog Prepare push to trunk. Now working on 3.5.2. 2011-07-28 07:31:21 +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 Fix presubmit error in copyright message. 2011-07-20 08:45:30 +00:00