Prepare push to trunk.  Now working on version 3.22.15.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Cosmetic: Add macros for NaN, undefined and Infinity to native js code.

Nobody should need to use $NaN, 0/0, 1/0 and void 0.

R=mvstanton@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Enable calling the SetReference* & SetObjectGroupId functions with a Persistent<SubclassOfValue>.

This is needed for https://codereview.chromium.org/26792002/

BUG=
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add regression test for optimized count operation.

This is a regression test for a bug with handling of count operations
that target a JavaScript accessor on the prototype chain in Crankshaft.

R=jkummerow@chromium.org
BUG=chromium:306851
TEST=mjsunit/regress/regress-crbug-306851

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make it possible to run a test only in the standard variant.

Use this for mjsunit/unicode-case-overoptimization, which is not
related to Crankshaft at all and takes ages.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Prevent changes to hidden properties from being observable via Object.observe

This addresses the leak that mstarzinger points out (https://codereview.chromium.org/26390003/) and includes the test.

Note that this adds a test that observing changes to the empty-string property remains possible.

BUG=
R=mstarzinger@chromium.org, rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
HeapProfiler: for the test purposes we would like to trace object movements.

When we have an untracked allocations we need to fix it.
It is a bit tricky process due to lack of logging.

I added FLAG_heap_profiler_trace_objects that enables log for object movements.

Drive by fix: with help of logging I found a bug in LeftTrim method for FixedArray.

BUG=none
R=svenpanne@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "HeapProfiler: for the test purposes we would like to trace object movements."

Compilation failed on Win64.

This reverts commit 6909faccca68c04b7ec4537538e6e7a0cc1650b8.

BUG=none
TBR=yurys

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Always make a copy of a string when adding it to StringsStorage

Otherwise the string passed as const char* may be disposed and we will end up with a dangling pointer.

Also changed StringsStorage::GetCopy so that a copy is not created if the string is already in the cache.

BUG=None
R=alph@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Removed dead code from mksnapshot.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
HeapProfiler: for the test purposes we would like to trace object movements.

When we have an untracked allocations we need to fix it.
It is a bit tricky process due to lack of logging.

I added FLAG_heap_profiler_trace_objects that enables log for object movements.

Drive by fix: with help of logging I found a bug in LeftTrim method for FixedArray.

BUG=none
R=svenpanne@chromium.org, yurys@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=17258

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "HeapProfiler: for the test purposes we would like to trace object movements."

This reverts r17263 because of compile failures accross all builds.

TBR=loislo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Prepare push to trunk.  Now working on version 3.22.16.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Tweak Math.log on ia32/x64

ia32 and x64 more consistent now
1. use non-transcendental cache version of log for x64
2. use negative infinity constant instead of pushing to stack and loading to XMM register
3. remove movdbl, use movsd directly. movdbl seems confusing

BUG=
R=jkummerow@chromium.org

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

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
HeapProfiler: for the test purposes we would like to trace object movements.

When we have an untracked allocations we need to fix it.
It is a bit tricky process due to lack of logging.

I added FLAG_heap_profiler_trace_objects that enables log for object movements.

Drive by fix: with help of logging I found a bug in LeftTrim method for FixedArray.

BUG=none
R=svenpanne@chromium.org, yurys@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=17258

Committed: https://code.google.com/p/v8/source/detail?r=17263

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
HeapProfiler: integrate FindUntrackedObjects into js code.

In some cases we would like to check untracked objects right from the js code.
Otherwise the objects might be collected rigth before check.

BUG=none
R=hpayer@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Handlify JSObject::HasReal*Property.

R=ulan@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Implement global load elimination based on flow engine.

BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make stack_parameter_count a plain register.

R=rossberg@chromium.org, danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Prepare push to trunk.  Now working on version 3.22.17.

R=svenpanne@chromium.org

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

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