PostgreSQL Source Code
git master
|
Go to the source code of this file.
Data Structures | |
struct | JitInstrumentation |
struct | SharedJitInstrumentation |
struct | JitContext |
struct | JitProviderCallbacks |
Macros | |
#define | PGJIT_NONE 0 |
#define | PGJIT_PERFORM (1 << 0) |
#define | PGJIT_OPT3 (1 << 1) |
#define | PGJIT_INLINE (1 << 2) |
#define | PGJIT_EXPR (1 << 3) |
#define | PGJIT_DEFORM (1 << 4) |
Typedefs | |
typedef struct JitInstrumentation | JitInstrumentation |
typedef struct SharedJitInstrumentation | SharedJitInstrumentation |
typedef struct JitContext | JitContext |
typedef struct JitProviderCallbacks | JitProviderCallbacks |
typedef void(* | JitProviderInit) (JitProviderCallbacks *cb) |
typedef void(* | JitProviderResetAfterErrorCB) (void) |
typedef void(* | JitProviderReleaseContextCB) (JitContext *context) |
typedef bool(* | JitProviderCompileExprCB) (struct ExprState *state) |
Functions | |
void | _PG_jit_provider_init (JitProviderCallbacks *cb) |
void | jit_reset_after_error (void) |
void | jit_release_context (JitContext *context) |
bool | jit_compile_expr (struct ExprState *state) |
void | InstrJitAgg (JitInstrumentation *dst, JitInstrumentation *add) |
Variables | |
bool | jit_enabled |
char * | jit_provider |
bool | jit_debugging_support |
bool | jit_dump_bitcode |
bool | jit_expressions |
bool | jit_profiling_support |
bool | jit_tuple_deforming |
double | jit_above_cost |
double | jit_inline_above_cost |
double | jit_optimize_above_cost |
#define PGJIT_DEFORM (1 << 4) |
Definition at line 24 of file jit.h.
Referenced by ExplainPrintJIT(), llvm_compile_expr(), and standard_planner().
#define PGJIT_EXPR (1 << 3) |
Definition at line 23 of file jit.h.
Referenced by ExplainPrintJIT(), jit_compile_expr(), and standard_planner().
#define PGJIT_INLINE (1 << 2) |
Definition at line 22 of file jit.h.
Referenced by ExplainPrintJIT(), llvm_compile_module(), llvm_optimize_module(), and standard_planner().
#define PGJIT_NONE 0 |
Definition at line 19 of file jit.h.
Referenced by ExecInitParallelPlan(), ExecInitValuesScan(), and standard_planner().
#define PGJIT_OPT3 (1 << 1) |
Definition at line 21 of file jit.h.
Referenced by ExplainPrintJIT(), llvm_compile_module(), llvm_optimize_module(), and standard_planner().
#define PGJIT_PERFORM (1 << 0) |
Definition at line 20 of file jit.h.
Referenced by ExplainPrintJITSummary(), jit_compile_expr(), and standard_planner().
typedef struct JitContext JitContext |
typedef struct JitInstrumentation JitInstrumentation |
typedef struct JitProviderCallbacks JitProviderCallbacks |
typedef void(* JitProviderInit) (JitProviderCallbacks *cb) |
typedef void(* JitProviderReleaseContextCB) (JitContext *context) |
typedef struct SharedJitInstrumentation SharedJitInstrumentation |
void _PG_jit_provider_init | ( | JitProviderCallbacks * | cb | ) |
Definition at line 131 of file llvmjit.c.
References JitProviderCallbacks::compile_expr, llvm_compile_expr(), llvm_release_context(), llvm_reset_after_error(), JitProviderCallbacks::release_context, and JitProviderCallbacks::reset_after_error.
void InstrJitAgg | ( | JitInstrumentation * | dst, |
JitInstrumentation * | add | ||
) |
Definition at line 184 of file jit.c.
References JitInstrumentation::created_functions, JitInstrumentation::emission_counter, JitInstrumentation::generation_counter, JitInstrumentation::inlining_counter, INSTR_TIME_ADD, and JitInstrumentation::optimization_counter.
Referenced by ExecParallelRetrieveJitInstrumentation(), and ExplainPrintJITSummary().
Definition at line 153 of file jit.c.
References JitProviderCallbacks::compile_expr, EState::es_jit_flags, ExprState::parent, PGJIT_EXPR, PGJIT_PERFORM, provider_init(), and PlanState::state.
Referenced by ExecReadyExpr().
void jit_release_context | ( | JitContext * | context | ) |
Definition at line 138 of file jit.c.
References pfree(), PointerGetDatum, provider_successfully_loaded, JitProviderCallbacks::release_context, ResourceOwnerForgetJIT(), and JitContext::resowner.
Referenced by FreeExecutorState(), and ResourceOwnerReleaseInternal().
void jit_reset_after_error | ( | void | ) |
Definition at line 128 of file jit.c.
References provider_successfully_loaded, and JitProviderCallbacks::reset_after_error.
Referenced by PostgresMain().
double jit_above_cost |
Definition at line 39 of file jit.c.
Referenced by standard_planner().
bool jit_debugging_support |
Definition at line 34 of file jit.c.
Referenced by llvm_resolve_symbol(), and llvm_session_initialize().
bool jit_dump_bitcode |
Definition at line 35 of file jit.c.
Referenced by llvm_compile_module().
bool jit_enabled |
Definition at line 32 of file jit.c.
Referenced by provider_init(), and standard_planner().
bool jit_expressions |
Definition at line 36 of file jit.c.
Referenced by standard_planner().
double jit_inline_above_cost |
Definition at line 40 of file jit.c.
Referenced by standard_planner().
double jit_optimize_above_cost |
Definition at line 41 of file jit.c.
Referenced by standard_planner().
bool jit_profiling_support |
Definition at line 37 of file jit.c.
Referenced by llvm_resolve_symbol(), llvm_session_initialize(), and llvm_shutdown().
char* jit_provider |
Definition at line 33 of file jit.c.
Referenced by provider_init().
bool jit_tuple_deforming |
Definition at line 38 of file jit.c.
Referenced by standard_planner().