Make jit/notes.txt better reflect current status quo
authorDavid Malcolm <dmalcolm@redhat.com>
Mon, 8 Dec 2014 18:56:21 +0000 (18:56 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Mon, 8 Dec 2014 18:56:21 +0000 (18:56 +0000)
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

gcc/jit/ChangeLog
gcc/jit/notes.txt

index 8a2373582e639df66b34f4511f64f6af6d0e0ed8..a809566beb27e8f6f9136fff2023866337da4fbf 100644 (file)
@@ -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
index d337cb46c43a4d970e4628f638400c592de58ce5..12bb6d68c91f0306de38fb84c131995393357c9b 100644 (file)
@@ -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