facebook/hhvm — pull request #2276 by tstarling (2014-04-01 22:55:02+00:00)
Title:  Convert Zend compatibility layer to HNI

* Convert zend compat to HNI
* Remove support for IDL-based zend compat extensions. It would have been more work to support it than to remove it, so Sara said it was OK to remove it.
* Convert existing extensions to HNI, writing their ext_*.php files, with a little bit of help from Sara Golemon's idl-to-hni.php. The files were extensively edited after they were generated.
* If MINIT is going to register function pointers for Native, then it needs to be done pre-compile. But that means that HPHP::Class pointers will generally not be available during MINIT. Lazy-load them instead.
* A few places were using ce->hphp_class just to get the class name. That's really not necessary, since ce->name has a pointer to the data of the exact same static string.
* Added FIXME note to totally broken zend_lookup_class()
* Updated documentation
* Do not register pcre_zend_compat as an actual extension, because REGISTER_LONG_CONSTANT() etc. is no longer a no-op, and causes duplicate definition warnings at runtime.