Skip to content

Conversation

@aheejin
Copy link
Member

@aheejin aheejin commented Jan 21, 2021

This removes exnref type and br_on_exn instruction.

This removes `exnref` type and `br_on_exn` instruction.
@aheejin aheejin requested review from kripken and tlively January 21, 2021 13:56
double f64;
uint8_t v128[16];
const char* func;
// TODO: exn
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a nice way to resolve a TODO 😆

bool operator!=(const ExceptionPackage& other) const {
return !(*this == other);
}
};
Copy link
Member

@kripken kripken Jan 21, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would this not be useful in the new exceptions code (maybe with changes)? (whatever is easier for you sgtm)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's moved here in #3498:

struct WasmException {
Name event;
Literals values;
};
std::ostream& operator<<(std::ostream& o, const WasmException& exn);

Previously WasmException was just a wrapper that contains a Literal of type exnref which contains a unique_ptr to ExceptionPackage which contains Name event and Literals values. Now that we don't have a exnref type Literal, I removed all those layers and WasmException directly contains the contents, which will be used only within ExpressionRunner hierarchy.

So far I haven't needed == and != operators there. I can add them if they become necessary.

@aheejin aheejin merged commit 6d62e3c into WebAssembly:main Jan 22, 2021
@aheejin aheejin deleted the remove_exnref branch January 22, 2021 09:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants