By definition, intrinsics are functions which are handled specially by the compiler or the VM. The HotSpot virtual machine supports intrinsics for specific API functions in the interpreter as well as in the C1 and C2 JIT compilers. In general, intrinsics are a great possibility for optimization. But they also come at a certain cost.
First of all, they are inherently platform and implementation dependent. If available, they can lead to consistency problems if they are implemented differently in the interpreter and the JIT compilers. Finally, they can change the program control (e.g. safepoint behavior) and observability (e.g. profiling, instrumentation) in subtle ways.
This talk will give you a short deep dive into the HotSpot Virtual Machine using the example of HotSpot intrinsics. It will explain how they are implemented and the implications this has for the Java VM. Finally, it will demonstrate how you can add a new intrinsic for your favorite Java method.
2 views
1439
475
3 years ago 01:12:07 2
Interview and Q&A with James Gosling
4 years ago 00:07:08 5
Simone Kermes - Les oiseaux dans la charmille (Симона Кермес - ария Олимпии)
6 years ago 00:57:18 1
Volker Simonis — HotSpot Intrinsics
6 years ago 00:57:16 1
Class Data Sharing in the HotSpot VM (Volker Simonis, Germany)
6 years ago 00:59:37 1
Volker Simonis — Heart Surgery: HotSpot Debugging at the OS Level
7 years ago 00:48:37 1
Packed Objects, Object Layout & Value Types — a — Survey Volker Simonis
7 years ago 00:52:37 1
Круглый стол. Будущее Java-платформы – Иван Крылов, Владимир Иванов, Volker Simonis, Никита Липский
7 years ago 00:55:38 1
Volker Simonis — HotSpot Internals: Safepoints, NullPointers and StackOverflows