Modernize the LLVM "Building A JIT" tutorial series

The LLVM BuildingAJIT tutorial series teaches readers to build their own JIT class from scratch using LLVM’s ORC APIs, however the tutorial chapters have not kept pace with recent API improvements. Bring the existing tutorial chapters up to speed, write up a new chapter on lazy compilation (chapter code already available) or write a new chapter from scratch.

Expected results

  • Update chapter text for Chapters 1-3 – Easy, but offers a chance to get up-to-speed on the APIs.
  • Write chapter text for Chapter 4 – Chapter code is already available, but no chapter text exists yet.
  • Write a new chapter from scratch – E.g. How to write an out-of-process JIT, or how to directly manipulate the JIT’d instruction stream using the ObjectLinkingLayer::Plugin API.

Desirable skills:

Intermediate C++; Understanding of LLVM and the LLVM JIT in particular; Familiarity with RST (reStructed Text); Technical writing skills.

Project type



@vvassilev, @lhames


Hello. I have experience in writing security standards and regulations. I am pretty good at code. I would love to work on this project. Can we discuss details? (I would send my CV if needed)

@BenJoice, thanks for reaching out!

IIRC, @lhames had a detailed plan for the type of things we want to achieve. Feel free to send us a CV over email.

sent you a CV. Has a letter arrived?

пн, 28 февр. 2022 г. в 22:27, Vassil Vassilev via LLVM Discussion Forums <>:

@lhames @vvassilev
Hello. I was unable to send you a CV. The mail on your github hub is not correct or I do not perceive it correctly. Please send a valid one.

The high level plan is:

  1. [highest priority] Tidy up what we have.
  2. [expected] Reinstate/update chapter 5 code, and write chapter text. The topic would be “Lazy compilation from ASTs”.
  3. [stretch goal] Add a chapter on out-of-process execution.

That should be plenty for GSoC, but if we get through all of them I have some further ideas. :slight_smile:

@lhames @vvassilev
Great . I have experience in writing regulations and security policies, documentation. I even compiled a threat model for a specific application (by code, etc.). What are my current actions? It’s still too early to send an offer if I understood correctly. I would probably start to describe something.

Yep, your email has arrived and I replied. Sorry for the delay :wink:

@lhames @vvassilev
Hello. It seems that there is already information about the organizations that Google accepted for the 22nd year. Do you have any information? And if you can check the mail (I sent information about the university)

@lhames @vvassilev
Guys . Where did they disappear to? Is there any info?

Hi @BenJoice,

Apologies for the delay. As I mentioned in our email exchange we needed some further clarifications from Google about the conflict in Ukraine. Google has a clarified that "GSoC 2022 is not accepting participants (Contributors, Mentors or Organization Administrators) from Russia, Belarus, or the so-called Donetsk People’s Republic (“DNR”) and Luhansk People’s Republic (“LNR”). " here.

If anything changes next year we would be happy to consider you as a GSoC candidate. In the meantime, you can always contribute to open source outside of the GSoC program.

Good morning, I’m interested in contributing. I previously followed the JIT tutorial by building my own version of it, but I noticed that some of the content were not up to date. I’m familiar with RST, and I’m familiar with c/c++. What do I need to do to provide some details to be able to contribute?

Hello, it would be great if you can send us your CV. If you want to know if you are eligible please consult the GSoC rules and FAQ.

Hi thanks for getting back with me. It seems from reading the GSoC rules and FAQ that I may be eligible. Which email address am I sending this to?

I’m also interested. I’m new to LLVM, but I’m not new to compilers or technical writing:

And I’m currently developing a Web Assembly virtual machine that interprets (and should eventually compile) the Web Assembly text format:
GitHub - raslanove/NOMone-WASM-Machine: A cross-platform WASM interpreter

I’m very interested in what LLVM has to offer, after seeing this I thought that maybe it’s time to take a plunge.

  • I’ve written articles for Envato Tuts+ (Omar El Sayyed - Envato Tuts+ Profile).
  • I’ve developed the course material and taught several software engineering courses for a number of institutions in Egypt (like ITI).
  • I’ve mentored Android and Game Programming nano-degrees for NTL (Audacity degrees).
  • I have more than 20 years of C++ programming experience (now that GSoC allows non-students, I can finally participate).

I’m a resident of Egypt. Should I make a proposal in a separate thread before submitting to GSoC?

Omar El Sayyed

Hi all,

We don’t have a lot of time left. So I’d encourage you to reach out to us, sending your CV and a draft of your proposal.

The proposal should tell mentors that you know what, when and how to do, and you have the required skills to do it. I would recommend to pay extra attention to the proposal timeline and split it into weeks where you can describe the work and what would be the deliverable of the work. For example, Week N: We will implement X and Y and Chapter Z will be complete.

cc: @weliveindetail

I couldn’t send an email to, so I sent you a message here with the proposal and the resume. Is that sufficient? Please let me know if I should go ahead and send the proposal through GSoC.


1 Like