[wasm] Switch back to boolean enums

This reverts https://crrev.com/c/3778717, and also switches "Promise"
to a boolean enum.
The underlying clang crash is fixed, see linked issue.

R=thibaudm@chromium.org

Bug: chromium:1344641
Change-Id: I7fac50eb4f1155aca1c101f01892df78cdde46e2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3823128
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#82348}
This commit is contained in:
Clemens Backes 2022-08-10 13:31:49 +02:00 committed by V8 LUCI CQ
parent 532ca59910
commit e5ffe90f5a
3 changed files with 5 additions and 8 deletions

View File

@ -54,7 +54,7 @@ class WasmCode;
class WasmFeatures;
class WireBytesStorage;
enum class LoadTransformationKind : uint8_t;
enum Suspend : uint8_t;
enum Suspend : bool;
} // namespace wasm
namespace compiler {

View File

@ -83,8 +83,8 @@ class StructType;
struct WasmElemSegment;
class WasmValue;
enum class OnResume : int;
enum Suspend : uint8_t;
enum Promise : uint8_t;
enum Suspend : bool;
enum Promise : bool;
} // namespace wasm
#endif

View File

@ -76,11 +76,8 @@ class V8_EXPORT_PRIVATE FunctionTargetAndRef {
};
namespace wasm {
// TODO(thibaudm): Use a bool instead when this is resolved:
// https://github.com/llvm/llvm-project/issues/56560. See also
// crbug.com/1344641.
enum Suspend : uint8_t { kSuspend = 1, kNoSuspend = 0 };
enum Promise : uint8_t { kPromise = 1, kNoPromise = 0 };
enum Suspend : bool { kSuspend = true, kNoSuspend = false };
enum Promise : bool { kPromise = true, kNoPromise = false };
enum class OnResume : int { kContinue, kThrow };
} // namespace wasm