| Age | Commit message (Collapse) | Author |
|
Move ObjectLinkingLayer creation, COFF flags, and SEH plugin install
into one file-local factory used before LLJIT owns the layer. Drop the
repeated dyn_cast checks from the main flow.
Linux verified: build, normal and large-frame runs, exception cases.
Windows layer/plugin behavior still needs CI verification.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Replace the IR personality forwarding layer with graph-local pointer
jump stubs for the three GNU personality symbols in .xdata.
Linux verified: build, nested THROW, cross-procedure unwind, CATCH
with RETURN, uncaught exception. Windows execution still needs CI
verification; the stub pass passed a local LLVM 23 syntax check only.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Drop the hand-written chkstk assembly and bind the toolchain-provided
___chkstk_ms on MinGW x86-64 instead. Other targets register no probe.
Linux verified: build, normal run, large-frame run, exception cases.
Windows/MinGW execution still needs CI verification.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Module and platform graphs each need their own base for 32-bit
image-relative unwind addresses. A graph-local alias keeps the shared
name from colliding at materialization time.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Platform-support graphs carry __lljit.platform_support_instance and
manage their own base; aliasing it there duplicates the symbol at
materialization time and spoils the exit code.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
getPersonalityFn on a function without the personality operand reads out
of bounds. The newly created stub hit this in the reroute scan.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
LLJIT platform-support graphs define their own __ImageBase; aliasing it
again duplicates the symbol and corrupts materialization. Skip those.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
COFF unwind tables use 32-bit image-relative addresses. Alias the
external __ImageBase to the lowest defined block once addresses are
final, and route the personality through a JIT-local stub so both stay
within range of the JIT tables.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
The weak ___chkstk_ms reference marked the host import weak on COFF and
segfaulted the compiler itself. Provide a JIT-only probe under a unique
name with the same page-touching behavior instead.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Windows runner failed with missing ___chkstk_ms. Reference it weakly so
platforms without it see null while MinGW exposes its host address.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Windows runner failed with PCRel32 out of range to __main because the
host executable sits far from the JIT heap under the small code model.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Windows execution awaits CI verification.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Windows execution awaits CI verification.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Keep JIT sections contiguous and use RuntimeDyld's image base for SEH
registration. Unregister tables before freeing memory and stop execution
when registration fails.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Size REAL buffers for the full fixed-point double range and bound writes with snprintf. Register MinGW CRT aliases for embedded execution.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Reject other compiler and LLVM major versions and remove GCC compiler
fallbacks. Adapt string globals, block termination checks and the embedded
target triple to LLVM 23 without changing pseudocode behavior.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Add TRY/CATCH/ENDTRY and anonymous THROW statements. Use LLVM exception
handling and the C++ ABI to propagate exceptions across function calls,
clean up catch state, and handle uncaught exceptions at the program boundary.
Register exception runtime symbols for the statically linked embedded runner.
Verify runtime checks, nested catches, returns, loops, and invalid syntax
with smoke programs; exercise unwinding with MCJIT, lli, and native binaries.
BREAKING CHANGE: Runtime check failures now throw anonymous exceptions and
print only a generic message when uncaught. Native binaries require linking
the C++ runtime.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
Add EMBEDDED mode to run generated modules in-process without lli or PATH
lookup. Link LLVM and support archives plus the C++ runtime statically,
while retaining the system C runtime on Linux.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|