<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/ExecutionEngine/Orc, branch users/nico/python-2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[ORC] Add cloneToContext: Clone Module to a given ThreadSafeContext (#146852)</title>
<updated>2025-07-03T12:04:41+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-07-03T12:04:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2638fa1be63c33407b779e959027e6dbeec6cb4f'/>
<id>2638fa1be63c33407b779e959027e6dbeec6cb4f</id>
<content type='text'>
This is a generalization of the existing cloneToNewContext operation:
rather than cloning the given module into a new ThreadSafeContext it
clones it into any given ThreadSafeContext. The given ThreadSafeContext
is locked to ensure that the cloning operation is safe.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a generalization of the existing cloneToNewContext operation:
rather than cloning the given module into a new ThreadSafeContext it
clones it into any given ThreadSafeContext. The given ThreadSafeContext
is locked to ensure that the cloning operation is safe.</pre>
</div>
</content>
</entry>
<entry>
<title>[ORC] Fix file header comment formatting. NFC.</title>
<updated>2025-07-03T10:17:12+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-07-03T05:11:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=41fd13c6350907a04a1cd5d40fd514f8b7cfb29c'/>
<id>41fd13c6350907a04a1cd5d40fd514f8b7cfb29c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[ORC] Replace ThreadSafeContext::getContext with withContextDo. (#146819)</title>
<updated>2025-07-03T07:03:39+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-07-03T07:03:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0bfa0bcd79f787db6194270bb838ae04ca46587e'/>
<id>0bfa0bcd79f787db6194270bb838ae04ca46587e</id>
<content type='text'>
This removes ThreadSafeContext::Lock, ThreadSafeContext::getLock, and
ThreadSafeContext::getContext, and replaces them with a
ThreadSafeContext::withContextDo method (and const override).

The new method can be used to access an existing
ThreadSafeContext-wrapped LLVMContext in a safe way:

ThreadSafeContext TSCtx = ... ;
TSCtx.withContextDo([](LLVMContext *Ctx) {
  // this closure has exclusive access to Ctx.
});

The new API enforces correct locking, whereas the old APIs relied on
manual locking (which almost no in-tree code preformed, relying instead
on incidental exclusive access to the ThreadSafeContext).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This removes ThreadSafeContext::Lock, ThreadSafeContext::getLock, and
ThreadSafeContext::getContext, and replaces them with a
ThreadSafeContext::withContextDo method (and const override).

The new method can be used to access an existing
ThreadSafeContext-wrapped LLVMContext in a safe way:

ThreadSafeContext TSCtx = ... ;
TSCtx.withContextDo([](LLVMContext *Ctx) {
  // this closure has exclusive access to Ctx.
});

The new API enforces correct locking, whereas the old APIs relied on
manual locking (which almost no in-tree code preformed, relying instead
on incidental exclusive access to the ThreadSafeContext).</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Use a new constructor of ArrayRef (NFC) (#146008)</title>
<updated>2025-06-27T06:38:12+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-06-27T06:38:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=26ec66dc1825824790912aeda85ac998a8374cff'/>
<id>26ec66dc1825824790912aeda85ac998a8374cff</id>
<content type='text'>
ArrayRef now has a new constructor that takes a parameter whose type
has data() and size().  This patch migrates:

  ArrayRef&lt;T&gt;(X.data(), X.size()

to:

  ArrayRef&lt;T&gt;(X)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ArrayRef now has a new constructor that takes a parameter whose type
has data() and size().  This patch migrates:

  ArrayRef&lt;T&gt;(X.data(), X.size()

to:

  ArrayRef&lt;T&gt;(X)</pre>
</div>
</content>
</entry>
<entry>
<title>[ORC] Add read operations to orc::MemoryAccess. (#145834)</title>
<updated>2025-06-26T23:49:17+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-06-26T23:49:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f93df5ebd992686f858606a5181ae99be0d2b354'/>
<id>f93df5ebd992686f858606a5181ae99be0d2b354</id>
<content type='text'>
This commit adds operations to orc::MemoryAccess for reading basic types
(uint8_t, uint16_t, uint32_t, uint64_t, pointers, buffers, and strings)
from executor memory.

The InProcessMemoryAccess and EPCGenericMemoryAccess implementations are
updated to support the new operations.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit adds operations to orc::MemoryAccess for reading basic types
(uint8_t, uint16_t, uint32_t, uint64_t, pointers, buffers, and strings)
from executor memory.

The InProcessMemoryAccess and EPCGenericMemoryAccess implementations are
updated to support the new operations.</pre>
</div>
</content>
</entry>
<entry>
<title>[ORC] Extract MemoryAccess from ExecutorProcessControl, break up header. (#145671)</title>
<updated>2025-06-26T00:31:43+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-06-26T00:31:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0faa181434cf959110651fe974bef31e7390eba8'/>
<id>0faa181434cf959110651fe974bef31e7390eba8</id>
<content type='text'>
This moves the MemoryAccess interface out of the ExecutorProcessControl
class and splits implementation classes InProcessMemoryManager and
SelfExecutorProcessControl out of ExecutorProcessControl.h and into
their own headers.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This moves the MemoryAccess interface out of the ExecutorProcessControl
class and splits implementation classes InProcessMemoryManager and
SelfExecutorProcessControl out of ExecutorProcessControl.h and into
their own headers.</pre>
</div>
</content>
</entry>
<entry>
<title>[ORC] Sink DynamicLibrary.h header include into ExecutorProcessControl.cpp.</title>
<updated>2025-06-25T10:07:10+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-06-25T10:05:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=36a060a4e51b09f4cd6dc41bc8d82c8dd22084df'/>
<id>36a060a4e51b09f4cd6dc41bc8d82c8dd22084df</id>
<content type='text'>
This include is only used for implementation, so shouldn't be in the public
header.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This include is only used for implementation, so shouldn't be in the public
header.
</pre>
</div>
</content>
</entry>
<entry>
<title>[ORC] Drop unused LinkGraphLinkingLayer::Plugin::notifyLoaded method. (#145457)</title>
<updated>2025-06-24T09:00:24+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-06-24T09:00:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6cfa03f1f1d9351950b6d12fb923ce7e2cb3405b'/>
<id>6cfa03f1f1d9351950b6d12fb923ce7e2cb3405b</id>
<content type='text'>
This method was included in the original Plugin API as a counterpart to
JITEventListener::notifyLoaded but was never used.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This method was included in the original Plugin API as a counterpart to
JITEventListener::notifyLoaded but was never used.</pre>
</div>
</content>
</entry>
<entry>
<title>[ORC] DLLImportDefinitionGenerator should use LookupKind::Static.</title>
<updated>2025-06-24T01:51:32+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-06-24T01:48:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ca04d74564d7dcf1d462f9746ffebde30c45db5e'/>
<id>ca04d74564d7dcf1d462f9746ffebde30c45db5e</id>
<content type='text'>
LookupKind::DLSym should only be used for lookups issued on behalf of the ORC
runtime's emulated dlsym operation.

This should fix a bug where ORC runtime clients are unable to access functions
exported by the runtime.

https://github.com/llvm/llvm-project/issues/145296
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
LookupKind::DLSym should only be used for lookups issued on behalf of the ORC
runtime's emulated dlsym operation.

This should fix a bug where ORC runtime clients are unable to access functions
exported by the runtime.

https://github.com/llvm/llvm-project/issues/145296
</pre>
</div>
</content>
</entry>
<entry>
<title>[ORC] Fix potential stack corruption in Platform::lookupInitSymbols.</title>
<updated>2025-06-22T23:51:50+00:00</updated>
<author>
<name>Lang Hames</name>
<email>lhames@gmail.com</email>
</author>
<published>2025-06-22T23:45:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f9fce4975bbad835deba6e639c21a62154dd8c14'/>
<id>f9fce4975bbad835deba6e639c21a62154dd8c14</id>
<content type='text'>
We can't exit early when on error here as some threads may still be holding
references to LookupMutex.

Since we don't need high performance in the error case the easy solution is to
drop the early-exit in the error case and wait for all tasks to complete before
returning the error.

Thanks to Jameson Nash for spotting this bug!
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We can't exit early when on error here as some threads may still be holding
references to LookupMutex.

Since we don't need high performance in the error case the easy solution is to
drop the early-exit in the error case and wait for all tasks to complete before
returning the error.

Thanks to Jameson Nash for spotting this bug!
</pre>
</div>
</content>
</entry>
</feed>
