function connectOnHHVM($function, Handle $handle) { fb_intercept($function, function ($name, $obj, $args, $data, &$done) { deployQueue(); list($class, $method) = Utils\interpretCallable($name); $calledClass = null; if (is_string($obj)) { $calledClass = $obj; } elseif (is_object($obj)) { $calledClass = get_class($obj); } $frame = count(debug_backtrace(false)) - 1; $result = null; $done = dispatch($class, $calledClass, $method, $frame, $result, $args); return $result; }); $handle->addExpirationHandler(getHHVMExpirationHandler($function)); }