(c) João Ferreira (c) João Ferreira -
- ICCA 2004
ICCA 2004 1 1
CLR CLR A A new new virtual virtual machine machine
João Ferreira João Ferreira joao.ferreira@progmat.com joao.ferreira@progmat.com
(c) João Ferreira (c) João Ferreira -
- ICCA 2004
ICCA 2004 2 2
Introduction Introduction: :
- What
What is is a a virtual virtual machine machine? ?
- CLI
CLI and and CLR CLR
- JIT
JIT execution execution and and performance performance on
- n CLR
CLR
- Unix
Unix with with “.NET” “.NET”
(c) João Ferreira (c) João Ferreira -
- ICCA 2004
ICCA 2004 3 3
Virtual Virtual Machines Machines
- Why
Why “virtual”? “virtual”?
- Emulation
Emulation software software that that translates translates from from
- ne
- ne language
language to to another another
HIGH LEVEL LANGUAGE LOW LEVEL LANGUAGE
C Assembly
(c) João Ferreira (c) João Ferreira -
- ICCA 2004
ICCA 2004 4 4
Virtual Machines Virtual Machines
- Problems
Problems with with native native compilers compilers
- Machine
Machine arquitecture arquitecture dependence dependence
- Operating
Operating system system conventions conventions
- Compiler
Compiler specific specific issues issues
- To solve
To solve this this... ...
- Develop
Develop a a language language that that executes as executes as bytecode bytecode (UNCOL, (UNCOL, Lisp Lisp, , P P-
- Code
Code, , etc etc.) .)
- Failure