public V8IsolateProxyImpl(string name, V8RuntimeConstraints constraints, V8RuntimeFlags flags, int debugPort)
 {
     holder = new V8EntityHolder("V8 runtime", () => V8SplitProxyNative.Invoke(instance => instance.V8Isolate_Create(
                                                                                   name,
                                                                                   constraints?.MaxNewSpaceSize ?? -1,
                                                                                   constraints?.MaxOldSpaceSize ?? -1,
                                                                                   flags.HasFlag(V8RuntimeFlags.EnableDebugging),
                                                                                   flags.HasFlag(V8RuntimeFlags.EnableRemoteDebugging),
                                                                                   flags.HasFlag(V8RuntimeFlags.EnableDynamicModuleImports),
                                                                                   debugPort
                                                                                   )));
 }
Exemple #2
0
 public V8IsolateProxyImpl(string name, V8RuntimeConstraints constraints, V8RuntimeFlags flags, int debugPort)
 {
     holder = new V8EntityHolder("V8 runtime", () => V8SplitProxyNative.Invoke(instance => instance.V8Isolate_Create(
                                                                                   name,
                                                                                   constraints?.MaxNewSpaceSize ?? -1,
                                                                                   constraints?.MaxOldSpaceSize ?? -1,
                                                                                   constraints?.HeapExpansionMultiplier ?? 0,
                                                                                   constraints?.MaxArrayBufferAllocation ?? ulong.MaxValue,
                                                                                   flags.HasFlag(V8RuntimeFlags.EnableDebugging),
                                                                                   flags.HasFlag(V8RuntimeFlags.EnableRemoteDebugging),
                                                                                   flags.HasFlag(V8RuntimeFlags.EnableDynamicModuleImports),
                                                                                   debugPort
                                                                                   )));
 }
Exemple #3
0
        public static void Destroy(ref V8EntityHolder holder)
        {
            var tempHandle = holder.handle;

            if (tempHandle != V8Entity.Handle.Empty)
            {
                V8SplitProxyNative.InvokeNoThrow(instance => instance.V8Entity_DestroyHandle(tempHandle));
            }

            if (holder.registered)
            {
                V8Proxy.OnEntityHolderDestroyed();
            }

            holder = new V8EntityHolder(holder.name);
        }
Exemple #4
0
 public NativeCallbackImpl(NativeCallback.Handle hCallback)
 {
     holder = new V8EntityHolder("native callback", () => hCallback);
 }
Exemple #5
0
 public V8ScriptImpl(UniqueDocumentInfo documentInfo, UIntPtr codeDigest, V8Script.Handle hScript)
     : base(documentInfo, codeDigest)
 {
     holder = new V8EntityHolder("V8 compiled script", () => hScript);
 }
 public V8ContextProxyImpl(V8IsolateProxy isolateProxy, string name, V8ScriptEngineFlags flags, int debugPort)
 {
     holder = new V8EntityHolder("V8 script engine", () => ((V8IsolateProxyImpl)isolateProxy).CreateContext(name, flags, debugPort));
 }
Exemple #7
0
 public V8ObjectImpl(V8Object.Handle hObject, V8Value.Subtype subtype)
 {
     holder  = new V8EntityHolder("V8 object", () => hObject);
     Subtype = subtype;
 }
Exemple #8
0
 public V8DebugListenerImpl(V8DebugCallback.Handle hCallback)
 {
     holder = new V8EntityHolder("V8 debug listener", () => hCallback);
 }