blob: 3ef34d94610175f65cec2f335601a7c4dee844e2 [file] [log] [blame]
// Copyright 2016 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef V8_ASMJS_SWITCH_LOGIC_H
#define V8_ASMJS_SWITCH_LOGIC_H
#include "src/globals.h"
#include "src/zone/zone-containers.h"
#include "src/zone/zone.h"
namespace v8 {
namespace internal {
namespace wasm {
struct CaseNode : public ZoneObject {
const int begin;
const int end;
CaseNode* left;
CaseNode* right;
CaseNode(int begin, int end) : begin(begin), end(end) {
left = nullptr;
right = nullptr;
}
};
V8_EXPORT_PRIVATE CaseNode* OrderCases(ZoneVector<int>* cases, Zone* zone);
} // namespace wasm
} // namespace internal
} // namespace v8
#endif // V8_ASMJS_SWITCH_LOGIC_H