Stream: git-wasmtime

Topic: wasmtime / PR #1386 Fix Cranelift's `test rodata`


view this post on Zulip Wasmtime GitHub notifications bot (Mar 23 2020 at 22:38):

abrown opened PR #1386 from fix-rodata to master:

Previously test rodata would cause failures when compiling Cranelift IR that had assertions about the current sink offset (e.g. multiple blocks, see emit_function in binemit/mod.rs). This was because RodataSink was not keeping track of other emitted bytes--a692365 changes that.

Additionally, I started to worry that having jump tables and constants might cause issues with RIP-relative addressing. f1c698e adds two tests to show that there is no issue.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 23 2020 at 22:39):

abrown requested bnjbvr for a review on PR #1386.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 23 2020 at 22:39):

abrown edited PR #1386 from fix-rodata to master:

Previously test rodata would cause failures when compiling Cranelift IR that had assertions about the current sink offset (e.g. multiple blocks, see emit_function in binemit/mod.rs). This was because RodataSink was not keeping track of other emitted bytes; a692365 changes that.

Additionally, I started to worry that having jump tables and constants might cause issues with RIP-relative addressing. f1c698e adds two tests to show that there is no issue.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 30 2020 at 14:59):

bnjbvr submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 30 2020 at 14:59):

bnjbvr submitted PR Review.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 30 2020 at 14:59):

bnjbvr created PR Review Comment:

Alternatively, what do you think of having the RodataSink struct have one more usize field called offset? It would be returned by this function, and it would need to be updated by the functions below to take into account the offset sizes. This would have the benefit of storing less bytes in the emitted vector, so it'd be more efficient and would make the tests run faster (no need for resizing, for instance).

view this post on Zulip Wasmtime GitHub notifications bot (Mar 30 2020 at 16:06):

abrown updated PR #1386 from fix-rodata to master:

Previously test rodata would cause failures when compiling Cranelift IR that had assertions about the current sink offset (e.g. multiple blocks, see emit_function in binemit/mod.rs). This was because RodataSink was not keeping track of other emitted bytes; a692365 changes that.

Additionally, I started to worry that having jump tables and constants might cause issues with RIP-relative addressing. f1c698e adds two tests to show that there is no issue.

view this post on Zulip Wasmtime GitHub notifications bot (Mar 30 2020 at 16:48):

abrown merged PR #1386.


Last updated: Dec 23 2024 at 12:05 UTC