| v8.h | | v8.h | |
| | | | |
| skipping to change at line 1022 | | skipping to change at line 1022 | |
| // (with delete[]) when the CachedData object is destroyed. | | // (with delete[]) when the CachedData object is destroyed. | |
| CachedData(const uint8_t* data, int length, | | CachedData(const uint8_t* data, int length, | |
| BufferPolicy buffer_policy = BufferNotOwned); | | BufferPolicy buffer_policy = BufferNotOwned); | |
| ~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&); | | 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 Source { | | class Source { | |
| | | | |
| skipping to change at line 2391 | | skipping to change at line 2391 | |
| V8_INLINE void Set(double i); | | V8_INLINE void Set(double i); | |
| V8_INLINE void Set(int32_t i); | | V8_INLINE void Set(int32_t i); | |
| V8_INLINE void Set(uint32_t i); | | V8_INLINE void Set(uint32_t i); | |
| // Fast JS primitive setters | | // Fast JS primitive setters | |
| V8_INLINE void SetNull(); | | V8_INLINE void SetNull(); | |
| V8_INLINE void SetUndefined(); | | V8_INLINE void SetUndefined(); | |
| V8_INLINE void SetEmptyString(); | | V8_INLINE void SetEmptyString(); | |
| // Convenience getter for Isolate | | // Convenience getter for Isolate | |
| V8_INLINE Isolate* GetIsolate(); | | V8_INLINE Isolate* GetIsolate(); | |
| | | | |
|
| | | // Pointer setter: Uncompilable to prevent inadvertent misuse. | |
| | | template <typename S> | |
| | | V8_INLINE void Set(S* whatever); | |
| | | | |
| private: | | private: | |
| template<class F> friend class ReturnValue; | | template<class F> friend class ReturnValue; | |
| template<class F> friend class FunctionCallbackInfo; | | template<class F> friend class FunctionCallbackInfo; | |
| template<class F> friend class PropertyCallbackInfo; | | template<class F> friend class PropertyCallbackInfo; | |
| template<class F, class G, class H> friend class PersistentValueMap; | | template<class F, class G, class H> friend class PersistentValueMap; | |
| V8_INLINE void SetInternal(internal::Object* value) { *value_ = value; } | | V8_INLINE void SetInternal(internal::Object* value) { *value_ = value; } | |
| V8_INLINE internal::Object* GetDefaultValue(); | | V8_INLINE internal::Object* GetDefaultValue(); | |
| V8_INLINE explicit ReturnValue(internal::Object** slot); | | V8_INLINE explicit ReturnValue(internal::Object** slot); | |
| internal::Object** value_; | | internal::Object** value_; | |
| }; | | }; | |
| | | | |
| skipping to change at line 3773 | | skipping to change at line 3777 | |
| * device, in bytes. | | * device, in bytes. | |
| * \param virtual_memory_limit The amount of virtual memory on the curren
t | | * \param virtual_memory_limit The amount of virtual memory on the curren
t | |
| * device, in bytes, or zero, if there is no limit. | | * device, in bytes, or zero, if there is no limit. | |
| * \param number_of_processors The number of CPUs available on the curren
t | | * \param number_of_processors The number of CPUs available on the curren
t | |
| * device. | | * device. | |
| */ | | */ | |
| void ConfigureDefaults(uint64_t physical_memory, | | void ConfigureDefaults(uint64_t physical_memory, | |
| uint64_t virtual_memory_limit, | | uint64_t virtual_memory_limit, | |
| uint32_t number_of_processors); | | uint32_t number_of_processors); | |
| | | | |
|
| int max_new_space_size() const { return max_new_space_size_; } | | int max_semi_space_size() const { return max_semi_space_size_; } | |
| void set_max_new_space_size(int value) { max_new_space_size_ = value; } | | void set_max_semi_space_size(int value) { max_semi_space_size_ = value; } | |
| int max_old_space_size() const { return max_old_space_size_; } | | int max_old_space_size() const { return max_old_space_size_; } | |
| 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; } | |
| int max_executable_size() const { return max_executable_size_; } | | int max_executable_size() const { return max_executable_size_; } | |
| void set_max_executable_size(int value) { max_executable_size_ = value; } | | void set_max_executable_size(int value) { max_executable_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; } | |
| int max_available_threads() const { return max_available_threads_; } | | int max_available_threads() const { return max_available_threads_; } | |
| // Set the number of threads available to V8, assuming at least 1. | | // Set the number of threads available to V8, assuming at least 1. | |
| void set_max_available_threads(int value) { | | void set_max_available_threads(int value) { | |
| max_available_threads_ = value; | | max_available_threads_ = value; | |
| } | | } | |
| int code_range_size() const { return code_range_size_; } | | int code_range_size() const { return code_range_size_; } | |
| void set_code_range_size(int value) { | | void set_code_range_size(int value) { | |
| code_range_size_ = value; | | code_range_size_ = value; | |
| } | | } | |
| | | | |
| private: | | private: | |
|
| int max_new_space_size_; | | int max_semi_space_size_; | |
| int max_old_space_size_; | | int max_old_space_size_; | |
| int max_executable_size_; | | int max_executable_size_; | |
| uint32_t* stack_limit_; | | uint32_t* stack_limit_; | |
| int max_available_threads_; | | int max_available_threads_; | |
| int code_range_size_; | | int code_range_size_; | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * Sets the given ResourceConstraints on the given Isolate. | | * Sets the given ResourceConstraints on the given Isolate. | |
| */ | | */ | |
| | | | |
| skipping to change at line 5408 | | skipping to change at line 5412 | |
| // the implementation of v8. | | // the implementation of v8. | |
| static const int kHeapObjectMapOffset = 0; | | static const int kHeapObjectMapOffset = 0; | |
| static const int kMapInstanceTypeOffset = 1 * kApiPointerSize + kApiIntSi
ze; | | static const int kMapInstanceTypeOffset = 1 * kApiPointerSize + kApiIntSi
ze; | |
| static const int kStringResourceOffset = 3 * kApiPointerSize; | | static const int kStringResourceOffset = 3 * kApiPointerSize; | |
| | | | |
| static const int kOddballKindOffset = 3 * kApiPointerSize; | | static const int kOddballKindOffset = 3 * kApiPointerSize; | |
| static const int kForeignAddressOffset = kApiPointerSize; | | static const int kForeignAddressOffset = kApiPointerSize; | |
| static const int kJSObjectHeaderSize = 3 * kApiPointerSize; | | static const int kJSObjectHeaderSize = 3 * kApiPointerSize; | |
| static const int kFixedArrayHeaderSize = 2 * kApiPointerSize; | | static const int kFixedArrayHeaderSize = 2 * kApiPointerSize; | |
| static const int kContextHeaderSize = 2 * kApiPointerSize; | | static const int kContextHeaderSize = 2 * kApiPointerSize; | |
|
| static const int kContextEmbedderDataIndex = 74; | | static const int kContextEmbedderDataIndex = 75; | |
| static const int kFullStringRepresentationMask = 0x07; | | static const int kFullStringRepresentationMask = 0x07; | |
| static const int kStringEncodingMask = 0x4; | | static const int kStringEncodingMask = 0x4; | |
| static const int kExternalTwoByteRepresentationTag = 0x02; | | static const int kExternalTwoByteRepresentationTag = 0x02; | |
| static const int kExternalAsciiRepresentationTag = 0x06; | | static const int kExternalAsciiRepresentationTag = 0x06; | |
| | | | |
| static const int kIsolateEmbedderDataOffset = 0 * kApiPointerSize; | | static const int kIsolateEmbedderDataOffset = 0 * kApiPointerSize; | |
| static const int kIsolateRootsOffset = 5 * kApiPointerSize; | | static const int kIsolateRootsOffset = 5 * kApiPointerSize; | |
| static const int kUndefinedValueRootIndex = 5; | | static const int kUndefinedValueRootIndex = 5; | |
| static const int kNullValueRootIndex = 7; | | static const int kNullValueRootIndex = 7; | |
| static const int kTrueValueRootIndex = 8; | | static const int kTrueValueRootIndex = 8; | |
| | | | |
| skipping to change at line 5834 | | skipping to change at line 5838 | |
| *value_ = *I::GetRoot(GetIsolate(), I::kEmptyStringRootIndex); | | *value_ = *I::GetRoot(GetIsolate(), I::kEmptyStringRootIndex); | |
| } | | } | |
| | | | |
| template<typename T> | | template<typename T> | |
| Isolate* ReturnValue<T>::GetIsolate() { | | Isolate* ReturnValue<T>::GetIsolate() { | |
| // Isolate is always the pointer below the default value on the stack. | | // Isolate is always the pointer below the default value on the stack. | |
| return *reinterpret_cast<Isolate**>(&value_[-2]); | | return *reinterpret_cast<Isolate**>(&value_[-2]); | |
| } | | } | |
| | | | |
| template<typename T> | | template<typename T> | |
|
| | | template<typename S> | |
| | | void ReturnValue<T>::Set(S* whatever) { | |
| | | // Uncompilable to prevent inadvertent misuse. | |
| | | TYPE_CHECK(S*, Primitive); | |
| | | } | |
| | | | |
| | | template<typename T> | |
| internal::Object* ReturnValue<T>::GetDefaultValue() { | | internal::Object* ReturnValue<T>::GetDefaultValue() { | |
| // Default value is always the pointer below value_ on the stack. | | // Default value is always the pointer below value_ on the stack. | |
| return value_[-1]; | | return value_[-1]; | |
| } | | } | |
| | | | |
| template<typename T> | | template<typename T> | |
| FunctionCallbackInfo<T>::FunctionCallbackInfo(internal::Object** implicit_a
rgs, | | FunctionCallbackInfo<T>::FunctionCallbackInfo(internal::Object** implicit_a
rgs, | |
| internal::Object** values, | | internal::Object** values, | |
| int length, | | int length, | |
| bool is_construct_call) | | bool is_construct_call) | |
| | | | |
End of changes. 6 change blocks. |
| 5 lines changed or deleted | | 16 lines changed or added | |
|