v8-profiler.h | v8-profiler.h | |||
---|---|---|---|---|
skipping to change at line 191 | skipping to change at line 191 | |||
class HeapGraphNode; | class HeapGraphNode; | |||
/** | /** | |||
* HeapSnapshotEdge represents a directed connection between heap | * HeapSnapshotEdge represents a directed connection between heap | |||
* graph nodes: from retaners to retained nodes. | * graph nodes: from retaners to retained nodes. | |||
*/ | */ | |||
class V8EXPORT HeapGraphEdge { | class V8EXPORT HeapGraphEdge { | |||
public: | public: | |||
enum Type { | enum Type { | |||
CONTEXT_VARIABLE = 0, // A variable from a function context. | kContextVariable = 0, // A variable from a function context. | |||
ELEMENT = 1, // An element of an array. | kElement = 1, // An element of an array. | |||
PROPERTY = 2, // A named object property. | kProperty = 2, // A named object property. | |||
INTERNAL = 3 // A link that can't be accessed from JS, | kInternal = 3 // A link that can't be accessed from JS, | |||
// thus, its name isn't a real property name. | // thus, its name isn't a real property name. | |||
}; | }; | |||
/** Returns edge type (see HeapGraphEdge::Type). */ | /** Returns edge type (see HeapGraphEdge::Type). */ | |||
Type GetType() const; | Type GetType() const; | |||
/** | /** | |||
* Returns edge name. This can be a variable name, an element index, or | * Returns edge name. This can be a variable name, an element index, or | |||
* a property name. | * a property name. | |||
*/ | */ | |||
skipping to change at line 235 | skipping to change at line 235 | |||
/** Returns destination node. */ | /** Returns destination node. */ | |||
const HeapGraphNode* GetToNode() const; | const HeapGraphNode* GetToNode() const; | |||
}; | }; | |||
/** | /** | |||
* HeapGraphNode represents a node in a heap graph. | * HeapGraphNode represents a node in a heap graph. | |||
*/ | */ | |||
class V8EXPORT HeapGraphNode { | class V8EXPORT HeapGraphNode { | |||
public: | public: | |||
enum Type { | enum Type { | |||
INTERNAL = 0, // Internal node, a virtual one, for housekeeping. | kInternal = 0, // Internal node, a virtual one, for housekeeping. | |||
ARRAY = 1, // An array of elements. | kArray = 1, // An array of elements. | |||
STRING = 2, // A string. | kString = 2, // A string. | |||
OBJECT = 3, // A JS object (except for arrays and strings). | kObject = 3, // A JS object (except for arrays and strings). | |||
CODE = 4, // Compiled code. | kCode = 4, // Compiled code. | |||
CLOSURE = 5 // Function closure. | kClosure = 5 // Function closure. | |||
}; | }; | |||
/** Returns node type (see HeapGraphNode::Type). */ | /** Returns node type (see HeapGraphNode::Type). */ | |||
Type GetType() const; | Type GetType() const; | |||
/** | /** | |||
* Returns node name. Depending on node's type this can be the name | * Returns node name. Depending on node's type this can be the name | |||
* of the constructor (for objects), the name of the function (for | * of the constructor (for objects), the name of the function (for | |||
* closures), string value, or an empty string (for compiled code). | * closures), string value, or an empty string (for compiled code). | |||
*/ | */ | |||
skipping to change at line 263 | skipping to change at line 263 | |||
/** | /** | |||
* Returns node id. For the same heap object, the id remains the same | * Returns node id. For the same heap object, the id remains the same | |||
* across all snapshots. | * across all snapshots. | |||
*/ | */ | |||
uint64_t GetId() const; | uint64_t GetId() const; | |||
/** Returns node's own size, in bytes. */ | /** Returns node's own size, in bytes. */ | |||
int GetSelfSize() const; | int GetSelfSize() const; | |||
/** Returns node's network (self + reachable nodes) size, in bytes. */ | /** Returns node's network (self + reachable nodes) size, in bytes. */ | |||
int GetTotalSize() const; | int GetReachableSize() const; | |||
/** | /** | |||
* Returns node's private size, in bytes. That is, the size of memory | * Returns node's retained size, in bytes. That is, self + sizes of | |||
* that will be reclaimed having this node collected. | * the objects that are reachable only from this object. In other | |||
* words, the size of memory that will be reclaimed having this node | ||||
* collected. | ||||
*/ | */ | |||
int GetPrivateSize() const; | int GetRetainedSize() const; | |||
/** Returns child nodes count of the node. */ | /** Returns child nodes count of the node. */ | |||
int GetChildrenCount() const; | int GetChildrenCount() const; | |||
/** Retrieves a child by index. */ | /** Retrieves a child by index. */ | |||
const HeapGraphEdge* GetChild(int index) const; | const HeapGraphEdge* GetChild(int index) const; | |||
/** Returns retainer nodes count of the node. */ | /** Returns retainer nodes count of the node. */ | |||
int GetRetainersCount() const; | int GetRetainersCount() const; | |||
End of changes. 5 change blocks. | ||||
14 lines changed or deleted | 16 lines changed or added | |||
v8.h | v8.h | |||
---|---|---|---|---|
skipping to change at line 906 | skipping to change at line 906 | |||
/** | /** | |||
* Returns true if this value is a 32-bit unsigned integer. | * Returns true if this value is a 32-bit unsigned integer. | |||
*/ | */ | |||
V8EXPORT bool IsUint32() const; | V8EXPORT bool IsUint32() const; | |||
/** | /** | |||
* Returns true if this value is a Date. | * Returns true if this value is a Date. | |||
*/ | */ | |||
V8EXPORT bool IsDate() const; | V8EXPORT bool IsDate() const; | |||
/** | ||||
* Returns true if this value is a RegExp. | ||||
*/ | ||||
V8EXPORT bool IsRegExp() const; | ||||
V8EXPORT Local<Boolean> ToBoolean() const; | V8EXPORT Local<Boolean> ToBoolean() const; | |||
V8EXPORT Local<Number> ToNumber() const; | V8EXPORT Local<Number> ToNumber() const; | |||
V8EXPORT Local<String> ToString() const; | V8EXPORT Local<String> ToString() const; | |||
V8EXPORT Local<String> ToDetailString() const; | V8EXPORT Local<String> ToDetailString() const; | |||
V8EXPORT Local<Object> ToObject() const; | V8EXPORT Local<Object> ToObject() const; | |||
V8EXPORT Local<Integer> ToInteger() const; | V8EXPORT Local<Integer> ToInteger() const; | |||
V8EXPORT Local<Uint32> ToUint32() const; | V8EXPORT Local<Uint32> ToUint32() const; | |||
V8EXPORT Local<Int32> ToInt32() const; | V8EXPORT Local<Int32> ToInt32() const; | |||
/** | /** | |||
skipping to change at line 1781 | skipping to change at line 1786 | |||
/** | /** | |||
* Returns the value if the setter intercepts the request. | * Returns the value if the setter intercepts the request. | |||
* Otherwise, returns an empty handle. | * Otherwise, returns an empty handle. | |||
*/ | */ | |||
typedef Handle<Value> (*IndexedPropertySetter)(uint32_t index, | typedef Handle<Value> (*IndexedPropertySetter)(uint32_t index, | |||
Local<Value> value, | Local<Value> value, | |||
const AccessorInfo& info); | const AccessorInfo& info); | |||
/** | /** | |||
* Returns a non-empty handle if the interceptor intercepts the request. | * Returns a non-empty handle if the interceptor intercepts the request. | |||
* The result is true if the property exists and false otherwise. | * The result is true if either a boolean (true if property exists and fals | |||
e | ||||
* otherwise) or an integer encoding property attributes. | ||||
*/ | */ | |||
#ifdef USE_NEW_QUERY_CALLBACKS | ||||
typedef Handle<Integer> (*IndexedPropertyQuery)(uint32_t index, | ||||
const AccessorInfo& info); | ||||
#else | ||||
typedef Handle<Boolean> (*IndexedPropertyQuery)(uint32_t index, | typedef Handle<Boolean> (*IndexedPropertyQuery)(uint32_t index, | |||
const AccessorInfo& info); | const AccessorInfo& info); | |||
#endif | ||||
typedef Handle<Value> (*IndexedPropertyQueryImpl)(uint32_t index, | ||||
const AccessorInfo& info) | ||||
; | ||||
/** | /** | |||
* Returns a non-empty handle if the deleter intercepts the request. | * Returns a non-empty handle if the deleter intercepts the request. | |||
* The return value is true if the property could be deleted and false | * The return value is true if the property could be deleted and false | |||
* otherwise. | * otherwise. | |||
*/ | */ | |||
typedef Handle<Boolean> (*IndexedPropertyDeleter)(uint32_t index, | typedef Handle<Boolean> (*IndexedPropertyDeleter)(uint32_t index, | |||
const AccessorInfo& info) ; | const AccessorInfo& info) ; | |||
/** | /** | |||
skipping to change at line 1997 | skipping to change at line 2011 | |||
NamedPropertySetter setter, | NamedPropertySetter setter, | |||
NamedPropertyQuery query, | NamedPropertyQuery query, | |||
NamedPropertyDeleter remover, | NamedPropertyDeleter remover, | |||
NamedPropertyEnumerator enumerator, | NamedPropertyEnumerator enumerator, | |||
Handle<Value> data); | Handle<Value> data); | |||
void SetIndexedInstancePropertyHandler(IndexedPropertyGetter getter, | void SetIndexedInstancePropertyHandler(IndexedPropertyGetter getter, | |||
IndexedPropertySetter setter, | IndexedPropertySetter setter, | |||
IndexedPropertyQuery query, | IndexedPropertyQuery query, | |||
IndexedPropertyDeleter remover, | IndexedPropertyDeleter remover, | |||
IndexedPropertyEnumerator enumerat or, | IndexedPropertyEnumerator enumerat or, | |||
Handle<Value> data); | Handle<Value> data) { | |||
IndexedPropertyQueryImpl casted = | ||||
reinterpret_cast<IndexedPropertyQueryImpl>(query); | ||||
SetIndexedInstancePropertyHandlerImpl(getter, | ||||
setter, | ||||
casted, | ||||
remover, | ||||
enumerator, | ||||
data); | ||||
} | ||||
void SetIndexedInstancePropertyHandlerImpl( | ||||
IndexedPropertyGetter getter, | ||||
IndexedPropertySetter setter, | ||||
IndexedPropertyQueryImpl query, | ||||
IndexedPropertyDeleter remover, | ||||
IndexedPropertyEnumerator enumerator, | ||||
Handle<Value> data); | ||||
void SetInstanceCallAsFunctionHandler(InvocationCallback callback, | void SetInstanceCallAsFunctionHandler(InvocationCallback callback, | |||
Handle<Value> data); | Handle<Value> data); | |||
friend class Context; | friend class Context; | |||
friend class ObjectTemplate; | friend class ObjectTemplate; | |||
}; | }; | |||
/** | /** | |||
* An ObjectTemplate is used to create objects at runtime. | * An ObjectTemplate is used to create objects at runtime. | |||
* | * | |||
skipping to change at line 2095 | skipping to change at line 2125 | |||
* \param enumerator The callback to invoke to enumerate all the indexed | * \param enumerator The callback to invoke to enumerate all the indexed | |||
* properties of an object. | * properties of an object. | |||
* \param data A piece of data that will be passed to the callbacks | * \param data A piece of data that will be passed to the callbacks | |||
* whenever they are invoked. | * whenever they are invoked. | |||
*/ | */ | |||
void SetIndexedPropertyHandler(IndexedPropertyGetter getter, | void SetIndexedPropertyHandler(IndexedPropertyGetter getter, | |||
IndexedPropertySetter setter = 0, | IndexedPropertySetter setter = 0, | |||
IndexedPropertyQuery query = 0, | IndexedPropertyQuery query = 0, | |||
IndexedPropertyDeleter deleter = 0, | IndexedPropertyDeleter deleter = 0, | |||
IndexedPropertyEnumerator enumerator = 0, | IndexedPropertyEnumerator enumerator = 0, | |||
Handle<Value> data = Handle<Value>()); | Handle<Value> data = Handle<Value>()) { | |||
IndexedPropertyQueryImpl casted = | ||||
reinterpret_cast<IndexedPropertyQueryImpl>(query); | ||||
SetIndexedPropertyHandlerImpl(getter, | ||||
setter, | ||||
casted, | ||||
deleter, | ||||
enumerator, | ||||
data); | ||||
} | ||||
private: | ||||
void SetIndexedPropertyHandlerImpl(IndexedPropertyGetter getter, | ||||
IndexedPropertySetter setter, | ||||
IndexedPropertyQueryImpl query, | ||||
IndexedPropertyDeleter deleter, | ||||
IndexedPropertyEnumerator enumerator, | ||||
Handle<Value> data); | ||||
public: | ||||
/** | /** | |||
* Sets the callback to be used when calling instances created from | * Sets the callback to be used when calling instances created from | |||
* this template as a function. If no callback is set, instances | * this template as a function. If no callback is set, instances | |||
* behave like normal JavaScript objects that cannot be called as a | * behave like normal JavaScript objects that cannot be called as a | |||
* function. | * function. | |||
*/ | */ | |||
void SetCallAsFunctionHandler(InvocationCallback callback, | void SetCallAsFunctionHandler(InvocationCallback callback, | |||
Handle<Value> data = Handle<Value>()); | Handle<Value> data = Handle<Value>()); | |||
/** | /** | |||
End of changes. 6 change blocks. | ||||
3 lines changed or deleted | 53 lines changed or added | |||