webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Types | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | List of all members
GlobalObject Class Reference
Inheritance diagram for GlobalObject:
JSC::JSGlobalObject JSC::JSGlobalObject JSC::JSSegmentedVariableObject JSC::JSSegmentedVariableObject JSC::JSSegmentedVariableObject JSC::JSSegmentedVariableObject JSC::JSSymbolTableObject JSC::JSSymbolTableObject JSC::JSSymbolTableObject JSC::JSSymbolTableObject JSC::JSSymbolTableObject JSC::JSSymbolTableObject JSC::JSSymbolTableObject JSC::JSSymbolTableObject

Public Types

typedef JSGlobalObject Base
 
typedef JSGlobalObject Base
 
- Public Types inherited from JSC::JSGlobalObject
template<typename T >
using Initializer = typename LazyProperty< JSGlobalObject, T >::Initializer
 
typedef JSSegmentedVariableObject Base
 
template<typename T >
using Initializer = typename LazyProperty< JSGlobalObject, T >::Initializer
 
typedef JSSegmentedVariableObject Base
 
- Public Types inherited from JSC::JSSegmentedVariableObject
typedef JSSymbolTableObject Base
 
typedef JSSymbolTableObject Base
 
- Public Types inherited from JSC::JSSymbolTableObject
typedef JSScope Base
 
typedef JSScope Base
 
- Public Types inherited from JSC::JSScope
typedef JSNonFinalObject Base
 
typedef JSNonFinalObject Base
 
- Public Types inherited from JSC::JSNonFinalObject
typedef JSObject Base
 
typedef JSObject Base
 
- Public Types inherited from JSC::JSObject
typedef JSCell Base
 
typedef JSCell Base
 
- Public Types inherited from JSC::JSCell
enum  CreatingEarlyCellTag { CreatingEarlyCell, CreatingEarlyCell }
 
enum  CreatingEarlyCellTag { CreatingEarlyCell, CreatingEarlyCell }
 
- Public Types inherited from JSC::HeapCell
enum  Kind : int8_t { JSCell, Auxiliary, JSCell, Auxiliary }
 
enum  Kind : int8_t { JSCell, Auxiliary, JSCell, Auxiliary }
 

Static Public Member Functions

static GlobalObject * create (VM &vm, Structure *structure, const Vector< String > &arguments)
 
static Structure * createStructure (VM &vm, JSValue prototype)
 
static RuntimeFlags javaScriptRuntimeFlags (const JSGlobalObject *)
 
static GlobalObject * create (VM &vm, Structure *structure, const Vector< String > &arguments)
 
static Structure * createStructure (VM &vm, JSValue prototype)
 
- Static Public Member Functions inherited from JSC::JSGlobalObject
static JS_EXPORT_PRIVATE JSGlobalObject * create (VM &, Structure *)
 
static JS_EXPORT_PRIVATE void destroy (JSCell *)
 
static JS_EXPORT_PRIVATE void visitChildren (JSCell *, SlotVisitor &)
 
static JS_EXPORT_PRIVATE bool getOwnPropertySlot (JSObject *, ExecState *, PropertyName, PropertySlot &)
 
