Go to file
fschneider@chromium.org 71702e1da3 Improve performance of keyed loads/stores which have a HeapNumber index.
Some GWT compiled code results in array access that has a heap number (e.g. -0)
as an index. Until now this would result in a generic IC.

For example:

a[-0] === a[0] or

a[0.25 * 4] === a[1]

This change detects heap numbers that are representable as a smi
and converts them. As a result we can still use the fast keyed monomorphic
ICs. Optimized code already handles keyed access with a double-key efficiently.

As a result the frame rate on the reported benchmark improves by roughly 2x.

BUG=v8:1388,v8:1295
Review URL: https://chromiumcodereview.appspot.com/9837109

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-12 08:35:30 +00:00
benchmarks More fixes for V8 benchmark version 7. 2012-03-15 17:13:50 +00:00
build Add support for Mac OS X 64bit builds with GYP 2012-03-30 15:01:11 +00:00
include Fix external allocated memory accounting to use 64 bit values on 2012-04-11 09:23:57 +00:00
preparser Prevent segfault when preparser fails due to lack of argument. 2012-02-22 10:31:32 +00:00
samples Fix scoping of v8::HandleScope to prevent use-after-dispose 2012-03-30 13:49:40 +00:00
src Improve performance of keyed loads/stores which have a HeapNumber index. 2012-04-12 08:35:30 +00:00
test Fix compile error in r11279. 2012-04-11 15:47:46 +00:00
tools Add support for Mac OS X 64bit builds with GYP 2012-03-30 15:01:11 +00:00
.gitignore Fix .gitignore for test data directories. 2012-02-20 13:17:20 +00:00
AUTHORS Add support for Mac OS X 64bit builds with GYP 2012-03-30 15:01:11 +00:00
ChangeLog Prepare push to trunk. Now working on version 3.10.2. 2012-04-10 11:01:29 +00:00
LICENSE Update LICENSE file 2012-01-03 16:38:42 +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
Makefile Add support for Mac OS X 64bit builds with GYP 2012-03-30 15:01:11 +00:00
SConstruct Enable snapshots on MIPS. This is based on 2012-03-21 14:29:14 +00:00