wasm: store tag id right after the content

This commit is contained in:
Folkert 2022-07-09 14:20:21 +02:00
parent 620d719661
commit d1f7b0fc5a
No known key found for this signature in database
GPG key ID: 1F17F6FFD112B97C
3 changed files with 21 additions and 17 deletions

View file

@ -1595,7 +1595,8 @@ impl<'a> WasmBackend<'a> {
// Store the tag ID (if any)
if stores_tag_id_as_data {
let id_offset = data_offset + data_size - data_alignment;
let id_offset =
data_offset + union_layout.data_size_without_tag_id(TARGET_INFO).unwrap();
let id_align = union_layout.tag_id_builtin().alignment_bytes(TARGET_INFO);
let id_align = Align::from(id_align);
@ -1678,8 +1679,7 @@ impl<'a> WasmBackend<'a> {
};
if union_layout.stores_tag_id_as_data(TARGET_INFO) {
let (data_size, data_alignment) = union_layout.data_size_and_alignment(TARGET_INFO);
let id_offset = data_size - data_alignment;
let id_offset = union_layout.data_size_without_tag_id(TARGET_INFO).unwrap();
let id_align = union_layout.tag_id_builtin().alignment_bytes(TARGET_INFO);
let id_align = Align::from(id_align);