1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1"> 7 8 <meta property="og:url" content="http://hhvm.com/" /> 9 <meta property="og:site_name" content="HHVM"/> 10 <meta property="og:title" content="HHVM" /> 11 <meta property="og:image" content="http://hhvm.com/static/og_image.png" /> 12 <meta property="og:description" content="The landing page for HHVM and the blog of Hack/HHVM" /> 13 14 <link rel="stylesheet" href="/css/main.css" media="screen"> 15 <link rel="icon" href="/static/favicon.png" type="image/x-icon"> 16 17 18 <title>HHVM | HHVM</title> 19 <meta name="description" content="The landing page for HHVM and the blog of Hack/HHVM"> 20 21 <link rel="canonical" href="http://hhvm.com/"> 22 <link rel="alternate" type="application/rss+xml" title="HHVM" href="http://hhvm.com/feed.xml" /> 23</head> 24 25 <body> 26 <div class="socialBanner"> 27 <div> 28 Support Ukraine ðºð¦ 29 <a href="https://opensource.facebook.com/support-ukraine"> 30 Help Provide Humanitarian Aid to Ukraine 31 </a> 32 . 33 </div> 34 </div> 35 <div id="fixed_header" class="fixedHeaderContainer visible"> 36 <div class="headerWrapper wrapper"> 37 <header> 38 <a href="http://hhvm.com/"> 39 <img src="/static/logo.svg"> 40 <h2>HHVM</h2> 41 </a> 42 43 <div class="navigationWrapper navigationFull" id="flat_nav"> 44 <nav class="navigation"> 45 <ul> 46 47 <li class="navItem"> 48 49 <a href="https://docs.hhvm.com/hhvm/installation/introduction/">Install</a> 50 51 </li> 52 53 <li class="navItem"> 54 55 <a href="/blog/">Blog</a> 56 57 </li> 58 59 <li class="navItem"> 60 61 <a href="http://docs.hhvm.com/hhvm-overview/">Docs</a> 62 63 </li> 64 65 <li class="navItem"> 66 67 <a href="http://github.com/facebook/hhvm">GitHub</a> 68 69 </li> 70 71 <li class="navItem"> 72 73 <a href="http://hacklang.org/">Hack</a> 74 75 </li> 76 77 <li class="navItem"> 78 79 <a href="https://www.facebook.com/hhvm/">Facebook</a> 80 81 </li> 82 83 <li class="navItem"> 84 85 <a href="/slack">Slack</a> 86 87 </li> 88 89 <li class="navItem"> 90 91 <a href="https://twitter.com/HipHopVM">Twitter</a> 92 93 </li> 94 95 96 </ul> 97 </nav> 98 </div> 99 <div class="navigationWrapper navigationSlider" id="navigation_wrap"> 100 <div id="header_nav"> 101 <div class="navSlideout"> 102 <i class="menuExpand" id="header_nav_expander"><span></span><span></span><span></span></i> 103 </div> 104 <nav class="slidingNav"> 105 <ul> 106 107 <li class="navItem"> 108 <a href="https://docs.hhvm.com/hhvm/installation/introduction/" target="_blank">Install</a> 109 </li> 110 111 <li class="navItem"> 112 <a href="/blog/">Blog</a> 113 </li> 114 115 <li class="navItem"> 116 <a href="http://docs.hhvm.com/hhvm-overview/" target="_blank">Docs</a> 117 </li> 118 119 <li class="navItem"> 120 <a href="http://github.com/facebook/hhvm" target="_blank">GitHub</a> 121 </li> 122 123 <li class="navItem"> 124 <a href="http://hacklang.org/" target="_blank">Hack</a> 125 </li> 126 127 <li class="navItem"> 128 <a href="https://www.facebook.com/hhvm/" target="_blank">Facebook</a> 129 </li> 130 131 <li class="navItem"> 132 <a href="/slack" target="_blank">Slack</a> 133 </li> 134 135 <li class="navItem"> 136 <a href="https://twitter.com/HipHopVM" target="_blank">Twitter</a> 137 </li> 138 139 140 </ul> 141 </nav> 142</div>
143<script> 144 var event = document.createEvent('Event'); 145 event.initEvent('slide', true, true); 146 document.addEventListener('slide', function (e) { 147 document.body.classList.toggle('sliderActive'); 148 }, false); 149 var headerNav = document.getElementById('header_nav'); 150 var headerNavExpander = document.getElementById('header_nav_expander'); 151 headerNavExpander.addEventListener('click', function(e) { 152 headerNav.classList.toggle('navSlideoutActive'); 153 document.dispatchEvent(event); 154 }, false); 155</script>
155 156 </div> 157 </header> 158 </div> 159</div> 160 161 <div class="navPusher"> 162 <div class="homeContainer"> 163 <div class="homeSplashFade"> 164 <div id="home_wrap" class="wrapper homeWrapper"> 165 <div id="inner"> 166 <h2 id="project_tagline">Moving fast with high performance Hack</h2> 167 <section id="intro"> 168 <p>The landing page for HHVM and the blog of Hack/HHVM</p> 169 </section> 170 <div id="promo" class="section promoSection"> 171 172 <div class="promoRow"> 173 <div class="pluginRowBlock"> 174 175 <div class="pluginWrapper buttonWrapper"> 176 <a 177 class="button" 178 href="https://docs.hhvm.com/hhvm/installation/introduction/" 179 >Get Started With HHVM</a> 180</div> 181 182</div> 183 </div> 184 185 </div> 186 </div> 187 <div class="projectLogo"> 188 <img src="/static/logo.svg" alt="HHVM"> 189 </div> 190 </div> 191 </div> 192</div> 193 194 <div class="mainContainer"> 195 <div id="main_wrap" class="wrapper mainWrapper"> 196 <h2 id="what-is-hhvm">What is HHVM?</h2> 197 198<p>HHVM is an <a href="http://github.com/facebook/hhvm">open-source</a> virtual machine designed for executing programs written in <a href="http://hacklang.org/">Hack</a>. HHVM uses a just-in-time (JIT) compilation approach to achieve great runtime performance while maintaining amazing development flexibility.</p> 199 200<p>HHVM supports the <a href="http://hacklang.org/">Hack</a> programming language. We are moving fast, making changes daily and releasing often. If you notice a regression in the typechecker or the runtime, please <a href="https://github.com/facebook/hhvm/issues/new">open issues</a> when you find them.</p> 201 202<div class="gridBlock"> 203 <div class="blockElement twoByGridBlock alignLeft"> 204 <div class="blockContent"> 205 <h3>HHVM Features</h3> 206 <ul> 207 <li>The <a href="http://hacklang.org/">Hack Language</a></li> 208 <li><a href="http://www.hhvm.com/blog/2027/faster-and-cheaper-the-evolution-of-the-hhvm-jit">JIT Compilation</a></li> 209 <li><a href="https://github.com/facebook/hhvm/wiki/Extension-API">HNI</a></li> 210 <li><a href="http://docs.hhvm.com/hhvm/basic-usage/proxygen">Proxygen</a> and <a href="http://docs.hhvm.com/hhvm/advanced-usage/fastCGI">FastCGI support</a></li> 211 <li><code>hphpd</code> debugger</li> 212 <li>... and <a href="http://docs.hhvm.com/hhvm-overview/">more</a></li> 213 </ul> 214 </div> 215 </div> 216 217 <div class="blockElement twoByGridBlock alignLeft"> 218 <div class="blockContent"> 219 <h3>The JIT Compiler</h3> 220 <p> 221 Rather than directly interpret or <a href="https://en.wikipedia.org/wiki/HipHop_for_PHP#History_Before_HHVM">compile source code directly to C++</a>, HHVM compiles Hack into an intermediate bytecode. This bytecode is then translated into <a href="https://en.wikipedia.org/wiki/X64">x64</a> machine code dynamically at runtime by a just-in-time (<a href="https://en.wikipedia.org/wiki/Just-in-time_compilation">JIT</a>) compiler. This compilation process allows for all sorts of optimizations that cannot be made in a statically compiled binary, thus enabling higher performance of your Hack programs. 222 </p> 223 </div> 224 </div> 225</div> 226 227 </div> 228 229 230 </div> 231 <div class="footerContainer"> 232 <div id="footer_wrap" class="wrapper footerWrapper"> 233 <div class="footerBlocks"> 234 <div id="fb_oss" class="footerSection fbOpenSourceFooter"> 235 <svg class="facebookOSSLogoSvg" viewBox="0 0 1133.9 1133.9" x="0px" y="0px"> 236 <g> 237 <path class="logoRing outerRing" d="M 498.3 3.7 c 153.6 88.9 307.3 177.7 461.1 266.2 c 7.6 4.4 10.3 9.1 10.3 17.8 c -0.3 179.1 -0.2 358.3 0 537.4 c 0 8.1 -2.4 12.8 -9.7 17.1 c -154.5 88.9 -308.8 178.1 -462.9 267.5 c -9 5.2 -15.5 5.3 -24.6 0.1 c -153.9 -89.2 -307.9 -178 -462.1 -266.8 C 3 838.8 0 833.9 0 825.1 c 0.3 -179.1 0.2 -358.3 0 -537.4 c 0 -8.6 2.6 -13.6 10.2 -18 C 164.4 180.9 318.4 92 472.4 3 C 477 -1.5 494.3 -0.7 498.3 3.7 Z M 48.8 555.3 c 0 79.9 0.2 159.9 -0.2 239.8 c -0.1 10 3 15.6 11.7 20.6 c 137.2 78.8 274.2 157.8 411 237.3 c 9.9 5.7 17 5.7 26.8 0.1 c 137.5 -79.8 275.2 -159.2 412.9 -238.5 c 7.4 -4.3 10.5 -8.9 10.5 -17.8 c -0.3 -160.2 -0.3 -320.5 0 -480.7 c 0 -8.8 -2.8 -13.6 -10.3 -18 C 772.1 218 633.1 137.8 494.2 57.4 c -6.5 -3.8 -11.5 -4.5 -18.5 -0.5 C 336.8 137.4 197.9 217.7 58.8 297.7 c -7.7 4.4 -10.2 9.2 -10.2 17.9 C 48.9 395.5 48.8 475.4 48.8 555.3 Z" /> 238 <path class="logoRing middleRing" d="M 184.4 555.9 c 0 -33.3 -1 -66.7 0.3 -100 c 1.9 -48 24.1 -86 64.7 -110.9 c 54.8 -33.6 110.7 -65.5 167 -96.6 c 45.7 -25.2 92.9 -24.7 138.6 1 c 54.4 30.6 108.7 61.5 162.2 93.7 c 44 26.5 67.3 66.8 68 118.4 c 0.9 63.2 0.9 126.5 0 189.7 c -0.7 50.6 -23.4 90.7 -66.6 116.9 c -55 33.4 -110.8 65.4 -167.1 96.5 c -43.4 24 -89 24.2 -132.3 0.5 c -57.5 -31.3 -114.2 -64 -170 -98.3 c -41 -25.1 -62.9 -63.7 -64.5 -112.2 C 183.5 621.9 184.3 588.9 184.4 555.9 Z M 232.9 556.3 c 0 29.5 0.5 59.1 -0.1 88.6 c -0.8 39.2 16.9 67.1 50.2 86.2 c 51.2 29.4 102.2 59.2 153.4 88.4 c 31.4 17.9 63.6 18.3 95 0.6 c 53.7 -30.3 107.1 -61.2 160.3 -92.5 c 29.7 -1
2387.5 45 -44.5 45.3 -78.8 c 0.6 -61.7 0.5 -123.5 0 -185.2 c -0.3 -34.4 -15.3 -61.5 -44.9 -79 C 637.7 352.6 583 320.8 527.9 290 c -27.5 -15.4 -57.2 -16.1 -84.7 -0.7 c -56.9 31.6 -113.4 64 -169.1 97.6 c -26.4 15.9 -40.7 41.3 -41.1 72.9 C 232.6 491.9 232.9 524.1 232.9 556.3 Z" /> 239 <path class="logoRing innerRing" d="M 484.9 424.4 c 69.8 -2.8 133.2 57.8 132.6 132 C 617 630 558.5 688.7 484.9 689.1 c -75.1 0.4 -132.6 -63.6 -132.7 -132.7 C 352.1 485 413.4 421.5 484.9 424.4 Z M 401.3 556.7 c -3.4 37.2 30.5 83.6 83 84.1 c 46.6 0.4 84.8 -37.6 84.9 -84 c 0.1 -46.6 -37.2 -84.4 -84.2 -84.6 C 432.2 472.1 397.9 518.3 401.3 556.7 Z" /> 240 </g> 241 </svg> 242 <h2>Facebook Open Source</h2> 243 </div> 244 <div class="footerSection"> 245 <a class="footerLink" href="https://opensource.facebook.com/legal/terms" target="_blank">Terms of Use</a> 246 <a class="footerLink" href="https://opensource.facebook.com/legal/data-policy" target="_blank">Data Policy</a> 247 <a class="footerLink" href="https://opensource.facebook.com/legal/cookie-policy" target="_blank">Cookie Policy</a> 248 <a class="footerLink" href="https://code.facebook.com/projects/" target="_blank">Open Source Projects</a> 249 <a class="footerLink" href="https://github.com/facebook/" target="_blank">GitHub</a> 250 <a class="footerLink" href="https://twitter.com/fbOpenSource" target="_blank">Twitter</a> 251 </div> 252 <div class="footerSection rightAlign"> 253 <a class="footerLink" href="https://github.com/hhvm/hhvm.com" target="_blank">Contribute to this project on GitHub</a> 254 </div> 255 </div> 256 </div> 257</div>
258<script>
vendor: 339 bytes, lines 258-264
258 259 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 260 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 261 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 262 })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 263 264 ga('create', '
264UA-49208336-2
vendor: 38 bytes, lines 264-265
264', 'auto'); 265 ga('send', 'pageview');
266</script>
266 267 268 </div> 269 </body> 270</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.