PowerPC64 little-endian mode was introduced with POWER8 system family, making it easier to port x86_64 applications to it. This is the main target of technologies provided by OpenPOWER Foundation, which is a collaboration for Power Architecture products.
This talk will show the biggest challenges found to port a software initially designed to x86_64 architecture, and what were the solutions adopted, beyond expose some differences between both architectures. Some topics are:
* How to handle the frame differences.
* Push/Pop values dynamically in a PPC64 frame.
* Adapting assembly memory operations.
* Using TOC (Table Of Contents) as an amazing tool.
HHVM, which is the main target of this talk, is a PHP interpreter built by Facebook, which implements the JIT (Just-In-Time) compilation technique to dynamically translate part of itself into assembly code, making its execution faster.
Leonardo Bianconi is a software engineer at Instituto de Pesquisas Eldorado, with 6 years experience as Java EE developer, working with solutions to help railroad plan the trains route, and 5 years experience as open source developer working with C, C++ and Python. Since 2013 has being working with contributions related with PowerPC64 fixing, porting and enhancing performance.
Leonardo had experience with oVirt, LuaJIT, HHVM, between others. Currently maintain the HHVM port to PowerPC64, and has started to look for porting LLDB.