{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":809541830,"defaultBranch":"main","name":"cinderx","ownerLogin":"facebookincubator","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-06-03T01:01:22.000Z","ownerAvatar":"https://github.com/avatars/u/19538647?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1718285873.0","currentOid":""},"activityList":{"items":[{"before":"d11640f3869d46a0039a3a14221817fd7707e6db","after":"c1139a5c5fe61d7c1a869770c7a994bb40190f05","ref":"refs/heads/main","pushedAt":"2024-09-13T14:45:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Add more slog variants\n\nSummary:\nThere's a lot more variants of `slog*`:\n\nhttps://fb.workplace.com/groups/igdevsupport/permalink/26702790486009547/\n\nThis adds all the currently supported versions\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D62614943\n\nfbshipit-source-id: 5e6a77d34f93b14224fc68ad7e907fb59b223e74","shortMessageHtmlLink":"Add more slog variants"}},{"before":"bada9281a6c2dd0bb38d9b6dba33bf1896146169","after":"d11640f3869d46a0039a3a14221817fd7707e6db","ref":"refs/heads/main","pushedAt":"2024-09-12T17:41:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Separate out Jit/jit_rt.{cpp,h} to its own library\n\nSummary:\nNeeds to shuffle around the definitions of LoadMethodResult and GenResumeFunc to\na common place first, then can be turned into a standalone library.\n\nReviewed By: SonicField\n\nDifferential Revision: D62466055\n\nfbshipit-source-id: 4ff96ed3214eb4e8d0b908e11f02344564d3a263","shortMessageHtmlLink":"Separate out Jit/jit_rt.{cpp,h} to its own library"}},{"before":"759e28f5580da7f3c416bcfe5f902a85ab9edbff","after":"bada9281a6c2dd0bb38d9b6dba33bf1896146169","ref":"refs/heads/main","pushedAt":"2024-09-12T14:24:54.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Separate out Jit/perf_jitdump.{cpp,h} to its own library\n\nSummary:\nNeeds to not depend on pyjit.h for access to jit::Config and then it can be its\nown thing.\n\nReviewed By: mpage\n\nDifferential Revision: D62448698\n\nfbshipit-source-id: 8c37a730b0fe065dbbb9a90c28c8dd80c183c773","shortMessageHtmlLink":"Separate out Jit/perf_jitdump.{cpp,h} to its own library"}},{"before":"90d72c1dad42daf27294a5fa914a325fde240c57","after":"759e28f5580da7f3c416bcfe5f902a85ab9edbff","ref":"refs/heads/main","pushedAt":"2024-09-12T01:42:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Pre-silence Pyre Errors for upcoming upgrade] [batch:68/222]\n\nReviewed By: MaggieMoss\n\nDifferential Revision: D62493318\n\nfbshipit-source-id: 31e95efd9d5f8303e562540c5a2d2e315eb34297","shortMessageHtmlLink":"Pre-silence Pyre Errors for upcoming upgrade] [batch:68/222]"}},{"before":"7657556cd4051a60cb92ef48948970f53a07c1bb","after":"90d72c1dad42daf27294a5fa914a325fde240c57","ref":"refs/heads/main","pushedAt":"2024-09-11T22:32:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"add yield from tests\n\nSummary: Adds some tests for exercising `YIELD_FROM` in 3.10. Will use when adding the new opcode tests in 3.12 to ensure we're not messing up 3.10.\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D62453508\n\nfbshipit-source-id: b1055737453ac15a4c736c5e0aa3efed4497b79e","shortMessageHtmlLink":"add yield from tests"}},{"before":"7c2f96cd8036ae87386c95a43e77ac82a7c2b429","after":"7657556cd4051a60cb92ef48948970f53a07c1bb","ref":"refs/heads/main","pushedAt":"2024-09-11T19:20:51.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Separate out all Jit/codegen files into individual libraries\n\nSummary:\nThere's still dependency cycles with Jit/, which is why the :codegen-headers and\n:codegen split still exists, but at least there's no more cycles within the\ndirectory itself.\n\nReviewed By: mpage\n\nDifferential Revision: D62440527\n\nfbshipit-source-id: 6edba0c887da98be3df9a88591548109d07a166f","shortMessageHtmlLink":"Separate out all Jit/codegen files into individual libraries"}},{"before":"01bde64d10485adc10dfd46fcb9efea1e80b5227","after":"7c2f96cd8036ae87386c95a43e77ac82a7c2b429","ref":"refs/heads/main","pushedAt":"2024-09-11T17:36:38.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Enable immortal instances in the JIT\n\nSummary: There isn't a `Py_IMMORTAL_INSTANCES` `#define` in 3.12, this feature is just always enabled.\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D62447072\n\nfbshipit-source-id: f29e4172d9d52b2d97a8f4eef67245dbde17c297","shortMessageHtmlLink":"Enable immortal instances in the JIT"}},{"before":"8ebf449b19c28259eba83e8be70095d89bd8a4c2","after":"01bde64d10485adc10dfd46fcb9efea1e80b5227","ref":"refs/heads/main","pushedAt":"2024-09-10T23:33:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"emit RESUME on scope entry\n\nSummary:\nAdds emitting `RESUME 0` on scope entry, the remaining `RESUME` cases are in yield, which is blocked by zero-cost exceptions.\n\nAdds conditional testing for `RESUME` in the test runner so that we can safely test between 3.10 and 3.12.\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D61681961\n\nfbshipit-source-id: 055043aa36ec776813cd88cd9a4773f3db2326bf","shortMessageHtmlLink":"emit RESUME on scope entry"}},{"before":"3308f72a52d67ff19e605bc6fc76c599e8513030","after":"8ebf449b19c28259eba83e8be70095d89bd8a4c2","ref":"refs/heads/main","pushedAt":"2024-09-10T15:57:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Fix HIR support for KW_NAMES\n\nSummary:\nTurns out the `kwnames_` field wasn't being set. Also the `emitVariadic` method\nassumes that the instruction's operands are all on the stack, this isn't true\nwith `kwnames_`, so the stack was always popping one extra value than it was\nsupposed to.\n\nThe `kwnames_` logic also asserts that the last argument of the CallMethod is\nstill nullptr after the stack inputs have been added, as a sanity check. This\ndoesn't work as `Instr::allocate()` uses `malloc()` and so the instruction isn't\nzeroed out. Switching to `calloc()` as that'll lead to more consistent\nbehavior.\n\nReviewed By: SonicField\n\nDifferential Revision: D62419069\n\nfbshipit-source-id: cbbc462b385fa7a53304ff34da2c9402d35fb343","shortMessageHtmlLink":"Fix HIR support for KW_NAMES"}},{"before":"23361e9520267ba0226619d77c4e0919902a59f9","after":"3308f72a52d67ff19e605bc6fc76c599e8513030","ref":"refs/heads/main","pushedAt":"2024-09-10T14:14:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Raise exceptions when failing to produce HIR\n\nSummary:\nFor normal usage of the Python runtime, this has no visible effect, the\nexception will be silently swallowed. If CinderX has been built in debug mode,\nit'll get printed to stderr, so members of our team can still debug issues.\nIf any exceptions *were* previously bubbling up from our HIRBuilder then they\nwill no longer crash the runtime.\n\nFor our runtime tests, these will now always bubble up to the top-level and\ncrash the test. The tests do not call through jit::Context so they don't go\nthrough the new catch block. This means we can drop asserts in our tests on\nHIR function objects being non-null.\n\nReviewed By: jbower-fb\n\nDifferential Revision: D62040207\n\nfbshipit-source-id: 919bf4f3cc1bfda9f4a7f21d1966be45a018a6b3","shortMessageHtmlLink":"Raise exceptions when failing to produce HIR"}},{"before":"1d4c07bec84f75f0bcfc8184f3ccf3686815f7b6","after":"23361e9520267ba0226619d77c4e0919902a59f9","ref":"refs/heads/main","pushedAt":"2024-09-06T13:17:37.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Support JUMP_BACKWARD_NO_INTERRUPT in HIRBuilder\n\nSummary: Adding support for JUMP_BACKWARD_NO_INTERRUPT\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D61692023\n\nfbshipit-source-id: 0a6a722c564fc07e50595ba21c470f047821f38c","shortMessageHtmlLink":"Support JUMP_BACKWARD_NO_INTERRUPT in HIRBuilder"}},{"before":"9eff7d74f5b8d662fa4484ea6a2b922b64d59c05","after":"1d4c07bec84f75f0bcfc8184f3ccf3686815f7b6","ref":"refs/heads/main","pushedAt":"2024-09-05T00:35:55.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Support compiling MAKE_FUNCTION in 3.12\n\nSummary:\nMAKE_FUNCTION in 3.10 puts the new function's qualname on the top of the stack.\nIn 3.11 this was changed, the qualname is no longer on the stack, it's computed\nfrom the code object's qualname.\n\nThe way this is done in HIR now is that the qualname operand becomes optional.\nI swapped the operand order because I felt like it would be weird to have it as\nthe first argument now.\n\nSee https://docs.python.org/3.12/library/dis.html#opcode-MAKE_FUNCTION\n\nReviewed By: jbower-fb\n\nDifferential Revision: D62045202\n\nfbshipit-source-id: 9c7f7972c42025131ad498b6385f15c6fe817e5b","shortMessageHtmlLink":"Support compiling MAKE_FUNCTION in 3.12"}},{"before":"b96929a864c12b7da2d32baff56b935a33d8dd8b","after":"9eff7d74f5b8d662fa4484ea6a2b922b64d59c05","ref":"refs/heads/main","pushedAt":"2024-09-05T00:01:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Add copyright headers to cinderx\n\nSummary: Add some missing headers from the cinderx repo\n\nReviewed By: mpage\n\nDifferential Revision: D62098385\n\nfbshipit-source-id: a8cb5424effd7ac45f92368bc454012a2bd6208b","shortMessageHtmlLink":"Add copyright headers to cinderx"}},{"before":"62efb24e8e8047baecbb751f76ec1084e992e01a","after":"b96929a864c12b7da2d32baff56b935a33d8dd8b","ref":"refs/heads/main","pushedAt":"2024-09-04T22:03:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Add an overrides file for cinder-specific opcode instructions\n\nSummary:\nAdd `cinder-bytecodes.c` to overlay `Includes/bytecodes.c` when calling\ngenerate_cases.\n\nReviewed By: jbower-fb\n\nDifferential Revision: D62141099\n\nfbshipit-source-id: 27832b1601441ff551b3055a32458e9fc2530cc9","shortMessageHtmlLink":"Add an overrides file for cinder-specific opcode instructions"}},{"before":"6331012a1a34621558becd9afcc6d3b55e5156db","after":"62efb24e8e8047baecbb751f76ec1084e992e01a","ref":"refs/heads/main","pushedAt":"2024-09-04T21:20:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Start a 3.12 fork of the interpreter\n\nSummary:\n* Copy python 3.12's `ceval.c` and some supporting headers into an `cinderx/Interpreter/Includes` subdirectory. These shoud ideally not need to be edited.\n* Copy `bytecode.c` into `cinderx/Interpreter` and add a `regen-cases.sh` script to regenerate the generated cases manually (this is a stopgap measure until we add a buck target to do this)\n* Add an `interpreter-3.12.c` that simply includes `ceval.c` for now\n* Add an `:Interpreter3.12` target to build the new interpreter lib\n\nReviewed By: jbower-fb\n\nDifferential Revision: D62047729\n\nfbshipit-source-id: c3f485d2ed498bda0558807be2920c70aad1cff1","shortMessageHtmlLink":"Start a 3.12 fork of the interpreter"}},{"before":"f3d25a30e6bd30c1499be63ce4c39cee376ac9f6","after":"6331012a1a34621558becd9afcc6d3b55e5156db","ref":"refs/heads/main","pushedAt":"2024-08-30T17:46:17.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Simplify CallMethod down to VectorCall for functions\n\nSummary:\nTrying to make the HIR for function calls closer between 3.10 and 3.12.\n\nWhen the JIT statically knows that a CallMethod is being used for a function and\nnot a method (e.g. LOAD_GLOBAL + CALL in 3.12), then we can optimize to a\nVectorCall and drop the `JITRT_Call` wrapper function used by CallMethod.\n\nReviewed By: jbower-fb\n\nDifferential Revision: D61998178\n\nfbshipit-source-id: e7b97aedac337cb5e6b09edf2ccc2cfa282aed17","shortMessageHtmlLink":"Simplify CallMethod down to VectorCall for functions"}},{"before":"b58de4396cab67f569d78994d02944198ce614a2","after":"f3d25a30e6bd30c1499be63ce4c39cee376ac9f6","ref":"refs/heads/main","pushedAt":"2024-08-30T14:31:37.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Allow 3.12 JIT runtime helpers to run despite awaited flag not being defined\n\nSummary:\nThe future of the awaited flag is a little uncertain. In theory it's a behavior\ndifference but dropping it from functions should still allow them to run,\nnothing should crash. For now, demote these asserts to notes so that we can\nexecute the runtime helpers without crashing.\n\nReviewed By: jbower-fb\n\nDifferential Revision: D61989546\n\nfbshipit-source-id: a60c1df7999521cf21866169a2aa1cfe37c0d014","shortMessageHtmlLink":"Allow 3.12 JIT runtime helpers to run despite awaited flag not being …"}},{"before":"0b211082a448bd94a3a28d390d4b2f53628b93f4","after":"b58de4396cab67f569d78994d02944198ce614a2","ref":"refs/heads/main","pushedAt":"2024-08-30T02:48:25.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Rename CallExFlags to CallFlags, use for CallMethod too\n\nSummary: Making this more general so that it can support more types of function calls.\n\nReviewed By: mpage\n\nDifferential Revision: D61859501\n\nfbshipit-source-id: eb31935d7c7ab0afe7058f8176eafb9237e28a31","shortMessageHtmlLink":"Rename CallExFlags to CallFlags, use for CallMethod too"}},{"before":"ca25452989066a02d4c346cd1b01f81a5efaa708","after":"0b211082a448bd94a3a28d390d4b2f53628b93f4","ref":"refs/heads/main","pushedAt":"2024-08-27T18:53:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Clean up JIT runtime helpers for calls\n\nSummary:\n* `JITRT_CallFunction{,Awaited}` are unused. They're just wrappers around\n `_PyObject_Vectorcall`, which we emit directly inside of the LIR generator.\n\n* `JITRT_CallMethodAwaited` is never used. The awaited flag is set on the flags\n argument inside of LIRGenerator's output for `hir::CallMethod`. It's not\n needed inside of the runtime helper.\n\n* Making the awaited flag not an error for CallMethod LIR generation. It's an\n optimization that we haven't yet decided that we want to bring forward, so\n switching this to use an `UPGRADE_NOTE` instead.\n\nReviewed By: mpage\n\nDifferential Revision: D61804770\n\nfbshipit-source-id: 6c0179985cb55a64607ae1f4c5a659b2f4458a77","shortMessageHtmlLink":"Clean up JIT runtime helpers for calls"}},{"before":"e1e706d1b2c0b05d8a7d119016213ff4d885e2e4","after":"ca25452989066a02d4c346cd1b01f81a5efaa708","ref":"refs/heads/main","pushedAt":"2024-08-27T00:57:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Add LOAD_SUPER_ATTR in 3.12\n\nSummary:\nAdd the LOAD_SUPER_ATTR opcode for optimising super() attribute and method\ncalls in 3.12+.\n\nNote: The test only exercises attributes, since method calls in general have\nchanged in 3.12; the visitCall() overload in CodeGenerator312 currently emits\nthe right LOAD_SUPER_ATTR opcodes, but then emits the 3.10 CALL_METHOD, and so\nis broken overall.\n\nReviewed By: pilleye\n\nDifferential Revision: D61738496\n\nfbshipit-source-id: 43af8eecd6fff9cb954c5631567a7cc690aae5ee","shortMessageHtmlLink":"Add LOAD_SUPER_ATTR in 3.12"}},{"before":"37b06293d80289951a859081d23c1a9828ff8c06","after":"e1e706d1b2c0b05d8a7d119016213ff4d885e2e4","ref":"refs/heads/main","pushedAt":"2024-08-26T23:16:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Back out \"Make scheduleJitCompile a nop when JIT is disabled\"\n\nSummary:\nFailures on `test_cinderx.test_compiler.test_static.array.ArrayTests.test_array_enum` bisect to this commit.\n\nOriginal commit changeset: d789890d5ad4\n\nOriginal Phabricator Diff: D61572802\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D61814129\n\nfbshipit-source-id: cd062d8bb0ac8d0779c64cc9db26faed2c8bc17c","shortMessageHtmlLink":"Back out \"Make scheduleJitCompile a nop when JIT is disabled\""}},{"before":"f8e98be1745d2f78a24f25876c06bbe1134416b7","after":"37b06293d80289951a859081d23c1a9828ff8c06","ref":"refs/heads/main","pushedAt":"2024-08-26T22:17:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Fix Python test running under the JIT with ASAN\n\nSummary:\nThe CinderX test runner redirects ASAN output to separate files\nby calling the `__sanitizer_set_report_fd` function using ctypes\n(https://fburl.com/code/rrbaqnt4). Under the hood, ctypes tries\nto resolve `__sanitizer_set_report_fd` using `dlsym`. Resolving\n`__sanitizer_set_report_fd` is currently failing (e.g. https://fburl.com/sandcastle/41sbdpx9)\nbecause the symbol is defined but not exported from libpython. This causes\n100% of tests to fail because the worker crashes before it can\neven run the test. Export the symbol.\n\nReviewed By: alexmalyshev\n\nDifferential Revision: D61686959\n\nfbshipit-source-id: 533e367e7e6491f168e0833f63b04ef811c83b5c","shortMessageHtmlLink":"Fix Python test running under the JIT with ASAN"}},{"before":"7a6df2deebea5491f1ffe49ec03bf3dcd0727539","after":"f8e98be1745d2f78a24f25876c06bbe1134416b7","ref":"refs/heads/main","pushedAt":"2024-08-26T16:54:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Fix descriptor invocation for specialized STORE_ATTR instructions\n\nSummary:\nWe were not invoking data descriptors in STORE_ATTR specializations for instances of types\nthat used either combined or split dictionaries. After specialization, we would not invoke\nthe `__set__` method and would instead store directly into the instance dictionary.\n\nThis behavior manifested itself in production while attempting to upgrade the `networkx`\nlibrary as part of the scientific stack upgrade (see https://fb.workplace.com/groups/cinderusers/permalink/3515183861960972/).\nIn version 2.8.8., `networkx`'s `DiGraph` class uses a special data descriptor (https://fburl.com/r1r6ag7j)\nto alias the `_adj` and `_succ` members (https://fburl.com/eav73x6z). `DiGraph.__init__` only sets `_adj` (https://fburl.com/jy5dlql1)\nbut the descriptor ensures that both `_adj` and `_succ` are set in the instance's\ndictionary.\n\nAfter specialization kicks in for `DiGraph.__init__`, storing into `_adj` would not invoke\nthe descriptor, and would instead only store `_adj` in the instance's dictionary. As a result,\nsubsequent attempts to read `_succ` would return the descriptor, producing the exceptions that\nwere seen in production.\n\nUse the correct specialization that always invokes the data descriptor. I'm more than a little\nsurprised that we haven't seen this yet, but I guess user defined data descriptors are not that\nwidely used.\n\nReviewed By: jbower-fb\n\nDifferential Revision: D61740166\n\nfbshipit-source-id: 2c0a6cdea9e602a7dde21d3fc057531bcc661e4d","shortMessageHtmlLink":"Fix descriptor invocation for specialized STORE_ATTR instructions"}},{"before":"256fbf6e22f595aa0f4460952e4ace4ab81866d2","after":"7a6df2deebea5491f1ffe49ec03bf3dcd0727539","ref":"refs/heads/main","pushedAt":"2024-08-26T15:07:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Re-enable linting on fbcode/cinderx/PythonLib/cinderx/compiler/static\n\nSummary:\nWorking through PythonLib/ bit by bit as it's complex.\n\nMany manual changes to remove unused imports, adding `noqa: F401` for\nintentional re-exported symbols, removing unneeded uses of f-strings, and using\n`is/is not` instead of `==/!=` for type comparison.\n\nThe rest is `arc lint`.\n\nReviewed By: zertosh\n\nDifferential Revision: D61274114\n\nfbshipit-source-id: c881e3746b853b13da721274e1294781861925a0","shortMessageHtmlLink":"Re-enable linting on fbcode/cinderx/PythonLib/cinderx/compiler/static"}},{"before":"d3a754fbf06de8a84b599dc1c7e8c9c49f98b1a5","after":"256fbf6e22f595aa0f4460952e4ace4ab81866d2","ref":"refs/heads/main","pushedAt":"2024-08-22T20:23:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Add missing Pyre mode headers] [batch:3/25] [shard:2/N]\n\nDifferential Revision: D61651813\n\nfbshipit-source-id: 02f992d77c13bfcf25103ac510b41d95a8cbe672","shortMessageHtmlLink":"Add missing Pyre mode headers] [batch:3/25] [shard:2/N]"}},{"before":"f63ab455186282cc53f1f9345da28e0d2723bb9b","after":"d3a754fbf06de8a84b599dc1c7e8c9c49f98b1a5","ref":"refs/heads/main","pushedAt":"2024-08-22T18:25:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Have FlagExtractor only check for top-level imports\n\nSummary: Only look for `import __strict__` and `import __static__` at module scope. Importing these within a class or function definition is now silently ignored, rather than raising an exception.\n\nReviewed By: pilleye\n\nDifferential Revision: D61614111\n\nfbshipit-source-id: 2539d7c802e0574551701f4990aa0075045d3366","shortMessageHtmlLink":"Have FlagExtractor only check for top-level imports"}},{"before":"c32b4359dacd67d2a9e9b1197b6fe6fe0a299848","after":"f63ab455186282cc53f1f9345da28e0d2723bb9b","ref":"refs/heads/main","pushedAt":"2024-08-22T18:02:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Add JIT_DCHECK that JIT wrappers are always called on functions\n\nSummary:\nThis should always be the case, given how they are loaded via\n`scheduleJitCompile()`. But it adds enforcement to the subsequent\n`reinterpret_cast`s.\n\nReviewed By: jbower-fb\n\nDifferential Revision: D61663972\n\nfbshipit-source-id: 4e25d9875e34f16a55d123305b10d64d2b5ffe10","shortMessageHtmlLink":"Add JIT_DCHECK that JIT wrappers are always called on functions"}},{"before":"b0a565ba2d8bc416f950d026e77e85056f8d564f","after":"c32b4359dacd67d2a9e9b1197b6fe6fe0a299848","ref":"refs/heads/main","pushedAt":"2024-08-22T15:30:05.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Make scheduleJitCompile a nop when JIT is disabled\n\nSummary:\nWhat it says in the title. The current behavior is to install the wrapper, have\nit fail to compile on the first call, and then reset the function object back\nonto the interpreter. This is a waste of time.\n\nDifferential Revision:\nD61572802\n\nPrivacy Context Container: L1125187\n\nfbshipit-source-id: d789890d5ad4be113280b8cc1c155ff086f838e6","shortMessageHtmlLink":"Make scheduleJitCompile a nop when JIT is disabled"}},{"before":"0b2f0624f1b8d0adabcdfc4e26c7ade2a232fcdf","after":"b0a565ba2d8bc416f950d026e77e85056f8d564f","ref":"refs/heads/main","pushedAt":"2024-08-22T14:09:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Fix test_type_alias_generic_class\n\nSummary:\nThis test is failing because the parent of the TypeAliasScope has two children:\nthe TypeAliasScope and also a TypeParamScope with a Name. I believe this is\nintentional as the first thing that `visitTypeAlias()` does is attach a\n`TypeParamScope` if the alias is generic.\n\nDifferential Revision: D61608060\n\nfbshipit-source-id: bbc7fe648cb0ab1971af9dd91c0337a373da74c8","shortMessageHtmlLink":"Fix test_type_alias_generic_class"}},{"before":"ac03226eea9d53702354f5865d886ec384e0fae6","after":"0b2f0624f1b8d0adabcdfc4e26c7ade2a232fcdf","ref":"refs/heads/main","pushedAt":"2024-08-21T22:14:03.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"facebook-github-bot","name":"Facebook Community Bot","path":"/facebook-github-bot","primaryAvatarUrl":"https://github.com/avatars/u/6422482?s=80&v=4"},"commit":{"message":"Add helper methods for emitting CALL_INTRINSIC_1/2 in python 3.12+\n\nSummary:\nAdd `emit_call_intrinsic_1()` and `emit_call_intrinsic_2()` methods to avoid\nhaving to manually do the name->index conversion every time we emit a\nCALL_INTRINSIC opcode.\n\nReviewed By: pilleye\n\nDifferential Revision: D61609767\n\nfbshipit-source-id: 60d7bd8812c2556f7d26a662ee4865b12f01dd99","shortMessageHtmlLink":"Add helper methods for emitting CALL_INTRINSIC_1/2 in python 3.12+"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xM1QxNDo0NTo1My4wMDAwMDBazwAAAAS1mNnO","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xM1QxNDo0NTo1My4wMDAwMDBazwAAAAS1mNnO","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yMVQyMjoxNDowMy4wMDAwMDBazwAAAASgrhYE"}},"title":"Activity · facebookincubator/cinderx"}