aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/misc
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2018-03-22 11:07:55 -0700
committerAndres Freund <andres@anarazel.de>2018-03-22 11:07:55 -0700
commit250bca7fc145b143d5e9aeeca66f0bb36cf4d5ef (patch)
tree72035cd100df961412a1eb6fed0dbb3345c3e001 /src/backend/utils/misc
parentb96d550eb03cfdb000def70912ec840dbe7f67da (diff)
downloadpostgresql-250bca7fc145b143d5e9aeeca66f0bb36cf4d5ef.tar.gz
postgresql-250bca7fc145b143d5e9aeeca66f0bb36cf4d5ef.zip
Debugging and profiling support for LLVM JIT provider.
This currently requires patches to the LLVM codebase to be effective (submitted upstream), the GUCs are available without those patches however. Author: Andres Freund Discussion: https://postgr.es/m/20170901064131.tazjxwus3k2w3ybh@alap3.anarazel.de
Diffstat (limited to 'src/backend/utils/misc')
-rw-r--r--src/backend/utils/misc/guc.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 10a0ffda28c..8e09e083069 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -1735,6 +1735,22 @@ static struct config_bool ConfigureNamesBool[] =
},
{
+ {"jit_debugging_support", PGC_SU_BACKEND, DEVELOPER_OPTIONS,
+ gettext_noop("Register JIT compiled function with debugger."),
+ NULL,
+ GUC_NOT_IN_SAMPLE
+ },
+ &jit_debugging_support,
+ false,
+ /*
+ * This is not guaranteed to be available, but given it's a developer
+ * oriented option, it doesn't seem worth adding code checking
+ * availability.
+ */
+ NULL, NULL, NULL
+ },
+
+ {
{"jit_dump_bitcode", PGC_SUSET, DEVELOPER_OPTIONS,
gettext_noop("Write out LLVM bitcode to facilitate JIT debugging."),
NULL,
@@ -1745,6 +1761,22 @@ static struct config_bool ConfigureNamesBool[] =
NULL, NULL, NULL
},
+ {
+ {"jit_profiling_support", PGC_SU_BACKEND, DEVELOPER_OPTIONS,
+ gettext_noop("Register JIT compiled function with perf profiler."),
+ NULL,
+ GUC_NOT_IN_SAMPLE
+ },
+ &jit_profiling_support,
+ false,
+ /*
+ * This is not guaranteed to be available, but given it's a developer
+ * oriented option, it doesn't seem worth adding code checking
+ * availability.
+ */
+ NULL, NULL, NULL
+ },
+
/* End-of-list marker */
{
{NULL, 0, 0, NULL, NULL}, NULL, false, NULL, NULL, NULL