SlideShare a Scribd company logo
Group Members
Mohammad Shahriar Reza 011 132 065
Samrin Ahmed Riya 011 142 021
• What is Compiler
• Introduction to JUST IN TIME COMPILERS
• Basis for JIT
• Relies on JIT
• Time space trade off (JIT)
• Functioning of JIT
• Classification of JUST IN TIME COMPILERS
• Conclusion
• References
CONTENTS
COMPILER
• A program that changes source code (high-level
language) to object code which that can be executed by
a machine.
• Compiler:
o Checks syntax of program
o Checks at a time all the program
• Primary reason for compiling source code is to create an
executable program
• Examples of compiler based language:
• C, C++, JAVA
JIT Compiler
• Also known as ‘Dynamic Translation’.
• A method to improve the runtime performance
of computer programs based on byte code (virtual
machine code).
Structure of JIT Compiler
Basis for JIT
• Stores the program as byte code.
• Runs the code segment preoperatively compiled to physical
machine code in order to run faster.
• Represents a hybrid approach translation occurring continuously,
as with interpreters.
• Handles late-bound data types and the ability to enforce security
guarantees.
• Converts code at runtime prior to executing it natively.
Relies on JIT
• Microsoft's .NET Framework.
• Most implementations of Java.
Reason: For high-speed code execution.
Time space trade off (JIT)
Functioning of JIT
Dynamic Compilation:
• Can do non-conservative optimizations in dynamic
• Separates optimization from product delivery cycle
• – Update JVM, run the same application, realize
improved performance!
• – Can be "tuned" to the target platform.
Functioning of JIT (Contd..)
• Knows about
– loaded classes, methods the program has executed
• Makes optimization decisions based on code paths executed
– Code generation depends on what is observed:
-loaded classes, code paths executed,
branches taken
• May re-optimize if assumption was wrong, or alternative code
paths taken.
– Instruction path length may change between
invocations of methods as a result of de-optimization
/ re-compilation
Functioning of JIT (Contd..)
JVM: Makes Bytecodes Fast
• JVMs eventually JIT bytecodes
– To make them fast
– compiled when needed
- Maybe immediately before execution or
when we decide it’s important
– Some JITs are high quality optimizing compilers
Functioning of JIT (Contd..)
 JVM: Makes Bytecodes Fast
• JIT'ing requires Profiling
– Because you don't want to JIT everything
• Profiling allows focused code-gen
• Profiling allows better code-gen
– Inline what’s hot
– Loop unrolling, range-check elimination, etc
– Branch prediction, spill-code-gen, scheduling
Functioning of JIT (Contd..)
Dynamic Compilation (JIT)
• Is dynamic compilation overhead essential?
– The longer your application runs, the less the
overhead
• Trading off compilation time, not application time
– Steal some cycles very early in execution
– Done automagically and transparently to application
• Most of “perceived” overhead is compiler waiting for more data
– ...thus running semi-optimal code for time being
Overhead
Functioning of JIT (Contd..)
 ByteCode Execution
1 2
34
Interpretation Profiling
Dynamic
Compilation
Deoptimization
Classification features of JUST IN TIME
COMPILERS
• JIT systems can be classified according to three properties:
1. Invocation
-Explicitly invoked the user must take some action to cause
compilation at runtime. An implicitly invoked JIT compiler is transparent
to the user.
2. Executability
-Performs optimization on the fly on one of the source languages
namely ‘JITsystemmonoexecutable’ or ‘polyexecutable’.
3. Concurrency
-operates to execute the program concurrently; in a
separate thread or process, even on a different processor.
Conclusion
• A traditional compiler that compiles all the code to
machine language before the program is first run.
• An access to dynamic runtime information.
• Actually a feature of the runtime interpreter.
• Ideally the efficiency of running object code will
overcome the inefficiency of recompiling the program
every time it runs.
References
•  http://www.theserverside.com/definition/just-in-time-
compiler-JIT
• https://www.slideshare.net/ZeroTurnaround/vladimir-
ivanovjvmjitcompilationoverview-24613146
• http://stackoverflow.com/questions/95635/what-does-a-just-
in-time-jit-compiler-do
• https://en.wikipedia.org/wiki/Just-in-time_compilation
Questions
JIT Compiler

More Related Content

What's hot

Unit 4 sp macro
Unit 4 sp macroUnit 4 sp macro
Unit 4 sp macro
Deepmala Sharma
 
