chromium/v8/src/snapshot/read-only-serializer-deserializer.h

// Copyright 2023 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_SNAPSHOT_READ_ONLY_SERIALIZER_DESERIALIZER_H_
#define V8_SNAPSHOT_READ_ONLY_SERIALIZER_DESERIALIZER_H_

#include "src/common/globals.h"

namespace v8 {
namespace internal {
namespace ro {

// Common functionality for RO serialization and deserialization.

enum Bytecode {};
static constexpr int kNumberOfBytecodes =;

// Like std::vector<bool> but with a known underlying encoding.
class BitSet final {};

// Tagged slots need relocation after deserialization when V8_STATIC_ROOTS is
// disabled.
//
// Note this encoding works for all remaining build configs, in particular for
// all supported kTaggedSize values.
struct EncodedTagged {};
static_assert;

struct EncodedExternalReference {};
static_assert;

}  // namespace ro
}  // namespace internal
}  // namespace v8

#endif  // V8_SNAPSHOT_READ_ONLY_SERIALIZER_DESERIALIZER_H_