These chapters are auto-generated

Intro

0:00

WHAT IS FALCON?

0:35

ZING VM BACKGROUND

1:07

BUSINESS NEED

2:01

DEVELOPMENT TIMELINE

3:05

TEAM EFFORT

4:05

WHY YOU SHOULD USE LLVM TO BUILD A JIT

5:26

COMMON OBJECTIONS

6:28

FIRST, A BIT OF SKEPTICISM...

7:02

FUNCTIONAL CORNER-CASES

8:04

BE WARY OF OVER DESIGN

9:04

GET TO FUNCTIONAL CORRECTNESS FIRST

10:42

IMPORTANCE OF PROFILING

13:12

PRUNE UNTAKEN PATHS

14:15

PREDICATED DEVIRTUALIZATION

15:26

IMPLICIT NULL CHECKS

17:20

LOCAL CODE LAYOUT

18:35

EXPLOITING SEMANTICS

19:41

DEFINING A CUSTOM PASS ORDER

21:06

EXPECT TO BECOME AN LLVM DEVELOPER

22:03

STATUS CHECK

23:12

QUICK EXAMPLE

23:55

CALLING ALL LLVM DEVELOPERS...

25:25

SYSTEM INTEGRATION

28:31

WAIT, YOU DO WHAT?

29:41

CACHED COMPILES

30:34

LANGUAGE SPECIFIC DEFICIENCIES

32:41

DO YOU ACTUALLY HAVE A PROBLEM?

33:33

CUSTOM ATTRIBUTES/METADATA

34:32

METADATA HEALING

36:32

CALLBACKS

37:59

IMPLICATIONS FOR REPLAY

41:16

EMBEDDED HIGH LEVEL IR

42:58

A (SLIGHT) CHANGE IN VIEW ON ABSTRACTIONS

44:44

CONCLUSION

46:41
2017 LLVM Developers’ Meeting: P. Reames “Falcon: An optimizing Java JIT ”
44Likes
2,575Views
2017Oct 31
http://www.LLVM.org/devmtg/2017-10/ — Falcon: An optimizing Java JIT - Philip Reames Slides: http://llvm.org/devmtg/2017-10/slides... — Over the last four years, we at Azul have developed and shipped a LLVM based JIT compiler within the Zing JVM. Falcon is now the default optimizing JIT for Zing and is in widespread production use. This talk will focus on the overall design of Falcon, with particular emphasis on how we extended LLVM to be successful in this new role. We have presented portions of the upstream technical work at previous developers meetings; this talk will emphasize how the various pieces fit together in a successful effort. In addition to the technical design, we will also cover key process decisions that ended up being essential for the success of the project. — Videos Filmed & Edited by Bash Films: http://www.BashFilms.com

Follow along using the transcript.

LLVM

16.2K subscribers