Phases of compiler
Phases of compilerPhases of compiler
Phases of compiler
Akhil Kaushik
 
Introduction to Compiler
Introduction to CompilerIntroduction to Compiler
Introduction to Compiler
Radhakrishnan Chinnusamy
 
Java Development Kit (jdk)
Java Development Kit (jdk)Java Development Kit (jdk)
Java Development Kit (jdk)
Jadavsejal
 
Introduction to Compiler design
Introduction to Compiler design Introduction to Compiler design
Introduction to Compiler design
Dr. C.V. Suresh Babu
 
Architecture diagram of jvm
Architecture diagram of jvmArchitecture diagram of jvm
Architecture diagram of jvm
home
 
Intermediate code generation in Compiler Design
Intermediate code generation in Compiler DesignIntermediate code generation in Compiler Design
Intermediate code generation in Compiler Design
Kuppusamy P
 
Lecture 01 introduction to compiler
Lecture 01 introduction to compilerLecture 01 introduction to compiler
Lecture 01 introduction to compiler
Iffat Anjum
 
System Programing Unit 1
System Programing Unit 1System Programing Unit 1
System Programing Unit 1Manoj Patil
 
Two pass Assembler
Two pass AssemblerTwo pass Assembler
Two pass Assembler
Satyamevjayte Haxor
 
Compiler type
Compiler typeCompiler type
Compiler type
Amrish rajput
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net framework
Arun Prasad
 
Intermediate code generator
Intermediate code generatorIntermediate code generator
Intermediate code generator
sanchi29
 
Assembler
AssemblerAssembler
Assembler
Temesgen Molla
 
Compilers
CompilersCompilers
COMPILER DESIGN OPTIONS
COMPILER DESIGN OPTIONSCOMPILER DESIGN OPTIONS
COMPILER DESIGN OPTIONS
sonalikharade3
 
Code Optimization
Code OptimizationCode Optimization
Code Optimization
Akhil Kaushik
 
Compiler construction tools
Compiler construction toolsCompiler construction tools
Compiler construction tools
Akhil Kaushik
 
Peephole Optimization
Peephole OptimizationPeephole Optimization
Peephole Optimization
United International University
 
Linker and Loader
Linker and Loader Linker and Loader
Linker and Loader
sonalikharade3
 

What's hot (20)

Unit 4 sp macro
Unit 4 sp macroUnit 4 sp macro
Unit 4 sp macro
 
Phases of compiler
Phases of compilerPhases of compiler
Phases of compiler
 
Introduction to Compiler
Introduction to CompilerIntroduction to Compiler
Introduction to Compiler
 
Java Development Kit (jdk)
Java Development Kit (jdk)Java Development Kit (jdk)
Java Development Kit (jdk)
 
Introduction to Compiler design
Introduction to Compiler design Introduction to Compiler design
Introduction to Compiler design
 
Architecture diagram of jvm
Architecture diagram of jvmArchitecture diagram of jvm
Architecture diagram of jvm
 
Intermediate code generation in Compiler Design
Intermediate code generation in Compiler DesignIntermediate code generation in Compiler Design
Intermediate code generation in Compiler Design
 
Lecture 01 introduction to compiler
Lecture 01 introduction to compilerLecture 01 introduction to compiler
Lecture 01 introduction to compiler
 
System Programing Unit 1
System Programing Unit 1System Programing Unit 1
System Programing Unit 1
 
Two pass Assembler
Two pass AssemblerTwo pass Assembler
Two pass Assembler
 
Compiler type
Compiler typeCompiler type
Compiler type
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net framework
 
Intermediate code generator
Intermediate code generatorIntermediate code generator
Intermediate code generator
 
Assembler
AssemblerAssembler
Assembler
 
Compilers
CompilersCompilers
Compilers
 
COMPILER DESIGN OPTIONS
COMPILER DESIGN OPTIONSCOMPILER DESIGN OPTIONS
COMPILER DESIGN OPTIONS
 
Code Optimization
Code OptimizationCode Optimization
Code Optimization
 
Compiler construction tools
Compiler construction toolsCompiler construction tools
Compiler construction tools
 
Peephole Optimization
Peephole OptimizationPeephole Optimization
Peephole Optimization
 
Linker and Loader
Linker and Loader Linker and Loader
Linker and Loader
 

Similar to JIT Compiler

