This was previously ignored and an incorrect value generated.
Also fixed Disassembler's handling of block_type.
Differential D56092
[WebAssembly] made assembler parse block_type aardappel on Dec 26 2018, 2:26 PM. Authored by
Details This was previously ignored and an incorrect value generated. Also fixed Disassembler's handling of block_type.
Diff Detail
Event TimelineComment Actions Note to reviewers: I can fix the FIXME in the disassembler by making it a proper SLEB, and change the WebAssembly::ExprType enum to have negative values as per the spec. I think that should have little impact as the backend treats these values as opaque, afaik.. though maybe I am missing something. Happy to put that in this CL or a next one. Comment Actions I think there's a discrepancy between what the github binary encoding doc says and what the official spec says. The official spec lists them explicitly as single byte values and not LEB, and I think we should follow the official spec. Actually, they had been listed as signed values but were changed to single byte values earlier this year by these CLs (D43921, D43922, and D43991).
Comment Actions @aheejin thanks for pointing out the spec discrepancy, I've now made the disassembler explicitly parse a byte instead of a SLEB for consistency.
Comment Actions Ok, decided keeping func/anyfunc out of the enum was cleaner, Comment Actions LGTM with a nit.
|