Table of Contents

Method Add

Namespace
Ubiquity.NET.Llvm.OrcJITv2
Assembly
Ubiquity.NET.Llvm.dll

Add(JITDyLib, ThreadSafeModule)

Adds a module to the JIT

public void Add(JITDyLib lib, ThreadSafeModule module)

Parameters

lib JITDyLib

Library to add the module to in this JIT

module ThreadSafeModule

Module to add

Remarks

This function has "move" semantics in that the JIT takes ownership of the input module and it is no longer usable (Generates ObjectDisposedException) for any use other than Dispose(). This allows normal clean up in the event of an exception to occur.

important

Transfer of ownership does NOT occur in the face of an error (exception)! However the Dispose() method is idempotent and will NOT throw an exception if disposed so it is safe to declare instances with a "using".

Add(ResourceTracker, ThreadSafeModule)

Adds a module to the JIT

public void Add(ResourceTracker tracker, ThreadSafeModule module)

Parameters

tracker ResourceTracker

Resource tracker to manage the module

module ThreadSafeModule

Module to add

Remarks

This function has "move" semantics in that the JIT takes ownership of the input module and it is no longer usable (Generates ObjectDisposedException) for any use other than Dispose(). This allows normal clean up in the event of an exception to occur.

important

Transfer of ownership does NOT occur in the face of an error (exception)! However the Dispose() method is idempotent and will NOT throw an exception if disposed so it is safe to declare instances with a "using".