Object.observe: Handle oldValue for elements with accessors properly.

Extended ElementAccessor interface to allow querying PropertyType and
AccessorPair. Also added respective functionality to JSObject.

R=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/11358234

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Update Test262 harness to recent version.

R=rossberg@chromium.org
TEST=test262

Review URL: https://codereview.chromium.org/11308033

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Support all fast elements kinds in the major array operations.
Currently missing support for unshift.

BUG=

Review URL: https://chromiumcodereview.appspot.com/11377132

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Unbreak waterfall after r12968.

R=jkummerow@chromium.org
TEST=test262

Review URL: https://codereview.chromium.org/11416008

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Add rotate-right instruction to hydrogen and use it instead of bitwise operations of the form ((x >>> i) | (x << (32 - i))).

Port r12855 (be965042)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11293140
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Rename SeqAsciiString

This is a straight rename:

NewRawAsciiString -> NewRawOneByteString
SeqAscii -> SeqOneByte

SeqOneByteString cannot yet take non-ascii data.

R=yangguo@chromium.org,
BUG=

Review URL: https://chromiumcodereview.appspot.com/11411005
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Heap explorer: Show representation of strings.

* src/profile-generator.cc (V8HeapExplorer::GetSystemEntryName): For
  maps of strings, return a name that encodes the representation
  strategy used for the strings.
  (V8HeapExplorer::ExtractReferences): For strings, visit the maps as
  well, so that the user can see what representation is used for their
  strings.

See http://wingolog.org/pub/string-representations.png for an example of what it looks like.

BUG=

Review URL: https://chromiumcodereview.appspot.com/11344021
Patch from Andy Wingo <wingo@igalia.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Set length only after retrieving the element succeeded

Review URL: https://chromiumcodereview.appspot.com/11417006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix shifting from holey arrays.

Review URL: https://chromiumcodereview.appspot.com/11417007

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix assert failure in array slice

R=verwaest@chromium.org
BUG=

Review URL: https://codereview.chromium.org/11412005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Return the length as smi.

Review URL: https://chromiumcodereview.appspot.com/11419011

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Implement progress bar for large objects.

This implements incremental scanning of large objects using a progress
bar in the page header of such objects. Note that this requires forward
white to gray transitions in the write barrier and hence is disabled by
default for now.

R=ulan@chromium.org,hpayer@chromium.org

Review URL: https://codereview.chromium.org/11362246

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Removed a bunch of GetExistingThreadLocal calls by threading the Isolate.

For Octane, the number of calls go down from 7341629 to 1947880, i.e. they are
reduced by more than 73%. TLS access is not especially cheap, so this exercise
seems worthwhile.

Review URL: https://codereview.chromium.org/11412007

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix register confusion in non-VFP3 BinaryOpStubs on ARM

Review URL: https://codereview.chromium.org/11413014

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Disable EXTRA_CHECKS in Release

This patch causes V8 to disable EXTRA_CHECKS when building in release. You can
still enable the checks in release using a GYP flag.

This patch speeds up Dromeo's dom-traverse by around 4%.

Review URL: https://codereview.chromium.org/11275324
Patch from Adam Barth <abarth@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
When using an Object as a set in Object.getOwnPropertyNames, null out the proto

Also apply the same fix elsewhere in v8natives.js

BUG=v8:2410

Review URL: https://codereview.chromium.org/11364237
Patch from Adam Klein <adamk@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Object.observe: Use [[DefineOwnProperty]] to create properties of changeRecord.

Note: The test here requires https://codereview.chromium.org/11364237/ to land in order to pass because Object.freeze calls Object.getOwnPropertyNames().

BUG=v8:2411

Review URL: https://codereview.chromium.org/11377171
Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Disable InstanceOfStubWriteBarrier in some cases.

This disables the above regression test when run with forced marking
deque overflows (which is implicitly enabled by --stress-compaction).

R=verwaest@chromium.org
TEST=cctest/test-heap/InstanceOfStubWriteBarrier

Review URL: https://codereview.chromium.org/11417026

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Perform CPU sampling by CPU sampling thread only iff processing thread is not running.

- perform CPU profiler sampling in the sampler thread as we used to;
- skip sampling in the sampling thread if processing thread is running;
- only install SIGPROF handler when CPU profiling is enabled.

BUG=v8:2364

Review URL: https://codereview.chromium.org/11231002
Patch from Sergey Rogulenko <rogulenko@google.com> and Andrey Kosyakov <caseq@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Introduce helper functions to test parallel recompilation.

BUG=

Review URL: https://chromiumcodereview.appspot.com/11419012

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@12986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00