{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":242231200,"defaultBranch":"main","name":"wasmtime","ownerLogin":"cfallin","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2020-02-21T21:09:36.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/216148?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1715878971.0","currentOid":""},"activityList":{"items":[{"before":"813753921fbfb45aa860620183484c419a7edc32","after":"79146f0213dbfd319eb08bb7cc82d00b1612ba0e","ref":"refs/heads/main","pushedAt":"2024-05-31T05:24:37.000Z","pushType":"push","commitsCount":40,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"riscv64: Special-case `f32const 0` and `f64const 0` (#8701)\n\n* riscv64: Special-case `f32const 0` and `f64const 0`\n\nThis commit is inspired by discussion on #8695 which made me remember\nthe discussion around #7162 historically. In lieu of a deeper fix for\nthe issue of \"why can't `iconst 0` use `(zero_reg)`\" it's still possible\nto add special-cases to rules throughout the backend so this commit does\nthat for generating zero-value floats.\n\n* Fix tests\n\n* Run all tests on CI\n\nprtest:full","shortMessageHtmlLink":"riscv64: Special-case f32const 0 and f64const 0 (bytecodealliance…"}},{"before":"91ec9a589cc6c7f031ef4cacdb295331c07b6063","after":"813753921fbfb45aa860620183484c419a7edc32","ref":"refs/heads/main","pushedAt":"2024-05-20T15:13:37.000Z","pushType":"push","commitsCount":17,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Update docs to match new logging env var (#8656)","shortMessageHtmlLink":"Update docs to match new logging env var (bytecodealliance#8656)"}},{"before":"1370b71f7d1b791a024e91bf82f998c309004289","after":null,"ref":"refs/heads/stackslot-alignment","pushedAt":"2024-05-16T17:02:51.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"}},{"before":"6aeb4d5dc9d1c63ed27452690ab54f800277d3e9","after":"1370b71f7d1b791a024e91bf82f998c309004289","ref":"refs/heads/stackslot-alignment","pushedAt":"2024-05-16T16:26:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"cargo-fmt from suggestion update.","shortMessageHtmlLink":"cargo-fmt from suggestion update."}},{"before":"3377cb087bad520e3091abfe28568eeb954e4c89","after":"6aeb4d5dc9d1c63ed27452690ab54f800277d3e9","ref":"refs/heads/stackslot-alignment","pushedAt":"2024-05-16T16:24:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Fix printer test.","shortMessageHtmlLink":"Fix printer test."}},{"before":"438096cb47bf0a98dd8cb4ab2d88f10ed6805388","after":"3377cb087bad520e3091abfe28568eeb954e4c89","ref":"refs/heads/stackslot-alignment","pushedAt":"2024-05-16T16:21:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Update alignment to ValRaw vector.","shortMessageHtmlLink":"Update alignment to ValRaw vector."}},{"before":"7c1c9a26f9b5dbccf29b919cec61893271f429f1","after":"438096cb47bf0a98dd8cb4ab2d88f10ed6805388","ref":"refs/heads/stackslot-alignment","pushedAt":"2024-05-16T16:20:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Update filetest.","shortMessageHtmlLink":"Update filetest."}},{"before":"6d96151f9234f0219ece63fa6e01c2f870048441","after":"7c1c9a26f9b5dbccf29b919cec61893271f429f1","ref":"refs/heads/stackslot-alignment","pushedAt":"2024-05-16T16:18:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Apply suggestions from code review\n\nCo-authored-by: Trevor Elliott ","shortMessageHtmlLink":"Apply suggestions from code review"}},{"before":"0855496501012535e43b76428202302abb037123","after":"6d96151f9234f0219ece63fa6e01c2f870048441","ref":"refs/heads/stackslot-alignment","pushedAt":"2024-05-16T15:27:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Cranelift: add alignment parameter to stack slots.\n\nFixes #6716.\n\nCurrently, stack slots on the stack are aligned only to a machine-word\nboundary. This is insufficient for some use-cases: for example, storing\nSIMD data or structs that require a larger alignment.\n\nThis PR adds a parameter to the `StackSlotData` to specify alignment,\nand the associated logic to the CLIF parser and printer. It updates the\nshared ABI code to compute the stackslot layout taking the alignment\ninto account. In order to ensure the alignment is always a power of two,\nit is stored as a shift amount (log2 of actual alignment) in the IR.","shortMessageHtmlLink":"Cranelift: add alignment parameter to stack slots."}},{"before":null,"after":"0855496501012535e43b76428202302abb037123","ref":"refs/heads/stackslot-alignment","pushedAt":"2024-05-16T15:20:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Cranelift: add alignment parameter to stack slots.\n\nFixes #6716.\n\nCurrently, stack slots on the stack are aligned only to a machine-word\nboundary. This is insufficient for some use-cases: for example, storing\nSIMD data or structs that require a larger alignment.\n\nThis PR adds a parameter to the `StackSlotData` to specify alignment,\nand the associated logic to the CLIF parser and printer. It updates the\nshared ABI code to compute the stackslot layout taking the alignment\ninto account. In order to ensure the alignment is always a power of two,\nit is stored as a shift amount (log2 of actual alignment) in the IR.","shortMessageHtmlLink":"Cranelift: add alignment parameter to stack slots."}},{"before":"5054d400ba797d2cb697b5babdcf17b460a2a061","after":"91ec9a589cc6c7f031ef4cacdb295331c07b6063","ref":"refs/heads/main","pushedAt":"2024-05-16T14:41:24.000Z","pushType":"push","commitsCount":50,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Page align the static memory maximum size (#8630)\n\nThis fixes an accidental regression from #8616 where page alignment was\nimplicitly happening due to how configuration was processed but it\nwasn't re-added in the refactoring.","shortMessageHtmlLink":"Page align the static memory maximum size (bytecodealliance#8630)"}},{"before":"998d22b71d8d349ed459980f892297e901525b99","after":"6144fe450f329d34cbdfc0c1635549f48e768841","ref":"refs/heads/experiment-fast-calls","pushedAt":"2024-05-07T20:00:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"add a non-zero epoch deadline to allow testing with epoch interruption","shortMessageHtmlLink":"add a non-zero epoch deadline to allow testing with epoch interruption"}},{"before":"6144fe450f329d34cbdfc0c1635549f48e768841","after":"998d22b71d8d349ed459980f892297e901525b99","ref":"refs/heads/experiment-fast-calls","pushedAt":"2024-05-07T19:57:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"wasmtime: Remove ALL constant phis\n\nWhen we're trying to delete block-params that can be replaced by a\nsingle dominating value, we weren't handling some cases.\n\nIn particular, if we concluded that a block formal parameter (say, `v3`)\nhad more than one value, then we believed that any uses of that\nparameter (say, defining another formal parameter `v4`) also had more\nthan one value, and therefore could not be deleted.\n\nHowever, in such cases we can try using `v3` itself as the definition of\n`v4`. If there are no other definitions of `v4`, then it can be deleted.\n\nWith this change, if a block has only one predecessor, it is now true\nthat this pass will delete all of its block params. We couldn't rely on\nthat property before.","shortMessageHtmlLink":"wasmtime: Remove ALL constant phis"}},{"before":"2ec9901506b10b9283abc4bb54fa4606e6dd7df5","after":null,"ref":"refs/heads/fuzzbug-fix-table-oob-error-message","pushedAt":"2024-05-07T00:06:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"}},{"before":null,"after":"2ec9901506b10b9283abc4bb54fa4606e6dd7df5","ref":"refs/heads/fuzzbug-fix-table-oob-error-message","pushedAt":"2024-05-06T23:24:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"V8 differential fuzzing: add new table out-of-bounds error message to expectations list.\n\nFixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=68735.\n\nThat fuzzbug bisected to the call-indirect caching changes, but this\nturned out to be a red herring (the options added in that PR mean that\nthe fuzzbug config deserializes differently prior to the commit). In\nany case, it's an easy fix -- it appears that V8 added a new error\nmessage, so we need to add it to the allowlist of messages that we\nexpect for a table out-of-bounds condition.","shortMessageHtmlLink":"V8 differential fuzzing: add new table out-of-bounds error message to…"}},{"before":null,"after":"1474082aa8b7287a04cad0827cc33bdee6542633","ref":"refs/heads/minimal-fuzzbug-repro","pushedAt":"2024-05-06T22:34:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"minimal repro","shortMessageHtmlLink":"minimal repro"}},{"before":null,"after":"4a9f61a989c486ac5748282d43851cef77e1eb33","ref":"refs/heads/revert-indirect-call-caching-for-tests","pushedAt":"2024-05-06T21:11:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Revert \"Wasmtime: add one-entry call-indirect caching. (#8509)\"\n\nThis reverts commit 01c07a1714adcd6d36038eb1aa76ecd9d9d1b2c5.","shortMessageHtmlLink":"Revert \"Wasmtime: add one-entry call-indirect caching. (bytecodeallia…"}},{"before":"71800cc1a1daf01e8c3cfee09e651cf8f46ff31b","after":"5054d400ba797d2cb697b5babdcf17b460a2a061","ref":"refs/heads/main","pushedAt":"2024-05-06T20:33:03.000Z","pushType":"push","commitsCount":16,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Update documentation and example for no_std (#8555)\n\n* Update Wasmtime's tier stability documentation\n\nMove some items between tiers and add a few misc items here and there.\n\n* Update platform support documentation\n\nRe-word lots of this since it was originally written, link to the tiers\nof support page, and rewrite the section on `no_std`.\n\n* Update the `min-platform` example with no_std\n\nThis commit updates the preexisting `min-platform` example to no longer\nrequire Nightly Rust and instead use the `no_std` support now added to\nWasmtime. This involved:\n\n* Change the build process to produce a staticlib which is then manually\n converted via `cc` into a shared library for the native Linux platform.\n* Compile the modules outside of the embedding and only `deserialize`\n within the embedding.\n* Update the `indexmap` dependency to pick up a bug fix required in\n `no_std` mode (apparently, it fails on indexmap@2.0.0 and passes at\n 2.2.6, I didn't dig much further).\n\nThis commit additionally makes the `wasmtime-platform.h` header file\ngenerated by the example a release artifact for Wasmtime itself. The\nheader itself is touched up a bit by configuring some more `cbindgen`\noptions as well.\n\n* Fix clippy build\n\nprtest:full\n\n* Review comments\n\n* Pass gc-sections to linking the library","shortMessageHtmlLink":"Update documentation and example for no_std (bytecodealliance#8555)"}},{"before":"23f5f5c8f321933bbfb65f864ce707e5cdeb47dd","after":null,"ref":"refs/heads/oob-table-index-during-prescan","pushedAt":"2024-05-03T20:38:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"}},{"before":"efafa5756f4636032f508a45cc1915208359701b","after":"23f5f5c8f321933bbfb65f864ce707e5cdeb47dd","ref":"refs/heads/oob-table-index-during-prescan","pushedAt":"2024-05-03T19:59:26.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Add test case.","shortMessageHtmlLink":"Add test case."}},{"before":null,"after":"451f85e2cce32bac0e37b5c77be777a95702490f","ref":"refs/heads/indirect-call-caching-is-an-optimization-option","pushedAt":"2024-05-03T18:40:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Indirect call caching: put options under `-O` namespace.\n\nAs per [this comment], the call-indirect caching options should really\nbe in the `-O` option namespace (for optimizations), not `-W` (for\nsemantically-visible Wasm standards options); the original PR simply put\nthem in the wrong place, and this PR moves them.\n\n[this comment]: https://github.com/bytecodealliance/wasmtime/pull/8509#discussion_r1589594152","shortMessageHtmlLink":"Indirect call caching: put options under -O namespace."}},{"before":null,"after":"efafa5756f4636032f508a45cc1915208359701b","ref":"refs/heads/oob-table-index-during-prescan","pushedAt":"2024-05-03T18:19:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Call-indirect caching: protect against out-of-bounds table index during prescan.\n\nCall-indirect caching requires a \"prescan\" of a module's code section\nduring compilation in order to know which tables are possibly written,\nand to count call-indirect callsites so that each separate function\ncompilation can enable caching if possible and use the right slot\nrange.\n\nThis prescan is not integrated with the usual validation logic (nor\nshould it be, probably, for performance), so it's possible that an\nout-of-bounds table index or other illegal instruction could be\npresent. We previously indexed into an internal data\nstructure (`table_plans`) with this index, allowing for a compilation\npanic on certain invalid modules before validation would have caught\nit. This PR fixes that with a one-off check at the single point that\nwe interpret a parameter (the table index) from an instruction during\nthe prescan.","shortMessageHtmlLink":"Call-indirect caching: protect against out-of-bounds table index duri…"}},{"before":"01c07a1714adcd6d36038eb1aa76ecd9d9d1b2c5","after":"71800cc1a1daf01e8c3cfee09e651cf8f46ff31b","ref":"refs/heads/main","pushedAt":"2024-05-03T16:48:03.000Z","pushType":"push","commitsCount":14,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Add release notes for 20.0.1 (#8539)\n\nForward-port the notes from #8538","shortMessageHtmlLink":"Add release notes for 20.0.1 (bytecodealliance#8539)"}},{"before":"effb9e29a2e20e648da042320a6602b24b7febe4","after":"6144fe450f329d34cbdfc0c1635549f48e768841","ref":"refs/heads/experiment-fast-calls","pushedAt":"2024-05-02T06:59:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"add a non-zero epoch deadline to allow testing with epoch interruption","shortMessageHtmlLink":"add a non-zero epoch deadline to allow testing with epoch interruption"}},{"before":"0f4c0d4a358187f99f23897d306c8b2a3c94287e","after":"01c07a1714adcd6d36038eb1aa76ecd9d9d1b2c5","ref":"refs/heads/main","pushedAt":"2024-05-02T06:59:04.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Wasmtime: add one-entry call-indirect caching. (#8509)\n\n* Wasmtime: add one-entry call-indirect caching.\n\nIn WebAssembly, an indirect call is somewhat slow, because of the\nindirection required by CFI (control-flow integrity) sandboxing. In\nparticular, a \"function pointer\" in most source languages compiled to\nWasm is represented by an index into a table of funcrefs. The\n`call_indirect` instruction then has to do the following steps to invoke\na function pointer:\n\n- Load the funcref table's base and length values from the vmctx.\n- Bounds-check the invoked index against the actual table size; trap if\n out-of-bounds.\n- Spectre mitigation (cmove) on that bounds-check.\n- Load the `vmfuncref` from the table given base and index.\n - For lazy table init, check if this is a non-initialized funcref\n pointer, and initialize the entry.\n- Load the signature from the funcref struct and compare it against the\n `call_indirect`'s expected signature; trap if wrong.\n- Load the actual code pointer for the callee's Wasm-ABI entry point.\n- Load the callee vmctx (which may be different for a cross-module\n call).\n- Put that vmctx in arg 0, our vmctx in arg 1, and invoke the loaded\n code pointer with an indirect call instruction.\n\nCompare and contrast to the process involved in invoking a native\nfunction pointer:\n\n- Invoke the code pointer with an indirect call instruction.\n\nThis overhead buys us something -- it is part of the SFI sandbox\nboundary -- but it is very repetitive and unnecessary work in *most*\ncases when indirect function calls are performed repeatedly (such as\nwithin an inner loop).\n\nThis PR introduces the idea of *caching*: if we know that the result of\nall the above checks won't change, then if we use the same index as \"the\nlast time\" (for some definition), we can skip straight to the \"invoke\nthe code pointer\" step, with a cached code pointer from that last time.\n\nConcretely, it introduces a two-word struct inlined into the vmctx for\neach `call_indirect` instruction in the module (up to a limit):\n\n- The last invoked index;\n- The code pointer that index corresponded to.\n\nWhen compiling the module, we check whether the table could possibly be\nmutable at a given index once read: any instructions like `table.set`,\nor the whole table exported thus writable from the outside. We also\ncheck whether index 0 is a non-null funcref. If neither of these things\nare true, then we know we can cache an index-to-code-pointer mapping,\nand we know we can use index 0 as a sentinel for \"no cached value\".\n\nWe then make use of the struct for each indirect call site and generate\ncode to check if the index matches; if so, call cached pointer; if not,\nload the vmfuncref, check the signature, check that the callee vmctx is\nthe same as caller (intra-module case), and stash the code pointer and\nindex away (fill the cache), then make the call.\n\nOn an in-development branch of SpiderMonkey-in-Wasm with ICs (using\nindirect calls), this is about a 20% speedup; I haven't yet measured on\nother benchmarks. It is expected that this might be an\ninstantiation-time slowdown due to a larger vmctx (but we could use\nmadvise to zero if needed).\n\nThis feature is off by default right now.\n\n* Addressed review feedback.\n\n* Added some more comments.\n\n* Allow unused VMCallIndirectCache struct (defined for parity with other bits but not needed in actual runtime).\n\n* Add a limit to the number of call-indirect cache slots.\n\n* Fix merge conflict: handle ConstOp element offset.\n\n* Review feedback.","shortMessageHtmlLink":"Wasmtime: add one-entry call-indirect caching. (bytecodealliance#8509)"}},{"before":"36c73ad66a3c228e66b5fda05191d0767373e960","after":null,"ref":"refs/heads/call-indirect-caching","pushedAt":"2024-05-02T06:49:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"}},{"before":"4eb658fabdea0fec435b8e5a6984329e70b16ace","after":"36c73ad66a3c228e66b5fda05191d0767373e960","ref":"refs/heads/call-indirect-caching","pushedAt":"2024-05-02T06:11:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Review feedback.","shortMessageHtmlLink":"Review feedback."}},{"before":"a2383007ace91d788570a194348e4de2b93c5b4d","after":"4eb658fabdea0fec435b8e5a6984329e70b16ace","ref":"refs/heads/call-indirect-caching","pushedAt":"2024-05-01T23:15:20.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Fix merge conflict: handle ConstOp element offset.","shortMessageHtmlLink":"Fix merge conflict: handle ConstOp element offset."}},{"before":"3820843be866e1ba97fb9743ddbeb22d41acbf49","after":"a2383007ace91d788570a194348e4de2b93c5b4d","ref":"refs/heads/call-indirect-caching","pushedAt":"2024-05-01T16:55:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Add a limit to the number of call-indirect cache slots.","shortMessageHtmlLink":"Add a limit to the number of call-indirect cache slots."}},{"before":"036af4509623623f5973b475a6d4d66cef255521","after":"3820843be866e1ba97fb9743ddbeb22d41acbf49","ref":"refs/heads/call-indirect-caching","pushedAt":"2024-05-01T16:53:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cfallin","name":"Chris Fallin","path":"/cfallin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/216148?s=80&v=4"},"commit":{"message":"Add a limit to the number of call-indirect cache slots.","shortMessageHtmlLink":"Add a limit to the number of call-indirect cache slots."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWKqXlwA","startCursor":null,"endCursor":null}},"title":"Activity · cfallin/wasmtime"}