HotSpot (virtual machine): Difference between revisions

Content deleted Content added
History: added back information about involvement of Cliff Click on the top tier HotSpot compiler (C2) - this time with a paper that is heavily cited by many people, including many other HotSpot developers
Line 27:
The Java HotSpot Performance Engine was released on April 27, 1999,<ref name=HotSpot1.0PR /> built on technologies from an implementation of the programming language [[Smalltalk]] named [[Strongtalk]], originally developed by Longview Technologies, which traded as Animorphic. The Longview virtual machine was based on the [[Self (programming language)|Self]] virtual machine, with an interpreter replacing the fast-and-dumb first compiler. When Sun cancelled the Self project, two key people, [[Urs Hölzle]] and [[Lars Bak (computer programmer)|Lars Bak]] left Sun to start Longview. In 1997, [[Sun Microsystems]] purchased Animorphic.<ref>{{Cite web|last=Services|first=Chronicle Staff and News|date=1997-02-19|title=SUN MICRO BUYS LONGVIEW|url=https://www.sfgate.com/business/article/SUN-MICRO-BUYS-LONGVIEW-2854052.php|access-date=2020-11-05|website=SFGATE|language=en-US}}</ref>
 
Shortly after acquiring Animorphic, Sun decided to write a new stronger [[Just-in-time compilation|just-in-time (JIT) compiler]] for the Java virtual machine.<ref>{{cite web
| url=http://www.infoq.com/interviews/click-gc-azul
| title=Cliff Click on Azul's Pauseless GC, Zing, JVM Languages
Line 34:
| access-date = 2016-05-10
| quote = [...] Anamorphic was acquired by Sun so the original team was at a company called Anamorphic, they came in with a technology that was targeted at Smalltalk and they re-targeted it for Java and they hired me shortly afterwards to do a new JIT for their virtual machine.
}}</ref>, Thisnamed newHotSpot server compiler would(internal givename riseC2), towhich was initially developed by Clifford Click<ref>{{cite journal |last1=Click |first1=Clifford |title=The java hotspotTM server compiler |journal=JVM'01: Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium |date=April 2001 |volume=1 |page=1 |url=https://dl.acm.org/doi/10.5555/1267847.1267848}}</ref> and was an extension of his PhD thesis on optimizing compilers<ref>{{cite web |title=Cliff Click — The Sea of Nodes and the HotSpot JIT |url=https://www.youtube.com/watch?v=9epgZ-e6DUU}}</ref>. The compiler name ''HotSpot'', is derived from the software's behavior: as it runs [[Java bytecode]], as with the Self VM, HotSpot continually analyzes the program's performance for ''[[Hot spot (computer programming)|hot spot]]s'' which are executed often or repeatedly. These are then targeted for [[Optimization (computer science)|optimizing]], leading to high-performance execution with a minimum of overhead for less performance-critical code. In one report, the JVM beat some [[C++]] or [[C (programming language)|C]] code in some benchmarks.<ref>{{cite web
| url=http://scribblethink.org/Computer/javaCbenchmark.html
| archive-url=https://web.archive.org/web/20200424183315/http://scribblethink.org/Computer/javaCbenchmark.html