Prepare push to trunk.  Now working on version 3.21.17.

R=machenbach@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
HeapProfiler: replace pointer based matching algorithm with string matching algorithm for strings_ member.

pros: decreased snapshot size.
cons: increased serialization time.

I've tested the implementation on gmail 90mb heap.
I saw no speed degradation on the serialization step.
The snapshot size lost ~3% of its size. 100Mb -> 97Mb.

BUG=none
R=alph@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Rename StubType MAP_TRANSITION to TRANSITION.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ARM: Tweak the integer division operation.

BUG=none
TEST=test/mjsunit/lithium/DivI.js
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove unused context parameter from AddIncrementCounter().

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fixed shared_library build on Windows.

BUG=v8:2879
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make HCompareNumericAndBranch safe for snapshots on ia32.

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Tweak HConstant::EmitAtUses() to eliminate useless constant generation

BUG=2881
R=danno@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make HValue::ActualValue() traverse all idefs.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add flags to force or prevent setting of isolate.is_memory_constrained.

Also enable MAYBE_BOOL flags for when you want to only do something if the flag was explicitly set to true or false.

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

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
HeapSnapshot: replace O(N*ln(N)) algorithm of sorting with O(N) one.

We have HashMap for the strings. They got id sequentially. So we could use index sort.

BUG=none
R=alph@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
In the case of shift amounts with two constants and if their sum is equal 32, then shift can also be replaced with bit rotate.

R=svenpanne@chromium.org

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

Patch from Bangfu Tao <bangfu.tao@samsung.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Add flags to force or prevent setting of isolate.is_memory_constrained."

It introduces static initializers for the new "MAYBE_BOOL" kind of
flags, which is a no-no for Chrome. This has to be done differently.

TBR=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Don't lookup the cache for the result of Function::New

Since isFunctionCached condition is wrong, we lookup the cache even if
doNotCache is true. As a result, Function::New always returns null
except for the first time.

BUG=272579
R=dcarney@chromium.org, mstarzinger@chromium.org, yhirano@chromium.org

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

Patch from Yusuke Suzuki <yusukesuzuki@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
HeapProfiler: compile fix for win x64.

BUG=none
TBR=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Orthogonalize Lithium binary op instructions.

BUG=
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add mutex when accessing concurrent recompilation output queue.

Also small refactorings.

R=mstarzinger@chromium.org
BUG=291236

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

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

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Chromium 284577 needs a mitigation CL added. There is a TODO to remove
the mitigation when the cause of the bug is discovered.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@16742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Orthogonalize Lithium binary op instructions.

Port r16739 (cd8e4a21)

BUG=
R=gergely@homejinni.com

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

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