diff options
Diffstat (limited to 'src/3rdparty/v8/src/factory.h')
-rw-r--r-- | src/3rdparty/v8/src/factory.h | 56 |
1 files changed, 27 insertions, 29 deletions
diff --git a/src/3rdparty/v8/src/factory.h b/src/3rdparty/v8/src/factory.h index 06aad1b..51065aa 100644 --- a/src/3rdparty/v8/src/factory.h +++ b/src/3rdparty/v8/src/factory.h @@ -66,7 +66,8 @@ class Factory { Handle<ObjectHashTable> NewObjectHashTable(int at_least_space_for); - Handle<DescriptorArray> NewDescriptorArray(int number_of_descriptors); + Handle<DescriptorArray> NewDescriptorArray(int number_of_descriptors, + int slack = 0); Handle<DeoptimizationInputData> NewDeoptimizationInputData( int deopt_entry_count, PretenureFlag pretenure); @@ -160,12 +161,15 @@ class Factory { const ExternalTwoByteString::Resource* resource); // Create a global (but otherwise uninitialized) context. - Handle<Context> NewGlobalContext(); + Handle<Context> NewNativeContext(); - // Create a module context. - Handle<Context> NewModuleContext(Handle<Context> previous, + // Create a global context. + Handle<Context> NewGlobalContext(Handle<JSFunction> function, Handle<ScopeInfo> scope_info); + // Create a module context. + Handle<Context> NewModuleContext(Handle<ScopeInfo> scope_info); + // Create a function context. Handle<Context> NewFunctionContext(int length, Handle<JSFunction> function); @@ -216,19 +220,19 @@ class Factory { Handle<JSGlobalPropertyCell> NewJSGlobalPropertyCell( Handle<Object> value); - Handle<Map> NewMap(InstanceType type, - int instance_size, - ElementsKind elements_kind = FAST_ELEMENTS); + Handle<Map> NewMap( + InstanceType type, + int instance_size, + ElementsKind elements_kind = TERMINAL_FAST_ELEMENTS_KIND); Handle<JSObject> NewFunctionPrototype(Handle<JSFunction> function); - Handle<Map> CopyMapDropDescriptors(Handle<Map> map); + Handle<Map> CopyWithPreallocatedFieldDescriptors(Handle<Map> map); // Copy the map adding more inobject properties if possible without // overflowing the instance size. Handle<Map> CopyMap(Handle<Map> map, int extra_inobject_props); - - Handle<Map> CopyMapDropTransitions(Handle<Map> map); + Handle<Map> CopyMap(Handle<Map> map); Handle<Map> GetElementsTransitionMap(Handle<JSObject> object, ElementsKind elements_kind); @@ -266,16 +270,18 @@ class Factory { Handle<JSObject> NewJSObjectFromMap(Handle<Map> map); // JS modules are pretenured. - Handle<JSModule> NewJSModule(); + Handle<JSModule> NewJSModule(Handle<Context> context, + Handle<ScopeInfo> scope_info); // JS arrays are pretenured when allocated by the parser. - Handle<JSArray> NewJSArray(int capacity, - ElementsKind elements_kind = FAST_ELEMENTS, - PretenureFlag pretenure = NOT_TENURED); + Handle<JSArray> NewJSArray( + int capacity, + ElementsKind elements_kind = TERMINAL_FAST_ELEMENTS_KIND, + PretenureFlag pretenure = NOT_TENURED); Handle<JSArray> NewJSArrayWithElements( Handle<FixedArrayBase> elements, - ElementsKind elements_kind = FAST_ELEMENTS, + ElementsKind elements_kind = TERMINAL_FAST_ELEMENTS_KIND, PretenureFlag pretenure = NOT_TENURED); void SetElementsCapacityAndLength(Handle<JSArray> array, @@ -287,6 +293,7 @@ class Factory { void EnsureCanContainHeapObjectElements(Handle<JSArray> array); void EnsureCanContainElements(Handle<JSArray> array, Handle<FixedArrayBase> elements, + uint32_t length, EnsureElementsMode mode); Handle<JSProxy> NewJSProxy(Handle<Object> handler, Handle<Object> prototype); @@ -295,7 +302,7 @@ class Factory { void BecomeJSObject(Handle<JSReceiver> object); void BecomeJSFunction(Handle<JSReceiver> object); - void SetIdentityHash(Handle<JSObject> object, Object* hash); + void SetIdentityHash(Handle<JSObject> object, Smi* hash); Handle<JSFunction> NewFunction(Handle<String> name, Handle<Object> prototype); @@ -329,12 +336,13 @@ class Factory { Handle<Object> ToObject(Handle<Object> object); Handle<Object> ToObject(Handle<Object> object, - Handle<Context> global_context); + Handle<Context> native_context); // Interface for creating error objects. Handle<Object> NewError(const char* maker, const char* type, Handle<JSArray> args); + Handle<String> EmergencyNewError(const char* type, Handle<JSArray> args); Handle<Object> NewError(const char* maker, const char* type, Vector< Handle<Object> > args); Handle<Object> NewError(const char* type, @@ -382,12 +390,6 @@ class Factory { Handle<JSFunction> NewFunctionWithoutPrototype(Handle<String> name, Handle<Code> code); - Handle<DescriptorArray> CopyAppendForeignDescriptor( - Handle<DescriptorArray> array, - Handle<String> key, - Handle<Object> value, - PropertyAttributes attributes); - Handle<String> NumberToString(Handle<Object> number); Handle<String> Uint32ToString(uint32_t value); @@ -460,7 +462,7 @@ class Factory { Handle<DebugInfo> NewDebugInfo(Handle<SharedFunctionInfo> shared); #endif - // Return a map using the map cache in the global context. + // Return a map using the map cache in the native context. // The key the an ordered set of property names. Handle<Map> ObjectLiteralMapFromCache(Handle<Context> context, Handle<FixedArray> keys); @@ -499,14 +501,10 @@ class Factory { Handle<String> name, LanguageMode language_mode); - Handle<DescriptorArray> CopyAppendCallbackDescriptors( - Handle<DescriptorArray> array, - Handle<Object> descriptors); - // Create a new map cache. Handle<MapCache> NewMapCache(int at_least_space_for); - // Update the map cache in the global context with (keys, map) + // Update the map cache in the native context with (keys, map) Handle<MapCache> AddToMapCache(Handle<Context> context, Handle<FixedArray> keys, Handle<Map> map); |