v8.h   v8.h 
skipping to change at line 136 skipping to change at line 136
template<class T> class NonCopyablePersistentTraits; template<class T> class NonCopyablePersistentTraits;
template<class T> class PersistentBase; template<class T> class PersistentBase;
template<class T, template<class T,
class M = NonCopyablePersistentTraits<T> > class Persistent; class M = NonCopyablePersistentTraits<T> > class Persistent;
template<class T> class UniquePersistent; template<class T> class UniquePersistent;
template<class K, class V, class T> class PersistentValueMap; template<class K, class V, class T> class PersistentValueMap;
template<class T, class P> class WeakCallbackObject; template<class T, class P> class WeakCallbackObject;
class FunctionTemplate; class FunctionTemplate;
class ObjectTemplate; class ObjectTemplate;
class Data; class Data;
template<typename T> class FunctionCallbackInfo;
template<typename T> class PropertyCallbackInfo; template<typename T> class PropertyCallbackInfo;
class StackTrace; class StackTrace;
class StackFrame; class StackFrame;
class Isolate; class Isolate;
class DeclaredAccessorDescriptor; class DeclaredAccessorDescriptor;
class ObjectOperationDescriptor; class ObjectOperationDescriptor;
class RawOperationDescriptor; class RawOperationDescriptor;
class CallHandlerHelper; class CallHandlerHelper;
class EscapableHandleScope; class EscapableHandleScope;
template<typename T> class ReturnValue; template<typename T> class ReturnValue;
skipping to change at line 1102 skipping to change at line 1103
~CachedData(); ~CachedData();
// TODO(marja): Async compilation; add constructors which take a callba ck // TODO(marja): Async compilation; add constructors which take a callba ck
// which will be called when V8 no longer needs the data. // which will be called when V8 no longer needs the data.
const uint8_t* data; const uint8_t* data;
int length; int length;
BufferPolicy buffer_policy; BufferPolicy buffer_policy;
private: private:
// Prevent copying. Not implemented. // Prevent copying. Not implemented.
CachedData(const CachedData&); CachedData(const CachedData&);
CachedData& operator=(const CachedData&);
}; };
/** /**
* Source code which can be then compiled to a UnboundScript or * Source code which can be then compiled to a UnboundScript or
* BoundScript. * BoundScript.
*/ */
class V8_EXPORT Source { class Source {
public: public:
// Source takes ownership of CachedData. // Source takes ownership of CachedData.
Source(Local<String> source_string, const ScriptOrigin& origin, V8_INLINE Source(Local<String> source_string, const ScriptOrigin& origi n,
CachedData* cached_data = NULL); CachedData* cached_data = NULL);
Source(Local<String> source_string, CachedData* cached_data = NULL); V8_INLINE Source(Local<String> source_string,
~Source(); CachedData* cached_data = NULL);
V8_INLINE ~Source();
// Ownership of the CachedData or its buffers is *not* transferred to t he // Ownership of the CachedData or its buffers is *not* transferred to t he
// caller. The CachedData object is alive as long as the Source object is // caller. The CachedData object is alive as long as the Source object is
// alive. // alive.
const CachedData* GetCachedData() const; V8_INLINE const CachedData* GetCachedData() const;
private: private:
friend class ScriptCompiler; friend class ScriptCompiler;
// Prevent copying. Not implemented. // Prevent copying. Not implemented.
Source(const Source&); Source(const Source&);
Source& operator=(const Source&);
Local<String> source_string; Local<String> source_string;
// Origin information // Origin information
Handle<Value> resource_name; Handle<Value> resource_name;
Handle<Integer> resource_line_offset; Handle<Integer> resource_line_offset;
Handle<Integer> resource_column_offset; Handle<Integer> resource_column_offset;
Handle<Boolean> resource_is_shared_cross_origin; Handle<Boolean> resource_is_shared_cross_origin;
// Cached data from previous compilation (if any), or generated during // Cached data from previous compilation (if any), or generated during
skipping to change at line 1970 skipping to change at line 1974
/** /**
* A JavaScript symbol (ECMA-262 edition 6) * A JavaScript symbol (ECMA-262 edition 6)
* *
* This is an experimental feature. Use at your own risk. * This is an experimental feature. Use at your own risk.
*/ */
class V8_EXPORT Symbol : public Primitive { class V8_EXPORT Symbol : public Primitive {
public: public:
// Returns the print name string of the symbol, or undefined if none. // Returns the print name string of the symbol, or undefined if none.
Local<Value> Name() const; Local<Value> Name() const;
// Create a symbol. If data is not NULL, it will be used as a print name. // Create a symbol. If name is not empty, it will be used as the descript ion.
static Local<Symbol> New( static Local<Symbol> New(
Isolate *isolate, const char* data = NULL, int length = -1); Isolate *isolate, Local<String> name = Local<String>());
// Access global symbol registry.
// Note that symbols created this way are never collected, so
// they should only be used for statically fixed properties.
// Also, there is only one global name space for the names used as keys.
// To minimize the potential for clashes, use qualified names as keys.
static Local<Symbol> For(Isolate *isolate, Local<String> name);
// Retrieve a global symbol. Similar to |For|, but using a separate
// registry that is not accessible by (and cannot clash with) JavaScript
code.
static Local<Symbol> ForApi(Isolate *isolate, Local<String> name);
V8_INLINE static Symbol* Cast(v8::Value* obj); V8_INLINE static Symbol* Cast(v8::Value* obj);
private: private:
Symbol(); Symbol();
static void CheckCast(v8::Value* obj); static void CheckCast(v8::Value* obj);
}; };
/** /**
* A private symbol * A private symbol
* *
* This is an experimental feature. Use at your own risk. * This is an experimental feature. Use at your own risk.
*/ */
class V8_EXPORT Private : public Data { class V8_EXPORT Private : public Data {
public: public:
// Returns the print name string of the private symbol, or undefined if n one. // Returns the print name string of the private symbol, or undefined if n one.
Local<Value> Name() const; Local<Value> Name() const;
// Create a private symbol. If data is not NULL, it will be the print nam // Create a private symbol. If name is not empty, it will be the descript
e. ion.
static Local<Private> New(Isolate *isolate, static Local<Private> New(
Local<String> name = Local<String>()); Isolate *isolate, Local<String> name = Local<String>());
// Retrieve a global private symbol. If a symbol with this name has not
// been retrieved in the same isolate before, it is created.
// Note that private symbols created this way are never collected, so
// they should only be used for statically fixed properties.
// Also, there is only one global name space for the names used as keys.
// To minimize the potential for clashes, use qualified names as keys,
// e.g., "Class#property".
static Local<Private> ForApi(Isolate *isolate, Local<String> name);
private: private:
Private(); Private();
}; };
/** /**
* A JavaScript number value (ECMA-262, 4.3.20) * A JavaScript number value (ECMA-262, 4.3.20)
*/ */
class V8_EXPORT Number : public Primitive { class V8_EXPORT Number : public Primitive {
public: public:
skipping to change at line 2168 skipping to change at line 2192
Handle<Value> data = Handle<Value>(), Handle<Value> data = Handle<Value>(),
AccessControl settings = DEFAULT, AccessControl settings = DEFAULT,
PropertyAttribute attribute = None); PropertyAttribute attribute = None);
// This function is not yet stable and should not be used at this time. // This function is not yet stable and should not be used at this time.
bool SetDeclaredAccessor(Local<String> name, bool SetDeclaredAccessor(Local<String> name,
Local<DeclaredAccessorDescriptor> descriptor, Local<DeclaredAccessorDescriptor> descriptor,
PropertyAttribute attribute = None, PropertyAttribute attribute = None,
AccessControl settings = DEFAULT); AccessControl settings = DEFAULT);
void SetAccessorProperty(Local<String> name,
Local<Function> getter,
Handle<Function> setter = Handle<Function>(),
PropertyAttribute attribute = None,
AccessControl settings = DEFAULT);
/** /**
* Functionality for private properties. * Functionality for private properties.
* This is an experimental feature, use at your own risk. * This is an experimental feature, use at your own risk.
* Note: Private properties are inherited. Do not rely on this, since it may * Note: Private properties are inherited. Do not rely on this, since it may
* change. * change.
*/ */
bool HasPrivate(Handle<Private> key); bool HasPrivate(Handle<Private> key);
bool SetPrivate(Handle<Private> key, Handle<Value> value); bool SetPrivate(Handle<Private> key, Handle<Value> value);
bool DeletePrivate(Handle<Private> key); bool DeletePrivate(Handle<Private> key);
Local<Value> GetPrivate(Handle<Private> key); Local<Value> GetPrivate(Handle<Private> key);
skipping to change at line 4499 skipping to change at line 4529
/** /**
* Set allocator to use for ArrayBuffer memory. * Set allocator to use for ArrayBuffer memory.
* The allocator should be set only once. The allocator should be set * The allocator should be set only once. The allocator should be set
* before any code tha uses ArrayBuffers is executed. * before any code tha uses ArrayBuffers is executed.
* This allocator is used in all isolates. * This allocator is used in all isolates.
*/ */
static void SetArrayBufferAllocator(ArrayBuffer::Allocator* allocator); static void SetArrayBufferAllocator(ArrayBuffer::Allocator* allocator);
/** /**
* Ignore out-of-memory exceptions.
*
* V8 running out of memory is treated as a fatal error by default.
* This means that the fatal error handler is called and that V8 is
* terminated.
*
* IgnoreOutOfMemoryException can be used to not treat an
* out-of-memory situation as a fatal error. This way, the contexts
* that did not cause the out of memory problem might be able to
* continue execution.
*/
static void IgnoreOutOfMemoryException();
/**
* Check if V8 is dead and therefore unusable. This is the case after * Check if V8 is dead and therefore unusable. This is the case after
* fatal errors such as out-of-memory situations. * fatal errors such as out-of-memory situations.
*/ */
static bool IsDead(); static bool IsDead();
/** /**
* The following 4 functions are to be used when V8 is built with * The following 4 functions are to be used when V8 is built with
* the 'compress_startup_data' flag enabled. In this case, the * the 'compress_startup_data' flag enabled. In this case, the
* embedder must decompress startup data prior to initializing V8. * embedder must decompress startup data prior to initializing V8.
* *
skipping to change at line 5113 skipping to change at line 5129
*/ */
void Enter(); void Enter();
/** /**
* Exit this context. Exiting the current context restores the * Exit this context. Exiting the current context restores the
* context that was in place when entering the current context. * context that was in place when entering the current context.
*/ */
void Exit(); void Exit();
/** Returns true if the context has experienced an out of memory situatio n. */ /** Returns true if the context has experienced an out of memory situatio n. */
bool HasOutOfMemoryException(); bool HasOutOfMemoryException() { return false; }
/** Returns an isolate associated with a current context. */ /** Returns an isolate associated with a current context. */
v8::Isolate* GetIsolate(); v8::Isolate* GetIsolate();
/** /**
* Gets the embedder data with the given index, which must have been set by a * Gets the embedder data with the given index, which must have been set by a
* previous call to SetEmbedderData with the same index. Note that index 0 * previous call to SetEmbedderData with the same index. Note that index 0
* currently has a special meaning for Chrome's debugger. * currently has a special meaning for Chrome's debugger.
*/ */
V8_INLINE Local<Value> GetEmbedderData(int index); V8_INLINE Local<Value> GetEmbedderData(int index);
skipping to change at line 5926 skipping to change at line 5942
} }
Handle<Integer> ScriptOrigin::ResourceColumnOffset() const { Handle<Integer> ScriptOrigin::ResourceColumnOffset() const {
return resource_column_offset_; return resource_column_offset_;
} }
Handle<Boolean> ScriptOrigin::ResourceIsSharedCrossOrigin() const { Handle<Boolean> ScriptOrigin::ResourceIsSharedCrossOrigin() const {
return resource_is_shared_cross_origin_; return resource_is_shared_cross_origin_;
} }
ScriptCompiler::Source::Source(Local<String> string, const ScriptOrigin& or
igin,
CachedData* data)
: source_string(string),
resource_name(origin.ResourceName()),
resource_line_offset(origin.ResourceLineOffset()),
resource_column_offset(origin.ResourceColumnOffset()),
resource_is_shared_cross_origin(origin.ResourceIsSharedCrossOrigin())
,
cached_data(data) {}
ScriptCompiler::Source::Source(Local<String> string,
CachedData* data)
: source_string(string), cached_data(data) {}
ScriptCompiler::Source::~Source() {
delete cached_data;
}
const ScriptCompiler::CachedData* ScriptCompiler::Source::GetCachedData()
const {
return cached_data;
}
Handle<Boolean> Boolean::New(Isolate* isolate, bool value) { Handle<Boolean> Boolean::New(Isolate* isolate, bool value) {
return value ? True(isolate) : False(isolate); return value ? True(isolate) : False(isolate);
} }
void Template::Set(Isolate* isolate, const char* name, v8::Handle<Data> val ue) { void Template::Set(Isolate* isolate, const char* name, v8::Handle<Data> val ue) {
Set(v8::String::NewFromUtf8(isolate, name), value); Set(v8::String::NewFromUtf8(isolate, name), value);
} }
Local<Value> Object::GetInternalField(int index) { Local<Value> Object::GetInternalField(int index) {
#ifndef V8_ENABLE_CHECKS #ifndef V8_ENABLE_CHECKS
 End of changes. 14 change blocks. 
26 lines changed or deleted 67 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/