v8-profiler.h | v8-profiler.h | |||
---|---|---|---|---|
skipping to change at line 110 | skipping to change at line 110 | |||
/** Returns function entry UID. */ | /** Returns function entry UID. */ | |||
unsigned GetCallUid() const; | unsigned GetCallUid() const; | |||
/** Returns child nodes count of the node. */ | /** Returns child nodes count of the node. */ | |||
int GetChildrenCount() const; | int GetChildrenCount() const; | |||
/** Retrieves a child node by index. */ | /** Retrieves a child node by index. */ | |||
const CpuProfileNode* GetChild(int index) const; | const CpuProfileNode* GetChild(int index) const; | |||
static const int kNoLineNumberInfo = 0; | static const int kNoLineNumberInfo = Message::kNoLineNumberInfo; | |||
}; | }; | |||
/** | /** | |||
* CpuProfile contains a CPU profile in a form of two call trees: | * CpuProfile contains a CPU profile in a form of two call trees: | |||
* - top-down (from main() down to functions that do all the work); | * - top-down (from main() down to functions that do all the work); | |||
* - bottom-up call graph (in backward direction). | * - bottom-up call graph (in backward direction). | |||
*/ | */ | |||
class V8EXPORT CpuProfile { | class V8EXPORT CpuProfile { | |||
public: | public: | |||
/** Returns CPU profile UID (assigned by the profiler.) */ | /** Returns CPU profile UID (assigned by the profiler.) */ | |||
End of changes. 1 change blocks. | ||||
1 lines changed or deleted | 1 lines changed or added | |||
v8.h | v8.h | |||
---|---|---|---|---|
skipping to change at line 129 | skipping to change at line 129 | |||
class Function; | class Function; | |||
class Date; | class Date; | |||
class ImplementationUtilities; | class ImplementationUtilities; | |||
class Signature; | class Signature; | |||
template <class T> class Handle; | template <class T> class Handle; | |||
template <class T> class Local; | template <class T> class Local; | |||
template <class T> class Persistent; | template <class T> class Persistent; | |||
class FunctionTemplate; | class FunctionTemplate; | |||
class ObjectTemplate; | class ObjectTemplate; | |||
class Data; | class Data; | |||
class StackTrace; | ||||
class StackFrame; | ||||
namespace internal { | namespace internal { | |||
class Arguments; | class Arguments; | |||
class Object; | class Object; | |||
class Top; | class Top; | |||
} | } | |||
// --- W e a k H a n d l e s | // --- W e a k H a n d l e s | |||
skipping to change at line 682 | skipping to change at line 684 | |||
int GetStartColumn() const; | int GetStartColumn() const; | |||
/** | /** | |||
* Returns the index within the line of the last character where | * Returns the index within the line of the last character where | |||
* the error occurred. | * the error occurred. | |||
*/ | */ | |||
int GetEndColumn() const; | int GetEndColumn() const; | |||
// TODO(1245381): Print to a string instead of on a FILE. | // TODO(1245381): Print to a string instead of on a FILE. | |||
static void PrintCurrentStackTrace(FILE* out); | static void PrintCurrentStackTrace(FILE* out); | |||
static const int kNoLineNumberInfo = 0; | ||||
static const int kNoColumnInfo = 0; | ||||
}; | ||||
/** | ||||
* Representation of a JavaScript stack trace. The information collected is | ||||
a | ||||
* snapshot of the execution stack and the information remains valid after | ||||
* execution continues. | ||||
*/ | ||||
class V8EXPORT StackTrace { | ||||
public: | ||||
/** | ||||
* Flags that determine what information is placed captured for each | ||||
* StackFrame when grabbing the current stack trace. | ||||
*/ | ||||
enum StackTraceOptions { | ||||
kLineNumber = 1, | ||||
kColumnOffset = 1 << 1 | kLineNumber, | ||||
kScriptName = 1 << 2, | ||||
kFunctionName = 1 << 3, | ||||
kIsEval = 1 << 4, | ||||
kIsConstructor = 1 << 5, | ||||
kOverview = kLineNumber | kColumnOffset | kScriptName | kFunctionName, | ||||
kDetailed = kOverview | kIsEval | kIsConstructor | ||||
}; | ||||
/** | ||||
* Returns a StackFrame at a particular index. | ||||
*/ | ||||
Local<StackFrame> GetFrame(uint32_t index) const; | ||||
/** | ||||
* Returns the number of StackFrames. | ||||
*/ | ||||
int GetFrameCount() const; | ||||
/** | ||||
* Returns StackTrace as a v8::Array that contains StackFrame objects. | ||||
*/ | ||||
Local<Array> AsArray(); | ||||
/** | ||||
* Grab a snapshot of the the current JavaScript execution stack. | ||||
* | ||||
* \param frame_limit The maximum number of stack frames we want to captu | ||||
re. | ||||
* \param options Enumerates the set of things we will capture for each | ||||
* StackFrame. | ||||
*/ | ||||
static Local<StackTrace> CurrentStackTrace( | ||||
int frame_limit, | ||||
StackTraceOptions options = kOverview); | ||||
}; | ||||
/** | ||||
* A single JavaScript stack frame. | ||||
*/ | ||||
class V8EXPORT StackFrame { | ||||
public: | ||||
/** | ||||
* Returns the number, 1-based, of the line for the associate function ca | ||||
ll. | ||||
* This method will return Message::kNoLineNumberInfo if it is unable to | ||||
* retrieve the line number, or if kLineNumber was not passed as an optio | ||||
n | ||||
* when capturing the StackTrace. | ||||
*/ | ||||
int GetLineNumber() const; | ||||
/** | ||||
* Returns the 1-based column offset on the line for the associated funct | ||||
ion | ||||
* call. | ||||
* This method will return Message::kNoColumnInfo if it is unable to retr | ||||
ieve | ||||
* the column number, or if kColumnOffset was not passed as an option whe | ||||
n | ||||
* capturing the StackTrace. | ||||
*/ | ||||
int GetColumn() const; | ||||
/** | ||||
* Returns the name of the resource that contains the script for the | ||||
* function for this StackFrame. | ||||
*/ | ||||
Local<String> GetScriptName() const; | ||||
/** | ||||
* Returns the name of the function associated with this stack frame. | ||||
*/ | ||||
Local<String> GetFunctionName() const; | ||||
/** | ||||
* Returns whether or not the associated function is compiled via a call | ||||
to | ||||
* eval(). | ||||
*/ | ||||
bool IsEval() const; | ||||
/** | ||||
* Returns whther or not the associated function is called as a | ||||
* constructor via "new". | ||||
*/ | ||||
bool IsConstructor() const; | ||||
}; | }; | |||
// --- V a l u e --- | // --- V a l u e --- | |||
/** | /** | |||
* The superclass of all JavaScript values and objects. | * The superclass of all JavaScript values and objects. | |||
*/ | */ | |||
class V8EXPORT Value : public Data { | class V8EXPORT Value : public Data { | |||
public: | public: | |||
skipping to change at line 2069 | skipping to change at line 2169 | |||
void set_max_old_space_size(int value) { max_old_space_size_ = value; } | void set_max_old_space_size(int value) { max_old_space_size_ = value; } | |||
uint32_t* stack_limit() const { return stack_limit_; } | uint32_t* stack_limit() const { return stack_limit_; } | |||
// Sets an address beyond which the VM's stack may not grow. | // Sets an address beyond which the VM's stack may not grow. | |||
void set_stack_limit(uint32_t* value) { stack_limit_ = value; } | void set_stack_limit(uint32_t* value) { stack_limit_ = value; } | |||
private: | private: | |||
int max_young_space_size_; | int max_young_space_size_; | |||
int max_old_space_size_; | int max_old_space_size_; | |||
uint32_t* stack_limit_; | uint32_t* stack_limit_; | |||
}; | }; | |||
bool SetResourceConstraints(ResourceConstraints* constraints); | bool V8EXPORT SetResourceConstraints(ResourceConstraints* constraints); | |||
// --- E x c e p t i o n s --- | // --- E x c e p t i o n s --- | |||
typedef void (*FatalErrorCallback)(const char* location, const char* messag e); | typedef void (*FatalErrorCallback)(const char* location, const char* messag e); | |||
typedef void (*MessageCallback)(Handle<Message> message, Handle<Value> data ); | typedef void (*MessageCallback)(Handle<Message> message, Handle<Value> data ); | |||
/** | /** | |||
* Schedules an exception to be thrown when returning to JavaScript. When an | * Schedules an exception to be thrown when returning to JavaScript. When an | |||
* exception has been scheduled it is illegal to invoke any JavaScript | * exception has been scheduled it is illegal to invoke any JavaScript | |||
skipping to change at line 2942 | skipping to change at line 3042 | |||
template <size_t ptr_size> struct InternalConstants; | template <size_t ptr_size> struct InternalConstants; | |||
// Internal constants for 32-bit systems. | // Internal constants for 32-bit systems. | |||
template <> struct InternalConstants<4> { | template <> struct InternalConstants<4> { | |||
static const int kStringResourceOffset = 3 * sizeof(void*); | static const int kStringResourceOffset = 3 * sizeof(void*); | |||
}; | }; | |||
// Internal constants for 64-bit systems. | // Internal constants for 64-bit systems. | |||
template <> struct InternalConstants<8> { | template <> struct InternalConstants<8> { | |||
static const int kStringResourceOffset = 2 * sizeof(void*); | static const int kStringResourceOffset = 3 * sizeof(void*); | |||
}; | }; | |||
/** | /** | |||
* This class exports constants and functionality from within v8 that | * This class exports constants and functionality from within v8 that | |||
* is necessary to implement inline functions in the v8 api. Don't | * is necessary to implement inline functions in the v8 api. Don't | |||
* depend on functions and constants defined here. | * depend on functions and constants defined here. | |||
*/ | */ | |||
class Internals { | class Internals { | |||
public: | public: | |||
End of changes. 4 change blocks. | ||||
2 lines changed or deleted | 110 lines changed or added | |||