| author | |
| committer | |
| log | 5fac6f380ef77a7650047c65450aec0d3215da2d |
| tree | c8d24c03a454954c5e9f526df7b16bcfa1f10fbc |
| parent | 568d9936ab4401e53a96bb2b51d31d10861c5545 |
2 files changed, 9 insertions(+), 1 deletions(-)
src/link/Wasm.zig+8| ... | @@ -1410,6 +1410,14 @@ pub const DataSegment = extern struct { | ... | @@ -1410,6 +1410,14 @@ pub const DataSegment = extern struct { |
| 1410 | }; | 1410 | }; |
| 1411 | } | 1411 | } |
| 1412 | 1412 | ||
| 1413 | pub fn isEmpty(id: Id, wasm: *const Wasm) bool { | ||
| 1414 | return switch (unpack(id, wasm)) { | ||
| 1415 | .__zig_error_name_table => false, | ||
| 1416 | .object => |i| i.ptr(wasm).payload.off == .none, | ||
| 1417 | inline .uav_exe, .uav_obj, .nav_exe, .nav_obj => |i| i.value(wasm).code.off == .none, | ||
| 1418 | }; | ||
| 1419 | } | ||
| 1420 | |||
| 1413 | pub fn size(id: Id, wasm: *const Wasm) u32 { | 1421 | pub fn size(id: Id, wasm: *const Wasm) u32 { |
| 1414 | return switch (unpack(id, wasm)) { | 1422 | return switch (unpack(id, wasm)) { |
| 1415 | .__zig_error_name_table => { | 1423 | .__zig_error_name_table => { |
src/link/Wasm/Flush.zig+1-1| ... | @@ -657,7 +657,7 @@ pub fn finish(f: *Flush, wasm: *Wasm) !void { | ... | @@ -657,7 +657,7 @@ pub fn finish(f: *Flush, wasm: *Wasm) !void { |
| 657 | var group_index: u32 = 0; | 657 | var group_index: u32 = 0; |
| 658 | var offset: u32 = undefined; | 658 | var offset: u32 = undefined; |
| 659 | for (segment_ids, segment_offsets) |segment_id, segment_offset| { | 659 | for (segment_ids, segment_offsets) |segment_id, segment_offset| { |
| 660 | if (!import_memory and segment_id.isBss(wasm)) { | 660 | if (segment_id.isEmpty(wasm)) { |
| 661 | // It counted for virtual memory but it does not go into the binary. | 661 | // It counted for virtual memory but it does not go into the binary. |
| 662 | continue; | 662 | continue; |
| 663 | } | 663 | } |