just in time JIT compiler
just in time JIT compilerjust in time JIT compiler
just in time JIT compiler
Mohit kumar
 
Types of Compilers
Types of CompilersTypes of Compilers
Types of Compilers
Hemant Chetwani
 
Java performance tuning
Java performance tuningJava performance tuning
Java performance tuning
Jerry Kurian
 
Compilers and interpreters
Compilers and interpretersCompilers and interpreters
Compilers and interpretersRAJU KATHI
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
C4Media
 
Chap01-Intro.ppt
Chap01-Intro.pptChap01-Intro.ppt
Chap01-Intro.ppt
AhmadAbubaker16
 
Compiler Design Introduction
Compiler Design Introduction Compiler Design Introduction
Compiler Design Introduction
Thapar Institute
 
PCSG_Computer_Science_Unit_1_Lecture_2.pptx
PCSG_Computer_Science_Unit_1_Lecture_2.pptxPCSG_Computer_Science_Unit_1_Lecture_2.pptx
PCSG_Computer_Science_Unit_1_Lecture_2.pptx
AliyahAli19
 
Mobile Application Development- Configuration and Android Installation
Mobile Application Development- Configuration and Android InstallationMobile Application Development- Configuration and Android Installation
Mobile Application Development- Configuration and Android Installation
Chandrakant Divate
 
Embedded systems introduction
Embedded systems introductionEmbedded systems introduction
Embedded systems introduction
mohamed drahem
 
Dotnet framework
Dotnet frameworkDotnet framework
Dotnet frameworkNitu Pandey
 
jBPM Connector
jBPM ConnectorjBPM Connector
jBPM Connector
Mohammed246
 
Putting Compilers to Work
Putting Compilers to WorkPutting Compilers to Work
Putting Compilers to Work
SingleStore
 
Compiler Design Introduction
Compiler Design IntroductionCompiler Design Introduction
Compiler Design Introduction
Kuppusamy P
 
Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...
Design World
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
WASdev Community
 
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
Arti Parab Academics
 
Tech trends 2018 2019
Tech trends 2018 2019Tech trends 2018 2019
Tech trends 2018 2019
Johan Norm
 

Similar to JIT Compiler (20)

just in time JIT compiler
just in time JIT compilerjust in time JIT compiler
just in time JIT compiler
 
Types of Compilers
Types of CompilersTypes of Compilers
Types of Compilers
 
Dalvik jit
Dalvik jitDalvik jit
Dalvik jit
 
Java performance tuning
Java performance tuningJava performance tuning
Java performance tuning
 
Compilers and interpreters
Compilers and interpretersCompilers and interpreters
Compilers and interpreters
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Chap01-Intro.ppt
Chap01-Intro.pptChap01-Intro.ppt
Chap01-Intro.ppt
 
E.s unit 6
E.s unit 6E.s unit 6
E.s unit 6
 
Compiler Design Introduction
Compiler Design Introduction Compiler Design Introduction
Compiler Design Introduction
 
PCSG_Computer_Science_Unit_1_Lecture_2.pptx
PCSG_Computer_Science_Unit_1_Lecture_2.pptxPCSG_Computer_Science_Unit_1_Lecture_2.pptx
PCSG_Computer_Science_Unit_1_Lecture_2.pptx
 
Mobile Application Development- Configuration and Android Installation
Mobile Application Development- Configuration and Android InstallationMobile Application Development- Configuration and Android Installation
Mobile Application Development- Configuration and Android Installation
 
Embedded systems introduction
Embedded systems introductionEmbedded systems introduction
Embedded systems introduction
 
Dotnet framework
Dotnet frameworkDotnet framework
Dotnet framework
 
jBPM Connector
jBPM ConnectorjBPM Connector
jBPM Connector
 
Putting Compilers to Work
Putting Compilers to WorkPutting Compilers to Work
Putting Compilers to Work
 
Compiler Design Introduction
Compiler Design IntroductionCompiler Design Introduction
Compiler Design Introduction
 
Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...Overcoming software development challenges by using an integrated software fr...
Overcoming software development challenges by using an integrated software fr...
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
 
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
 
Tech trends 2018 2019
Tech trends 2018 2019Tech trends 2018 2019
Tech trends 2018 2019
 

More from United International University

Digital Banking - Revolution in Bangladesh
Digital Banking - Revolution in BangladeshDigital Banking - Revolution in Bangladesh
Digital Banking - Revolution in Bangladesh
United International University
 
