> -----Original Message-----
> From: wikitech-l-boun...@lists.wikimedia.org 
> [mailto:wikitech-l-boun...@lists.wikimedia.org] On Behalf Of 
> Domas Mituzas
> Sent: 01 March 2010 10:11
> To: Wikimedia developers
> Subject: [Wikitech-l] hiphop progress
> 
> Howdy,
> 
> > Most of the code in MediaWiki works just fine with it 
> (since most of 
> > it is mundane) but things like dynamically including certain
files, 
> > declaring classes, eval() and so on are all out.
> 
> There're two types of includes in MediaWiki, ones I fixed for 
> AutoLoader and ones I didn't - HPHP has all classes loaded, 
> so AutoLoader is redundant. 
> Generally, every include that just defines classes/functions 
> is fine with HPHP, it is just some of MediaWiki's startup 
> logic (Setup/WebStart) that depends on files included in 
> certain order, so we have to make sure HipHop understands 
> those includes.
> There was some different behavior with file including - in 
> Zend you can say require("File.php"), and it will try current 
> script's directory, but if you do require("../File.php") - it will 
> 
> We don't have any eval() at the moment, and actually there's 
> a mode when eval() works, people are just scared too much of it. 
> We had some double class definitions (depending on whether 
> certain components are available), as well as double function 
> definitions ( ProfilerStub vs Profiler )
> 
> One of major problems is simply still not complete function 
> set, that we'd need:
> 
> * session - though we could sure work around it by setting up 
> our own Session abstraction, team at facebook is already busy 
> implementing full support
> * xdiff, mhash - the only two calls to it are from 
> DiffHistoryBlob - so getting the feature to work is mandatory 
> for production, not needed for testing :)

Mhash been obsoleted by the hash extension, and HipHop has the hash
extension (looking at the src).

I think mhash is implemented as a wrapper onto the hash extension for
a while. (http://svn.php.net/viewvc?view=revision&revision=269961)

assert(hash('adler32', 'foo', true) === mhash(MHASH_ADLER32, 'foo'));

Jared


_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to