Don't need a temp register for StoreKeyed double

save a gap move

BUG=
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Don't need a temp register for StoreKeyed double"

This reverts commit r19829 for breaking the mozilla tests.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fixed range analysis for HMathFloorOfDiv.

R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Don't use a temp file for changelog in push-to-trunk.

This is part of getting rid of the ChangeLog on bleeding_edge and directly modifying it on trunk.

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Implement PersistentValueMap, a map that stores UniquePersistent values.
This is preparatory work to get rid of UnsafePersistent in blink.

Related blink changes are here: https://codereview.chromium.org/180363004/

This patch is largely based on https://codereview.chromium.org/175503003/, with some methods added to support the blink change mentioned above.

BUG=
R=dcarney@chromium.org, svenpanne@chromium.org

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

Patch from Daniel Vogelheim <vogelheim@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix lazy deopt after tagged binary ops

Also add policing code to ensure that optimized frames can in fact lazily deopt
at their respective current PC when we patch them for lazy bailout.

BUG=chromium:350434
LOG=y
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix handling of polymorphic array accesses with constant index

R=jkummerow@chromium.org
BUG=chromium:351319
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix HIsSmiAndBranch::KnownSuccessorBlock() by deleting it

Constants can still change their representation, so we cannot determine reachability of blocks based on their Smi-ness

BUG=chromium:351320
LOG=y
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Win64 fix for r19833.

R=dcarney@chromium.org
BUG=

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

Patch from Daniel Vogelheim <vogelheim@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Suppress error handling for test coverage in push and merge scripts.

- This adds a suppression of lines concerning error handling for the test coverage analysis
- Fixes also calling push-to-trunk from auto-roll

TEST=tools/push-to-trunk/script_test.py
TBR=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Implement PersistentValueMap, a map that stores UniquePersistent values."
and "Win64 fix for r19833."

This reverts commits r19833 and r19837 for breaking Windows tests
(test-api/PersistentValueMap).

TBR=vogelheim@chromium.org,dcarney@chromium.org

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

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

R=machenbach@chromium.org
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix nosnap serialization tests

R=dslomov@google.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Use MigrateToMap instead of set_map to update the map of a JSObject.
This is necessary to guarantee correct representation usage.
Some unhandlified code still needs to be handlified before we can push this
through fully.

BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Parser: fix confusion when there are multiple errors to report.

(For more details, see bug.)

The problem occurs when a parsing function hits a stack overflow, but still
manages to return something meaningful. This happens because the call to
ParserBase::Next() which hits the stack overflow will still return a valid token
(the last token which we had already read), and only the next call after the
stack overflow will return INVALID. So for example ParseIdentifier will still
return a valid identifier even if we've hit a stack overflow.

In this case, some upper recursion level might detect and report a valid syntax
error, and then we bail out of the recursive descent because of the syntax
error. So we end up having both stack overflow and a syntax error present. When
we try to report the stack overflow after parsing (e.g., end of ParseLazy), the
isolate already has the syntax error as a pending exception, and a CHECK fails.

This fix suppresses the syntax errors in when a stack overflow has been
detected.

BUG=351335
LOG=N
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
FastNewClosureStub failed to load the cached literals array.

Also, less efficient code was generated because of negative keyed load
offsets. I changed this to benefit from HLoadKeyed dehoisting.

BUG=v8:3185
LOG=N
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
350884: KeyedStoreIC miss didn't handle a transitioning case.

It's possible to get a transitioned map with no links to the origin
map if it's a shared map. Code in KeyedStoreIC::StoreElementStub
assumes it can check if two maps are in the same family by
traversing the transition array. Long term, the "family" relationship
should be recognized with the Normalized Map Cache. For now, allow
the IC to remain monomorphic in this case if the receiver map and
the previous receiver map are the same.

Filed V8 issue 3210 (https://code.google.com/p/v8/issues/detail?id=3210)
to track the issue with the Normalized Map Cache.

BUG=350884
LOG=N
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Don't fast RemoveArrayHoles in case of arguments arrays.

BUG=351645
LOG=n
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Move most scanner buffer accesses into scanner.

R=marja@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Handle flooring division in LCodeGen::DoDivByConstI on ARM, too.

We should really split up the Lithium instruction, but this will be
done in some future cleanup CL.

Removed some "const"s for local variables on the way, they don't really
help us much and just clutter up the code.

R=ulan@chromium.org

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

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