v8.h   v8.h 
skipping to change at line 5530 skipping to change at line 5530
kIsolateEmbedderDataOffset + slot * kApiPointerSize; kIsolateEmbedderDataOffset + slot * kApiPointerSize;
return *reinterpret_cast<void**>(addr); return *reinterpret_cast<void**>(addr);
} }
V8_INLINE static internal::Object** GetRoot(v8::Isolate* isolate, V8_INLINE static internal::Object** GetRoot(v8::Isolate* isolate,
int index) { int index) {
uint8_t* addr = reinterpret_cast<uint8_t*>(isolate) + kIsolateRootsOffs et; uint8_t* addr = reinterpret_cast<uint8_t*>(isolate) + kIsolateRootsOffs et;
return reinterpret_cast<internal::Object**>(addr + index * kApiPointerS ize); return reinterpret_cast<internal::Object**>(addr + index * kApiPointerS ize);
} }
template <typename T> V8_INLINE static T ReadField(Object* ptr, int offse template <typename T>
t) { V8_INLINE static T ReadField(internal::Object* ptr, int offset) {
uint8_t* addr = reinterpret_cast<uint8_t*>(ptr) + offset - kHeapObjectT ag; uint8_t* addr = reinterpret_cast<uint8_t*>(ptr) + offset - kHeapObjectT ag;
return *reinterpret_cast<T*>(addr); return *reinterpret_cast<T*>(addr);
} }
template <typename T> template <typename T>
V8_INLINE static T ReadEmbedderData(Context* context, int index) { V8_INLINE static T ReadEmbedderData(v8::Context* context, int index) {
typedef internal::Object O; typedef internal::Object O;
typedef internal::Internals I; typedef internal::Internals I;
O* ctx = *reinterpret_cast<O**>(context); O* ctx = *reinterpret_cast<O**>(context);
int embedder_data_offset = I::kContextHeaderSize + int embedder_data_offset = I::kContextHeaderSize +
(internal::kApiPointerSize * I::kContextEmbedderDataIndex); (internal::kApiPointerSize * I::kContextEmbedderDataIndex);
O* embedder_data = I::ReadField<O*>(ctx, embedder_data_offset); O* embedder_data = I::ReadField<O*>(ctx, embedder_data_offset);
int value_offset = int value_offset =
I::kFixedArrayHeaderSize + (internal::kApiPointerSize * index); I::kFixedArrayHeaderSize + (internal::kApiPointerSize * index);
return I::ReadField<T>(embedder_data, value_offset); return I::ReadField<T>(embedder_data, value_offset);
} }
V8_INLINE static bool CanCastToHeapObject(void* o) { return false; }
V8_INLINE static bool CanCastToHeapObject(Context* o) { return true; }
V8_INLINE static bool CanCastToHeapObject(String* o) { return true; }
V8_INLINE static bool CanCastToHeapObject(Object* o) { return true; }
V8_INLINE static bool CanCastToHeapObject(Message* o) { return true; }
V8_INLINE static bool CanCastToHeapObject(StackTrace* o) { return true; }
V8_INLINE static bool CanCastToHeapObject(StackFrame* o) { return true; }
}; };
} // namespace internal } // namespace internal
template <class T> template <class T>
Local<T>::Local() : Handle<T>() { } Local<T>::Local() : Handle<T>() { }
template <class T> template <class T>
Local<T> Local<T>::New(Isolate* isolate, Handle<T> that) { Local<T> Local<T>::New(Isolate* isolate, Handle<T> that) {
return New(isolate, that.val_); return New(isolate, that.val_);
 End of changes. 3 change blocks. 
11 lines changed or deleted 3 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/