| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[orc-rt] Add SimpleNativeMemoryMap. (#162584) SimpleNativeMemoryMap is a memory allocation backend for use with ORC. It can... 1. Reserve slabs of address space. 2. Finalize regions of memory within a reserved slab: copying content into requested addresses, applying memory protections, running finalization actions, and storing deallocation actions to be run by deallocate. 3. Deallocate finalized memory regions: running deallocate actions and, if possible, making memory in these regions available for use by future finalization operations. (Some systems prohibit reuse of executable memory. On these systems deallocated memory is no longer usable within the process). 4. Release reserved slabs. This runs deallocate for any not-yet-deallocated finalized regions, and then (if possible) returns the address space to system. (On systems that prohibit reuse of executable memory parts of the released address space may be permanently unusable by the process). SimpleNativeMemoryMap is intended primarily for use by llvm::orc::JITLinkMemoryManager implementations to allocate JIT'd code and data. | 9 个月前 | |
[orc-rt] Add allocation-action execution support. (#157244) This commit contains executor-side support for ORC allocation actions (see e50aea58d59). An AllocAction is a function pointer with type orc_rt_WrapperFunctionBuffer (*)(const char *ArgData, size_t ArgSize), along with an associated blob of argument bytes. An AllocActionPair is a pair of AllocActions, one to be run at memory finalization time and another to be run at deallocation time. The runFinalizeActions function can be used to run all non-null finalize actions in a sequence of AllocActionPairs, returning the corresponding sequence of deallocation actions on success. The runDeallocActions function can be used to run a sequence of dealloc actions returned by runFinalizeActions. | 10 个月前 | |
[orc-rt] Introduce Task and TaskDispatcher APIs and implementations. (#168514) Introduces the Task and TaskDispatcher interfaces (TaskDispatcher.h), ThreadPoolTaskDispatcher implementation (ThreadPoolTaskDispatch.h), and updates Session to include a TaskDispatcher instance that can be used to run tasks. TaskDispatcher's introduction is motivated by the need to handle calls to JIT'd code initiated from the controller process: Incoming calls will be wrapped in Tasks and dispatched. Session shutdown will wait on TaskDispatcher shutdown, ensuring that all Tasks are run or destroyed prior to the Session being destroyed. | 8 个月前 | |
[orc-rt] Fix file comment in RTTI.cpp. NFC. (#155059) | 11 个月前 | |
[orc-rt] Add ResourceManager interface. The ResourceManager interface can be used to implement ownership for resources allocated to JIT'd code, e.g. memory and metadata registrations (frame info, language runtime metadata, etc.). Resources can be *deallocated*, meaning that they should be cleaned up (memory released, registrations deregistered, etc.), or they can be *detached*, meaning that cleanup should be performed automatically when the ResourceManager itself is destroyed. The intent is to allow JIT'd code to continue running after the llvm::orc::ExecutionSession that produced it is disconnected / destroyed. | 9 个月前 | |
[orc-rt] Simplify Session shutdown. (#168664) Moves all Session member variables dedicated to shutdown into a new ShutdownInfo struct, and uses the presence / absence of this struct as the flag to indicate that we've entered the "shutting down" state. This simplifies the implementation of the shutdown process. | 8 个月前 | |
[orc-rt] Rename 'Session' variables to avoid ambiguity with type. NFCI. (#168999) Re-using Session as a variable name risks confusion with the Session type. | 8 个月前 | |
[orc-rt] Fix typos in file comments. | 8 个月前 | |
[orc-rt] Fix typos in file comments. | 8 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 9 个月前 | ||
| 10 个月前 | ||
| 8 个月前 | ||
| 11 个月前 | ||
| 9 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 |