diff mbox

[wwwdocs] Add libgccjit to gcc-5/changes.html

Message ID 1423190855.31674.17.camel@surprise
State New
Headers show

Commit Message

David Malcolm Feb. 6, 2015, 2:47 a.m. UTC
This patch adds an <h2>-level section about libgccjit between the
sections on languages and targets.

It has various links to the documentation (now that that's on the
website), and to a couple of 3rd party repos (the Python and D
bindings).  It also mentions the license of the library.

OK to commit?

Dave

Comments

David Malcolm Feb. 26, 2015, 6:27 p.m. UTC | #1
On Thu, 2015-02-05 at 21:47 -0500, David Malcolm wrote:
> This patch adds an <h2>-level section about libgccjit between the
> sections on languages and targets.
> 
> It has various links to the documentation (now that that's on the
> website), and to a couple of 3rd party repos (the Python and D
> bindings).  It also mentions the license of the library.
> 
> OK to commit?
> 
> Dave

Ping re: https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00371.html

(although the patch is slightly mangled in that HTML rendering in the
archive, where semicolons have somehow been injected in the tags; the
markup is correct in the patch itself).
Gerald Pfeifer Feb. 27, 2015, 12:06 a.m. UTC | #2
Hi David,

On Thu, 5 Feb 2015, David Malcolm wrote:
> This patch adds an <h2>-level section about libgccjit 
> between the sections on languages and targets.

this is a very nice idea.

Index: htdocs/gcc-5/changes.html
===================================================================
+<h2 id="jit">libgccjit</h2>
+<p>New in GCC 5 is the ability to build gcc as a shared library for embedding
+in other processes (such as interpreters), suitable for Just-In-Time
+compilation to machine code.</p>

"GCC" (in "build GCC as"), and the line looks a bit long?

+<p>The library can also be used for ahead-of-time compilation, enabling
+GCC to be plugged into a pre-existing frontend.

I have to admit that to me "pre-existing" always feels a bit redundant.  
Does that come before "regular existing" and "post-existing"? ;-) Tongue
in cheek, and probably because I am not a native speaker?


This is okay with this change and considering (which does not
necessarily mean honoring) the comment.

Thank you.

Gerald
Tobias Burnus March 1, 2015, 12:23 p.m. UTC | #3
David Malcolm wrote:
> On Thu, 2015-02-05 at 21:47 -0500, David Malcolm wrote:
>> This patch adds an <h2>-level section about libgccjit between the
>> sections on languages and targets.
>>
>> It has various links to the documentation (now that that's on the
>> website), and to a couple of 3rd party repos (the Python and D
>> bindings).  It also mentions the license of the library.
>>
>> OK to commit?
>
> Ping re: https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00371.html
>
> (although the patch is slightly mangled in that HTML rendering in the
> archive, where semicolons have somehow been injected in the tags; the
> markup is correct in the patch itself).

While it would be nice if Gerald could find the time to review the 
patch, I recall that he once said that maintainers don't need approvals 
for release-notes changes of their part of the compiler, which also 
matches what is written at https://gcc.gnu.org/svnwrite.html#policies :

"These folks are allowed to make changes to areas they maintain and 
related documentation, web pages, and test cases without approval from 
anyone else, and approve other people's changes in those areas."

And as you are JIT maintainer ...

Cheers,

Tobias
Gerald Pfeifer March 1, 2015, 1:23 p.m. UTC | #4
On Sun, 1 Mar 2015, Tobias Burnus wrote:
>> Ping re: https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00371.html
> While it would be nice if Gerald could find the time to review the patch, 
> I recall that he once said that maintainers don't need approvals for
> release-notes changes of their part of the compiler, which also matches 
> what is written at https://gcc.gnu.org/svnwrite.html#policies :

Yep, absolutely agreed.

That said, I actually did review and approve this specific patch, cf.
  https://gcc.gnu.org/ml/gcc-patches/2015-02/msg01672.html

