Stream: git-wasmtime

Topic: wasmtime / PR #9578 Do not GC `DW_AT_declaration` `DW_TAG...


view this post on Zulip Wasmtime GitHub notifications bot (Nov 06 2024 at 22:08):

SingleAccretion opened PR #9578 from SingleAccretion:DI-Decl to bytecodealliance:main:

Declarations must be consistent across compilation units, therefore, they cannot be GCed away from their parent DIEs (most likely ones defining a type). This is the same situation as with, e. g. class member variables (fields).

Fixes #9512.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 06 2024 at 22:22):

SingleAccretion updated PR #9578.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 06 2024 at 22:23):

SingleAccretion edited PR #9578:

Declarations must be consistent across compilation units, therefore, they cannot be GCed away from their parent type DIEs. This is the same situation as with, e. g. class member variables (fields).

Fixes #9512.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 06 2024 at 22:23):

SingleAccretion edited PR #9578:

Declarations must be consistent across compilation units for any given type. This is the same situation as with, e. g. class member variables (fields).

Fixes #9512.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 06 2024 at 22:25):

SingleAccretion edited PR #9578:

Declarations must be consistent across compilation units for any given type. This is the same situation as with, e. g. class member variables (fields).

Furthermore, even for ordinary C declarations, deleting them can theoretically mess up the expression evaluator (since a function that was supposed to be in scope no longer is).

Fixes #9512.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 06 2024 at 22:26):

SingleAccretion edited PR #9578:

Declarations must be consistent across compilation units for any given type. This is the same situation as with, e. g. class member variables (fields).

Furthermore, even for ordinary C declarations, deleting them can theoretically mess up the expression evaluator (since a function that was supposed to be in scope no longer is). This is mostly a theoretical concern, however, as calling functions in the context of translated DWARF is currently deeply broken anyway.

Fixes #9512.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 06 2024 at 22:33):

SingleAccretion updated PR #9578.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 06 2024 at 22:33):

SingleAccretion has marked PR #9578 as ready for review.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 06 2024 at 22:33):

SingleAccretion requested alexcrichton for a review on PR #9578.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 06 2024 at 22:33):

SingleAccretion requested wasmtime-core-reviewers for a review on PR #9578.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 06 2024 at 22:35):

SingleAccretion edited PR #9578:

Declarations must be consistent across compilation units for any given type. This is the same situation as with, e. g., class member variables (fields).

Furthermore, even for ordinary C declarations, deleting them can theoretically mess up the expression evaluator (since a function that was supposed to be in scope no longer is). This is mostly a theoretical concern, however, as calling functions in the context of translated DWARF is currently deeply broken anyway.

Fixes #9512.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 06 2024 at 22:39):

SingleAccretion updated PR #9578.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 06 2024 at 22:42):

SingleAccretion edited PR #9578:

Declarations must be consistent across compilation units for any given type. This is the same situation as with, e. g., class member variables (fields).

Furthermore, even for ordinary C declarations, deleting them can theoretically mess up the expression evaluator (since a function that was supposed to be in scope no longer is). This is mostly a theoretical concern, however, as calling functions in the context of translated DWARF is currently deeply broken anyway.

Fixes #9512.

I've also tweaked the dumping of DIE offsets for easier cross-referencing with llvm-dwarfump.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 06 2024 at 22:48):

alexcrichton submitted PR review:

Thanks!

view this post on Zulip Wasmtime GitHub notifications bot (Nov 06 2024 at 22:48):

alexcrichton has enabled auto merge for PR #9578.

view this post on Zulip Wasmtime GitHub notifications bot (Nov 06 2024 at 23:13):

alexcrichton merged PR #9578.


Last updated: Dec 23 2024 at 12:05 UTC