static JS_EXPORT_PRIVATE bool put (JSCell *, ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
static JS_EXPORT_PRIVATE void defineGetter (JSObject *, ExecState *, PropertyName, JSObject *getterFunc, unsigned attributes)
 
static JS_EXPORT_PRIVATE void defineSetter (JSObject *, ExecState *, PropertyName, JSObject *setterFunc, unsigned attributes)
 
static JS_EXPORT_PRIVATE bool defineOwnProperty (JSObject *, ExecState *, PropertyName, const PropertyDescriptor &, bool shouldThrow)
 
static bool supportsRichSourceInfo (const JSGlobalObject *)
 
static bool shouldInterruptScript (const JSGlobalObject *)
 
static bool shouldInterruptScriptBeforeTimeout (const JSGlobalObject *)
 
static RuntimeFlags javaScriptRuntimeFlags (const JSGlobalObject *)
 
static Structure * createStructure (VM &vm, JSValue prototype)
 
static ptrdiff_t weakRandomOffset ()
 
static JS_EXPORT_PRIVATE JSGlobalObject * create (VM &, Structure *)
 
static JS_EXPORT_PRIVATE void destroy (JSCell *)
 
static JS_EXPORT_PRIVATE void visitChildren (JSCell *, SlotVisitor &)
 
static JS_EXPORT_PRIVATE bool getOwnPropertySlot (JSObject *, ExecState *, PropertyName, PropertySlot &)
 
static JS_EXPORT_PRIVATE bool put (JSCell *, ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
static JS_EXPORT_PRIVATE void defineGetter (JSObject *, ExecState *, PropertyName, JSObject *getterFunc, unsigned attributes)
 
static JS_EXPORT_PRIVATE void defineSetter (JSObject *, ExecState *, PropertyName, JSObject *setterFunc, unsigned attributes)
 
static JS_EXPORT_PRIVATE bool defineOwnProperty (JSObject *, ExecState *, PropertyName, const PropertyDescriptor &, bool shouldThrow)
 
static bool supportsRichSourceInfo (const JSGlobalObject *)
 
static bool shouldInterruptScript (const JSGlobalObject *)
 
static bool shouldInterruptScriptBeforeTimeout (const JSGlobalObject *)
 
static RuntimeFlags javaScriptRuntimeFlags (const JSGlobalObject *)
 
static Structure * createStructure (VM &vm, JSValue prototype)
 
static ptrdiff_t weakRandomOffset ()
 
- Static Public Member Functions inherited from JSC::JSSegmentedVariableObject
static JS_EXPORT_PRIVATE void visitChildren (JSCell *, SlotVisitor &)
 
static JS_EXPORT_PRIVATE void heapSnapshot (JSCell *, HeapSnapshotBuilder &)
 
static void destroy (JSCell *)
 
template<typename >
static Subspace * subspaceFor (VM &vm)
 
static JS_EXPORT_PRIVATE void visitChildren (JSCell *, SlotVisitor &)
 
static JS_EXPORT_PRIVATE void heapSnapshot (JSCell *, HeapSnapshotBuilder &)
 
static void destroy (JSCell *)
 
template<typename >
static Subspace * subspaceFor (VM &vm)
 
- Static Public Member Functions inherited from JSC::JSSymbolTableObject
static JS_EXPORT_PRIVATE bool deleteProperty (JSCell *, ExecState *, PropertyName)
 
static JS_EXPORT_PRIVATE void getOwnNonIndexPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static ptrdiff_t offsetOfSymbolTable ()
 
static JS_EXPORT_PRIVATE bool deleteProperty (JSCell *, ExecState *, PropertyName)
 
static JS_EXPORT_PRIVATE void getOwnNonIndexPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static ptrdiff_t offsetOfSymbolTable ()
 
- Static Public Member Functions inherited from JSC::JSScope
static size_t offsetOfNext ()
 
static JSObject * objectAtScope (JSScope *)
 
static JSObject * resolve (ExecState *, JSScope *, const Identifier &)
 
static ResolveOp abstractResolve (ExecState *, size_t depthOffset, JSScope *, const Identifier &, GetOrPut, ResolveType, InitializationMode)
 
static bool hasConstantScope (ResolveType)
 
static JSScope * constantScopeForCodeBlock (ResolveType, CodeBlock *)
 
static void collectClosureVariablesUnderTDZ (JSScope *, VariableEnvironment &result)
 
static void visitChildren (JSCell *, SlotVisitor &)
 
static size_t offsetOfNext ()
 
static JSObject * objectAtScope (JSScope *)
 
static JSObject * resolve (ExecState *, JSScope *, const Identifier &)
 
static ResolveOp abstractResolve (ExecState *, size_t depthOffset, JSScope *, const Identifier &, GetOrPut, ResolveType, InitializationMode)
 
static bool hasConstantScope (ResolveType)
 
static JSScope * constantScopeForCodeBlock (ResolveType, CodeBlock *)
 
static void collectClosureVariablesUnderTDZ (JSScope *, VariableEnvironment &result)
 
static void visitChildren (JSCell *, SlotVisitor &)
 
- Static Public Member Functions inherited from JSC::JSNonFinalObject
static Structure * createStructure (VM &vm, JSGlobalObject *globalObject, JSValue prototype)
 
static Structure * createStructure (VM &vm, JSGlobalObject *globalObject, JSValue prototype)
 
- Static Public Member Functions inherited from JSC::JSObject
static JSObject * createRawObject (ExecState *exec, Structure *structure, Butterfly *=nullptr)
 
static JS_EXPORT_PRIVATE size_t estimatedSize (JSCell *)
 
static JS_EXPORT_PRIVATE void visitChildren (JSCell *, SlotVisitor &)
 
static JS_EXPORT_PRIVATE void heapSnapshot (JSCell *, HeapSnapshotBuilder &)
 
static JS_EXPORT_PRIVATE String className (const JSObject *)
 
static JS_EXPORT_PRIVATE String calculatedClassName (JSObject *)
 
static JS_EXPORT_PRIVATE String toStringName (const JSObject *, ExecState *)
 
static JS_EXPORT_PRIVATE JSValue getPrototype (JSObject *, ExecState *)
 
static JS_EXPORT_PRIVATE bool setPrototype (JSObject *, ExecState *, JSValue prototype, bool shouldThrowIfCantSet)
 
static bool getOwnPropertySlot (JSObject *, ExecState *, PropertyName, PropertySlot &)
 
static JS_EXPORT_PRIVATE bool getOwnPropertySlotByIndex (JSObject *, ExecState *, unsigned propertyName, PropertySlot &)
 
static bool putInline (JSCell *, ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
static JS_EXPORT_PRIVATE bool put (JSCell *, ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
static JS_EXPORT_PRIVATE bool putByIndex (JSCell *, ExecState *, unsigned propertyName, JSValue, bool shouldThrow)
 
static JS_EXPORT_PRIVATE bool deleteProperty (JSCell *, ExecState *, PropertyName)
 
static JS_EXPORT_PRIVATE bool deletePropertyByIndex (JSCell *, ExecState *, unsigned propertyName)
 
static JS_EXPORT_PRIVATE JSValue defaultValue (const JSObject *, ExecState *, PreferredPrimitiveType)
 
static bool defaultHasInstance (ExecState *, JSValue, JSValue prototypeProperty)
 
static JS_EXPORT_PRIVATE void getOwnPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static JS_EXPORT_PRIVATE void getOwnNonIndexPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static JS_EXPORT_PRIVATE void getPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static JS_EXPORT_PRIVATE uint32_t getEnumerableLength (ExecState *, JSObject *)
 
static JS_EXPORT_PRIVATE void getStructurePropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static JS_EXPORT_PRIVATE void getGenericPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static JS_EXPORT_PRIVATE JSValue toThis (JSCell *, ExecState *, ECMAMode)
 
static JS_EXPORT_PRIVATE bool defineOwnProperty (JSObject *, ExecState *, PropertyName, const PropertyDescriptor &, bool shouldThrow)
 
static JS_EXPORT_PRIVATE bool preventExtensions (JSObject *, ExecState *)
 
static JS_EXPORT_PRIVATE bool isExtensible (JSObject *, ExecState *)
 
static size_t offsetOfInlineStorage ()
 
static ptrdiff_t butterflyOffset ()
 
static JSObject * createRawObject (ExecState *exec, Structure *structure, Butterfly *=nullptr)
 
static JS_EXPORT_PRIVATE size_t estimatedSize (JSCell *)
 
static JS_EXPORT_PRIVATE void visitChildren (JSCell *, SlotVisitor &)
 
static JS_EXPORT_PRIVATE void heapSnapshot (JSCell *, HeapSnapshotBuilder &)
 
static JS_EXPORT_PRIVATE String className (const JSObject *)
 
static JS_EXPORT_PRIVATE String calculatedClassName (JSObject *)
 
static JS_EXPORT_PRIVATE String toStringName (const JSObject *, ExecState *)
 
static JS_EXPORT_PRIVATE JSValue getPrototype (JSObject *, ExecState *)
 
static JS_EXPORT_PRIVATE bool setPrototype (JSObject *, ExecState *, JSValue prototype, bool shouldThrowIfCantSet)
 
static bool getOwnPropertySlot (JSObject *, ExecState *, PropertyName, PropertySlot &)
 
static JS_EXPORT_PRIVATE bool getOwnPropertySlotByIndex (JSObject *, ExecState *, unsigned propertyName, PropertySlot &)
 
static bool putInline (JSCell *, ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
static JS_EXPORT_PRIVATE bool put (JSCell *, ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
static JS_EXPORT_PRIVATE bool putByIndex (JSCell *, ExecState *, unsigned propertyName, JSValue, bool shouldThrow)
 
static JS_EXPORT_PRIVATE bool deleteProperty (JSCell *, ExecState *, PropertyName)
 
static JS_EXPORT_PRIVATE bool deletePropertyByIndex (JSCell *, ExecState *, unsigned propertyName)
 
static JS_EXPORT_PRIVATE JSValue defaultValue (const JSObject *, ExecState *, PreferredPrimitiveType)
 
static bool defaultHasInstance (ExecState *, JSValue, JSValue prototypeProperty)
 
static JS_EXPORT_PRIVATE void getOwnPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static JS_EXPORT_PRIVATE void getOwnNonIndexPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static JS_EXPORT_PRIVATE void getPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static JS_EXPORT_PRIVATE uint32_t getEnumerableLength (ExecState *, JSObject *)
 
static JS_EXPORT_PRIVATE void getStructurePropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static JS_EXPORT_PRIVATE void getGenericPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static JS_EXPORT_PRIVATE JSValue toThis (JSCell *, ExecState *, ECMAMode)
 
static JS_EXPORT_PRIVATE bool defineOwnProperty (JSObject *, ExecState *, PropertyName, const PropertyDescriptor &, bool shouldThrow)
 
static JS_EXPORT_PRIVATE bool preventExtensions (JSObject *, ExecState *)
 
static JS_EXPORT_PRIVATE bool isExtensible (JSObject *, ExecState *)
 
static size_t offsetOfInlineStorage ()
 
static ptrdiff_t butterflyOffset ()
 
- Static Public Member Functions inherited from JSC::JSCell
template<typename CellType >
static Subspace * subspaceFor (VM &)
 
static JSCell * seenMultipleCalleeObjects ()
 
static JS_EXPORT_PRIVATE CallType getCallData (JSCell *, CallData &)
 
static JS_EXPORT_PRIVATE ConstructType getConstructData (JSCell *, ConstructData &)
 
static JS_EXPORT_PRIVATE void dumpToStream (const JSCell *, PrintStream &)
 
static JS_EXPORT_PRIVATE size_t estimatedSize (JSCell *)
 
static void visitChildren (JSCell *, SlotVisitor &)
 
static void visitOutputConstraints (JSCell *, SlotVisitor &)
 
static JS_EXPORT_PRIVATE void heapSnapshot (JSCell *, HeapSnapshotBuilder &)
 
static bool put (JSCell *, ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
static bool putByIndex (JSCell *, ExecState *, unsigned propertyName, JSValue, bool shouldThrow)
 
static bool deleteProperty (JSCell *, ExecState *, PropertyName)
 
static bool deletePropertyByIndex (JSCell *, ExecState *, unsigned propertyName)
 
static JSValue toThis (JSCell *, ExecState *, ECMAMode)
 
static bool canUseFastGetOwnProperty (const Structure &)
 
static ptrdiff_t structureIDOffset ()
 
static ptrdiff_t typeInfoFlagsOffset ()
 
static ptrdiff_t typeInfoTypeOffset ()
 
static ptrdiff_t indexingTypeAndMiscOffset ()
 
static ptrdiff_t cellStateOffset ()
 
template<typename CellType >
static Subspace * subspaceFor (VM &)
 
static JSCell * seenMultipleCalleeObjects ()
 
static JS_EXPORT_PRIVATE CallType getCallData (JSCell *, CallData &)
 
static JS_EXPORT_PRIVATE ConstructType getConstructData (JSCell *, ConstructData &)
 
static JS_EXPORT_PRIVATE void dumpToStream (const JSCell *, PrintStream &)
 
static JS_EXPORT_PRIVATE size_t estimatedSize (JSCell *)
 
static void visitChildren (JSCell *, SlotVisitor &)
 
static void visitOutputConstraints (JSCell *, SlotVisitor &)
 
static JS_EXPORT_PRIVATE void heapSnapshot (JSCell *, HeapSnapshotBuilder &)
 
static bool put (JSCell *, ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
static bool putByIndex (JSCell *, ExecState *, unsigned propertyName, JSValue, bool shouldThrow)
 
static bool deleteProperty (JSCell *, ExecState *, PropertyName)
 
static bool deletePropertyByIndex (JSCell *, ExecState *, unsigned propertyName)
 
static JSValue toThis (JSCell *, ExecState *, ECMAMode)
 
static bool canUseFastGetOwnProperty (const Structure &)
 
static ptrdiff_t structureIDOffset ()
 
static ptrdiff_t typeInfoFlagsOffset ()
 
static ptrdiff_t typeInfoTypeOffset ()
 
static ptrdiff_t indexingTypeAndMiscOffset ()
 
static ptrdiff_t cellStateOffset ()
 

Public Attributes

 DECLARE_INFO
 
- Public Attributes inherited from JSC::JSGlobalObject
Register m_globalCallFrame [CallFrame::headerSizeInRegisters]
 
WriteBarrier< JSObject > m_globalThis
 
WriteBarrier< JSGlobalLexicalEnvironment > m_globalLexicalEnvironment
 
WriteBarrier< JSScope > m_globalScopeExtension
 
WriteBarrier< JSObject > m_globalCallee
 
WriteBarrier< RegExpConstructor > m_regExpConstructor
 
WriteBarrier< ErrorConstructor > m_errorConstructor
 
WriteBarrier< Structure > m_nativeErrorPrototypeStructure
 
WriteBarrier< Structure > m_nativeErrorStructure
 
LazyProperty< JSGlobalObject, NativeErrorConstructor > m_evalErrorConstructor
 
WriteBarrier< NativeErrorConstructor > m_rangeErrorConstructor
 
LazyProperty< JSGlobalObject, NativeErrorConstructor > m_referenceErrorConstructor
 
LazyProperty< JSGlobalObject, NativeErrorConstructor > m_syntaxErrorConstructor
 
WriteBarrier< NativeErrorConstructor > m_typeErrorConstructor
 
LazyProperty< JSGlobalObject, NativeErrorConstructor > m_URIErrorConstructor
 
WriteBarrier< ObjectConstructor > m_objectConstructor
 
WriteBarrier< ArrayConstructor > m_arrayConstructor
 
WriteBarrier< JSPromiseConstructor > m_promiseConstructor
 
WriteBarrier< JSInternalPromiseConstructor > m_internalPromiseConstructor
 
WriteBarrier< NullGetterFunction > m_nullGetterFunction
 
WriteBarrier< NullSetterFunction > m_nullSetterFunction
 
WriteBarrier< JSFunction > m_parseIntFunction
 
WriteBarrier< JSFunction > m_evalFunction
 
WriteBarrier< JSFunction > m_callFunction
 
WriteBarrier< JSFunction > m_applyFunction
 
WriteBarrier< JSFunction > m_throwTypeErrorFunction
 
LazyProperty< JSGlobalObject, JSFunction > m_arrayProtoToStringFunction
 
LazyProperty< JSGlobalObject, JSFunction > m_arrayProtoValuesFunction
 
LazyProperty< JSGlobalObject, JSFunction > m_initializePromiseFunction
 
LazyProperty< JSGlobalObject, JSFunction > m_iteratorProtocolFunction
 
WriteBarrier< JSFunction > m_objectProtoValueOfFunction
 
WriteBarrier< JSFunction > m_newPromiseCapabilityFunction
 
WriteBarrier< JSFunction > m_functionProtoHasInstanceSymbolFunction
 
LazyProperty< JSGlobalObject, GetterSetter > m_throwTypeErrorGetterSetter
 
WriteBarrier< JSObject > m_regExpProtoExec
 
WriteBarrier< JSObject > m_regExpProtoSymbolReplace
 
WriteBarrier< JSObject > m_regExpProtoGlobalGetter
 
WriteBarrier< JSObject > m_regExpProtoUnicodeGetter
 
WriteBarrier< GetterSetter > m_throwTypeErrorArgumentsCalleeAndCallerGetterSetter
 
WriteBarrier< JSModuleLoader > m_moduleLoader
 
WriteBarrier< ObjectPrototype > m_objectPrototype
 
WriteBarrier< FunctionPrototype > m_functionPrototype
 
WriteBarrier< ArrayPrototype > m_arrayPrototype
 
WriteBarrier< RegExpPrototype > m_regExpPrototype
 
WriteBarrier< IteratorPrototype > m_iteratorPrototype
 
WriteBarrier< GeneratorFunctionPrototype > m_generatorFunctionPrototype
 
WriteBarrier< GeneratorPrototype > m_generatorPrototype
 
WriteBarrier< ModuleLoaderPrototype > m_moduleLoaderPrototype
 
LazyProperty< JSGlobalObject, Structure > m_debuggerScopeStructure
 
LazyProperty< JSGlobalObject, Structure > m_withScopeStructure
 
WriteBarrier< Structure > m_strictEvalActivationStructure
 
WriteBarrier< Structure > m_lexicalEnvironmentStructure
 
LazyProperty< JSGlobalObject, Structure > m_moduleEnvironmentStructure
 
WriteBarrier< Structure > m_directArgumentsStructure
 
WriteBarrier< Structure > m_scopedArgumentsStructure
 
WriteBarrier< Structure > m_clonedArgumentsStructure
 
WriteBarrier< Structure > m_objectStructureForObjectConstructor
 
WriteBarrier< Structure > m_originalArrayStructureForIndexingShape [NumberOfIndexingShapes]
 
WriteBarrier< Structure > m_arrayStructureForIndexingShapeDuringAllocation [NumberOfIndexingShapes]
 
LazyProperty< JSGlobalObject, Structure > m_callbackConstructorStructure
 
LazyProperty< JSGlobalObject, Structure > m_callbackFunctionStructure
 
LazyProperty< JSGlobalObject, Structure > m_callbackObjectStructure
 
WriteBarrier< Structure > m_propertyNameIteratorStructure
 
LazyProperty< JSGlobalObject, Structure > m_nullPrototypeObjectStructure
 
WriteBarrier< Structure > m_calleeStructure
 
WriteBarrier< Structure > m_functionStructure
 
LazyProperty< JSGlobalObject, Structure > m_boundFunctionStructure
 
LazyProperty< JSGlobalObject, Structure > m_customGetterSetterFunctionStructure
 
WriteBarrier< Structure > m_getterSetterStructure
 
LazyProperty< JSGlobalObject, Structure > m_nativeStdFunctionStructure
 
LazyProperty< JSGlobalObject, Structure > m_namedFunctionStructure
 
PropertyOffset m_functionNameOffset
 
WriteBarrier< Structure > m_privateNameStructure
 
WriteBarrier< Structure > m_regExpStructure
 
WriteBarrier< AsyncFunctionPrototype > m_asyncFunctionPrototype
 
WriteBarrier< Structure > m_asyncFunctionStructure
 
WriteBarrier< Structure > m_generatorFunctionStructure
 
WriteBarrier< Structure > m_dollarVMStructure
 
WriteBarrier< Structure > m_iteratorResultObjectStructure
 
WriteBarrier< Structure > m_regExpMatchesArrayStructure
 
WriteBarrier< Structure > m_moduleRecordStructure
 
WriteBarrier< Structure > m_moduleNamespaceObjectStructure
 
WriteBarrier< Structure > m_proxyObjectStructure
 
WriteBarrier< Structure > m_callableProxyObjectStructure
 
WriteBarrier< Structure > m_proxyRevokeStructure
 
WriteBarrier< Structure > m_moduleLoaderStructure
 
WriteBarrier< JSArrayBufferPrototype > m_arrayBufferPrototype
 
WriteBarrier< Structure > m_arrayBufferStructure
 
WriteBarrier< JSArrayBufferPrototype > m_sharedArrayBufferPrototype
 
WriteBarrier< Structure > m_sharedArrayBufferStructure
 
WriteBarrier< GetterSetter > m_speciesGetterSetter
 
LazyProperty< JSGlobalObject, JSTypedArrayViewPrototype > m_typedArrayProto
 
LazyProperty< JSGlobalObject, JSTypedArrayViewConstructor > m_typedArraySuperConstructor
 
JSCell * m_specialPointers [Special::TableSize]
 
JSCell * m_linkTimeConstants [LinkTimeConstantCount]
 
String m_name
 
Debugger * m_debugger
 
VM & m_vm
 
RefPtr< WatchpointSet > m_masqueradesAsUndefinedWatchpoint
 
RefPtr< WatchpointSet > m_havingABadTimeWatchpoint
 
RefPtr< WatchpointSet > m_varInjectionWatchpoint
 
std::unique_ptr< JSGlobalObjectRareData > m_rareData
 
WeakRandom m_weakRandom
 
InlineWatchpointSet m_arrayIteratorProtocolWatchpoint
 
InlineWatchpointSet m_arraySpeciesWatchpoint
 
std::unique_ptr< ArrayIteratorAdaptiveWatchpoint > m_arrayPrototypeSymbolIteratorWatchpoint
 
std::unique_ptr< ArrayIteratorAdaptiveWatchpoint > m_arrayIteratorPrototypeNext
 
TemplateRegistry m_templateRegistry
 
bool m_evalEnabled
 
String m_evalDisabledErrorMessage
 
RuntimeFlags m_runtimeFlags
 
ConsoleClient * m_consoleClient
 
const GlobalObjectMethodTable * m_globalObjectMethodTable
 
 DECLARE_EXPORT_INFO
 
- Public Attributes inherited from JSC::JSSymbolTableObject
 DECLARE_EXPORT_INFO
 
- Public Attributes inherited from JSC::JSObject
 DECLARE_EXPORT_INFO
 

Static Public Attributes

static const bool needsDestruction = false
 
static const GlobalObjectMethodTable s_globalObjectMethodTable
 
static const bool needsDestructor = false
 
- Static Public Attributes inherited from JSC::JSGlobalObject
static JS_EXPORTDATA const GlobalObjectMethodTable s_globalObjectMethodTable
 
static const unsigned StructureFlags = Base::StructureFlags | HasStaticPropertyTable | OverridesGetOwnPropertySlot | OverridesGetPropertyNames | OverridesToThis
 
- Static Public Attributes inherited from JSC::JSSymbolTableObject
static const unsigned StructureFlags = Base::StructureFlags | OverridesGetPropertyNames
 
- Static Public Attributes inherited from JSC::JSScope
static const unsigned StructureFlags = Base::StructureFlags
 
- Static Public Attributes inherited from JSC::JSCell
static const unsigned StructureFlags = 0
 
static const bool needsDestruction = false
 
static const TypedArrayType TypedArrayStorageType = NotTypedArray
 

Protected Member Functions

void finishCreation (VM &vm, const Vector< String > &arguments)
 
void addFunction (VM &vm, JSObject *object, const char *name, NativeFunction function, unsigned arguments)
 
void addFunction (VM &vm, const char *name, NativeFunction function, unsigned arguments)
 
void addConstructableFunction (VM &vm, const char *name, NativeFunction function, unsigned arguments)
 
void finishCreation (VM &vm, const Vector< String > &arguments)
 
- Protected Member Functions inherited from JSC::JSGlobalObject
JS_EXPORT_PRIVATE JSGlobalObject (VM &, Structure *, const GlobalObjectMethodTable *=0)
 
JS_EXPORT_PRIVATE void finishCreation (VM &)
 
JS_EXPORT_PRIVATE void finishCreation (VM &, JSObject *)
 
void addGlobalVar (const Identifier &)
 
JS_EXPORT_PRIVATE void addStaticGlobals (GlobalPropertyInfo *, int count)
 
void setNeedsSiteSpecificQuirks (bool needQuirks)
 
JS_EXPORT_PRIVATE JSGlobalObject (VM &, Structure *, const GlobalObjectMethodTable *=0)
 
JS_EXPORT_PRIVATE void finishCreation (VM &)
 
JS_EXPORT_PRIVATE void finishCreation (VM &, JSObject *)
 
void addGlobalVar (const Identifier &)
 
JS_EXPORT_PRIVATE void addStaticGlobals (GlobalPropertyInfo *, int count)
 
void setNeedsSiteSpecificQuirks (bool needQuirks)
 
- Protected Member Functions inherited from JSC::JSSegmentedVariableObject
 JSSegmentedVariableObject (VM &, Structure *, JSScope *)
 
 ~JSSegmentedVariableObject ()
 
void finishCreation (VM &)
 
 JSSegmentedVariableObject (VM &, Structure *, JSScope *)
 
 ~JSSegmentedVariableObject ()
 
void finishCreation (VM &)
 
- Protected Member Functions inherited from JSC::JSSymbolTableObject
 JSSymbolTableObject (VM &vm, Structure *structure, JSScope *scope)
 
 JSSymbolTableObject (VM &vm, Structure *structure, JSScope *scope, SymbolTable *symbolTable)
 
void setSymbolTable (VM &vm, SymbolTable *symbolTable)
 
 JSSymbolTableObject (VM &vm, Structure *structure, JSScope *scope)
 
 JSSymbolTableObject (VM &vm, Structure *structure, JSScope *scope, SymbolTable *symbolTable)
 
void setSymbolTable (VM &vm, SymbolTable *symbolTable)
 
- Protected Member Functions inherited from JSC::JSScope
 JSScope (VM &, Structure *, JSScope *next)
 
 JSScope (VM &, Structure *, JSScope *next)
 
- Protected Member Functions inherited from JSC::JSNonFinalObject
 JSNonFinalObject (VM &vm, Structure *structure, Butterfly *butterfly=0)
 
void finishCreation (VM &vm)
 
 JSNonFinalObject (VM &vm, Structure *structure, Butterfly *butterfly=0)
 
void finishCreation (VM &vm)
 
- Protected Member Functions inherited from JSC::JSObject
void finishCreation (VM &vm)
 
 JSObject (VM &, Structure *, Butterfly *=0)
 
Structure * visitButterfly (SlotVisitor &)
 
Structure * visitButterflyImpl (SlotVisitor &)
 
void markAuxiliaryAndVisitOutOfLineProperties (SlotVisitor &, Butterfly *, Structure *, PropertyOffset lastOffset)
 
ArrayStorage * arrayStorage ()
 
ArrayStorage * arrayStorageOrNull ()
 
size_t butterflyTotalSize ()
 
size_t butterflyPreCapacity ()
 
Butterfly * createInitialUndecided (VM &, unsigned length)
 
ContiguousJSValues createInitialInt32 (VM &, unsigned length)
 
ContiguousDoubles createInitialDouble (VM &, unsigned length)
 
ContiguousJSValues createInitialContiguous (VM &, unsigned length)
 
void convertUndecidedForValue (VM &, JSValue)
 
void createInitialForValueAndSet (VM &, unsigned index, JSValue)
 
void convertInt32ForValue (VM &, JSValue)
 
ArrayStorage * createArrayStorage (VM &, unsigned length, unsigned vectorLength)
 
ArrayStorage * createInitialArrayStorage (VM &)
 
ContiguousJSValues convertUndecidedToInt32 (VM &)
 
ContiguousDoubles convertUndecidedToDouble (VM &)
 
ContiguousJSValues convertUndecidedToContiguous (VM &)
 
ArrayStorage * convertUndecidedToArrayStorage (VM &, NonPropertyTransition)
 
ArrayStorage * convertUndecidedToArrayStorage (VM &)
 
ContiguousDoubles convertInt32ToDouble (VM &)
 
ContiguousJSValues convertInt32ToContiguous (VM &)
 
ArrayStorage * convertInt32ToArrayStorage (VM &, NonPropertyTransition)
 
ArrayStorage * convertInt32ToArrayStorage (VM &)
 
ContiguousJSValues convertDoubleToContiguous (VM &)
 
ArrayStorage * convertDoubleToArrayStorage (VM &, NonPropertyTransition)
 
ArrayStorage * convertDoubleToArrayStorage (VM &)
 
ArrayStorage * convertContiguousToArrayStorage (VM &, NonPropertyTransition)
 
ArrayStorage * convertContiguousToArrayStorage (VM &)
 
ArrayStorage * ensureArrayStorageExistsAndEnterDictionaryIndexingMode (VM &)
 
bool defineOwnNonIndexProperty (ExecState *, PropertyName, const PropertyDescriptor &, bool throwException)
 
template<IndexingType indexingShape>
bool putByIndexBeyondVectorLengthWithoutAttributes (ExecState *, unsigned propertyName, JSValue)
 
bool putByIndexBeyondVectorLengthWithArrayStorage (ExecState *, unsigned propertyName, JSValue, bool shouldThrow, ArrayStorage *)
 
bool increaseVectorLength (VM &, unsigned newLength)
 
void deallocateSparseIndexMap ()
 
bool defineOwnIndexedProperty (ExecState *, unsigned, const PropertyDescriptor &, bool throwException)
 
SparseArrayValueMap * allocateSparseIndexMap (VM &)
 
void notifyPresenceOfIndexedAccessors (VM &)
 
bool attemptToInterceptPutByIndexOnHole (ExecState *, unsigned index, JSValue, bool shouldThrow, bool &putResult)
 
bool WARN_UNUSED_RETURN ensureLength (VM &vm, unsigned length)
 
void reallocateAndShrinkButterfly (VM &, unsigned length)
 
template<IndexingType indexingShape>
unsigned countElements (Butterfly *)
 
unsigned countElements ()
 
void finishCreation (VM &vm)
 
 JSObject (VM &, Structure *, Butterfly *=0)
 
Structure * visitButterfly (SlotVisitor &)
 
Structure * visitButterflyImpl (SlotVisitor &)
 
void markAuxiliaryAndVisitOutOfLineProperties (SlotVisitor &, Butterfly *, Structure *, PropertyOffset lastOffset)
 
ArrayStorage * arrayStorage ()
 
ArrayStorage * arrayStorageOrNull ()
 
size_t butterflyTotalSize ()
 
size_t butterflyPreCapacity ()
 
Butterfly * createInitialUndecided (VM &, unsigned length)
 
ContiguousJSValues createInitialInt32 (VM &, unsigned length)
 
ContiguousDoubles createInitialDouble (VM &, unsigned length)
 
ContiguousJSValues createInitialContiguous (VM &, unsigned length)
 
void convertUndecidedForValue (VM &, JSValue)
 
void createInitialForValueAndSet (VM &, unsigned index, JSValue)
 
void convertInt32ForValue (VM &, JSValue)
 
ArrayStorage * createArrayStorage (VM &, unsigned length, unsigned vectorLength)
 
ArrayStorage * createInitialArrayStorage (VM &)
 
ContiguousJSValues convertUndecidedToInt32 (VM &)
 
ContiguousDoubles convertUndecidedToDouble (VM &)
 
ContiguousJSValues convertUndecidedToContiguous (VM &)
 
ArrayStorage * convertUndecidedToArrayStorage (VM &, NonPropertyTransition)
 
ArrayStorage * convertUndecidedToArrayStorage (VM &)
 
ContiguousDoubles convertInt32ToDouble (VM &)
 
ContiguousJSValues convertInt32ToContiguous (VM &)
 
ArrayStorage * convertInt32ToArrayStorage (VM &, NonPropertyTransition)
 
ArrayStorage * convertInt32ToArrayStorage (VM &)
 
ContiguousJSValues convertDoubleToContiguous (VM &)
 
ArrayStorage * convertDoubleToArrayStorage (VM &, NonPropertyTransition)
 
ArrayStorage * convertDoubleToArrayStorage (VM &)
 
ArrayStorage * convertContiguousToArrayStorage (VM &, NonPropertyTransition)
 
ArrayStorage * convertContiguousToArrayStorage (VM &)
 
ArrayStorage * ensureArrayStorageExistsAndEnterDictionaryIndexingMode (VM &)
 
bool defineOwnNonIndexProperty (ExecState *, PropertyName, const PropertyDescriptor &, bool throwException)
 
template<IndexingType indexingShape>
bool putByIndexBeyondVectorLengthWithoutAttributes (ExecState *, unsigned propertyName, JSValue)
 
bool putByIndexBeyondVectorLengthWithArrayStorage (ExecState *, unsigned propertyName, JSValue, bool shouldThrow, ArrayStorage *)
 
bool increaseVectorLength (VM &, unsigned newLength)
 
void deallocateSparseIndexMap ()
 
bool defineOwnIndexedProperty (ExecState *, unsigned, const PropertyDescriptor &, bool throwException)
 
SparseArrayValueMap * allocateSparseIndexMap (VM &)
 
void notifyPresenceOfIndexedAccessors (VM &)
 
bool attemptToInterceptPutByIndexOnHole (ExecState *, unsigned index, JSValue, bool shouldThrow, bool &putResult)
 
bool WARN_UNUSED_RETURN ensureLength (VM &vm, unsigned length)
 
void reallocateAndShrinkButterfly (VM &, unsigned length)
 
template<IndexingType indexingShape>
unsigned countElements (Butterfly *)
 
unsigned countElements ()
 
- Protected Member Functions inherited from JSC::JSCell
 JSCell (VM &, Structure *)
 
void finishCreation (VM &)
 
void finishCreation (VM &, Structure *, CreatingEarlyCellTag)
 
 JSCell (VM &, Structure *)
 
void finishCreation (VM &)
 
void finishCreation (VM &, Structure *, CreatingEarlyCellTag)
 

Static Protected Member Functions

static JSInternalPromise * moduleLoaderImportModule (JSGlobalObject *, ExecState *, JSModuleLoader *, JSString *, const SourceOrigin &)
 
static JSInternalPromise * moduleLoaderResolve (JSGlobalObject *, ExecState *, JSModuleLoader *, JSValue, JSValue, JSValue)
 
static JSInternalPromise * moduleLoaderFetch (JSGlobalObject *, ExecState *, JSModuleLoader *, JSValue, JSValue)
 
- Static Protected Member Functions inherited from JSC::JSGlobalObject
static JS_EXPORT_PRIVATE JSC::JSValue toThis (JSC::JSCell *, JSC::ExecState *, ECMAMode)
 
static JS_EXPORT_PRIVATE JSC::JSValue toThis (JSC::JSCell *, JSC::ExecState *, ECMAMode)
 
- Static Protected Member Functions inherited from JSC::JSSymbolTableObject
static void visitChildren (JSCell *, SlotVisitor &)
 
static void visitChildren (JSCell *, SlotVisitor &)
 
- Static Protected Member Functions inherited from JSC::JSObject
static Structure * createStructure (VM &vm, JSGlobalObject *globalObject, JSValue prototype)
 
static Butterfly * createArrayStorageButterfly (VM &, JSCell *intendedOwner, Structure *, unsigned length, unsigned vectorLength, Butterfly *oldButterfly=nullptr)
 
static Structure * createStructure (VM &vm, JSGlobalObject *globalObject, JSValue prototype)
 
static Butterfly * createArrayStorageButterfly (VM &, JSCell *intendedOwner, Structure *, unsigned length, unsigned vectorLength, Butterfly *oldButterfly=nullptr)
 
- Static Protected Member Functions inherited from JSC::JSCell
static JS_EXPORT_PRIVATE void destroy (JSCell *)
 
static JSValue defaultValue (const JSObject *, ExecState *, PreferredPrimitiveType)
 
static NO_RETURN_DUE_TO_CRASH void getOwnPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static NO_RETURN_DUE_TO_CRASH void getOwnNonIndexPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static NO_RETURN_DUE_TO_CRASH void getPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static uint32_t getEnumerableLength (ExecState *, JSObject *)
 
static NO_RETURN_DUE_TO_CRASH void getStructurePropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static NO_RETURN_DUE_TO_CRASH void getGenericPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static NO_RETURN_DUE_TO_CRASH bool preventExtensions (JSObject *, ExecState *)
 
static NO_RETURN_DUE_TO_CRASH bool isExtensible (JSObject *, ExecState *)
 
static NO_RETURN_DUE_TO_CRASH bool setPrototype (JSObject *, ExecState *, JSValue, bool)
 
static NO_RETURN_DUE_TO_CRASH JSValue getPrototype (JSObject *, ExecState *)
 
static String className (const JSObject *)
 
static String toStringName (const JSObject *, ExecState *)
 
static JS_EXPORT_PRIVATE bool customHasInstance (JSObject *, ExecState *, JSValue)
 
static bool defineOwnProperty (JSObject *, ExecState *, PropertyName, const PropertyDescriptor &, bool shouldThrow)
 
static bool getOwnPropertySlot (JSObject *, ExecState *, PropertyName, PropertySlot &)
 
static bool getOwnPropertySlotByIndex (JSObject *, ExecState *, unsigned propertyName, PropertySlot &)
 
static JS_EXPORT_PRIVATE ArrayBuffer * slowDownAndWasteMemory (JSArrayBufferView *)
 
static JS_EXPORT_PRIVATE RefPtr< ArrayBufferView > getTypedArrayImpl (JSArrayBufferView *)
 
static JS_EXPORT_PRIVATE void destroy (JSCell *)
 
static JSValue defaultValue (const JSObject *, ExecState *, PreferredPrimitiveType)
 
static NO_RETURN_DUE_TO_CRASH void getOwnPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static NO_RETURN_DUE_TO_CRASH void getOwnNonIndexPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static NO_RETURN_DUE_TO_CRASH void getPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static uint32_t getEnumerableLength (ExecState *, JSObject *)
 
static NO_RETURN_DUE_TO_CRASH void getStructurePropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static NO_RETURN_DUE_TO_CRASH void getGenericPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static NO_RETURN_DUE_TO_CRASH bool preventExtensions (JSObject *, ExecState *)
 
static NO_RETURN_DUE_TO_CRASH bool isExtensible (JSObject *, ExecState *)
 
static NO_RETURN_DUE_TO_CRASH bool setPrototype (JSObject *, ExecState *, JSValue, bool)
 
static NO_RETURN_DUE_TO_CRASH JSValue getPrototype (JSObject *, ExecState *)
 
static String className (const JSObject *)
 
static String toStringName (const JSObject *, ExecState *)
 
static JS_EXPORT_PRIVATE bool customHasInstance (JSObject *, ExecState *, JSValue)
 
static bool defineOwnProperty (JSObject *, ExecState *, PropertyName, const PropertyDescriptor &, bool shouldThrow)
 
static bool getOwnPropertySlot (JSObject *, ExecState *, PropertyName, PropertySlot &)
 
static bool getOwnPropertySlotByIndex (JSObject *, ExecState *, unsigned propertyName, PropertySlot &)
 
static JS_EXPORT_PRIVATE ArrayBuffer * slowDownAndWasteMemory (JSArrayBufferView *)
 
static JS_EXPORT_PRIVATE RefPtr< ArrayBufferView > getTypedArrayImpl (JSArrayBufferView *)
 

Additional Inherited Members

- Public Member Functions inherited from JSC::JSGlobalObject
InlineWatchpointSet & arrayIteratorProtocolWatchpoint ()
 
InlineWatchpointSet & arraySpeciesWatchpoint ()
 
bool isArrayIteratorProtocolFastAndNonObservable ()
 
void createRareDataIfNeeded ()
 
bool hasDebugger () const
 
bool hasInteractiveDebugger () const
 
const RuntimeFlags & runtimeFlags () const
 
JS_EXPORT_PRIVATE ~JSGlobalObject ()
 
void addVar (ExecState *exec, const Identifier &propertyName)
 
void addFunction (ExecState *, const Identifier &)
 
JSScope * globalScope ()
 
JSGlobalLexicalEnvironment * globalLexicalEnvironment ()
 
JSScope * globalScopeExtension ()
 
void setGlobalScopeExtension (JSScope *)
 
void clearGlobalScopeExtension ()
 
GetterSetter * speciesGetterSetter () const
 
RegExpConstructor * regExpConstructor () const
 
ErrorConstructor * errorConstructor () const
 
ArrayConstructor * arrayConstructor () const
 
ObjectConstructor * objectConstructor () const
 
JSPromiseConstructor * promiseConstructor () const
 
JSInternalPromiseConstructor * internalPromiseConstructor () const
 
NativeErrorConstructor * evalErrorConstructor () const
 
NativeErrorConstructor * rangeErrorConstructor () const
 
NativeErrorConstructor * referenceErrorConstructor () const
 
NativeErrorConstructor * syntaxErrorConstructor () const
 
NativeErrorConstructor * typeErrorConstructor () const
 
NativeErrorConstructor * URIErrorConstructor () const
 
NullGetterFunction * nullGetterFunction () const
 
NullSetterFunction * nullSetterFunction () const
 
JSFunction * parseIntFunction () const
 
JSFunction * evalFunction () const
 
JSFunction * callFunction () const
 
JSFunction * applyFunction () const
 
JSFunction * throwTypeErrorFunction () const
 
JSFunction * arrayProtoToStringFunction () const
 
JSFunction * arrayProtoValuesFunction () const
 
JSFunction * initializePromiseFunction () const
 
JSFunction * iteratorProtocolFunction () const
 
JSFunction * objectProtoValueOfFunction () const
 
JSFunction * newPromiseCapabilityFunction () const
 
JSFunction * functionProtoHasInstanceSymbolFunction () const
 
JSObject * regExpProtoExecFunction () const
 
JSObject * regExpProtoSymbolReplaceFunction () const
 
JSObject * regExpProtoGlobalGetter () const
 
JSObject * regExpProtoUnicodeGetter () const
 
GetterSetter * throwTypeErrorArgumentsCalleeAndCallerGetterSetter ()
 
JSModuleLoader * moduleLoader () const
 
ObjectPrototype * objectPrototype () const
 
FunctionPrototype * functionPrototype () const
 
ArrayPrototype * arrayPrototype () const
 
JSObject * booleanPrototype () const
 
StringPrototype * stringPrototype () const
 
SymbolPrototype * symbolPrototype () const
 
JSObject * numberPrototype () const
 
JSObject * datePrototype () const
 
RegExpPrototype * regExpPrototype () const
 
ErrorPrototype * errorPrototype () const
 
IteratorPrototype * iteratorPrototype () const
 
GeneratorFunctionPrototype * generatorFunctionPrototype () const
 
GeneratorPrototype * generatorPrototype () const
 
AsyncFunctionPrototype * asyncFunctionPrototype () const
 
Structure * debuggerScopeStructure () const
 
Structure * withScopeStructure () const
 
Structure * strictEvalActivationStructure () const
 
Structure * activationStructure () const
 
Structure * moduleEnvironmentStructure () const
 
Structure * directArgumentsStructure () const
 
Structure * scopedArgumentsStructure () const
 
Structure * clonedArgumentsStructure () const
 
Structure * objectStructureForObjectConstructor () const
 
Structure * originalArrayStructureForIndexingType (IndexingType indexingType) const
 
Structure * arrayStructureForIndexingTypeDuringAllocation (IndexingType indexingType) const
 
Structure * arrayStructureForIndexingTypeDuringAllocation (ExecState *exec, IndexingType indexingType, JSValue newTarget) const
 
Structure * arrayStructureForProfileDuringAllocation (ExecState *exec, ArrayAllocationProfile *profile, JSValue newTarget) const
 
bool isOriginalArrayStructure (Structure *structure)
 
Structure * booleanObjectStructure () const
 
Structure * callbackConstructorStructure () const
 
Structure * callbackFunctionStructure () const
 
Structure * callbackObjectStructure () const
 
Structure * propertyNameIteratorStructure () const
 
Structure * dateStructure () const
 
Structure * nullPrototypeObjectStructure () const
 
Structure * errorStructure () const
 
Structure * calleeStructure () const
 
Structure * functionStructure () const
 
Structure * boundFunctionStructure () const
 
Structure * customGetterSetterFunctionStructure () const
 
Structure * getterSetterStructure () const
 
Structure * nativeStdFunctionStructure () const
 
Structure * namedFunctionStructure () const
 
PropertyOffset functionNameOffset () const
 
Structure * numberObjectStructure () const
 
Structure * privateNameStructure () const
 
Structure * mapStructure () const
 
Structure * regExpStructure () const
 
Structure * generatorFunctionStructure () const
 
Structure * asyncFunctionStructure () const
 
Structure * setStructure () const
 
Structure * stringObjectStructure () const
 
Structure * symbolObjectStructure () const
 
Structure * iteratorResultObjectStructure () const
 
Structure * regExpMatchesArrayStructure () const
 
Structure * moduleRecordStructure () const
 
Structure * moduleNamespaceObjectStructure () const
 
Structure * proxyObjectStructure () const
 
Structure * callableProxyObjectStructure () const
 
Structure * proxyRevokeStructure () const
 
Structure * moduleLoaderStructure () const
 
Structure * restParameterStructure () const
 
JS_EXPORT_PRIVATE void setRemoteDebuggingEnabled (bool)
 
JS_EXPORT_PRIVATE bool remoteDebuggingEnabled () const
 
void setConsoleClient (ConsoleClient *consoleClient)
 
ConsoleClient * consoleClient () const
 
void setName (const String &)
 
const String & name () const
 
JSArrayBufferPrototype * arrayBufferPrototype (ArrayBufferSharingMode sharingMode) const
 
Structure * arrayBufferStructure (ArrayBufferSharingMode sharingMode) const
 
LazyClassStructure & lazyTypedArrayStructure (TypedArrayType type)
 
const LazyClassStructure & lazyTypedArrayStructure (TypedArrayType type) const
 
Structure * typedArrayStructure (TypedArrayType type) const
 
Structure * typedArrayStructureConcurrently (TypedArrayType type) const
 
bool isOriginalTypedArrayStructure (Structure *structure)
 
JSObject * typedArrayConstructor (TypedArrayType type) const
 
JSCell * actualPointerFor (Special::Pointer pointer)
 
JSCell * jsCellForLinkTimeConstant (LinkTimeConstant type)
 
WatchpointSet * masqueradesAsUndefinedWatchpoint ()
 
WatchpointSet * havingABadTimeWatchpoint ()
 
WatchpointSet * varInjectionWatchpoint ()
 
bool isHavingABadTime () const
 
void haveABadTime (VM &)
 
bool objectPrototypeIsSane ()
 
bool arrayPrototypeChainIsSane ()
 
bool stringPrototypeChainIsSane ()
 
void setProfileGroup (unsigned value)
 
unsigned profileGroup () const
 
Debugger * debugger () const
 
void setDebugger (Debugger *debugger)
 
const GlobalObjectMethodTable * globalObjectMethodTable () const
 
JS_EXPORT_PRIVATE ExecState * globalExec ()
 
void queueMicrotask (Ref< Microtask > &&)
 
bool evalEnabled () const
 
const String & evalDisabledErrorMessage () const
 
void setEvalEnabled (bool enabled, const String &errorMessage=String())
 
void resetPrototype (VM &, JSValue prototype)
 
VM & vm () const
 
JSObject * globalThis () const
 
void registerWeakMap (OpaqueJSWeakObjectMap *map)
 
void unregisterWeakMap (OpaqueJSWeakObjectMap *map)
 
OpaqueJSClassDataMap & opaqueJSClassData ()
 
TemplateRegistry & templateRegistry ()
 
double weakRandomNumber ()
 
unsigned weakRandomInteger ()
 
WeakRandom & weakRandom ()
 
bool needsSiteSpecificQuirks () const
 
InlineWatchpointSet & arrayIteratorProtocolWatchpoint ()
 
InlineWatchpointSet & arraySpeciesWatchpoint ()
 
bool isArrayIteratorProtocolFastAndNonObservable ()
 
void createRareDataIfNeeded ()
 
bool hasDebugger () const
 
bool hasInteractiveDebugger () const
 
const RuntimeFlags & runtimeFlags () const
 
JS_EXPORT_PRIVATE ~JSGlobalObject ()
 
void addVar (ExecState *exec, const Identifier &propertyName)
 
void addFunction (ExecState *, const Identifier &)
 
JSScope * globalScope ()
 
JSGlobalLexicalEnvironment * globalLexicalEnvironment ()
 
JSScope * globalScopeExtension ()
 
void setGlobalScopeExtension (JSScope *)
 
void clearGlobalScopeExtension ()
 
GetterSetter * speciesGetterSetter () const
 
RegExpConstructor * regExpConstructor () const
 
ErrorConstructor * errorConstructor () const
 
ArrayConstructor * arrayConstructor () const
 
ObjectConstructor * objectConstructor () const
 
JSPromiseConstructor * promiseConstructor () const
 
JSInternalPromiseConstructor * internalPromiseConstructor () const
 
NativeErrorConstructor * evalErrorConstructor () const
 
NativeErrorConstructor * rangeErrorConstructor () const
 
NativeErrorConstructor * referenceErrorConstructor () const
 
NativeErrorConstructor * syntaxErrorConstructor () const
 
NativeErrorConstructor * typeErrorConstructor () const
 
NativeErrorConstructor * URIErrorConstructor () const
 
NullGetterFunction * nullGetterFunction () const
 
NullSetterFunction * nullSetterFunction () const
 
JSFunction * parseIntFunction () const
 
JSFunction * evalFunction () const
 
JSFunction * callFunction () const
 
JSFunction * applyFunction () const
 
JSFunction * throwTypeErrorFunction () const
 
JSFunction * arrayProtoToStringFunction () const
 
JSFunction * arrayProtoValuesFunction () const
 
JSFunction * initializePromiseFunction () const
 
JSFunction * iteratorProtocolFunction () const
 
JSFunction * objectProtoValueOfFunction () const
 
JSFunction * newPromiseCapabilityFunction () const
 
JSFunction * functionProtoHasInstanceSymbolFunction () const
 
JSObject * regExpProtoExecFunction () const
 
JSObject * regExpProtoSymbolReplaceFunction () const
 
JSObject * regExpProtoGlobalGetter () const
 
JSObject * regExpProtoUnicodeGetter () const
 
GetterSetter * throwTypeErrorArgumentsCalleeAndCallerGetterSetter ()
 
JSModuleLoader * moduleLoader () const
 
ObjectPrototype * objectPrototype () const
 
FunctionPrototype * functionPrototype () const
 
ArrayPrototype * arrayPrototype () const
 
JSObject * booleanPrototype () const
 
StringPrototype * stringPrototype () const
 
SymbolPrototype * symbolPrototype () const
 
JSObject * numberPrototype () const
 
JSObject * datePrototype () const
 
RegExpPrototype * regExpPrototype () const
 
ErrorPrototype * errorPrototype () const
 
IteratorPrototype * iteratorPrototype () const
 
GeneratorFunctionPrototype * generatorFunctionPrototype () const
 
GeneratorPrototype * generatorPrototype () const
 
AsyncFunctionPrototype * asyncFunctionPrototype () const
 
Structure * debuggerScopeStructure () const
 
Structure * withScopeStructure () const
 
Structure * strictEvalActivationStructure () const
 
Structure * activationStructure () const
 
Structure * moduleEnvironmentStructure () const
 
Structure * directArgumentsStructure () const
 
Structure * scopedArgumentsStructure () const
 
Structure * clonedArgumentsStructure () const
 
Structure * objectStructureForObjectConstructor () const
 
Structure * originalArrayStructureForIndexingType (IndexingType indexingType) const
 
Structure * arrayStructureForIndexingTypeDuringAllocation (IndexingType indexingType) const
 
Structure * arrayStructureForIndexingTypeDuringAllocation (ExecState *exec, IndexingType indexingType, JSValue newTarget) const
 
Structure * arrayStructureForProfileDuringAllocation (ExecState *exec, ArrayAllocationProfile *profile, JSValue newTarget) const
 
bool isOriginalArrayStructure (Structure *structure)
 
Structure * booleanObjectStructure () const
 
Structure * callbackConstructorStructure () const
 
Structure * callbackFunctionStructure () const
 
Structure * callbackObjectStructure () const
 
Structure * propertyNameIteratorStructure () const
 
Structure * dateStructure () const
 
Structure * nullPrototypeObjectStructure () const
 
Structure * errorStructure () const
 
Structure * calleeStructure () const
 
Structure * functionStructure () const
 
Structure * boundFunctionStructure () const
 
Structure * customGetterSetterFunctionStructure () const
 
Structure * getterSetterStructure () const
 
Structure * nativeStdFunctionStructure () const
 
Structure * namedFunctionStructure () const
 
PropertyOffset functionNameOffset () const
 
Structure * numberObjectStructure () const
 
Structure * privateNameStructure () const
 
Structure * mapStructure () const
 
Structure * regExpStructure () const
 
Structure * generatorFunctionStructure () const
 
Structure * asyncFunctionStructure () const
 
Structure * setStructure () const
 
Structure * stringObjectStructure () const
 
Structure * symbolObjectStructure () const
 
Structure * iteratorResultObjectStructure () const
 
Structure * regExpMatchesArrayStructure () const
 
Structure * moduleRecordStructure () const
 
Structure * moduleNamespaceObjectStructure () const
 
Structure * proxyObjectStructure () const
 
Structure * callableProxyObjectStructure () const
 
Structure * proxyRevokeStructure () const
 
Structure * moduleLoaderStructure () const
 
Structure * restParameterStructure () const
 
JS_EXPORT_PRIVATE void setRemoteDebuggingEnabled (bool)
 
JS_EXPORT_PRIVATE bool remoteDebuggingEnabled () const
 
void setConsoleClient (ConsoleClient *consoleClient)
 
ConsoleClient * consoleClient () const
 
void setName (const String &)
 
const String & name () const
 
JSArrayBufferPrototype * arrayBufferPrototype (ArrayBufferSharingMode sharingMode) const
 
Structure * arrayBufferStructure (ArrayBufferSharingMode sharingMode) const
 
LazyClassStructure & lazyTypedArrayStructure (TypedArrayType type)
 
const LazyClassStructure & lazyTypedArrayStructure (TypedArrayType type) const
 
Structure * typedArrayStructure (TypedArrayType type) const
 
Structure * typedArrayStructureConcurrently (TypedArrayType type) const
 
bool isOriginalTypedArrayStructure (Structure *structure)
 
JSObject * typedArrayConstructor (TypedArrayType type) const
 
JSCell * actualPointerFor (Special::Pointer pointer)
 
JSCell * jsCellForLinkTimeConstant (LinkTimeConstant type)
 
WatchpointSet * masqueradesAsUndefinedWatchpoint ()
 
WatchpointSet * havingABadTimeWatchpoint ()
 
WatchpointSet * varInjectionWatchpoint ()
 
bool isHavingABadTime () const
 
void haveABadTime (VM &)
 
bool objectPrototypeIsSane ()
 
bool arrayPrototypeChainIsSane ()
 
bool stringPrototypeChainIsSane ()
 
void setProfileGroup (unsigned value)
 
unsigned profileGroup () const
 
Debugger * debugger () const
 
void setDebugger (Debugger *debugger)
 
const GlobalObjectMethodTable * globalObjectMethodTable () const
 
JS_EXPORT_PRIVATE ExecState * globalExec ()
 
void queueMicrotask (Ref< Microtask > &&)
 
bool evalEnabled () const
 
const String & evalDisabledErrorMessage () const
 
void setEvalEnabled (bool enabled, const String &errorMessage=String())
 
void resetPrototype (VM &, JSValue prototype)
 
VM & vm () const
 
JSObject * globalThis () const
 
void registerWeakMap (OpaqueJSWeakObjectMap *map)
 
void unregisterWeakMap (OpaqueJSWeakObjectMap *map)
 
OpaqueJSClassDataMap & opaqueJSClassData ()
 
TemplateRegistry & templateRegistry ()
 
double weakRandomNumber ()
 
unsigned weakRandomInteger ()
 
WeakRandom & weakRandom ()
 
bool needsSiteSpecificQuirks () const
 
- Public Member Functions inherited from JSC::JSSegmentedVariableObject
bool isValidScopeOffset (ScopeOffset offset)
 
WriteBarrier< Unknown > & variableAt (ScopeOffset offset)
 
JS_EXPORT_PRIVATE ScopeOffset findVariableIndex (void *)
 
WriteBarrier< Unknown > * assertVariableIsInThisObject (WriteBarrier< Unknown > *variablePointer)
 
JS_EXPORT_PRIVATE ScopeOffset addVariables (unsigned numberOfVariablesToAdd, JSValue)
 
const ClassInfo * classInfo () const
 
bool isValidScopeOffset (ScopeOffset offset)
 
WriteBarrier< Unknown > & variableAt (ScopeOffset offset)
 
JS_EXPORT_PRIVATE ScopeOffset findVariableIndex (void *)
 
WriteBarrier< Unknown > * assertVariableIsInThisObject (WriteBarrier< Unknown > *variablePointer)
 
JS_EXPORT_PRIVATE ScopeOffset addVariables (unsigned numberOfVariablesToAdd, JSValue)
 
const ClassInfo * classInfo () const
 
- Public Member Functions inherited from JSC::JSSymbolTableObject
SymbolTable * symbolTable () const
 
SymbolTable * symbolTable () const
 
- Public Member Functions inherited from JSC::JSScope
bool isVarScope ()
 
bool isLexicalScope ()
 
bool isModuleScope ()
 
bool isCatchScope ()
 
bool isFunctionNameScopeObject ()
 
bool isNestedLexicalScope ()
 
ScopeChainIterator begin ()
 
ScopeChainIterator end ()
 
JSScope * next ()
 
JSGlobalObject * globalObject ()
 
JSGlobalObject * globalObject (VM &)
 
JSObject * globalThis ()
 
SymbolTable * symbolTable (VM &)
 
bool isVarScope ()
 
bool isLexicalScope ()
 
bool isModuleScope ()
 
bool isCatchScope ()
 
bool isFunctionNameScopeObject ()
 
bool isNestedLexicalScope ()
 
ScopeChainIterator begin ()
 
ScopeChainIterator end ()
 
JSScope * next ()
 
JSGlobalObject * globalObject ()
 
JSGlobalObject * globalObject (VM &)
 
JSObject * globalThis ()
 
SymbolTable * symbolTable (VM &)
 
- Public Member Functions inherited from JSC::JSObject
JSValue getPrototype (VM &, ExecState *)
 
JSValue getPrototypeDirect () const
 
JS_EXPORT_PRIVATE void setPrototypeDirect (VM &, JSValue prototype)
 
bool setPrototype (VM &, ExecState *, JSValue prototype, bool shouldThrowIfCantSet=false)
 
bool mayInterceptIndexedAccesses ()
 
JSValue get (ExecState *, PropertyName) const
 
JSValue get (ExecState *, unsigned propertyName) const
 
bool getPropertySlot (ExecState *, PropertyName, PropertySlot &)
 
bool getPropertySlot (ExecState *, unsigned propertyName, PropertySlot &)
 
template<typename CallbackWhenNoException >
std::result_of< CallbackWhenNoException(bool, PropertySlot &)>::type getPropertySlot (ExecState *, PropertyName, CallbackWhenNoException) const
 
template<typename CallbackWhenNoException >
std::result_of< CallbackWhenNoException(bool, PropertySlot &)>::type getPropertySlot (ExecState *, PropertyName, PropertySlot &, CallbackWhenNoException) const
 
JS_EXPORT_PRIVATE bool getOwnPropertyDescriptor (ExecState *, PropertyName, PropertyDescriptor &)
 
unsigned getArrayLength () const
 
unsigned getVectorLength ()
 
ALWAYS_INLINE bool putByIndexInline (ExecState *exec, unsigned propertyName, JSValue value, bool shouldThrow)
 
bool putDirectIndex (ExecState *exec, unsigned propertyName, JSValue value, unsigned attributes, PutDirectIndexMode mode)
 
bool putDirectIndex (ExecState *exec, unsigned propertyName, JSValue value)
 
JS_EXPORT_PRIVATE bool putDirectMayBeIndex (ExecState *, PropertyName, JSValue)
 
bool hasIndexingHeader () const
 
bool canGetIndexQuickly (unsigned i)
 
JSValue getIndexQuickly (unsigned i)
 
JSValue tryGetIndexQuickly (unsigned i) const
 
JSValue getDirectIndex (ExecState *exec, unsigned i)
 
JSValue getIndex (ExecState *exec, unsigned i) const
 
bool canSetIndexQuickly (unsigned i)
 
bool canSetIndexQuicklyForPutDirect (unsigned i)
 
void setIndexQuickly (VM &vm, unsigned i, JSValue v)
 
void initializeIndex (VM &vm, unsigned i, JSValue v)
 
ALWAYS_INLINE void initializeIndex (VM &vm, unsigned i, JSValue v, IndexingType indexingType)
 
void initializeIndexWithoutBarrier (unsigned i, JSValue v)
 
ALWAYS_INLINE void initializeIndexWithoutBarrier (unsigned i, JSValue v, IndexingType indexingType)
 
bool hasSparseMap ()
 
bool inSparseIndexingMode ()
 
void enterDictionaryIndexingMode (VM &)
 
bool putDirect (VM &, PropertyName, JSValue, unsigned attributes=0)
 
bool putDirect (VM &, PropertyName, JSValue, PutPropertySlot &)
 
void putDirectWithoutTransition (VM &, PropertyName, JSValue, unsigned attributes=0)
 
bool putDirectNonIndexAccessor (VM &, PropertyName, JSValue, unsigned attributes)
 
bool putDirectAccessor (ExecState *, PropertyName, JSValue, unsigned attributes)
 
JS_EXPORT_PRIVATE bool putDirectCustomAccessor (VM &, PropertyName, JSValue, unsigned attributes)
 
bool putGetter (ExecState *, PropertyName, JSValue, unsigned attributes)
 
bool putSetter (ExecState *, PropertyName, JSValue, unsigned attributes)
 
JS_EXPORT_PRIVATE bool hasProperty (ExecState *, PropertyName) const
 
JS_EXPORT_PRIVATE bool hasProperty (ExecState *, unsigned propertyName) const
 
bool hasPropertyGeneric (ExecState *, PropertyName, PropertySlot::InternalMethodType) const
 
bool hasPropertyGeneric (ExecState *, unsigned propertyName, PropertySlot::InternalMethodType) const
 
bool hasOwnProperty (ExecState *, PropertyName, PropertySlot &) const
 
bool hasOwnProperty (ExecState *, PropertyName) const
 
bool hasOwnProperty (ExecState *, unsigned) const
 
JSValue ordinaryToPrimitive (ExecState *, PreferredPrimitiveType) const
 
JS_EXPORT_PRIVATE bool hasInstance (ExecState *, JSValue value, JSValue hasInstanceValue)
 
JS_EXPORT_PRIVATE bool hasInstance (ExecState *, JSValue)
 
JS_EXPORT_PRIVATE JSValue toPrimitive (ExecState *, PreferredPrimitiveType=NoPreference) const
 
bool getPrimitiveNumber (ExecState *, double &number, JSValue &) const
 
JS_EXPORT_PRIVATE double toNumber (ExecState *) const
 
JS_EXPORT_PRIVATE JSString * toString (ExecState *) const
 
JSValue getDirect (VM &vm, PropertyName propertyName) const
 
JSValue getDirect (VM &vm, PropertyName propertyName, unsigned &attributes) const
 
PropertyOffset getDirectOffset (VM &vm, PropertyName propertyName)
 
PropertyOffset getDirectOffset (VM &vm, PropertyName propertyName, unsigned &attributes)
 
bool hasInlineStorage () const
 
ConstPropertyStorage inlineStorageUnsafe () const
 
PropertyStorage inlineStorageUnsafe ()
 
ConstPropertyStorage inlineStorage () const
 
PropertyStorage inlineStorage ()
 
const Butterfly * butterfly () const
 
Butterfly * butterfly ()
 
ConstPropertyStorage outOfLineStorage () const
 
PropertyStorage outOfLineStorage ()
 
const WriteBarrierBase< Unknown > * locationForOffset (PropertyOffset offset) const
 
WriteBarrierBase< Unknown > * locationForOffset (PropertyOffset offset)
 
void transitionTo (VM &, Structure *)
 
bool hasCustomProperties ()
 
bool hasGetterSetterProperties ()
 
bool hasCustomGetterSetterProperties ()
 
bool putOwnDataProperty (VM &, PropertyName, JSValue, PutPropertySlot &)
 
bool putOwnDataPropertyMayBeIndex (ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
JSValue getDirect (PropertyOffset offset) const
 
void putDirect (VM &vm, PropertyOffset offset, JSValue value)
 
void putDirectWithoutBarrier (PropertyOffset offset, JSValue value)
 
void putDirectUndefined (PropertyOffset offset)
 
JS_EXPORT_PRIVATE bool putDirectNativeIntrinsicGetter (VM &, JSGlobalObject *, Identifier, NativeFunction, Intrinsic, unsigned attributes)
 
JS_EXPORT_PRIVATE bool putDirectNativeFunction (VM &, JSGlobalObject *, const PropertyName &, unsigned functionLength, NativeFunction, Intrinsic, unsigned attributes)
 
JS_EXPORT_PRIVATE bool putDirectNativeFunction (VM &, JSGlobalObject *, const PropertyName &, unsigned functionLength, NativeFunction, Intrinsic, const DOMJIT::Signature *, unsigned attributes)
 
JS_EXPORT_PRIVATE JSFunction * putDirectBuiltinFunction (VM &, JSGlobalObject *, const PropertyName &, FunctionExecutable *, unsigned attributes)
 
JSFunction * putDirectBuiltinFunctionWithoutTransition (VM &, JSGlobalObject *, const PropertyName &, FunctionExecutable *, unsigned attributes)
 
JS_EXPORT_PRIVATE void putDirectNativeFunctionWithoutTransition (VM &, JSGlobalObject *, const PropertyName &, unsigned functionLength, NativeFunction, Intrinsic, unsigned attributes)
 
bool isEnvironmentRecord () const
 
bool isGlobalObject () const
 
bool isJSLexicalEnvironment () const
 
bool isGlobalLexicalEnvironment () const
 
bool isStrictEvalActivation () const
 
bool isWithScope () const
 
bool isErrorInstance () const
 
JS_EXPORT_PRIVATE void seal (VM &)
 
JS_EXPORT_PRIVATE void freeze (VM &)
 
bool isSealed (VM &vm)
 
bool isFrozen (VM &vm)
 
ALWAYS_INLINE bool isStructureExtensible ()
 
bool isExtensible (ExecState *)
 
bool indexingShouldBeSparse ()
 
bool staticPropertiesReified ()
 
void reifyAllStaticProperties (ExecState *)
 
JS_EXPORT_PRIVATE Butterfly * allocateMoreOutOfLineStorage (VM &, size_t oldSize, size_t newSize)
 
void setButterfly (VM &, Butterfly *)
 
void nukeStructureAndSetButterfly (VM &, StructureID, Butterfly *)
 
void setStructure (VM &, Structure *)
 
JS_EXPORT_PRIVATE void convertToDictionary (VM &)
 
void flattenDictionaryObject (VM &vm)
 
void shiftButterflyAfterFlattening (const GCSafeConcurrentJSLocker &, VM &, Structure *structure, size_t outOfLineCapacityAfter)
 
JSGlobalObject * globalObject () const
 
JSGlobalObject * globalObject (VM &vm) const
 
void switchToSlowPutArrayStorage (VM &)
 
bool attemptToInterceptPutByIndexOnHoleForPrototype (ExecState *, JSValue thisValue, unsigned propertyName, JSValue, bool shouldThrow, bool &putResult)
 
ContiguousJSValues ensureInt32 (VM &vm)
 
ContiguousDoubles ensureDouble (VM &vm)
 
ContiguousJSValues ensureContiguous (VM &vm)
 
ArrayStorage * ensureArrayStorage (VM &vm)
 
void * butterflyAddress ()
 
JS_EXPORT_PRIVATE JSValue getMethod (ExecState *, CallData &, CallType &, const Identifier &, const String &errorMessage)
 
JSValue getPrototype (VM &, ExecState *)
 
JSValue getPrototypeDirect () const
 
JS_EXPORT_PRIVATE void setPrototypeDirect (VM &, JSValue prototype)
 
bool setPrototype (VM &, ExecState *, JSValue prototype, bool shouldThrowIfCantSet=false)
 
bool mayInterceptIndexedAccesses ()
 
JSValue get (ExecState *, PropertyName) const
 
JSValue get (ExecState *, unsigned propertyName) const
 
bool getPropertySlot (ExecState *, PropertyName, PropertySlot &)
 
bool getPropertySlot (ExecState *, unsigned propertyName, PropertySlot &)
 
template<typename CallbackWhenNoException >
std::result_of< CallbackWhenNoException(bool, PropertySlot &)>::type getPropertySlot (ExecState *, PropertyName, CallbackWhenNoException) const
 
template<typename CallbackWhenNoException >
std::result_of< CallbackWhenNoException(bool, PropertySlot &)>::type getPropertySlot (ExecState *, PropertyName, PropertySlot &, CallbackWhenNoException) const
 
JS_EXPORT_PRIVATE bool getOwnPropertyDescriptor (ExecState *, PropertyName, PropertyDescriptor &)
 
unsigned getArrayLength () const
 
unsigned getVectorLength ()
 
ALWAYS_INLINE bool putByIndexInline (ExecState *exec, unsigned propertyName, JSValue value, bool shouldThrow)
 
bool putDirectIndex (ExecState *exec, unsigned propertyName, JSValue value, unsigned attributes, PutDirectIndexMode mode)
 
bool putDirectIndex (ExecState *exec, unsigned propertyName, JSValue value)
 
JS_EXPORT_PRIVATE bool putDirectMayBeIndex (ExecState *, PropertyName, JSValue)
 
bool hasIndexingHeader () const
 
bool canGetIndexQuickly (unsigned i)
 
JSValue getIndexQuickly (unsigned i)
 
JSValue tryGetIndexQuickly (unsigned i) const
 
JSValue getDirectIndex (ExecState *exec, unsigned i)
 
JSValue getIndex (ExecState *exec, unsigned i) const
 
bool canSetIndexQuickly (unsigned i)
 
bool canSetIndexQuicklyForPutDirect (unsigned i)
 
void setIndexQuickly (VM &vm, unsigned i, JSValue v)
 
void initializeIndex (VM &vm, unsigned i, JSValue v)
 
ALWAYS_INLINE void initializeIndex (VM &vm, unsigned i, JSValue v, IndexingType indexingType)
 
void initializeIndexWithoutBarrier (unsigned i, JSValue v)
 
ALWAYS_INLINE void initializeIndexWithoutBarrier (unsigned i, JSValue v, IndexingType indexingType)
 
bool hasSparseMap ()
 
bool inSparseIndexingMode ()
 
void enterDictionaryIndexingMode (VM &)
 
bool putDirect (VM &, PropertyName, JSValue, unsigned attributes=0)
 
bool putDirect (VM &, PropertyName, JSValue, PutPropertySlot &)
 
void putDirectWithoutTransition (VM &, PropertyName, JSValue, unsigned attributes=0)
 
bool putDirectNonIndexAccessor (VM &, PropertyName, JSValue, unsigned attributes)
 
bool putDirectAccessor (ExecState *, PropertyName, JSValue, unsigned attributes)
 
JS_EXPORT_PRIVATE bool putDirectCustomAccessor (VM &, PropertyName, JSValue, unsigned attributes)
 
bool putGetter (ExecState *, PropertyName, JSValue, unsigned attributes)
 
bool putSetter (ExecState *, PropertyName, JSValue, unsigned attributes)
 
JS_EXPORT_PRIVATE bool hasProperty (ExecState *, PropertyName) const
 
JS_EXPORT_PRIVATE bool hasProperty (ExecState *, unsigned propertyName) const
 
bool hasPropertyGeneric (ExecState *, PropertyName, PropertySlot::InternalMethodType) const
 
bool hasPropertyGeneric (ExecState *, unsigned propertyName, PropertySlot::InternalMethodType) const
 
bool hasOwnProperty (ExecState *, PropertyName, PropertySlot &) const
 
bool hasOwnProperty (ExecState *, PropertyName) const
 
bool hasOwnProperty (ExecState *, unsigned) const
 
JSValue ordinaryToPrimitive (ExecState *, PreferredPrimitiveType) const
 
JS_EXPORT_PRIVATE bool hasInstance (ExecState *, JSValue value, JSValue hasInstanceValue)
 
JS_EXPORT_PRIVATE bool hasInstance (ExecState *, JSValue)
 
JS_EXPORT_PRIVATE JSValue toPrimitive (ExecState *, PreferredPrimitiveType=NoPreference) const
 
bool getPrimitiveNumber (ExecState *, double &number, JSValue &) const
 
JS_EXPORT_PRIVATE double toNumber (ExecState *) const
 
JS_EXPORT_PRIVATE JSString * toString (ExecState *) const
 
JSValue getDirect (VM &vm, PropertyName propertyName) const
 
JSValue getDirect (VM &vm, PropertyName propertyName, unsigned &attributes) const
 
PropertyOffset getDirectOffset (VM &vm, PropertyName propertyName)
 
PropertyOffset getDirectOffset (VM &vm, PropertyName propertyName, unsigned &attributes)
 
bool hasInlineStorage () const
 
ConstPropertyStorage inlineStorageUnsafe () const
 
PropertyStorage inlineStorageUnsafe ()
 
ConstPropertyStorage inlineStorage () const
 
PropertyStorage inlineStorage ()
 
const Butterfly * butterfly () const
 
Butterfly * butterfly ()
 
ConstPropertyStorage outOfLineStorage () const
 
PropertyStorage outOfLineStorage ()
 
const WriteBarrierBase< Unknown > * locationForOffset (PropertyOffset offset) const
 
WriteBarrierBase< Unknown > * locationForOffset (PropertyOffset offset)
 
void transitionTo (VM &, Structure *)
 
bool hasCustomProperties ()
 
bool hasGetterSetterProperties ()
 
bool hasCustomGetterSetterProperties ()
 
bool putOwnDataProperty (VM &, PropertyName, JSValue, PutPropertySlot &)
 
bool putOwnDataPropertyMayBeIndex (ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
JSValue getDirect (PropertyOffset offset) const
 
void putDirect (VM &vm, PropertyOffset offset, JSValue value)
 
void putDirectWithoutBarrier (PropertyOffset offset, JSValue value)
 
void putDirectUndefined (PropertyOffset offset)
 
JS_EXPORT_PRIVATE bool putDirectNativeIntrinsicGetter (VM &, JSGlobalObject *, Identifier, NativeFunction, Intrinsic, unsigned attributes)
 
JS_EXPORT_PRIVATE bool putDirectNativeFunction (VM &, JSGlobalObject *, const PropertyName &, unsigned functionLength, NativeFunction, Intrinsic, unsigned attributes)
 
JS_EXPORT_PRIVATE bool putDirectNativeFunction (VM &, JSGlobalObject *, const PropertyName &, unsigned functionLength, NativeFunction, Intrinsic, const DOMJIT::Signature *, unsigned attributes)
 
JS_EXPORT_PRIVATE JSFunction * putDirectBuiltinFunction (VM &, JSGlobalObject *, const PropertyName &, FunctionExecutable *, unsigned attributes)
 
JSFunction * putDirectBuiltinFunctionWithoutTransition (VM &, JSGlobalObject *, const PropertyName &, FunctionExecutable *, unsigned attributes)
 
JS_EXPORT_PRIVATE void putDirectNativeFunctionWithoutTransition (VM &, JSGlobalObject *, const PropertyName &, unsigned functionLength, NativeFunction, Intrinsic, unsigned attributes)
 
bool isEnvironmentRecord () const
 
bool isGlobalObject () const
 
bool isJSLexicalEnvironment () const
 
bool isGlobalLexicalEnvironment () const
 
bool isStrictEvalActivation () const
 
bool isWithScope () const
 
bool isErrorInstance () const
 
JS_EXPORT_PRIVATE void seal (VM &)
 
JS_EXPORT_PRIVATE void freeze (VM &)
 
bool isSealed (VM &vm)
 
bool isFrozen (VM &vm)
 
ALWAYS_INLINE bool isStructureExtensible ()
 
bool isExtensible (ExecState *)
 
bool indexingShouldBeSparse ()
 
bool staticPropertiesReified ()
 
void reifyAllStaticProperties (ExecState *)
 
JS_EXPORT_PRIVATE Butterfly * allocateMoreOutOfLineStorage (VM &, size_t oldSize, size_t newSize)
 
void setButterfly (VM &, Butterfly *)
 
void nukeStructureAndSetButterfly (VM &, StructureID, Butterfly *)
 
void setStructure (VM &, Structure *)
 
JS_EXPORT_PRIVATE void convertToDictionary (VM &)
 
void flattenDictionaryObject (VM &vm)
 
void shiftButterflyAfterFlattening (const GCSafeConcurrentJSLocker &, VM &, Structure *structure, size_t outOfLineCapacityAfter)
 
JSGlobalObject * globalObject () const
 
JSGlobalObject * globalObject (VM &vm) const
 
void switchToSlowPutArrayStorage (VM &)
 
bool attemptToInterceptPutByIndexOnHoleForPrototype (ExecState *, JSValue thisValue, unsigned propertyName, JSValue, bool shouldThrow, bool &putResult)
 
ContiguousJSValues ensureInt32 (VM &vm)
 
ContiguousDoubles ensureDouble (VM &vm)
 
ContiguousJSValues ensureContiguous (VM &vm)
 
ArrayStorage * ensureArrayStorage (VM &vm)
 
void * butterflyAddress ()
 
JS_EXPORT_PRIVATE JSValue getMethod (ExecState *, CallData &, CallType &, const Identifier &, const String &errorMessage)
 
template<typename CallbackWhenNoException >
ALWAYS_INLINE std::result_of< CallbackWhenNoException(bool, PropertySlot &)>::type getPropertySlot (ExecState *exec, PropertyName propertyName, CallbackWhenNoException callback) const
 
template<typename CallbackWhenNoException >
ALWAYS_INLINE std::result_of< CallbackWhenNoException(bool, PropertySlot &)>::type getPropertySlot (ExecState *exec, PropertyName propertyName, PropertySlot &slot, CallbackWhenNoException callback) const
 
template<JSObject::PutMode mode>
ALWAYS_INLINE bool putDirectInternal (VM &vm, PropertyName propertyName, JSValue value, unsigned attributes, PutPropertySlot &slot)
 
- Public Member Functions inherited from JSC::JSCell
 JSCell (CreatingEarlyCellTag)
 
bool isString () const
 
bool isSymbol () const
 
bool isObject () const
 
bool isAnyWasmCallee (VM &) const
 
bool isGetterSetter () const
 
bool isCustomGetterSetter () const
 
bool isProxy () const
 
bool inherits (VM &, const ClassInfo *) const
 
bool isAPIValueWrapper () const
 
void lock ()
 
bool tryLock ()
 
void unlock ()
 
bool isLocked () const
 
JSType type () const
 
IndexingType indexingTypeAndMisc () const
 
IndexingType indexingType () const
 
StructureID structureID () const
 
Structure * structure () const
 
Structure * structure (VM &) const
 
void setStructure (VM &, Structure *)
 
void setStructureIDDirectly (StructureID id)
 
void clearStructure ()
 
TypeInfo::InlineTypeFlags inlineTypeFlags () const
 
const char * className (VM &) const
 
JS_EXPORT_PRIVATE bool getString (ExecState *, String &) const
 
JS_EXPORT_PRIVATE String getString (ExecState *) const
 
JS_EXPORT_PRIVATE JSObject * getObject ()
 
const JSObject * getObject () const
 
JS_EXPORT_PRIVATE JSValue toPrimitive (ExecState *, PreferredPrimitiveType) const
 
bool getPrimitiveNumber (ExecState *, double &number, JSValue &) const
 
bool toBoolean (ExecState *) const
 
TriState pureToBoolean () const
 
JS_EXPORT_PRIVATE double toNumber (ExecState *) const
 
JSObject * toObject (ExecState *, JSGlobalObject *) const
 
void dump (PrintStream &) const
 
size_t estimatedSizeInBytes () const
 
const ClassInfo * classInfo (VM &) const
 
const MethodTable * methodTable () const
 
const MethodTable * methodTable (VM &) const
 
JSValue fastGetOwnProperty (VM &, Structure &, PropertyName)
 
CellState cellState () const
 
void setCellState (CellState data) const
 
bool atomicCompareExchangeCellStateWeakRelaxed (CellState oldState, CellState newState)
 
CellState atomicCompareExchangeCellStateStrong (CellState oldState, CellState newState)
 
void callDestructor (VM &)
 
 JSCell (CreatingEarlyCellTag)
 
bool isString () const
 
bool isSymbol () const
 
bool isObject () const
 
bool isAnyWasmCallee (VM &) const
 
bool isGetterSetter () const
 
bool isCustomGetterSetter () const
 
bool isProxy () const
 
bool inherits (VM &, const ClassInfo *) const
 
bool isAPIValueWrapper () const
 
void lock ()
 
bool tryLock ()
 
void unlock ()
 
bool isLocked () const
 
JSType type () const
 
IndexingType indexingTypeAndMisc () const
 
IndexingType indexingType () const
 
StructureID structureID () const
 
Structure * structure () const
 
Structure * structure (VM &) const
 
void setStructure (VM &, Structure *)
 
void setStructureIDDirectly (StructureID id)
 
void clearStructure ()
 
TypeInfo::InlineTypeFlags inlineTypeFlags () const
 
const char * className (VM &) const
 
JS_EXPORT_PRIVATE bool getString (ExecState *, String &) const
 
JS_EXPORT_PRIVATE String getString (ExecState *) const
 
JS_EXPORT_PRIVATE JSObject * getObject ()
 
const JSObject * getObject () const
 
JS_EXPORT_PRIVATE JSValue toPrimitive (ExecState *, PreferredPrimitiveType) const
 
bool getPrimitiveNumber (ExecState *, double &number, JSValue &) const
 
bool toBoolean (ExecState *) const
 
TriState pureToBoolean () const
 
JS_EXPORT_PRIVATE double toNumber (ExecState *) const
 
JSObject * toObject (ExecState *, JSGlobalObject *) const
 
void dump (PrintStream &) const
 
size_t estimatedSizeInBytes () const
 
const ClassInfo * classInfo (VM &) const
 
const MethodTable * methodTable () const
 
const MethodTable * methodTable (VM &) const
 
JSValue fastGetOwnProperty (VM &, Structure &, PropertyName)
 
CellState cellState () const
 
void setCellState (CellState data) const
 
bool atomicCompareExchangeCellStateWeakRelaxed (CellState oldState, CellState newState)
 
CellState atomicCompareExchangeCellStateStrong (CellState oldState, CellState newState)
 
void callDestructor (VM &)
 
- Public Member Functions inherited from JSC::HeapCell
 HeapCell ()
 
void zap ()
 
bool isZapped () const
 
bool isLargeAllocation () const
 
CellContainer cellContainer () const
 
MarkedBlock & markedBlock () const
 
LargeAllocation & largeAllocation () const
 
Heap * heap () const
 
VM * vm () const
 
size_t cellSize () const
 
AllocatorAttributes allocatorAttributes () const
 
DestructionMode destructionMode () const
 
Kind cellKind () const
 
 HeapCell ()
 
void zap ()
 
bool isZapped () const
 
bool isLargeAllocation () const
 
CellContainer cellContainer () const
 
MarkedBlock & markedBlock () const
 
LargeAllocation & largeAllocation () const
 
Heap * heap () const
 
VM * vm () const
 
size_t cellSize () const
 
AllocatorAttributes allocatorAttributes () const
 
DestructionMode destructionMode () const
 
Kind cellKind () const
 
- Protected Attributes inherited from JSC::JSObject
AuxiliaryBarrier< Butterfly * > m_butterfly
 

Member Typedef Documentation

◆ Base [1/2]

◆ Base [2/2]

Member Function Documentation

◆ addConstructableFunction()

void GlobalObject::addConstructableFunction ( VM &  vm,
const char *  name,
NativeFunction  function,
unsigned  arguments 
)
inlineprotected

◆ addFunction() [1/2]

void GlobalObject::addFunction ( VM &  vm,
JSObject *  object,
const char *  name,
NativeFunction  function,
unsigned  arguments 
)
inlineprotected

◆ addFunction() [2/2]

void GlobalObject::addFunction ( VM &  vm,
const char *  name,
NativeFunction  function,
unsigned  arguments 
)
inlineprotected

◆ create() [1/2]

static GlobalObject* GlobalObject::create ( VM &  vm,
Structure *  structure,
const Vector< String > &  arguments 
)
inlinestatic

◆ create() [2/2]

static GlobalObject* GlobalObject::create ( VM &  vm,
Structure *  structure,
const Vector< String > &  arguments 
)
inlinestatic

◆ createStructure() [1/2]

static Structure* GlobalObject::createStructure ( VM &  vm,
JSValue  prototype 
)
inlinestatic

◆ createStructure() [2/2]

static Structure* GlobalObject::createStructure ( VM &  vm,
JSValue  prototype 
)
inlinestatic

◆ finishCreation() [1/2]

void GlobalObject::finishCreation ( VM &  vm,
const Vector< String > &  arguments 
)
inlineprotected

◆ finishCreation() [2/2]

void GlobalObject::finishCreation ( VM &  vm,
const Vector< String > &  arguments 
)
inlineprotected

◆ javaScriptRuntimeFlags()

static RuntimeFlags GlobalObject::javaScriptRuntimeFlags ( const JSGlobalObject *  )
inlinestatic

◆ moduleLoaderFetch()

JSInternalPromise * GlobalObject::moduleLoaderFetch ( JSGlobalObject *  globalObject,
ExecState *  exec,
JSModuleLoader *  ,
JSValue  key,
JSValue   
)
staticprotected

◆ moduleLoaderImportModule()

JSInternalPromise * GlobalObject::moduleLoaderImportModule ( JSGlobalObject *  globalObject,
ExecState *  exec,
JSModuleLoader *  ,
JSString *  moduleNameValue,
const SourceOrigin &  sourceOrigin 
)
staticprotected

◆ moduleLoaderResolve()

JSInternalPromise * GlobalObject::moduleLoaderResolve ( JSGlobalObject *  globalObject,
ExecState *  exec,
JSModuleLoader *  ,
JSValue  keyValue,
JSValue  referrerValue,
JSValue   
)
staticprotected

Member Data Documentation

◆ DECLARE_INFO

GlobalObject::DECLARE_INFO

◆ needsDestruction

const bool GlobalObject::needsDestruction = false
static

◆ needsDestructor

const bool GlobalObject::needsDestructor = false
static

◆ s_globalObjectMethodTable

const GlobalObjectMethodTable GlobalObject::s_globalObjectMethodTable
static

The documentation for this class was generated from the following files: