/* * Copyright (c) 2021-2023, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include #include #include namespace JS::Bytecode { struct PropertyLookupCache { WeakPtr shape; Optional property_offset; }; struct Executable { DeprecatedFlyString name; Vector property_lookup_caches; Vector> basic_blocks; NonnullOwnPtr string_table; NonnullOwnPtr identifier_table; size_t number_of_registers { 0 }; bool is_strict_mode { false }; DeprecatedString const& get_string(StringTableIndex index) const { return string_table->get(index); } DeprecatedFlyString const& get_identifier(IdentifierTableIndex index) const { return identifier_table->get(index); } void dump() const; }; }