Skip to content

pl: replace LLVM JIT with a tree-walking interpreter#883

Open
cao1629 wants to merge 1 commit into
oceanbase:masterfrom
cao1629:pr-06-11-interpreter
Open

pl: replace LLVM JIT with a tree-walking interpreter#883
cao1629 wants to merge 1 commit into
oceanbase:masterfrom
cao1629:pr-06-11-interpreter

Conversation

@cao1629

@cao1629 cao1629 commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Execute PL by walking the resolved ObPLStmt tree instead of JIT-compiling routines with LLVM, and remove the ORC-JIT code generator and the objit module.

Task Description

Solution Description

Passed Regressions

Upgrade Compatibility

Other Information

Release Note

Execute PL by walking the resolved ObPLStmt tree (ObPLInterpreter)
instead of JIT-compiling routines with LLVM, and remove the ORC-JIT
code generator and the objit module.

The interpreter dispatches blocks, DECLARE ... DEFAULT, assignment
(including SET @user_var / @@sys_var), IF/ELSEIF, CASE, WHILE, LOOP,
REPEAT, LEAVE, ITERATE, embedded SQL, RETURN (with deep-copied
results), cursors (DECLARE/OPEN/FETCH/CLOSE), exception handling
(DECLARE HANDLER, SIGNAL, completion conditions), and nested CALL
with OUT/INOUT copy-back. It passes the full PL mysqltest suite.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant