Preserve optimized code map during GCs weakly.

This change preserves the contents of optimized code maps during GCs but
treats the references in this cache weakly. It uses infrastructure from
code flushing to maintain a list of all caches.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Implement Object.getNotifier(obj).performChange()

R=rossberg,adamk,arv
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Implement Object.getNotifier(obj).performChange()" (r14696)

Reverts r14696 because it caused debug assertion failures when running
test/mjsunit/harmony/object-observe.js

TBR=rossberg

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Re-land Notifier.prototype.performChange + tests

Fixes the debug check failure on sorting an object with an array __proto__.

Original Issue: https://codereview.chromium.org/14779011/

TBR=adamk@chromium.org

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

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Fix debug mode test failures.

This commit fixes a couple of debug mode test failures,
which were introduced by commit 14600.

TEST=mjsunit/mirror-number,mjsunit/mirror-object

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Put preservation of optimized code map behind a flag.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Increase old generation space significantly if we observe a high promotion rate.

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14701 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Cleaned up deopt output a bit.

Be a bit more consistent it what is printed. Removed the now superfluous
"*** DEOPT"-like output.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Simplifying GC heuristics, deleted old generation allocation limit.

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Encapsulating Type information in the CompareICStub

Encapsulate type information in a convenient wrapper instead of storing it in a naked bitfield. This especially facilitates transitioning to a new state and converting from/to the extraICState representation. Additionally cleaning up ToBooleanICStub::Types for consistency.

BUG=
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Implement Array.observe and emit splice change records for ArrayPush

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

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove d8 implementation of ArrayBuffer and typed arrays.

R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Remove d8 implementation of ArrayBuffer and typed arrays."

This reverts commit r14706.
That commit had a stale change from another change list.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove d8 implementation of ArrayBuffer and typed arrays.

R=rossberg@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove one more unneccessary conversion to double.

R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix code gen bug on arm and mips; SeqStringSetChar overwrites a register; Add better default PrintDataTo for HInstruction
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@14710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Simplifying GC heuristics, deleted old generation allocation limit."

This reverts commit 14731029.

BUG=

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

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