SICStus JIT White Paper
This file documents the SICStus Prolog Just-In-Time compiler.
Copyright © 1995-2022 RISE Research Institutes of Sweden AB
Table of Contents
- 1 Introduction
- 2 Intermediate Representation
- 2.1 IR Instruction Set
- 2.2 Targets
- 2.3 Offsets
- 2.4 Constants
- 2.5 Instructions
- 2.5.1 move(Src,Dest)
- 2.5.2 cmps(Dest,Src)
- 2.5.3 cmpu(Dest,Src)
- 2.5.4 test(Dest,Src)
- 2.5.5 jump(Target)
- 2.5.6 call(Target)
- 2.5.7 ccall(Cond,Target)
- 2.5.8 branch(Cond,Target)
- 2.5.9 cmove(Cond,Src,Dest)
- 2.5.10 add(Src1,Src2,Dest)
- 2.5.11 addo(Src1,Src2,Dest)
- 2.5.12 sub(Src1,Src2,Dest)
- 2.5.13 subo(Src1,Src2,Dest)
- 2.5.14 mulo(Src1,Src2,Dest)
- 2.5.15 sh(Src1,Src2,Dest)
- 2.5.16 and(Src1,Src2,Dest)
- 2.5.17 or(Src1,Src2,Dest)
- 2.5.18 xor(Src1,Src2,Dest)
- 2.5.19 int2cp(Src,Dest)
- 2.5.20 cp2int(Src,Dest)
- 2.5.21 init(Dest1,Dest2)
- 2.5.22 pop
- 2.5.23 context(Target)
- 2.5.24 half(Constant)
- 2.5.25 word(Constant)
- 2.5.26 label(L)
- 2.5.27 align(Int)
- 2.5.28 try_chain(list of (Label-Alternative),Arity)
- 2.5.29 switch(list of (Key-Target),Default)
- 2.5.30 trampolines(Base)
- 2.5.31 toc(Base)
- 3 Predicate Linkage
- 4 Register Allocation
- 5 Runtime System
- 6 Misc
- 7 References
SICStus Prolog JIT White Paper
This document describes the SICStus Prolog Just-In-Time Compiler.
Send feedback on this subject.