Go to file
vegorov@chromium.org b4a0a4ddfe MIPS: Support fast case for-in in Crankshaft.
Port r10794 (654fe910).

Original commit message:

Only JSObject enumerables with enum cache (fast case properties, no interceptors, no enumerable properties on the prototype) are supported.

HLoadKeyedGeneric with keys produced by for-in enumeration are recognized and rewritten into direct property load by index. For this enum-cache was extended to store property indices in a separate array (see handles.cc).

New hydrogen instructions:

- HForInPrepareMap: checks for-in fast case preconditions and returns map that contains enum-cache;
- HForInCacheArray: extracts enum-cache array from the map;
- HCheckMapValue: map check with HValue map instead of immediate;
- HLoadFieldByIndex: load fast property by it's index, positive indexes denote in-object properties, negative - out of object properties;

Changed hydrogen instructions:

- HLoadKeyedFastElement: added hole check suppression for loads from internal FixedArrays that are knows to have no holes inside.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9453009
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-29 12:05:58 +00:00
benchmarks Add Navier-Stokes benchmark. 2012-02-14 15:07:15 +00:00
build Rename static methods to avoid shadowing virtual methods 2012-02-17 12:59:58 +00:00
include Remove now unused CalculateExactRetainedSize function & co. 2012-02-27 15:42:36 +00:00
preparser Prevent segfault when preparser fails due to lack of argument. 2012-02-22 10:31:32 +00:00
samples Fix presubmit errors caused by updated depot tools 2011-09-08 19:57:14 +00:00
src MIPS: Support fast case for-in in Crankshaft. 2012-02-29 12:05:58 +00:00
test Fix secondary stub cache and add a test for the stub cache lookups. 2012-02-29 10:45:59 +00:00
tools Make HashMap a template class to specify the allocation policy. 2012-02-23 09:12:57 +00:00
.gitignore Fix .gitignore for test data directories. 2012-02-20 13:17:20 +00:00
AUTHORS Allow the ZWJ and ZWNJ characters in IdentifierPart as per ES5. 2012-02-23 08:15:45 +00:00
ChangeLog Prepare push to trunk. Now working on version 3.9.13. 2012-02-28 09:45:17 +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 Provide a switch to specify -fno-strict-aliasing 2012-01-18 10:17:03 +00:00
SConstruct Fix compilation with MinGW-w64. 2012-02-22 12:26:36 +00:00