Click or drag to resize

V8ScriptEngine Class

Represents an instance of the V8 JavaScript engine.
Inheritance Hierarchy

Namespace:  Microsoft.ClearScript.V8
Assembly:  ClearScript.V8 (in ClearScript.V8.dll) Version: 7.2.3
Syntax
public sealed class V8ScriptEngine : ScriptEngine

The V8ScriptEngine type exposes the following members.

Constructors
  NameDescription
Public methodV8ScriptEngine
Initializes a new V8 script engine instance.
Public methodV8ScriptEngine(String)
Initializes a new V8 script engine instance with the specified name.
Public methodV8ScriptEngine(V8RuntimeConstraints)
Initializes a new V8 script engine instance with the specified resource constraints.
Public methodV8ScriptEngine(V8ScriptEngineFlags)
Initializes a new V8 script engine instance with the specified options.
Public methodV8ScriptEngine(String, V8RuntimeConstraints)
Initializes a new V8 script engine instance with the specified name and resource constraints.
Public methodV8ScriptEngine(String, V8ScriptEngineFlags)
Initializes a new V8 script engine instance with the specified name and options.
Public methodV8ScriptEngine(V8RuntimeConstraints, V8ScriptEngineFlags)
Initializes a new V8 script engine instance with the specified resource constraints and options.
Public methodV8ScriptEngine(V8ScriptEngineFlags, Int32)
Initializes a new V8 script engine instance with the specified options and debug port.
Public methodV8ScriptEngine(String, V8RuntimeConstraints, V8ScriptEngineFlags)
Initializes a new V8 script engine instance with the specified name, resource constraints, and options.
Public methodV8ScriptEngine(String, V8ScriptEngineFlags, Int32)
Initializes a new V8 script engine instance with the specified name, options, and debug port.
Public methodV8ScriptEngine(V8RuntimeConstraints, V8ScriptEngineFlags, Int32)
Initializes a new V8 script engine instance with the specified resource constraints, options, and debug port.
Public methodV8ScriptEngine(String, V8RuntimeConstraints, V8ScriptEngineFlags, Int32)
Initializes a new V8 script engine instance with the specified name, resource constraints, options, and debug port.
Top
Properties
  NameDescription
Public propertyAccessContext
Allows script code to access non-public host resources.
(Inherited from ScriptEngine.)
Public propertyAllowReflection
Controls whether script code is permitted to use reflection.
(Inherited from ScriptEngine.)
Public propertyContinuationCallback
Gets or sets a callback that can be used to halt script execution.
(Inherited from ScriptEngine.)
Public propertyCpuProfileSampleInterval
Gets or sets the time interval between automatic CPU profile samples, in microseconds.
Public propertyDefaultAccess
Gets or sets the default script access setting for all members of exposed objects.
(Inherited from ScriptEngine.)
Public propertyDisableExtensionMethods
Enables or disables extension method support.
(Inherited from ScriptEngine.)
Public propertyDisableFloatNarrowing
Enables or disables floating point narrowing.
(Inherited from ScriptEngine.)
Public propertyDisableListIndexTypeRestriction
Enables or disables type restriction for array and list elements retrieved by index.
(Inherited from ScriptEngine.)
Public propertyDisableTypeRestriction
Enables or disables type restriction for field, property, and method return values.
(Inherited from ScriptEngine.)
Public propertyDocumentSettings
Gets or sets the script engine's document settings.
(Inherited from ScriptEngine.)
Public propertyEnableAutoHostVariables
Enables or disables automatic host variable tunneling for by-reference arguments to script functions and delegates.
(Inherited from ScriptEngine.)
Public propertyEnableNullResultWrapping
Enables or disables null wrapping for field, property, and method return values.
(Inherited from ScriptEngine.)
Public propertyEnableRuntimeInterruptPropagation
Enables or disables interrupt propagation in the V8 runtime.
Public propertyEnforceAnonymousTypeAccess
Enables or disables access restrictions for anonymous types.
(Inherited from ScriptEngine.)
Public propertyExposeHostObjectStaticMembers
Controls whether host objects provide access to the static members of their exposed types to script code.
(Inherited from ScriptEngine.)
Public propertyFileNameExtension
Gets the script engine's recommended file name extension for script files.
(Overrides ScriptEngineFileNameExtension.)
Public propertyFormatCode
Enables or disables script code formatting.
(Inherited from ScriptEngine.)
Public propertyGlobal
Allows the host to access script resources.
(Overrides ScriptEngineGlobal.)
Public propertyMaxRuntimeHeapSize
Gets or sets a soft limit for the size of the V8 runtime's heap.
Public propertyMaxRuntimeStackUsage
Gets or sets the maximum amount by which the V8 runtime is permitted to grow the stack during script execution.
Public propertyName
Gets the name associated with the script engine instance.
(Inherited from ScriptEngine.)
Public propertyRuntimeHeapSizeSampleInterval
Gets or sets the minimum time interval between consecutive heap size samples.
Public propertyScript
Allows the host to access script resources dynamically.
(Overrides ScriptEngineScript.)
Public propertySuppressExtensionMethodEnumeration
Enables or disables extension method enumeration.
Public propertySuppressInstanceMethodEnumeration
Enables or disables instance method enumeration.
Public propertyUndefinedImportValue
Gets or sets the engine's undefined import value.
(Inherited from ScriptEngine.)
Public propertyUseReflectionBindFallback
Enables or disables the use of reflection-based method binding as a fallback.
(Inherited from ScriptEngine.)
Top
Methods
  NameDescription
