Avoid SLOW_ASSERT when calling HeapGraphNode::GetChildrenCount

It may occur that GetChildrenCount is called on the node which has no children and stored last in the internal nodes array. In that case HeapEntry::children_arr() would fail when taking address of the element at index children_index_ which is past the last element in the children's array.

BUG=None
LOG=N
R=alph@chromium.org, ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix number of parameters passed into PrepareCallCFunction in code age stubs

In r16710 Additional parameter (Isolate) was added to parameter lists of some native functions called from the generated code. However, corresponding PrepareCallCFunction arguments changed only on i32. This CL updates other architectures to match actual value.

BUG=None
LOG=None
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[platform] Implement a worker pool

We don't use the worker pool yet, however, there are tests. Yay. The
next step is to use the worker pool for parallel sweeping.

I've also started to move the platform related files into a sub
directory. The goal is to eventually build all the platform stuff as
a separate library which is used by d8 and cctest (and other embedders
that wish to use the default implementation) but not by chromium.

BUG=v8:3015
R=hpayer@chromium.org, svenpanne@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Lazily initialize thread pool to avoid allocating all the threads during startup

R=hpayer@chromium.org
BUG=none
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Always terminate the task queue

BUG=none
LOG=n
TBR=hpayer@chromium.org

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

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

* Removed String::Empty, Number::New, Integer::New, Integer::NewFromUnsigned, FunctionTemplate::New and Object::New without Isolate* parameter.

* Removed Integer::New and Integer::NewUnsigned with weird argument order.

Chrome CLs matching this change are prepared, BTW.

LOG=y
BUG=324225
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "More API cleanup."

This reverts r18383. The CL in itself is OK, we just have to wait until Chrome's commit queue lands the final corresponding change and re-land this CL. :-/

TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove flag track-allocation-sites.

The flag has been on in the build for ~9 months, and we aren't likely to turn it off. The only customer of the flag is a set of tests that want to verify transitioning behavior in isolation. This CL removes the flag and updates those tests to get what they want without the flag.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Remove flag track-allocation-sites."

This reverts commit 6c430da40efe388035504d3603756aa8c46ed1dc.

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make a strict function's "name" property non-writable.

Set [[Writable]] to false for the "name" property of strict
functions as well, mirroring what non-strict functions have
it as.

LOG=N
R=rossberg@chromium.org
TEST=mjsunit/regress/regress-270142
BUG=270142

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

Patch from Sigbjorn Finne <sigbjornf@opera.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Improve load elimination handling of transitioning stores.

BUG=
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Merge remote-tracking branch 'upstream/bleeding_edge' into bleeding_edge