Several people from the HipHop team at Facebook just met with several people from WMF. Also, in the last couple of days, I've been doing some research into what it would take to make MediaWiki support HipHop VM. The answer is: not very much.
There's two features that we use, mostly in extensions, that the Facebook people are not keen to implement due to their complexity: ArrayObject and filter_var(). It seems that it would be much easier for us to stop using them than for those features to be implemented in HipHop.
So I'd like to suggest that we refuse new code submissions in Gerrit that use these features, if they are targeted for WMF production, and that we start work on migrating away from the existing uses of those features.
There's a few other SPL features that we don't use at the moment and we should avoid introducing if possible due to lack of support in HipHop:
* CachingIterator * EmptyIterator * GlobIterator * InfiniteIterator * LimitIterator * MultipleIterator * NoRewindIterator * ParentIterator * RecursiveArrayIterator * RecursiveCachingIterator * RecursiveFilterIterator * RecursiveRegexIterator * RecursiveTreeIterator * RegexIterator * SplDoublyLinkedList * SplFixedArray * SplHeap * SplMaxHeap * SplMinHeap * SplPriorityQueue * SplQueue * SplStack * SplTempFileObject
We are not yet promising that we are indeed going to start using HipHop in WMF production, and we don't have any timetables. But HipHop has evolved to the point where supporting it is almost trivial, at least for test installations, so I think it makes sense to establish policies which will avoid making migration to HipHop more difficult.
-- Tim Starling