And I am always happy to review (and/or provide some editing after
a commit), but outside of news items on the main page which generally 
should be reviewed by a second pair of eyes than the contributor this
is more of a service than a mandate. ;-)

Gerald
David Malcolm March 2, 2015, 4:41 p.m. UTC | #5
On Fri, 2015-02-27 at 01:06 +0100, Gerald Pfeifer wrote:
> Hi David,
> 
> On Thu, 5 Feb 2015, David Malcolm wrote:
> > This patch adds an <h2>-level section about libgccjit 
> > between the sections on languages and targets.
> 
> this is a very nice idea.
> 
> Index: htdocs/gcc-5/changes.html
> ===================================================================
> +<h2 id="jit">libgccjit</h2>
> +<p>New in GCC 5 is the ability to build gcc as a shared library for embedding
> +in other processes (such as interpreters), suitable for Just-In-Time
> +compilation to machine code.</p>
> 
> "GCC" (in "build GCC as"), and the line looks a bit long?

I've capitalized the "GCC".

> +<p>The library can also be used for ahead-of-time compilation, enabling
> +GCC to be plugged into a pre-existing frontend.
> 
> I have to admit that to me "pre-existing" always feels a bit redundant.  
> Does that come before "regular existing" and "post-existing"? ;-) Tongue
> in cheek, and probably because I am not a native speaker?

FWIW I am a native speaker.  I was trying to stress that this gives
people the ability to use libgccjit with code that already exists
(assuming that the licenses are compatible, which is mentioned lower
down); "pre-existing" seems to be the best way to express that, so I've
kept it.

> This is okay with this change and considering (which does not
> necessarily mean honoring) the comment.
> 
> Thank you.

Thanks; committed.

Dave
diff mbox

Patch

Index: htdocs/gcc-5/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-5/changes.html,v
retrieving revision 1.78
diff -u -p -r1.78 changes.html
--- htdocs/gcc-5/changes.html	5 Feb 2015 13:52:05 -0000	1.78
+++ htdocs/gcc-5/changes.html	6 Feb 2015 02:46:57 -0000
@@ -451,6 +451,33 @@  void operator delete[] (void *, std::siz
 <!-- h3 id="go">Go</h3 -->
 <!--h3 id="java">Java (GCJ)</h3-->
 
+<h2 id="jit">libgccjit</h2>
+<p>New in GCC 5 is the ability to build gcc as a shared library for embedding
+in other processes (such as interpreters), suitable for Just-In-Time
+compilation to machine code.</p>
+
+<p>The shared library has a <a href="https://gcc.gnu.org/onlinedocs/jit/intro/index.html">C API</a>
+and a
+<a href="https://gcc.gnu.org/onlinedocs/jit/cp/index.html">C++ wrapper API</a>
+providing some "syntactic sugar".
+There are also bindings available from 3rd parties for
+<a href="https://github.com/davidmalcolm/pygccjit">Python</a> and for
+<a href="https://github.com/ibuclaw/gccjitd">D</a>.</p>
+
+<p>For example, this library can be used by interpreters for
+<a href="https://gcc.gnu.org/onlinedocs/jit/intro/tutorial04.html">compiling
+functions from bytecode to machine code</a>.</p>
+
+<p>The library can also be used for ahead-of-time compilation, enabling
+GCC to be plugged into a pre-existing frontend.  An example of using
+this to build a compiler for an esoteric language we'll refer to as "brainf"
+can be seen <a href="https://gcc.gnu.org/onlinedocs/jit/intro/tutorial05.html">
+here</a>.</p>
+
+<p>libgccjit is licensed under the GPLv3 (or at your option, any later version)</p>
+
+<p>It should be regarded as experimental at this time.</p>
+
 <h2 id="targets">New Targets and Target Specific Improvements</h2>
 
 <h3 id="aarch64">AArch64</h3>