facebook/hhvm — pull request #1387 by danslo (2013-12-19 19:09:55+00:00)
Title: initial version of simplexml refactor

This pull request is not a finished piece of work. It's intended to be used for discussion and feedback.

Workflow:
- Stub out all the existing SimpleXMLElement / SimpleXMLElementIterator methods.
- One by one copy methods from php-src, modifying them to fit into HHVM where needed.

First, the good parts:
- Passes all but one previously passing tests.
- Have not noticed any considerable slowdowns.
- Magento runs amazingly using the code below.
- Passes an additional *37* zend tests previously marked as bad.

The bad (also known as "I know these are issues but don't know how to fix them"):
- Failing one existing test related to simplexml_import_dom. I think something is swept too soon causing things to break.
- Using const/static casts in toBool/ToInt64/toDouble/toArray. This is necessary because these methods are marked const, but php-src can actually modify the original object during a cast.

Other than that, I'm obviously open to any other suggestions you may have. Be it potential leaks, incorrect formatting, etc.

Thanks!