HHVM is a high-performance, open source PHP execution engine developed at Facebook. It’s the fastest PHP runtime in the world, with support for PHP5, PHP7, and Hack—the programming language used for Facebook’s web server application logic. In addition to powering Facebook’s web tier, HHVM has also been adopted by other major services such as Wikipedia, Baidu, and Box. HHVM uses just-in-time compilation to transform PHP and Hack source code into optimized machine code. Thanks to contributions from developers across the ARM community, HHVM can now target AArch64 in addition to x86-64 and successfully runs open source PHP frameworks like WordPress. Join us for an overview of HHVM, a quick demo, and some thoughts on where optimization efforts can go from here.

Read more

This session provides an introduction of LLDB - Debugger from LLVM project and its status on Arm and AArch64 Linux. A brief overview of various components in LLDB will be presented with a focus on LLDB commandline and how LLDB can provide debugging experience similar or different from GDB.

Read more

Contiguous page hint is a feature in AArch32 and AArch64 which could decrease the number of TLB misses and improve the performance by sharing a single TLB entry across 16 4k pages whenever the pages are also physically contiguous. Currently, it is only used in hugetlb which limited the scenarios where it can be used. This session will share and discuss following things: 1. The current design of hugepage, transparent hugepage and page Fault and proposal from Bamvor 2. Compare and analyze the performance of different designs, including transparent hugepage, hugepage and Bamvor' design. 3. Discuss the scenarios which are suitable for this work beyond the enterprise.

Read more

AArch64 and ARM GDB ports were added some years ago, but some useful features are still missing. We started to add these features to GDB in 2015 and most of them are already accepted by the GDB mainline. This presentation will discuss these new added features, such as reverse debugging, tracepoint, and multi-arch debugging, together with some explanations on how does GDB support them in general. This presentation will also introduce some basic GDB or debugger internal knowledges and also some GDB in-progress projects in which we plan to do and are interested in.

Read more