| Auto-Submit | +1 |
| Commit-Queue | +1 |
PTAL. This fixes the issue you reported at https://issues.chromium.org/issues/513063392#comment10.
The bug was that every `supertype` use of a type was recorded as the first use of the type, so in this module:
```
(type $struct2 (descriptor $struct3) ...)
(type $struct3 ...)
(type $struct4 (super $struct3) ...)
```
we first saw $struct2 using $struct3, but then we overwrote that information when we saw that $struct4 also uses $struct3.
DCHECK(module_->has_cont_type(ModuleTypeIndex{i}));Drive-by feature addition 😊
if (type.has_descriptor()) needed_at.Record(type.descriptor, i);...here and in the next two lines is the meat of the CL.
if (needed.index < here) return;
if (needed_at_[needed.index] < here) return;Reusing these checks...
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
+Matthias FYI in case it helps with the investigation of the linked bug.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
LGTM
before the type itself should find the *earliest* use of that index.Note that `PrintHeapType` also doesn't support exact heap types, so emission of exact casts doesn't do the right thing, so there seem to be multiple issues with custom descriptors and the mjsunit disassembly.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |