{"shas":[["b20591886ed71a57cc0c2e14661c2e195529c79b","03539f8e0c7f0ad155011a59421c3be5235251bc@fb.com","[Fix] Better error reporting and interrupt handling on LightProcess\n\nSummary:\nCurrently LightProcess's loop is not handling EINTR well, and error\nreporting may set the errno to 0 from libafdt. This diff makes it\nslightly better in reporting and ignores EINTR when doing the poll.\n\nTest Plan: make fast_tests\n\nReviewers: myang, mwilliams\n\nReviewed By: myang\n\nCC: tlerios, ps, mwilliams, myang, qigao\n\nDifferential Revision: 317036\n\nTask ID: 696061","qigao"],["cc4db4cd328cd2ca720c9297fa5a6dc5fbd554d3","121e2a1f9ac7c93bff05080563bf586498521b0d@fb.com","[HPHPi] Allow the HPHPi optimizer to handle statement\n\nSummary:\nThe HPHPi optimizer did not allow a statement AST to be replaced by a better\none. The idea is not to disturb the statement so debugger won't be affected.\nHowever, I did find some cases a cheaper statement can be generated without\ndisturbing the debugger. So I changed the optimizer framework to allow\na statement AST to be replaced (only in the statement list for now). The\nconstraint still remains though. So we optimize debuggable code rather than\ndebug optimized code. No real optimization is done in this change.\n\nTest Plan: make fast_tests\n\nReviewers: mwilliams, qigao\n\nReviewed By: mwilliams\n\nCC: hphp-diffs@lists, ps, mwilliams, myang\n\nDifferential Revision: 316514","myang"],["d48ddf2925b0b9ed615bd7e7883fe08dff999ad8","f57fc6230b2b7aabde9ce25c654403cff11f8453@fb.com","Remove checks for the ENABLE_LATE_STATIC_BINDING macro\n\nSummary:\nWe've supported late static binding for a while now and always build with\nENABLE_LATE_STATIC_BINDING macro set. Let's get rid of all these macro\nchecks.\n\nTest Plan:\nBuild hphp\nmake fast_tests\nmake slow_tests\nBuild www\n\nReviewers: kma, mwilliams, je, myang, qigao\n\nReviewed By: je\n\nCC: ps, mwilliams, je\n\nDifferential Revision: 314003","andrewparoski"],["4599eb97480ced60e2393443fced78a21508f4e4","f57fc6230b2b7aabde9ce25c654403cff11f8453@fb.com","Fixes for __isset and __unset.\n\nSummary:\nhphpc and hphpi had two bugs with __isset and __unset. First, expressions\nsuch as \"unset($obj->prop)\" were not propertly invoking the __unset method\nbecause the UseUnset attribute was not being set properly. Second, the\nruntime was not doing the recursion checks that the other magic property\nmethods do. This diff fixes these issues appropriately.\n\nTest Plan:\nmake fast_tests\nmake slow_tests\nRun www in prod\n\nReviewers: mwilliams, myang, kma, je\n\nReviewed By: mwilliams\n\nCC: ps, mwilliams\n\nDifferential Revision: 313898","andrewparoski"],["58a87a19808a4a926069d3ab0987945e09e5ca4f","4baaee8a3e1d52ead025808fe14e6a867853d49e@fb.com","[Perf] ObjectData::o_properties should be an Array\n\nSummary:\nFor some reason it was an Array*, meaning that every use was indirected (and\nchecked), in addition to the smart pointer indirect and check.\n\nThis should be entirely good, since sizeof(Array) == sizeof(Array*) - so we're\nsimply eliminating a level of indirection and checking, with no downside.\n\nTest Plan: fast_tests slow_tests\n\nReviewers: myang, qigao\n\nReviewed By: myang\n\nCC: ps, mwilliams, myang\n\nDifferential Revision: 317713","mwilliams"],["3134b5bbf972c29357c9624d7732f9355d956005","121e2a1f9ac7c93bff05080563bf586498521b0d@fb.com","[Perf/HPHPi] Speed up BinaryOpExpression and ArrayElementExpression\n\nSummary:\nI did some preprocessing on BinaryOpExpression and ArrayElementExpression\nto record at compile time so we can do faster fetch for common cases:\nVariableExpression and ScalarValueExpression. We can avoid a virtual call\nto eval, and also a Variant copy construction because the context is a\nCVarRef context and the copy is not needed.\nI also fixed a race condition that existed because of Variant stored in\nConstantExpression. It is replaced by ScalarValueExpression by the optimizer\nand the Variant in ScalarValueExpression becomes static. Changed the rand()\ncall to use the pointer as random number instead to avoid some perf cost.\n\nTest Plan:\nmake fast_tests\nmake slow_tests\nflib/unit test\n\nbench.php reduced from 39.x to 37.x.\n\nReviewers: mwilliams, qigao\n\nReviewed By: mwilliams\n\nCC: hphp-diffs@lists, ps, mwilliams\n\nDifferential Revision: 317815","myang"]],"ref":"refs/heads/master","size":6,"head":"3134b5bbf972c29357c9624d7732f9355d956005","push_id":41729757}