aboutsummaryrefslogtreecommitdiff
path: root/gcc/jit/docs/internals
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/jit/docs/internals')
-rw-r--r--gcc/jit/docs/internals/index.rst9
-rw-r--r--gcc/jit/docs/internals/test-hello-world.exe.log.txt126
2 files changed, 135 insertions, 0 deletions
diff --git a/gcc/jit/docs/internals/index.rst b/gcc/jit/docs/internals/index.rst
index 694f058..20ac337 100644
--- a/gcc/jit/docs/internals/index.rst
+++ b/gcc/jit/docs/internals/index.rst
@@ -268,3 +268,12 @@ Here is a high-level summary from ``jit-common.h``:
.. include:: ../../jit-common.h
:start-after: This comment is included by the docs.
:end-before: End of comment for inclusion in the docs. */
+
+.. _example-of-log-file:
+
+Another way to understand the structure of the code is to enable logging,
+via :c:func:`gcc_jit_context_set_logfile`. Here is an example of a log
+generated via this call:
+
+.. literalinclude:: test-hello-world.exe.log.txt
+ :lines: 1-
diff --git a/gcc/jit/docs/internals/test-hello-world.exe.log.txt b/gcc/jit/docs/internals/test-hello-world.exe.log.txt
new file mode 100644
index 0000000..a96d80f
--- /dev/null
+++ b/gcc/jit/docs/internals/test-hello-world.exe.log.txt
@@ -0,0 +1,126 @@
+JIT: entering: gcc_jit_context_set_str_option
+JIT: exiting: gcc_jit_context_set_str_option
+JIT: entering: gcc_jit_context_set_int_option
+JIT: exiting: gcc_jit_context_set_int_option
+JIT: entering: gcc_jit_context_set_bool_option
+JIT: exiting: gcc_jit_context_set_bool_option
+JIT: entering: gcc_jit_context_set_bool_option
+JIT: exiting: gcc_jit_context_set_bool_option
+JIT: entering: gcc_jit_context_set_bool_option
+JIT: exiting: gcc_jit_context_set_bool_option
+JIT: entering: gcc_jit_context_set_bool_option
+JIT: exiting: gcc_jit_context_set_bool_option
+JIT: entering: gcc_jit_context_set_bool_option
+JIT: exiting: gcc_jit_context_set_bool_option
+JIT: entering: gcc_jit_context_get_type
+JIT: exiting: gcc_jit_context_get_type
+JIT: entering: gcc_jit_context_get_type
+JIT: exiting: gcc_jit_context_get_type
+JIT: entering: gcc_jit_context_new_param
+JIT: exiting: gcc_jit_context_new_param
+JIT: entering: gcc_jit_context_new_function
+JIT: exiting: gcc_jit_context_new_function
+JIT: entering: gcc_jit_context_new_param
+JIT: exiting: gcc_jit_context_new_param
+JIT: entering: gcc_jit_context_get_type
+JIT: exiting: gcc_jit_context_get_type
+JIT: entering: gcc_jit_context_new_function
+JIT: exiting: gcc_jit_context_new_function
+JIT: entering: gcc_jit_context_new_string_literal
+JIT: exiting: gcc_jit_context_new_string_literal
+JIT: entering: gcc_jit_function_new_block
+JIT: exiting: gcc_jit_function_new_block
+JIT: entering: gcc_jit_block_add_comment
+JIT: exiting: gcc_jit_block_add_comment
+JIT: entering: gcc_jit_context_new_call
+JIT: exiting: gcc_jit_context_new_call
+JIT: entering: gcc_jit_block_add_eval
+JIT: exiting: gcc_jit_block_add_eval
+JIT: entering: gcc_jit_block_end_with_void_return
+JIT: exiting: gcc_jit_block_end_with_void_return
+JIT: entering: gcc_jit_context_compile
+JIT: compiling ctxt: 0x1283e20
+JIT: entering: gcc::jit::result* gcc::jit::recording::context::compile()
+JIT: entering: void gcc::jit::recording::context::validate()
+JIT: exiting: void gcc::jit::recording::context::validate()
+JIT: entering: gcc::jit::playback::context::context(gcc::jit::recording::context*)
+JIT: exiting: gcc::jit::playback::context::context(gcc::jit::recording::context*)
+JIT: entering: gcc::jit::result* gcc::jit::playback::context::compile()
+JIT: entering: void gcc::jit::playback::context::make_fake_args(vec<char*>*, const char*, vec<gcc::jit::recording::requested_dump>*)
+JIT: exiting: void gcc::jit::playback::context::make_fake_args(vec<char*>*, const char*, vec<gcc::jit::recording::requested_dump>*)
+JIT: entering: void gcc::jit::playback::context::acquire_mutex()
+JIT: exiting: void gcc::jit::playback::context::acquire_mutex()
+JIT: entering: toplev::main
+JIT: argv[0]: ./test-hello-world.c.exe
+JIT: argv[1]: /tmp/libgccjit-CKq1M9/fake.c
+JIT: argv[2]: -fPIC
+JIT: argv[3]: -O3
+JIT: argv[4]: -g
+JIT: argv[5]: -quiet
+JIT: argv[6]: --param
+JIT: argv[7]: ggc-min-expand=0
+JIT: argv[8]: --param
+JIT: argv[9]: ggc-min-heapsize=0
+JIT: entering: bool jit_langhook_init()
+JIT: exiting: bool jit_langhook_init()
+JIT: entering: void gcc::jit::playback::context::replay()
+JIT: entering: void gcc::jit::recording::context::replay_into(gcc::jit::replayer*)
+JIT: exiting: void gcc::jit::recording::context::replay_into(gcc::jit::replayer*)
+JIT: entering: void gcc::jit::recording::context::disassociate_from_playback()
+JIT: exiting: void gcc::jit::recording::context::disassociate_from_playback()
+JIT: entering: void gcc::jit::playback::context::handle_locations()
+JIT: exiting: void gcc::jit::playback::context::handle_locations()
+JIT: entering: void gcc::jit::playback::function::build_stmt_list()
+JIT: exiting: void gcc::jit::playback::function::build_stmt_list()
+JIT: entering: void gcc::jit::playback::function::build_stmt_list()
+JIT: exiting: void gcc::jit::playback::function::build_stmt_list()
+JIT: entering: void gcc::jit::playback::function::postprocess()
+JIT: exiting: void gcc::jit::playback::function::postprocess()
+JIT: entering: void gcc::jit::playback::function::postprocess()
+JIT: exiting: void gcc::jit::playback::function::postprocess()
+JIT: exiting: void gcc::jit::playback::context::replay()
+JIT: entering: void jit_langhook_write_globals()
+JIT: exiting: void jit_langhook_write_globals()
+JIT: exiting: toplev::main
+JIT: entering: void gcc::jit::playback::context::extract_any_requested_dumps(vec<gcc::jit::recording::requested_dump>*)
+JIT: exiting: void gcc::jit::playback::context::extract_any_requested_dumps(vec<gcc::jit::recording::requested_dump>*)
+JIT: entering: toplev::finalize
+JIT: exiting: toplev::finalize
+JIT: entering: void gcc::jit::playback::context::convert_to_dso(const char*)
+JIT: argv[0]: x86_64-unknown-linux-gnu-gcc-5.0.0
+JIT: argv[1]: -shared
+JIT: argv[2]: /tmp/libgccjit-CKq1M9/fake.s
+JIT: argv[3]: -o
+JIT: argv[4]: /tmp/libgccjit-CKq1M9/fake.so
+JIT: argv[5]: -fno-use-linker-plugin
+JIT: argv[6]: (null)
+JIT: exiting: void gcc::jit::playback::context::convert_to_dso(const char*)
+JIT: entering: gcc::jit::result* gcc::jit::playback::context::dlopen_built_dso()
+JIT: entering: gcc::jit::result::result(gcc::jit::logger*, void*)
+JIT: exiting: gcc::jit::result::result(gcc::jit::logger*, void*)
+JIT: exiting: gcc::jit::result* gcc::jit::playback::context::dlopen_built_dso()
+JIT: entering: void gcc::jit::playback::context::release_mutex()
+JIT: exiting: void gcc::jit::playback::context::release_mutex()
+JIT: exiting: gcc::jit::result* gcc::jit::playback::context::compile()
+JIT: entering: gcc::jit::playback::context::~context()
+JIT: exiting: gcc::jit::playback::context::~context()
+JIT: exiting: gcc::jit::result* gcc::jit::recording::context::compile()
+JIT: gcc_jit_context_compile: returning (gcc_jit_result *)0x12f75d0
+JIT: exiting: gcc_jit_context_compile
+JIT: entering: gcc_jit_result_get_code
+JIT: locating fnname: hello_world
+JIT: entering: void* gcc::jit::result::get_code(const char*)
+JIT: exiting: void* gcc::jit::result::get_code(const char*)
+JIT: gcc_jit_result_get_code: returning (void *)0x7ff6b8cd87f0
+JIT: exiting: gcc_jit_result_get_code
+JIT: entering: gcc_jit_context_release
+JIT: deleting ctxt: 0x1283e20
+JIT: entering: gcc::jit::recording::context::~context()
+JIT: exiting: gcc::jit::recording::context::~context()
+JIT: exiting: gcc_jit_context_release
+JIT: entering: gcc_jit_result_release
+JIT: deleting result: 0x12f75d0
+JIT: entering: virtual gcc::jit::result::~result()
+JIT: exiting: virtual gcc::jit::result::~result()
+JIT: exiting: gcc_jit_result_release
+JIT: gcc::jit::logger::~logger()