3. SLAngbyPraseedPaiKT
● Originally a language designed for .NET CLR
● Used in production as rule engine generating JavaScript
● Been ported to C++ with LLVM backend, Python, JS, VB and
Java
● Experiments going on to support modules → Higher order
functions → Object orientation etc
6. 0xCAFEBAE
● Minor & Major version
● Access Flags
● Constant Pool
● Field Instructions
● Method Instructions
7. Bytecodeexecution
● Heap
● Java Stack
● Method Frame - Operand Stack, Local Variable array
● Method Area
● Execution engine
● Program Counter
8. WhathappenswhenMethodA->x()callsMethodb->y()
● Instance of B is pushed to operand stack of X()
● Parameters of Y() is pushed to operand stack of X() in
reverse order
● When invoke instruction is seen → Stack frame of Y() is
pushed to Java stack
● Parameters (including instance of B) is popped from
operand stack of X() one by one and are pushed to operand
stack of Y()
● Starts executing Y()
● Pops the frame of Y() when return instruction is seen