Use a filter instead of a visitor to deoptimize selected functions in a context.

This makes the DeoptimizeAll function O(n) instead of O(n^2) where n in the number of optimized functions.

Before this change, DeoptimizeAll iterated over the optimized function list and called DeoptimizingVisitor for each function. The visitor iterated over the optimized function list again to remove the functions that share the same optimized code.

This change partitions the optimized function list into one or more lists of related functions in one pass over the optimized function list.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Implement OS::DumpBacktrace() on FreeBSD.

Review URL: https://chromiumcodereview.appspot.com/11595004
Patch from Ben Noordhuis <ben@c9.io>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make sure error message formatting does not have side effects.

R=vegorov@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Rename LookupSymbol calls to use Utf8 or OneByte in names.

R=yangguo@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Improve array to string conversion.

Port r13144 (71c45300)

BUG=
TEST=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
include: fix String::New() comment

Review URL: https://chromiumcodereview.appspot.com/11446035
Patch from Ben Noordhuis <ben@c9.io>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Hardfloat does not imply VFPv3, only VFPv2.

Raspberry Pi is an example.

BUG=v8:2393

Review URL: https://chromiumcodereview.appspot.com/11570061
Patch from Chi-Thanh Christopher Nguyen <nguyenchithanh@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Made store buffer compaction more predictable.

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Simplify implementation of assignment-to-const checks.

Also, add test that assignment to function name is a syntax error with harmony scoping.

Does not fix issue 2243 directly, but with ES6, the required behaviour will change to what is implemented already anyway.

R=yangguo@chromium.org
BUG=v8:2243

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Correctly handle negative codes in String.fromCharCode()

BUG=166553

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Re-land Crankshaft-generated KeyedLoad stubs.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fixed resizing of deopt table

BUG=chrome:166554

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

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Object.observe: Change semantics of deliverChangeRecords to iterate.

Added test for recursive change generation.

R=yangguo@chromium.org
BUG=v8:2409

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Extend API to allow setting length property for function templates.

R=yangguo@chromium.org
BUG=125308

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Deopt on overflow in integer mod.

R=ulan@chromium.org
BUG=166379

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Replace the use CharacterStreams in Heap::AllocateSymbolInternal and String::ComputeHash

R=yangguo@chromium.org
BUG=

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

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

R=ulan@chromium.org
BUG=

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

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

R=dcarney@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix treatment of hidden prototypes in SetProperty.

R=svenpanne@chromium.org
BUG=v8:2457

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

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