Happiness advantage
Happiness advantageHappiness advantage
Happiness advantage
United International University
 
Project report on arduino based parking lot system
Project report on arduino based parking lot systemProject report on arduino based parking lot system
Project report on arduino based parking lot system
United International University
 
Talk shows-Are they entertaining ?
Talk shows-Are they entertaining ?Talk shows-Are they entertaining ?
Talk shows-Are they entertaining ?
United International University
 
Game using Java
Game using JavaGame using Java
Systematic Project Implementation
Systematic Project Implementation Systematic Project Implementation
Systematic Project Implementation
United International University
 
Project Management Tools
Project Management ToolsProject Management Tools
Project Management Tools
United International University
 
Balanced Tree (AVL Tree & Red-Black Tree)
Balanced Tree (AVL Tree & Red-Black Tree)Balanced Tree (AVL Tree & Red-Black Tree)
Balanced Tree (AVL Tree & Red-Black Tree)
United International University
 
Academic Pressure Too Much To Handle
Academic Pressure Too Much To HandleAcademic Pressure Too Much To Handle
Academic Pressure Too Much To Handle
United International University
 
Tree-In Data Structure
Tree-In Data StructureTree-In Data Structure
Tree-In Data Structure
United International University
 
Arduino Based Parking Lot System
Arduino Based Parking Lot SystemArduino Based Parking Lot System
Arduino Based Parking Lot System
United International University
 
BCD ADDER
BCD ADDER BCD ADDER
Cinema & Its Impact On Society
Cinema & Its Impact On SocietyCinema & Its Impact On Society
Cinema & Its Impact On Society
United International University
 
Cyber Crime-The New War of the 21st Century
Cyber Crime-The New War of the 21st CenturyCyber Crime-The New War of the 21st Century
Cyber Crime-The New War of the 21st Century
United International University
 

More from United International University (14)

Digital Banking - Revolution in Bangladesh
Digital Banking - Revolution in BangladeshDigital Banking - Revolution in Bangladesh
Digital Banking - Revolution in Bangladesh
 
Happiness advantage
Happiness advantageHappiness advantage
Happiness advantage
 
Project report on arduino based parking lot system
Project report on arduino based parking lot systemProject report on arduino based parking lot system
Project report on arduino based parking lot system
 
Talk shows-Are they entertaining ?
Talk shows-Are they entertaining ?Talk shows-Are they entertaining ?
Talk shows-Are they entertaining ?
 
Game using Java
Game using JavaGame using Java
Game using Java
 
Systematic Project Implementation
Systematic Project Implementation Systematic Project Implementation
Systematic Project Implementation
 
Project Management Tools
Project Management ToolsProject Management Tools
Project Management Tools
 
Balanced Tree (AVL Tree & Red-Black Tree)
Balanced Tree (AVL Tree & Red-Black Tree)Balanced Tree (AVL Tree & Red-Black Tree)
Balanced Tree (AVL Tree & Red-Black Tree)
 
Academic Pressure Too Much To Handle
Academic Pressure Too Much To HandleAcademic Pressure Too Much To Handle
Academic Pressure Too Much To Handle
 
Tree-In Data Structure
Tree-In Data StructureTree-In Data Structure
Tree-In Data Structure
 
Arduino Based Parking Lot System
Arduino Based Parking Lot SystemArduino Based Parking Lot System
Arduino Based Parking Lot System
 
BCD ADDER
BCD ADDER BCD ADDER
BCD ADDER
 
Cinema & Its Impact On Society
Cinema & Its Impact On SocietyCinema & Its Impact On Society
Cinema & Its Impact On Society
 
Cyber Crime-The New War of the 21st Century
Cyber Crime-The New War of the 21st CenturyCyber Crime-The New War of the 21st Century
Cyber Crime-The New War of the 21st Century
 

Recently uploaded

COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
Kamal Acharya
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
PrashantGoswami42
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
Kamal Acharya
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
Kamal Acharya
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
MuhammadTufail242431
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSE
TECHNICAL TRAINING MANUAL   GENERAL FAMILIARIZATION COURSETECHNICAL TRAINING MANUAL   GENERAL FAMILIARIZATION COURSE
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSE
DuvanRamosGarzon1
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 

Recently uploaded (20)

COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSE
TECHNICAL TRAINING MANUAL   GENERAL FAMILIARIZATION COURSETECHNICAL TRAINING MANUAL   GENERAL FAMILIARIZATION COURSE
TECHNICAL TRAINING MANUAL GENERAL FAMILIARIZATION COURSE
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 

JIT Compiler

  • 1.
  • 2. Group Members Mohammad Shahriar Reza 011 132 065 Samrin Ahmed Riya 011 142 021
  • 3. • What is Compiler • Introduction to JUST IN TIME COMPILERS • Basis for JIT • Relies on JIT • Time space trade off (JIT) • Functioning of JIT • Classification of JUST IN TIME COMPILERS • Conclusion • References CONTENTS
  • 5. • A program that changes source code (high-level language) to object code which that can be executed by a machine. • Compiler: o Checks syntax of program o Checks at a time all the program • Primary reason for compiling source code is to create an executable program • Examples of compiler based language: • C, C++, JAVA
  • 6. JIT Compiler • Also known as ‘Dynamic Translation’. • A method to improve the runtime performance of computer programs based on byte code (virtual machine code).
  • 7. Structure of JIT Compiler
  • 8. Basis for JIT • Stores the program as byte code. • Runs the code segment preoperatively compiled to physical machine code in order to run faster. • Represents a hybrid approach translation occurring continuously, as with interpreters. • Handles late-bound data types and the ability to enforce security guarantees. • Converts code at runtime prior to executing it natively.
  • 9. Relies on JIT • Microsoft's .NET Framework. • Most implementations of Java. Reason: For high-speed code execution.
  • 10. Time space trade off (JIT)
  • 11. Functioning of JIT Dynamic Compilation: • Can do non-conservative optimizations in dynamic • Separates optimization from product delivery cycle • – Update JVM, run the same application, realize improved performance! • – Can be "tuned" to the target platform.
  • 12. Functioning of JIT (Contd..) • Knows about – loaded classes, methods the program has executed • Makes optimization decisions based on code paths executed – Code generation depends on what is observed: -loaded classes, code paths executed, branches taken • May re-optimize if assumption was wrong, or alternative code paths taken. – Instruction path length may change between invocations of methods as a result of de-optimization / re-compilation
  • 13. Functioning of JIT (Contd..) JVM: Makes Bytecodes Fast • JVMs eventually JIT bytecodes – To make them fast – compiled when needed - Maybe immediately before execution or when we decide it’s important – Some JITs are high quality optimizing compilers
  • 14. Functioning of JIT (Contd..)  JVM: Makes Bytecodes Fast • JIT'ing requires Profiling – Because you don't want to JIT everything • Profiling allows focused code-gen • Profiling allows better code-gen – Inline what’s hot – Loop unrolling, range-check elimination, etc – Branch prediction, spill-code-gen, scheduling
  • 15. Functioning of JIT (Contd..) Dynamic Compilation (JIT) • Is dynamic compilation overhead essential? – The longer your application runs, the less the overhead • Trading off compilation time, not application time – Steal some cycles very early in execution – Done automagically and transparently to application • Most of “perceived” overhead is compiler waiting for more data – ...thus running semi-optimal code for time being Overhead
  • 16. Functioning of JIT (Contd..)  ByteCode Execution 1 2 34 Interpretation Profiling Dynamic Compilation Deoptimization
  • 17. Classification features of JUST IN TIME COMPILERS • JIT systems can be classified according to three properties: 1. Invocation -Explicitly invoked the user must take some action to cause compilation at runtime. An implicitly invoked JIT compiler is transparent to the user. 2. Executability -Performs optimization on the fly on one of the source languages namely ‘JITsystemmonoexecutable’ or ‘polyexecutable’. 3. Concurrency -operates to execute the program concurrently; in a separate thread or process, even on a different processor.
  • 18. Conclusion • A traditional compiler that compiles all the code to machine language before the program is first run. • An access to dynamic runtime information. • Actually a feature of the runtime interpreter. • Ideally the efficiency of running object code will overcome the inefficiency of recompiling the program every time it runs.
  • 19. References •  http://www.theserverside.com/definition/just-in-time- compiler-JIT • https://www.slideshare.net/ZeroTurnaround/vladimir- ivanovjvmjitcompilationoverview-24613146 • http://stackoverflow.com/questions/95635/what-does-a-just- in-time-jit-compiler-do • https://en.wikipedia.org/wiki/Just-in-time_compilation