Fix heuristic triggering incremental marking.

This changes the heuristic that starts incremental marking to be based
on a more accurate heap size estimation. Pages being swept lazily can be
accounted using the live bytes counter.

R=mstarzinger@chromium.org
BUG=v8:1682

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add explicit dependency on v8_base

This is necessary in order to link v8_shell (for host) with the Android
toolchain.

Without it, the line in the makefile is:
$(builddir)/v8_shell: LD_INPUTS := $(OBJS) $(obj).host/v8/tools/gyp/libv8_snapshot.a $(obj).host/v8/tools/gyp/libv8_base.a

Now it appears as:
$(builddir)/v8_shell: LD_INPUTS := $(OBJS) $(obj).host/v8/tools/gyp/libv8_base.a $(obj).host/v8/tools/gyp/libv8_snapshot.a

and it successfully links.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9668013
Patch from Yaron Friedman <yfriedman@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix missing initialization of mark-compact flags.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix input and output to handle UTF16 surrogate pairs.
Review URL: https://chromiumcodereview.appspot.com/9600009

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Inline functions that use arguments object in f.apply(o, arguments) pattern.

Support arguments materialization after deoptimization in all frames (not only in topmost one).

R=fschneider@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Unbreak Windows build after UTF-16 change (sys/types.h does not define
int32_t on Windows).
Review URL: https://chromiumcodereview.appspot.com/9669051

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Landing for pliard@chromium.org: Remove static initializers in v8.

This change includes two CLs by pliard@chromium.org:

1. http://codereview.chromium.org/9447052/ (Add CallOnce() and simple LazyInstance implementation):

Note that this implementation of LazyInstance does not handle global destructors (i.e. the lazy instances are never deleted).

This CL was initially reviewed on codereview.appspot.com:
http://codereview.appspot.com/5687064/



2.  http://codereview.chromium.org/9455088/ (Remove static initializers in v8):
This CL depends on CL 9447052 (adding CallOnce and LazyInstance).
It is based on a patch sent by Digit.

With this patch applied, we have only one static initializer left (in atomicops_internals_x86_gcc.cc). This static initializer populates a structure used by x86 atomic operations. It seems that we can hardly remove it. If possible, it will be removed in a next CL. 

This CL also modifies the presubmit script to check the number of static initializers.


BUG=v8:1859
Review URL: https://chromiumcodereview.appspot.com/9666052

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix broken build on Win32 due to r11010.
Review URL: https://chromiumcodereview.appspot.com/9666055

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Ensure consistency of Math.sqrt on Intel platforms.

BUG=
TEST=regress-sqrt.js

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix compile warning on 64 bit Windows.
Review URL: https://chromiumcodereview.appspot.com/9690019

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Use lazy instance initializer to remove static initializers in two places.
Review URL: https://chromiumcodereview.appspot.com/9664067

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove static Mutex from math function intializers.

BUG=
TEST=

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

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

R=svenpanne@chromium.org
BUG=
TEST=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add type feedback info type to instance type list macro.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix DEPS file patching in push-to-trunk.sh

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Experimental Profiler: tweak type info threshold.

Also included: simplify String.slice.

BUG=
TEST=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Ensure there is a smi check of the receiver for global load and call ICs.

There was a comment that, for such ICs specialized to the global object,
they were always contextual loads.  This is very brittle.  It is a
micro-optimization that relies too much on the way that things happen to
work today.

Instead, never omit the smi check because it's safer.

R=vegorov@chromium.org
BUG=117794
TEST=regress-117794.js

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Implement non-generic stores for object literals.

This uses the type feedback already present for computed value stores
into object literals to generate optimized stores in Crankshaft, thus
avoiding unnecessary generic stores with side effects.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Always create HArgumentsObject on function entry.

We do not know if we are going to need it and creating it lazyly might cause us to insert it at the block that does not dominate all uses.

R=mstarzinger@chromium.org
TEST=mjsunit/compiler/inline-arguments.js

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@11024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Store entry id as 32-bit int.

BUG=
TEST=

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

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