PostgreSQL Source Code
git master
|
#include "postgres.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include "executor/execExpr.h"
#include "fmgr.h"
#include "jit/jit.h"
#include "miscadmin.h"
#include "utils/fmgrprotos.h"
#include "utils/resowner_private.h"
Go to the source code of this file.
Functions | |
static bool | provider_init (void) |
static bool | file_exists (const char *name) |
Datum | pg_jit_available (PG_FUNCTION_ARGS) |
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 = true |
char * | jit_provider = NULL |
bool | jit_debugging_support = false |
bool | jit_dump_bitcode = false |
bool | jit_expressions = true |
bool | jit_profiling_support = false |
bool | jit_tuple_deforming = true |
double | jit_above_cost = 100000 |
double | jit_inline_above_cost = 500000 |
double | jit_optimize_above_cost = 500000 |
static JitProviderCallbacks | provider |
static bool | provider_successfully_loaded = false |
static bool | provider_failed_loading = false |
|
static |
Definition at line 195 of file jit.c.
References Assert(), ereport, errcode_for_file_access(), errmsg(), ERROR, name, S_ISDIR, stat::st_mode, and stat.
Referenced by isolation_start_test(), provider_init(), and psql_start_test().
void InstrJitAgg | ( | JitInstrumentation * | dst, |
JitInstrumentation * | add | ||
) |
Definition at line 184 of file jit.c.
References JitInstrumentation::created_functions, JitInstrumentation::deform_counter, 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, PGJIT_EXPR, PGJIT_PERFORM, provider, and provider_init().
Referenced by ExecReadyExpr().
void jit_release_context | ( | JitContext * | context | ) |
Definition at line 138 of file jit.c.
References pfree(), PointerGetDatum(), provider, 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, provider_successfully_loaded, and JitProviderCallbacks::reset_after_error.
Referenced by PostgresMain().
Datum pg_jit_available | ( | PG_FUNCTION_ARGS | ) |
|
static |
Definition at line 68 of file jit.c.
References DEBUG1, elog(), file_exists(), init, jit_enabled, jit_provider, load_external_function(), MAXPGPATH, pkglib_path, provider, provider_failed_loading, provider_successfully_loaded, and snprintf.
Referenced by jit_compile_expr(), and pg_jit_available().
double jit_above_cost = 100000 |
Definition at line 39 of file jit.c.
Referenced by standard_planner().
Definition at line 34 of file jit.c.
Referenced by llvm_session_initialize().
Definition at line 35 of file jit.c.
Referenced by llvm_compile_module().
Definition at line 32 of file jit.c.
Referenced by provider_init(), and standard_planner().
Definition at line 36 of file jit.c.
Referenced by standard_planner().
double jit_inline_above_cost = 500000 |
Definition at line 40 of file jit.c.
Referenced by standard_planner().
double jit_optimize_above_cost = 500000 |
Definition at line 41 of file jit.c.
Referenced by standard_planner().
Definition at line 37 of file jit.c.
Referenced by llvm_session_initialize(), and llvm_shutdown().
char* jit_provider = NULL |
Definition at line 33 of file jit.c.
Referenced by provider_init().
Definition at line 38 of file jit.c.
Referenced by standard_planner().
|
static |
Definition at line 43 of file jit.c.
Referenced by CATALOG(), dumpSecLabel(), dumpTableSecLabel(), emitShSecLabels(), ExecSecLabelStmt(), GetSecurityLabel(), GetSharedSecurityLabel(), jit_compile_expr(), jit_release_context(), jit_reset_after_error(), pg_collation_actual_version(), provider_init(), register_label_provider(), SetSecurityLabel(), and SetSharedSecurityLabel().
Definition at line 45 of file jit.c.
Referenced by provider_init().
Definition at line 44 of file jit.c.
Referenced by jit_release_context(), jit_reset_after_error(), and provider_init().