diff options
author | David Malcolm <dmalcolm@redhat.com> | 2014-12-08 18:56:21 +0000 |
---|---|---|
committer | David Malcolm <dmalcolm@gcc.gnu.org> | 2014-12-08 18:56:21 +0000 |
commit | 0f37944592a2c9ea701d82da142c0d4931a2f6f5 (patch) | |
tree | 0bb308ca66d1df145842feb5be0033e052b2c2bb /gcc/jit | |
parent | b09e592eeefde7c1e9159d69358314308b3cb350 (diff) | |
download | gcc-0f37944592a2c9ea701d82da142c0d4931a2f6f5.zip gcc-0f37944592a2c9ea701d82da142c0d4931a2f6f5.tar.gz gcc-0f37944592a2c9ea701d82da142c0d4931a2f6f5.tar.bz2 |
Make jit/notes.txt better reflect current status quo
gcc/jit/ChangeLog:
* notes.txt: Show the beginning and ending of
recording::context::compile vs playback::context::compile. Show
the creation and unlinking of the tempdir. Show toplev::finalize.
Move "RELEASE MUTEX" to the correct location. Show
gcc_jit_result_release, and indicate where the
dlopen/dlsym/dlclose occur.
From-SVN: r218488
Diffstat (limited to 'gcc/jit')
-rw-r--r-- | gcc/jit/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/jit/notes.txt | 38 |
2 files changed, 43 insertions, 4 deletions
diff --git a/gcc/jit/ChangeLog b/gcc/jit/ChangeLog index 8a23735..a809566 100644 --- a/gcc/jit/ChangeLog +++ b/gcc/jit/ChangeLog @@ -1,3 +1,12 @@ +2014-12-08 David Malcolm <dmalcolm@redhat.com> + + * notes.txt: Show the beginning and ending of + recording::context::compile vs playback::context::compile. Show + the creation and unlinking of the tempdir. Show toplev::finalize. + Move "RELEASE MUTEX" to the correct location. Show + gcc_jit_result_release, and indicate where the + dlopen/dlsym/dlclose occur. + 2014-12-01 David Malcolm <dmalcolm@redhat.com> * docs/examples/tut02-square.c (main): Release the context diff --git a/gcc/jit/notes.txt b/gcc/jit/notes.txt index d337cb4..12bb6d6 100644 --- a/gcc/jit/notes.txt +++ b/gcc/jit/notes.txt @@ -18,9 +18,13 @@ Client Code . Generated . libgccjit.so │ . . . . V . . gcc_jit_context_compile . ──────────────────────────> . . + . . │ start of recording::context::compile () . . │ . . . . │ ACQUIRE MUTEX . . . │ . . + . . │ start of playback::context::compile () + . . │ (create tempdir) . + . . │ . . . . V───────────────────────> toplev::main (for now) . . . . │ . . . . (various code) @@ -65,13 +69,33 @@ Client Code . Generated . libgccjit.so . . . . (the middle─end and backend) . . . . ↓ . . <───────────────────────────── end of toplev::main - . . │ RELEASE MUTEX . . . │ . . - . . │ Convert assembler to DSO + . . V───────────────────────> toplev::finalize + . . . . │ (purge internal state) + . . <──────────────────────── end of toplev::finalize + . . │ . . + . . │ Convert assembler to DSO ("fake.so") + . . │ . . + . . │ Load DSO (dlopen "fake.so") . . │ . . - . . │ Load DSO . + . . │ end of playback::context::compile () + . . │ . . + . . │ playback::context dtor + . . ──> . . + . . │ Cleanup tempdir . + . . │ ("fake.so" is unlinked from the + . . │ filesystem at this point) + . . <── . . + . . │ . . + . . │ RELEASE MUTEX . + . . │ . . + . . │ end of recording::context::compile () <─────────────────────────── . . │ . . . . + V . . gcc_jit_result_get_code . + ──────────────────────────> . . + . . │ dlsym () within loaded DSO + <─────────────────────────── . . Get (void*). . . . │ . . . . │ Call it . . . . @@ -80,5 +104,11 @@ Client Code . Generated . libgccjit.so . │ . . . <─────────────── . . . │ . . . . +etc│ . . . . + │ . . . . + V . . gcc_jit_result_release . + ──────────────────────────> . . + . . │ dlclose () the loaded DSO + . . │ (code becomes uncallable) + <─────────────────────────── . . │ . . . . -etc |