{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":255681188,"defaultBranch":"main","name":"hermes","ownerLogin":"neildhar","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2020-04-14T17:42:34.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/4301777?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1715389524.0","currentOid":""},"activityList":{"items":[{"before":"34450ae58fb76e4a2276978bd4294a34c063c590","after":"3f7228838dbb75bc8dd399587e3c0ee15dedc986","ref":"refs/heads/export-D57239003-to-static_h","pushedAt":"2024-05-11T01:11:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"},"commit":{"message":"Build with Java platform unicode by default in all Android builds\n\nSummary:\nMake Android handling more uniform with other platforms by building\nwith `HERMES_PLATFORM_UNICODE_JAVA` even when `HERMES_FACEBOOK_BUILD`\nis not defined. This allows us to remove the manual Android specific\noverride in the CMake file.\n\nWhen building a standalone android executable, we can use the \"lite\"\nPlatformUnicode implementation by supplying a CMake parameter.\n\nDifferential Revision: D56661613","shortMessageHtmlLink":"Build with Java platform unicode by default in all Android builds"}},{"before":null,"after":"34450ae58fb76e4a2276978bd4294a34c063c590","ref":"refs/heads/export-D57239003-to-static_h","pushedAt":"2024-05-11T01:05:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"},"commit":{"message":"Delete API/jsi in fbsource copy\n\nDifferential Revision: D57239003","shortMessageHtmlLink":"Delete API/jsi in fbsource copy"}},{"before":null,"after":"56ee49ebf81300753072ba305db0888dc309d3a3","ref":"refs/heads/update-android-image","pushedAt":"2024-03-28T23:19:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"},"commit":{"message":"Update Android CirlceCI image","shortMessageHtmlLink":"Update Android CirlceCI image"}},{"before":"71f33ed9d119339bbb388688aedefffe94771629","after":null,"ref":"refs/heads/export-D46607003-to-static_h","pushedAt":"2024-03-11T02:56:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"}},{"before":"31d1ac431bc033a89e3a279bac4066af058e275d","after":null,"ref":"refs/heads/export-D53668399","pushedAt":"2024-03-11T02:56:38.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"}},{"before":"c2e57e8925e53960237ff9f24c3c9cfbb01eec31","after":null,"ref":"refs/heads/export-D53718921-to-static_h","pushedAt":"2024-03-01T23:16:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"}},{"before":"bdcce12340931aad72e193c915c7e76c295945a9","after":null,"ref":"refs/heads/export-D46578315-to-static_h","pushedAt":"2024-03-01T23:16:18.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"}},{"before":"e6414e9491ad003c8dfbb18a769feb26b1011270","after":null,"ref":"refs/heads/export-D54312893-to-static_h","pushedAt":"2024-03-01T23:16:10.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"}},{"before":"5eb065cf7f30a794a9b917192b5eafc496ae7c00","after":"e6414e9491ad003c8dfbb18a769feb26b1011270","ref":"refs/heads/export-D54312893-to-static_h","pushedAt":"2024-03-01T16:45:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"},"commit":{"message":"Add ScopeElimination optimisation\n\nSummary:\nAdd an optimisation that eliminates empty scopes by replacing them with\ntheir parents.\n\nReviewed By: avp\n\nDifferential Revision: D54312893","shortMessageHtmlLink":"Add ScopeElimination optimisation"}},{"before":"e638ac6519f316e8d85eb7ba7c15741e10e942d7","after":"c2e57e8925e53960237ff9f24c3c9cfbb01eec31","ref":"refs/heads/export-D53718921-to-static_h","pushedAt":"2024-03-01T16:43:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"},"commit":{"message":"Optimise to HBC scope instructions\n\nSummary:\nOptimize scope creation and resolution that operate on the parent\nenvironment to smaller HBC instructions that read the parent environment\nimplicitly. This means that the resulting instructions are smaller, and\nthe read of the parent environment may be eliminated.\n\nReviewed By: avp\n\nDifferential Revision: D53718921","shortMessageHtmlLink":"Optimise to HBC scope instructions"}},{"before":null,"after":"bdcce12340931aad72e193c915c7e76c295945a9","ref":"refs/heads/export-D46578315-to-static_h","pushedAt":"2024-03-01T16:41:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"},"commit":{"message":"Re-enable code generation tests\n\nSummary: Re-enable and update the code generation tests.\n\nReviewed By: avp\n\nDifferential Revision: D46578315","shortMessageHtmlLink":"Re-enable code generation tests"}},{"before":null,"after":"5eb065cf7f30a794a9b917192b5eafc496ae7c00","ref":"refs/heads/export-D54312893-to-static_h","pushedAt":"2024-03-01T00:11:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"},"commit":{"message":"Add ScopeElimination optimisation\n\nSummary:\nAdd an optimisation that eliminates empty scopes by replacing them with\ntheir parents.\n\nReviewed By: avp\n\nDifferential Revision: D54312893","shortMessageHtmlLink":"Add ScopeElimination optimisation"}},{"before":"1fb457d74e44428ec92d3dcb7f2922e38013a330","after":null,"ref":"refs/heads/export-D54293380-to-static_h","pushedAt":"2024-03-01T00:05:43.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"}},{"before":"ee50c5e7b6fa5d06a10b2e3adcb932f7c1e83060","after":"1fb457d74e44428ec92d3dcb7f2922e38013a330","ref":"refs/heads/export-D54293380-to-static_h","pushedAt":"2024-02-28T05:39:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"},"commit":{"message":"Fix equality of NaNs in isSameValue\n\nSummary:\nOriginal Author: neildhar@meta.com\nOriginal Reviewed By: tmikov\nOriginal Revision: D54179136\n\n`isSameValue` and `isSameValueZero` need to return true if both the\narguments are `NaN`. Our current implementation does this by falling\nback to a bitwise comparison in the case that both arguments are\nnumbers.\n\nHowever, this is insufficient. There are two possible encodings for the\nquiet NaN (with and without the sign bit), and it is easy to end up\nwith a mix of them in a single program. For example, the constant\n`std::numeric_limits::quiet_NaN` sets the sign bit to 0,\nwhereas `hermesc` currently always sets it to 1. On x86, operations\nthat produce NaN will set the sign bit to 1 if neither operand is a\nNaN, whereas on ARM the default seems to be 0.\n\nIn principle, we could use that information to impose a canonical\nencoding at runtime (using 1 on x86 and 0 on ARM), with checks during\ndeserialisation from bytecode to make sure we get the correct one for\nthe platform. But this would likely be fragile and complicated.\n\nThis diff patches `isSameValue` to check explicitly for NaN with\n`std::isnan`, and make sure it always compares equal.\n\nNote that this issue is further complicated in Hermes today because the\ninterpreter decodes the serialised NaN with\n`encodeUntrustedNumberValue`, which means that the sign bit added by\n`hermesc` is removed at runtime. This means that the added test case\nonly fails on x86, since on ARM, all NaNs end up without the sign bit.\n\nDifferential Revision: D54293380","shortMessageHtmlLink":"Fix equality of NaNs in isSameValue"}},{"before":null,"after":"ee50c5e7b6fa5d06a10b2e3adcb932f7c1e83060","ref":"refs/heads/export-D54293380-to-static_h","pushedAt":"2024-02-28T05:36:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"},"commit":{"message":"Fix equality of NaNs in isSameValue\n\nSummary:\nOriginal Author: neildhar@meta.com\nOriginal Reviewed By: tmikov\nOriginal Revision: D54179136\n\n`isSameValue` and `isSameValueZero` need to return true if both the\narguments are `NaN`. Our current implementation does this by falling\nback to a bitwise comparison in the case that both arguments are\nnumbers.\n\nHowever, this is insufficient. There are two possible encodings for the\nquiet NaN (with and without the sign bit), and it is easy to end up\nwith a mix of them in a single program. For example, the constant\n`std::numeric_limits::quiet_NaN` sets the sign bit to 0,\nwhereas `hermesc` currently always sets it to 1. On x86, operations\nthat produce NaN will set the sign bit to 1 if neither operand is a\nNaN, whereas on ARM the default seems to be 0.\n\nIn principle, we could use that information to impose a canonical\nencoding at runtime (using 1 on x86 and 0 on ARM), with checks during\ndeserialisation from bytecode to make sure we get the correct one for\nthe platform. But this would likely be fragile and complicated.\n\nThis diff patches `isSameValue` to check explicitly for NaN with\n`std::isnan`, and make sure it always compares equal.\n\nNote that this issue is further complicated in Hermes today because the\ninterpreter decodes the serialised NaN with\n`encodeUntrustedNumberValue`, which means that the sign bit added by\n`hermesc` is removed at runtime. This means that the added test case\nonly fails on x86, since on ARM, all NaNs end up without the sign bit.\n\nDifferential Revision: D54293380","shortMessageHtmlLink":"Fix equality of NaNs in isSameValue"}},{"before":null,"after":"e638ac6519f316e8d85eb7ba7c15741e10e942d7","ref":"refs/heads/export-D53718921-to-static_h","pushedAt":"2024-02-27T23:01:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"},"commit":{"message":"Optimise to HBC scope instructions\n\nSummary:\nOptimize scope creation and resolution that operate on the parent\nenvironment to smaller HBC instructions that read the parent environment\nimplicitly. This means that the resulting instructions are smaller, and\nthe read of the parent environment may be eliminated.\n\nReviewed By: avp\n\nDifferential Revision: D53718921","shortMessageHtmlLink":"Optimise to HBC scope instructions"}},{"before":null,"after":"71f33ed9d119339bbb388688aedefffe94771629","ref":"refs/heads/export-D46607003-to-static_h","pushedAt":"2024-02-27T20:32:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"},"commit":{"message":"Enable OptEnvironmentInit in SH\n\nSummary: Move `OptEnvironmentInit` into BCGen and use it in the SH backend.\n\nReviewed By: avp\n\nDifferential Revision: D46607003","shortMessageHtmlLink":"Enable OptEnvironmentInit in SH"}},{"before":null,"after":"d38bc6c6e527e6490692d83d9a7c9f5d0085f6c1","ref":"refs/heads/export-D45014095-to-static_h","pushedAt":"2024-02-16T03:51:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"},"commit":{"message":"Allow serializing undefined in object literals\n\nSummary:\nOptional fields and fields that refer to other classes are initialised\nto `undefined`, which means that we often end up with `undefined` in\nliterals now.\n\nTo address this, add the ability to serialize undefined, at the expense\nof eliminating the `ByteString` tag.\n\nDifferential Revision: D45014095","shortMessageHtmlLink":"Allow serializing undefined in object literals"}},{"before":"31d750ea3c234f64159acaf2932adfc786bd352a","after":"31d1ac431bc033a89e3a279bac4066af058e275d","ref":"refs/heads/export-D53668399","pushedAt":"2024-02-13T01:36:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"},"commit":{"message":"Trim unused functionality in the sandbox\n\nSummary:\nGiven that `raw_fd_ostream` doesn't actually work in the sandbox,\nremove its dependency on fstat when building for the sandbox.\n\nAlso switch the sandbox to building with `HERMES_IS_MOBILE_BUILD` to\ntrim other unused functionality.\n\nDifferential Revision: D53668399\n\nfbshipit-source-id: f203adc75fd8996a2ac4b4cfcbd8e9751a784c18","shortMessageHtmlLink":"Trim unused functionality in the sandbox"}},{"before":null,"after":"31d750ea3c234f64159acaf2932adfc786bd352a","ref":"refs/heads/export-D53668399","pushedAt":"2024-02-13T01:05:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"},"commit":{"message":"Trim unused functionality in the sandbox\n\nSummary:\nGiven that `raw_fd_ostream` doesn't actually work in the sandbox,\nremove its dependency on fstat when building for the sandbox.\n\nAlso switch the sandbox to building with `HERMES_IS_MOBILE_BUILD` to\ntrim other unused functionality.\n\nDifferential Revision: D53668399\n\nfbshipit-source-id: 5102e73d85812eff7f1a3dc191803aa8c34e8d27","shortMessageHtmlLink":"Trim unused functionality in the sandbox"}},{"before":null,"after":"1265714754c0308b2d978bfcc473d6e9391392c6","ref":"refs/heads/export-D53621070-to-static_h","pushedAt":"2024-02-09T20:02:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"},"commit":{"message":"Remove const template parameter from typeArgStorage_\n\nSummary: The value in a deque has to be non-const, and this is enforced by GCC.\n\nDifferential Revision: D53621070","shortMessageHtmlLink":"Remove const template parameter from typeArgStorage_"}},{"before":null,"after":"7527fa2c8e651e49dc2bbf78fec6f54860865a36","ref":"refs/heads/export-D53597997-to-static_h","pushedAt":"2024-02-09T01:57:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"},"commit":{"message":"Fix compilation of sh_api_use and sh_debug_skel\n\nSummary:\nFix compilation with the new environment access functions.\n\nThese have actually been broken for a while now, because the stack\nframe layout was changed to accommodate exception information in native\ncode. The aim here is just to fix CI until we can decide what to do\nwith these.\n\nDifferential Revision: D53597997","shortMessageHtmlLink":"Fix compilation of sh_api_use and sh_debug_skel"}},{"before":"55d2c4e8f180fc4fc1bfcc9ce5794c1a29dc2488","after":null,"ref":"refs/heads/export-D46849856","pushedAt":"2024-02-05T18:44:38.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"}},{"before":"9ecea8fb08e761acb3874c1bb507a782801310c7","after":null,"ref":"refs/heads/export-D46787355-to-static_h","pushedAt":"2024-02-05T18:44:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"}},{"before":"b2077e84f54f90778c4a3c67062a8fcea92e7df1","after":null,"ref":"refs/heads/export-D49202995-to-static_h","pushedAt":"2024-02-05T18:43:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"}},{"before":"f35a35daeeda0b0f98b8ea025cff088e6511c6fb","after":null,"ref":"refs/heads/export-D52578160-to-static_h","pushedAt":"2024-02-05T18:43:16.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"}},{"before":"5767a0b30c0ba5d07fd8a0e8a398fecb48112b0d","after":null,"ref":"refs/heads/export-D50438267-to-static_h","pushedAt":"2024-02-05T18:42:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"}},{"before":"9de78d64deab9b4ddadee4252c6b90838fb3e2b4","after":null,"ref":"refs/heads/export-D50459516-to-static_h","pushedAt":"2024-02-05T18:42:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"}},{"before":"3ded0fab64905747d308d265e23755eaef3389fa","after":null,"ref":"refs/heads/export-D50460152-to-static_h","pushedAt":"2024-02-05T18:37:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"}},{"before":"0f1f0df590203fa5ac917a85f7c51fa26b48df5c","after":null,"ref":"refs/heads/export-D52947241","pushedAt":"2024-02-05T18:36:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"neildhar","name":null,"path":"/neildhar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4301777?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAERwcOrQA","startCursor":null,"endCursor":null}},"title":"Activity ยท neildhar/hermes"}