crosswalk-project/v8-crosswalk — pull request #65 by elvin-nnov (2014-12-01 11:15:46+00:00)
Title: fixed 2 bugs in XDK HeapProfiler: object's types determination and compilation on Windows

Details of the bug fix:
ClassNames::GetConstructorName returned before only the types for JSObject,
but there are a lot of objects, which are created for v8 purposes and which
exist in heap. User need to understand that these objects exist even if he
cannot affect them directly. I have added the v8 service types determination
as well added the detection of cases when type of the service object might be
defined only after analysis of the parent's object. For example the
(object properties) type might be determined only after analyzing of the
parent and check follow conditions: 1. parent is a JSObject 2. the child object
is referred by the parent->properties().

The creation sequence of such dependent object are different and sometimes
children objects are created first, sometimes parents are created first.
To determine the type name correctly we need to make sure that the whole
object is created and start to resolve types only after this.
For making sure that objects are created we have added cyclic buffer
XDKAllocationTracker::latest_allocations_. It is filled until trashold, and
when trashold is achieved we start to pop old objects and resolve them. One pop
for one new allocated object.

There is some gap of objects == trashold which are not resolved, and we decided
to ignore this unresolved tail.