diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2011-10-13 17:45:02 -0700 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2011-10-13 17:45:02 -0700 |
commit | 33b5f2f7799081eafe04df3278aad40fd4ae3b55 (patch) | |
tree | 46e2840438240411375d3f12f5172c42aa571f95 /deps/v8/include | |
parent | 59a5262041dce0760b1f960a900eca8b8ca1138f (diff) | |
download | node-new-33b5f2f7799081eafe04df3278aad40fd4ae3b55.tar.gz |
Upgrade V8 to 3.7.0
Diffstat (limited to 'deps/v8/include')
-rwxr-xr-x[-rw-r--r--] | deps/v8/include/v8-debug.h | 5 | ||||
-rw-r--r-- | deps/v8/include/v8-profiler.h | 6 | ||||
-rw-r--r-- | deps/v8/include/v8.h | 42 |
3 files changed, 42 insertions, 11 deletions
diff --git a/deps/v8/include/v8-debug.h b/deps/v8/include/v8-debug.h index 504cbfed59..9e85dc462c 100644..100755 --- a/deps/v8/include/v8-debug.h +++ b/deps/v8/include/v8-debug.h @@ -340,6 +340,11 @@ class EXPORT Debug { bool wait_for_connection = false); /** + * Disable the V8 builtin debug agent. The TCP/IP connection will be closed. + */ + static void DisableAgent(); + + /** * Makes V8 process all pending debug messages. * * From V8 point of view all debug messages come asynchronously (e.g. from diff --git a/deps/v8/include/v8-profiler.h b/deps/v8/include/v8-profiler.h index 4febcb9596..f67646f54e 100644 --- a/deps/v8/include/v8-profiler.h +++ b/deps/v8/include/v8-profiler.h @@ -307,6 +307,12 @@ class V8EXPORT HeapGraphNode { * path from the snapshot root to the current node. */ const HeapGraphNode* GetDominatorNode() const; + + /** + * Finds and returns a value from the heap corresponding to this node, + * if the value is still reachable. + */ + Handle<Value> GetHeapValue() const; }; diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h index 4b7f6e735f..73b7fbe4c4 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -1171,7 +1171,8 @@ class String : public Primitive { * Get the ExternalAsciiStringResource for an external ASCII string. * Returns NULL if IsExternalAscii() doesn't return true. */ - V8EXPORT ExternalAsciiStringResource* GetExternalAsciiStringResource() const; + V8EXPORT const ExternalAsciiStringResource* GetExternalAsciiStringResource() + const; static inline String* Cast(v8::Value* obj); @@ -2451,24 +2452,42 @@ class V8EXPORT TypeSwitch : public Data { // --- Extensions --- +class V8EXPORT ExternalAsciiStringResourceImpl + : public String::ExternalAsciiStringResource { + public: + ExternalAsciiStringResourceImpl() : data_(0), length_(0) {} + ExternalAsciiStringResourceImpl(const char* data, size_t length) + : data_(data), length_(length) {} + const char* data() const { return data_; } + size_t length() const { return length_; } + + private: + const char* data_; + size_t length_; +}; /** * Ignore */ class V8EXPORT Extension { // NOLINT public: + // Note that the strings passed into this constructor must live as long + // as the Extension itself. Extension(const char* name, const char* source = 0, int dep_count = 0, - const char** deps = 0); + const char** deps = 0, + int source_length = -1); virtual ~Extension() { } virtual v8::Handle<v8::FunctionTemplate> GetNativeFunction(v8::Handle<v8::String> name) { return v8::Handle<v8::FunctionTemplate>(); } - const char* name() { return name_; } - const char* source() { return source_; } + const char* name() const { return name_; } + size_t source_length() const { return source_length_; } + const String::ExternalAsciiStringResource* source() const { + return &source_; } int dependency_count() { return dep_count_; } const char** dependencies() { return deps_; } void set_auto_enable(bool value) { auto_enable_ = value; } @@ -2476,7 +2495,8 @@ class V8EXPORT Extension { // NOLINT private: const char* name_; - const char* source_; + size_t source_length_; // expected to initialize before source_ + ExternalAsciiStringResourceImpl source_; int dep_count_; const char** deps_; bool auto_enable_; @@ -3498,9 +3518,9 @@ class V8EXPORT Context { * * v8::Locker is a scoped lock object. While it's * active (i.e. between its construction and destruction) the current thread is - * allowed to use the locked isolate. V8 guarantees that an isolate can be locked - * by at most one thread at any time. In other words, the scope of a v8::Locker is - * a critical section. + * allowed to use the locked isolate. V8 guarantees that an isolate can be + * locked by at most one thread at any time. In other words, the scope of a + * v8::Locker is a critical section. * * Sample usage: * \code @@ -3602,8 +3622,8 @@ class V8EXPORT Locker { static void StopPreemption(); /** - * Returns whether or not the locker for a given isolate, or default isolate if NULL is given, - * is locked by the current thread. + * Returns whether or not the locker for a given isolate, or default isolate + * if NULL is given, is locked by the current thread. */ static bool IsLocked(Isolate* isolate = NULL); @@ -3769,7 +3789,7 @@ class Internals { static const int kFullStringRepresentationMask = 0x07; static const int kExternalTwoByteRepresentationTag = 0x02; - static const int kJSObjectType = 0xa3; + static const int kJSObjectType = 0xa6; static const int kFirstNonstringType = 0x80; static const int kForeignType = 0x85; |