Improve tracing of hydrogen stub compilation.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Added new GetHeapStatistics API entry and deprecated old one.

Simplified the HeapStatistics class a bit, following Uncle Bob's advice that
adding accessors to DTOs only satisfies some design fundamentalists, but serves
no other purpose. :-)

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add additional flags to control array abuse tracing

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix bugs in DeoptimizeIf when lazy deopt is requested.

This also implements --trap-on-deopt on x64 and simplifies the
implementation of this flag on all architectures.

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Work around nifty VS10 compiler bug

VS10 generates bogus code for specific arguments to the Number::New function when invoked in specific places of an ExpectRecords array definition, passing a garbage value to the function (as printf debugging reveals). Changing the argument from 1 to 7 apparently circumvents the problem.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Don't use TLS for space iterators.

This is not only inherently slow, but it also forces the caller to enter an
Isolate before. Both is bad, so we have to do some heap plumbing.

BUG=v8:2531

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Print deoptimization index when printing lithium environment.

Output of --trace-deopt --code-comments does not always allow to reliably match deoptimization to the lithium instruction (and it is actually never accurate on x64 due to one level of indirection). This change allows to reliably figure out which instruction deoptimized just by looking up bailout id in the hydrogen.cfg.

R=danno@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Get rid of x87 in ia32 LCodeGen::DoBranch

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix code flusher disabling while marking incrementally.

This fixes a corner case where the code flusher is disabled while the
incremental marker is still running. This can happen when the debugger
is loaded and a scavenge is triggered. Make sure that all flushing
decisions are revisited after the candidates lists are evicted.

R=hpayer@chromium.org
BUG=chromium:173458,chromium:168582
TEST=cctest/test-heap/Regress173458

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@13641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Removed an unused flag in lithium-codegen.

This flag was added in commit: 246aa8e2
Merge commit '9e314349b06e554d7648fc5365cb202b691eca81' into hj-dev-palfia
MIPS: Fix bugs in DeoptimizeIf when lazy deopt is requested.

Port r13633 (9e314349)
Merge commit '423c32df4e26c6f6154439b1790eaad57b2e52fd' into hj-dev-palfia