Public methodAddCOMObject(String, Guid)
Creates a COM/ActiveX object and exposes it to script code. The registered class is specified by class identifier (CLSID).
(Inherited from ScriptEngine.)
Public methodAddCOMObject(String, String)
Creates a COM/ActiveX object and exposes it to script code. The registered class is specified by programmatic identifier (ProgID).
(Inherited from ScriptEngine.)
Public methodAddCOMObject(String, HostItemFlags, Guid)
Creates a COM/ActiveX object and exposes it to script code with the specified options. The registered class is specified by class identifier (CLSID).
(Inherited from ScriptEngine.)
Public methodAddCOMObject(String, HostItemFlags, String)
Creates a COM/ActiveX object and exposes it to script code with the specified options. The registered class is specified by programmatic identifier (ProgID).
(Inherited from ScriptEngine.)
Public methodAddCOMObject(String, Guid, String)
Creates a COM/ActiveX object on the specified server and exposes it to script code. The registered class is specified by class identifier (CLSID).
(Inherited from ScriptEngine.)
Public methodAddCOMObject(String, String, String)
Creates a COM/ActiveX object on the specified server and exposes it to script code. The registered class is specified by programmatic identifier (ProgID).
(Inherited from ScriptEngine.)
Public methodAddCOMObject(String, HostItemFlags, Guid, String)
Creates a COM/ActiveX object on the specified server and exposes it to script code with the specified options. The registered class is specified by class identifier (CLSID).
(Inherited from ScriptEngine.)
Public methodAddCOMObject(String, HostItemFlags, String, String)
Creates a COM/ActiveX object on the specified server and exposes it to script code with the specified options. The registered class is specified by programmatic identifier (ProgID).
(Inherited from ScriptEngine.)
Public methodAddCOMType(String, Guid)
Imports a COM/ActiveX type and exposes it to script code. The registered class is specified by class identifier (CLSID).
(Inherited from ScriptEngine.)
Public methodAddCOMType(String, String)
Imports a COM/ActiveX type and exposes it to script code. The registered class is specified by programmatic identifier (ProgID).
(Inherited from ScriptEngine.)
Public methodAddCOMType(String, HostItemFlags, Guid)
Imports a COM/ActiveX type and exposes it to script code with the specified options. The registered class is specified by class identifier (CLSID).
(Inherited from ScriptEngine.)
Public methodAddCOMType(String, HostItemFlags, String)
Imports a COM/ActiveX type and exposes it to script code with the specified options. The registered class is specified by programmatic identifier (ProgID).
(Inherited from ScriptEngine.)
Public methodAddCOMType(String, Guid, String)
Imports a COM/ActiveX type from the specified server and exposes it to script code. The registered class is specified by class identifier (CLSID).
(Inherited from ScriptEngine.)
Public methodAddCOMType(String, String, String)
Imports a COM/ActiveX type from the specified server and exposes it to script code. The registered class is specified by programmatic identifier (ProgID).
(Inherited from ScriptEngine.)
Public methodAddCOMType(String, HostItemFlags, Guid, String)
Imports a COM/ActiveX type from the specified server and exposes it to script code with the specified options. The registered class is specified by class identifier (CLSID).
(Inherited from ScriptEngine.)
Public methodAddCOMType(String, HostItemFlags, String, String)
Imports a COM/ActiveX type from the specified server and exposes it to script code with the specified options. The registered class is specified by programmatic identifier (ProgID).
(Inherited from ScriptEngine.)
Public methodAddHostObject(String, Object)
Exposes a host object to script code.
(Inherited from ScriptEngine.)
Public methodAddHostObject(String, HostItemFlags, Object)
Exposes a host object to script code with the specified options.
(Inherited from ScriptEngine.)
Public methodAddHostType(Type)
Exposes a host type to script code with a default name.
(Inherited from ScriptEngine.)
Public methodAddHostType(HostItemFlags, Type)
Exposes a host type to script code with a default name and the specified options.
(Inherited from ScriptEngine.)
Public methodAddHostType(String, Type)
Exposes a host type to script code.
(Inherited from ScriptEngine.)
Public methodAddHostType(String, HostItemFlags, Type)
Exposes a host type to script code with the specified options.
(Inherited from ScriptEngine.)
Public methodAddHostType(String, String, Type)
Exposes a host type to script code. The type is specified by name.
(Inherited from ScriptEngine.)
Public methodAddHostType(String, HostItemFlags, String, Type)
Exposes a host type to script code with the specified options. The type is specified by name.
(Inherited from ScriptEngine.)
Public methodAddHostType(String, String, String, Type)
Exposes a host type to script code. The type is specified by type name and assembly name.
(Inherited from ScriptEngine.)
Public methodAddHostType(String, HostItemFlags, String, String, Type)
Exposes a host type to script code with the specified options. The type is specified by type name and assembly name.
(Inherited from ScriptEngine.)
Public methodAddHostTypes
Exposes host types to script code.
(Inherited from ScriptEngine.)
Public methodAddRestrictedHostObjectT(String, T)
Exposes a host object to script code with the specified type restriction.
(Inherited from ScriptEngine.)
Public methodAddRestrictedHostObjectT(String, HostItemFlags, T)
Exposes a host object to script code with the specified type restriction and options.
(Inherited from ScriptEngine.)
Public methodBeginCpuProfile(String)
Begins collecting a new CPU profile.
Public methodBeginCpuProfile(String, V8CpuProfileFlags)
Begins collecting a new CPU profile with the specified options.
Public methodCancelAwaitDebugger
Resumes script execution if the script engine is waiting for a debugger connection.
Public methodCancelInterrupt
Cancels any pending request to interrupt script execution.
Public methodCollectCpuProfileSample
Collects a sample in all CPU profiles active in the V8 runtime.
Public methodCollectGarbage
Performs garbage collection.
(Overrides ScriptEngineCollectGarbage(Boolean).)
Public methodCompile(String)
Creates a compiled script.
Public methodCompile(DocumentInfo, String)
Creates a compiled script with the specified document meta-information.
Public methodCompile(String, String)
Creates a compiled script with an associated document name.
Public methodCompile(String, V8CacheKind, Byte)
Creates a compiled script, generating cache data for accelerated recompilation.
Public methodCompile(DocumentInfo, String, V8CacheKind, Byte)
Creates a compiled script with the specified document meta-information, generating cache data for accelerated recompilation.
Public methodCompile(String, V8CacheKind, Byte, Boolean)
Creates a compiled script, consuming previously generated cache data.
Public methodCompile(String, String, V8CacheKind, Byte)
Creates a compiled script with an associated document name, generating cache data for accelerated recompilation.
Public methodCompile(DocumentInfo, String, V8CacheKind, Byte, Boolean)
Creates a compiled script with an associated document name, consuming previously generated cache data.
Public methodCompile(String, String, V8CacheKind, Byte, Boolean)
Creates a compiled script with an associated document name, consuming previously generated cache data.
Public methodCompileDocument(String)
Loads and compiles a script document.
Public methodCompileDocument(String, DocumentCategory)
Loads and compiles a document with the specified category.
Public methodCompileDocument(String, DocumentCategory, DocumentContextCallback)
Loads and compiles a document with the specified category and context callback.
Public methodCompileDocument(String, V8CacheKind, Byte)
Loads and compiles a script document, generating cache data for accelerated recompilation.
Public methodCompileDocument(String, DocumentCategory, V8CacheKind, Byte)
Loads and compiles a document with the specified category, generating cache data for accelerated recompilation.
Public methodCompileDocument(String, V8CacheKind, Byte, Boolean)
Loads and compiles a script document, consuming previously generated cache data.
Public methodCompileDocument(String, DocumentCategory, DocumentContextCallback, V8CacheKind, Byte)
Loads and compiles a document with the specified category and context callback, generating cache data for accelerated recompilation.
Public methodCompileDocument(String, DocumentCategory, V8CacheKind, Byte, Boolean)
Loads and compiles a document with the specified category, consuming previously generated cache data.
Public methodCompileDocument(String, DocumentCategory, DocumentContextCallback, V8CacheKind, Byte, Boolean)
Loads and compiles a document with the specified category and context callback, consuming previously generated cache data.
Public methodDispose
Releases all resources used by the script engine.
(Inherited from ScriptEngine.)
Protected methodDispose(Boolean)
Releases the unmanaged resources used by the script engine and optionally releases the managed resources.
(Overrides ScriptEngineDispose(Boolean).)
Public methodEndCpuProfile
Completes and returns a CPU profile.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodEvaluate(String)
Evaluates script code.
(Inherited from ScriptEngine.)
Public methodEvaluate(V8Script)
Evaluates a compiled script.
Public methodEvaluate(DocumentInfo, String)
Evaluates script code with the specified document meta-information.
(Inherited from ScriptEngine.)
Public methodEvaluate(String, String)
Evaluates script code with an associated document name.
(Inherited from ScriptEngine.)
Public methodEvaluate(String, Boolean, String)
Evaluates script code with an associated document name, optionally discarding the document after execution.
(Inherited from ScriptEngine.)
Public methodEvaluateDocument(String)
Loads and evaluates a script document.
(Inherited from ScriptEngine.)
Public methodEvaluateDocument(String, DocumentCategory)
Loads and evaluates a document with the specified category.
(Inherited from ScriptEngine.)
Public methodEvaluateDocument(String, DocumentCategory, DocumentContextCallback)
Loads and evaluates a document with the specified category and context callback.
(Inherited from ScriptEngine.)
Public methodExecute(String)
Executes script code.
(Inherited from ScriptEngine.)
Public methodExecute(V8Script)
Executes a compiled script.
Public methodExecute(DocumentInfo, String)
Executes script code with the specified document meta-information.
(Inherited from ScriptEngine.)
Public methodExecute(String, String)
Executes script code with an associated document name.
(Inherited from ScriptEngine.)
Public methodExecute(String, Boolean, String)
Executes script code with an associated document name, optionally discarding the document after execution.
(Inherited from ScriptEngine.)
Public methodExecuteCommand
Executes script code as a command.
(Overrides ScriptEngineExecuteCommand(String).)
Public methodExecuteDocument(String)
Loads and executes a script document.
(Inherited from ScriptEngine.)
Public methodExecuteDocument(String, DocumentCategory)
Loads and executes a document with the specified category.
(Inherited from ScriptEngine.)
Public methodExecuteDocument(String, DocumentCategory, DocumentContextCallback)
Loads and executes a document with the specified category and context callback.
(Inherited from ScriptEngine.)
Protected methodFinalize
Releases unmanaged resources and performs other cleanup operations before the script engine is reclaimed by garbage collection.
(Inherited from ScriptEngine.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetRuntimeHeapInfo
Returns memory usage information for the V8 runtime.
Public methodGetStackTrace
Gets a string representation of the script call stack.
(Overrides ScriptEngineGetStackTrace.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInterrupt
Interrupts script execution and causes the script engine to throw an exception.
(Overrides ScriptEngineInterrupt.)
Public methodInvoke
Invokes a global function or procedure.
(Inherited from ScriptEngine.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodWriteRuntimeHeapSnapshot
Writes a snapshot of the V8 runtime's heap to the given stream.
Top
Remarks
Unlike WindowsScriptEngine instances, V8ScriptEngine instances do not have thread affinity. The underlying script engine is not thread-safe, however, so this class uses internal locks to automatically serialize all script code execution for a given instance. Script delegates and event handlers are invoked on the calling thread without marshaling.
See Also