{"push_id":929810564,"size":1000,"distinct_size":5920,"ref":"refs/heads/master","head":"4ad2c7d11acd845e53e249e95838f11146fd7e12","before":"b41adb916c044d61e4b3cef28d19940852444987","commits":[{"sha":"48f0982c35a4ff7ef29088ae62edb62a9974e9d7","author":{"email":"8fe4eacdc8aaa79406accb1339d17293db96da99@fb.com","name":"Paul Bissonnette"},"message":"Add Generator::throw()\n\nSummary: Adds a throw method for generators, mostly using the existing machinery for\nContRaise in AsynGenerators. As with send we don't match PHP in returning the\ncurrent value.\n\nPart of https://github.com/facebook/hhvm/issues/1871\n\nhttp://php.net/manual/en/generator.throw.php\n\nReviewed By: @jwatzman\n\nDifferential Revision: D2438707","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/48f0982c35a4ff7ef29088ae62edb62a9974e9d7"},{"sha":"f83e5722b8f4b1d9a63e409ab3b42f061b3334e8","author":{"email":"7c7aaadbbffd562b7b08991adb058767a9461b6a@fb.com","name":"Alex Malyshev"},"message":"Replace alloca() in the interpreter with req::vector\n\nSummary: This was bad bad bad bad.  In an optimized build, the iop helper function would\nget inlined into the interpreter's dispatch loop, increasing the lifetime of the\nalloca() to the function containing the loop.  We'd keep growing our stack with\neach call of the inlined helper, eventually blowing it in some cases.\n\nReviewed By: @edwinsmith\n\nDifferential Revision: D2444667","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/f83e5722b8f4b1d9a63e409ab3b42f061b3334e8"},{"sha":"2aa28d7025259c1f55e7ea476ef621e0bb287a97","author":{"email":"f56adeef18cb5eed56cd82d8c7100e80f36f6b8b@fb.com","name":"Avik Chaudhuri"},"message":"single threaded dynamic call fix\n\nSummary: An inadvertent strict inequality check was causing single-threaded mode to loop.\nThis affects dynamic calls, not sure why it works for the other case.\n\nReviewed By: @mroch\n\nDifferential Revision: D2444735","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/2aa28d7025259c1f55e7ea476ef621e0bb287a97"},{"sha":"58eeab0e407089d237ffe401c6f66776ce146d66","author":{"email":"f56adeef18cb5eed56cd82d8c7100e80f36f6b8b@fb.com","name":"Avik Chaudhuri"},"message":"fix dynamic call api in hack\n\nSummary: changed None/Some bucket results to use more informative Wait/Job constructors\n(per comments on earlier diff)\n\nReviewed By: @int3\n\nDifferential Revision: D2445017","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/58eeab0e407089d237ffe401c6f66776ce146d66"},{"sha":"1a6fcea92c292fac055865c3fb032aab0de69b8f","author":{"email":"97b43d69a660495408fc532b291d65f46348da6b@fb.com","name":"Herman Venter"},"message":"Provide a typing hook for parent::__construct expressions\n\nSummary: There was no typing hook for informing a client that a super class constructor call has been encountered. This appears to be an oversight. Since the type checking code for this case is very different from other qualifier::name(...) expressions, a new hook is introduced to keep things simple at the call site and to avoid any disruption to callers of existing hooks.\n\nReviewed By: @int3\n\nDifferential Revision: D2442694","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/1a6fcea92c292fac055865c3fb032aab0de69b8f"},{"sha":"c34ef49539e99ca0b894b299f74fbab987fe2cda","author":{"email":"f56adeef18cb5eed56cd82d8c7100e80f36f6b8b@fb.com","name":"Avik Chaudhuri"},"message":"remove code duplication in multiworker\n\nSummary: make MultiWorker.call a special case of MultiWorker.call_dynamic\n\nReviewed By: @int3\n\nDifferential Revision: D2445785","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/c34ef49539e99ca0b894b299f74fbab987fe2cda"},{"sha":"419720f84212d68cd855151810c6ea8b90134be5","author":{"email":"ec00675990c1b75f32c22d1f88d1b057af12e2e3@fb.com","name":"Alexander Chow"},"message":"Inherited const satisfies abstract const declaration\n\nSummary: Inherited const satisfies abstract const declaration\n\nReviewed By: @dlreeves\n\nDifferential Revision: D2445970","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/419720f84212d68cd855151810c6ea8b90134be5"},{"sha":"26311d58d0c473fcbac441cd68d5c4497d796d38","author":{"email":"363321912c8af25d1104fb33c2c64b848c097226@fb.com","name":"Joel Marcey"},"message":"Populate PDOException::$errorInfo correctly\n\nSummary: We were only populating the sql state. We should also populate the error code\nand error message too. i.e., in the new test in this diff we currently only\nprovide array[0]; this now gives array[1] and array[2]. And this makes us\ncompatible with PHP 5 too.\n\nFixes #4003\n\nReviewed By: @jwatzman\n\nDifferential Revision: D2443664","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/26311d58d0c473fcbac441cd68d5c4497d796d38"},{"sha":"5798d6f1a57011b332fe7535afb0b0a52757e372","author":{"email":"7b89f786a36ed70c8d69990a7efb48c85d2be334@fb.com","name":"Bin Liu"},"message":"Count number of inflight/queued requests\n\nSummary: Add ways to count the number of requests.  Such information can be useful to determine the server load.\n\nReviewed By: @markw65\n\nDifferential Revision: D2415593","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/5798d6f1a57011b332fe7535afb0b0a52757e372"},{"sha":"034c6d26b2f0d69b81ee0caec794a0d52553e4dd","author":{"email":"8b4e635b7b27031adc993dde8f7813b32b6606df@fb.com","name":"Qi Wang"},"message":"Await stack offset adjustment.\n\nSummary: In AwaitR and AwaitE, increment the resume stack offset by 1.\n\nReviewed By: @jano\n\nDifferential Revision: D2444607","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/034c6d26b2f0d69b81ee0caec794a0d52553e4dd"},{"sha":"04efbb79698deb4ebdac96a5bf5b31aa81df17f7","author":{"email":"2b5c240e6abd88e71ffc225b0459016e4cba9bda@fb.com","name":"Edwin Smith"},"message":"Fix refcounting of cell{Shl,Shr}Eq and cell{Add,Sub,Mul}EqO\n\nSummary: They used cellCopy() but should use cellSet(). Other operations called\nfrom setopBody correctly decref the lefthand operand before assigning.\n\nReviewed By: @markw65\n\nDifferential Revision: D2440661","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/04efbb79698deb4ebdac96a5bf5b31aa81df17f7"},{"sha":"b5f289ba1a989621fb632712a03c027277b2ede1","author":{"email":"35f194896ceae88bf8aa91f57f3caae13d1229bb@fb.com","name":"Rick Lavoie"},"message":"Add support for PHP7 \"spaceship\" operator\n\nSummary: Add support for the new PHP7 \"spaceship\" operator. The invokation \"A\n <=> B\" compares A and B and returns -1 if A is less than B, 0 if they are\n equal, and 1 if A is greater than B.\n\nSupporting this involves adding a new bytecode instruction called \"Cmp\", as well\nas a handful of new IR opcodes for each type. This utilizes most of the\nmachinery of the IR type-specific opcode conversion. Note that this operator\ncannot be simply be de-sugared into a set of less-than and greater-than\noperations, because that would be observable for types that invoke user code\nduring comparisons.\n\nCloses https://github.com/facebook/hhvm/issues/5499\n\nReviewed By: @swtaarrs\n\nDifferential Revision: D2438952","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/b5f289ba1a989621fb632712a03c027277b2ede1"},{"sha":"2dfb25c8afbe31fbe8aaefed7bc0eb986da50d62","author":{"email":"34e2ec70b176ebd61c5c1381eefc007b50021aa3@fb.com","name":"Max Wang"},"message":"Clean up CodegenState members\n\nSummary: Delete some unused members (including asmInfo, which is unused after\ndeleting the nowhere-used x64::CodeGenerator::print()).\n\nAlso, move vmain and vcold out of CodeGenerator and into CodegenState.\nThis leaves CodegenState as the only remaining data member in\nCodeGenerator, which should make pulling out its member functions\nmarginally easier.\n\nReviewed By: @swtaarrs\n\nDifferential Revision: D2423069","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/2dfb25c8afbe31fbe8aaefed7bc0eb986da50d62"},{"sha":"3e0cb22d0834da4eb128b9b297cb25ebd8bc1063","author":{"email":"34e2ec70b176ebd61c5c1381eefc007b50021aa3@fb.com","name":"Max Wang"},"message":"Refactor CodeGenerator, pt. 1: namespacing and arith\n\nSummary: Begin the work of splitting up codegen into multiple files and\nextricating it from the Verber class idiom.\n\nThis diff delegates some of the most basic codegen helpers, like\nsrcLoc(), as well as the arithmetic HHIR instructions, to a new irlower\nnamespace (mirroring irgen), with the ultimate goal of doing likewise\nwith the rest of CodeGenerator.\n\nReviewed By: @ottoni\n\nDifferential Revision: D2427600","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/3e0cb22d0834da4eb128b9b297cb25ebd8bc1063"},{"sha":"3967f46557f9f97c110be51e150d55a3a1228ec7","author":{"email":"ec00675990c1b75f32c22d1f88d1b057af12e2e3@fb.com","name":"Alexander Chow"},"message":"Can instantiate class from unresolved class ID\n\nSummary: We should be able to use \"new\" on a generic classname returned\nby function. The type of the object created should also be preserved.\n\nReviewed By: @dlreeves\n\nDifferential Revision: D2432185","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/3967f46557f9f97c110be51e150d55a3a1228ec7"},{"sha":"fb7a7038c3037f918f6ea6ab70742754b60e2027","author":{"email":"f7a3a5c0528e7657f3f7816faa0a5e2de16317f6@fb.com","name":"Sara Golemon"},"message":"Stop using ActRec in pack()\n\nSummary: This was probably done before we supported variadic HNI methods.\nNow that we do, we can avoid forcing an ActRec and simplify the\nimplementation.\n\nReviewed By: @paulbiss\n\nDifferential Revision: D2444821","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/fb7a7038c3037f918f6ea6ab70742754b60e2027"},{"sha":"a9f95a967f3ab35e9b55093d59beded449f8d2ac","author":{"email":"d50a4528250c5e7ab89d3b057cfa34db7ebf58d4@fb.com","name":"Neal Poole"},"message":"Make str_repeat consistent with upstream PHP\n\nSummary: Script:\n\n    <?php\n\n    $var = str_repeat('A', -1);\n    var_dump($var);\n    $var = str_repeat('A', 9223372036854775807);\n    var_dump($var);\n\nSee https://3v4l.org/qpA7N for the results.\n\nIn PHP 7, the script returns NULL / warns for the first str_repeat and fatals on the second. In PHP 5 it warns/returns null for the negative one and warns/returns the empty string for the second one. I decided to defer to the PHP 7 behavior.\n\nI also changed the type for the function multiplier argument (otherwise we see overflow if the multiplier is too large and we treat it as a negative number).\n\nNote that the HHVM max string size and PHP max string size appear to differ.\n\nReviewed By: @markw65\n\nDifferential Revision: D2437850","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/a9f95a967f3ab35e9b55093d59beded449f8d2ac"},{"sha":"881302b0375d0cda56783f73245a872dccb7aa2f","author":{"email":"d50a4528250c5e7ab89d3b057cfa34db7ebf58d4@fb.com","name":"Neal Poole"},"message":"Fix HHVM behavior when passing empty string/null/etc to filesystem functions\n\nSummary: When an empty string, null, etc was passed to a filesystem function like `chmod`, that path would be coerced to the current working directory. That behavior is inconsistent with PHP and with general filesystem utilities. This diff modifies `File::translatePath` so that it special-cases its handling of the empty string accordingly.\n\nAlso, `touch` manually verifies that the filename is not empty in PHP (https://github.com/php/php-src/blob/0437aa2abf1eb494e4555d7d4dfbdbf566a59bdc/ext/standard/filestat.c#L716-L718) so I changed HHVM's implementation to be consistent.\n\nPlus assorted other changes to ensure we remain consistent with upstream behavior.\n\nReviewed By: @markw65\n\nDifferential Revision: D2437818","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/881302b0375d0cda56783f73245a872dccb7aa2f"},{"sha":"9b0d67bb7ff803d4216e6b2f477f97f710f06199","author":{"email":"dd49afe9cada02f4615956664416427cbff52ba1@fb.com","name":"Josh Watzman"},"message":"Implement LTR list() assignment order (part of the AST RFC)\n\nSummary: Neither behavior is particularly complex, but keeping both\nmakes it a little messy and hard to explain since there's a ton of\nsubtle eval order things going on. See code comments.\n\nPart of https://github.com/facebook/hhvm/issues/5757\n\nReviewed By: @paulbiss\n\nDifferential Revision: D2434224","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/9b0d67bb7ff803d4216e6b2f477f97f710f06199"},{"sha":"1af76af2644c00808ad53c66fbe39628f5b51188","author":{"email":"456987ba9cb4e7ff9b0b3d1db1d3fbdd33fdef25@fb.com","name":"Dwayne Reeves"},"message":"Move TypeStructure to HH namespace\n\nSummary: When @shixiao implemented this functionality he put them in the global namespace.\nMoving these to the HH namespace and auto importing them.\n\nAlso added the TypeStructure type alias since @shixiao forgot to include this as\nwell.\n\nReviewed By: @paulbiss\n\nDifferential Revision: D2433928","distinct":true,"url":"https://api.github.com/repos/c9s/hhvm/commits/1af76af2644c00808ad53c66fbe39628f5b51188"}]}