saulecabrera commented on issue #6298:
@alexcrichton I'd like to get your thoughts on the direction of this change, mainly around the refactoring and sharing of
CompiledFunction
, given the ideas and thoughts that you've shared in https://github.com/bytecodealliance/wasmtime/pull/5944.
github-actions[bot] commented on issue #6298:
Subscribe to Label Action
cc @saulecabrera
<details>
This issue or pull request has been labeled: "winch"Thus the following users have been cc'd because of the following labels:
- saulecabrera: winch
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
saulecabrera commented on issue #6298:
@alexcrichton I think this is ready for another pass taking into account the feedback that you provided in https://github.com/bytecodealliance/wasmtime/pull/6298#discussion_r1179603816. Unfortunately this change doesn't fulfill your vision entirely; but I was able to considerably move the needle in that direction I think. In practice the
traps
andrelocations
can be easily deferred until theappend_code
step, but I couldn't find a way to do the same with theaddress_map
andunwind_info
without the need of a deeper refactoring (which I didn't get into), given that these fields are used in multiple places (append_code
+append_dwarf
) which requires either calculating them at the very beginning or finding a way to cache them after they are first calculated to be able to reuse them in later steps, which I think is doable but it might increase the scope of this PR further than what I had hoped for, but I think that with a couple more iterations we can get there in follow-up PRs. One thing to note is that I'm not passing a&MachBufferFinalized<Final>
to the builder functions, as initially suggested, but instead I'm passing a&CompiledFunction
which wraps the buffer and contains all the metadata needed to derive the information at each step.Let me know your thoughts; I'm also happy to revert to the previous state in case you'd prefer to have the fully fleshed out approach as part of this change.
Last updated: Dec 23 2024 at 12:05 UTC