blob: ffee7824137d847b7d2d0f8bade4a372057b98b7 [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_WASM_FUNCTION_NAME_TABLE_H_
#define V8_WASM_FUNCTION_NAME_TABLE_H_
#include "src/handles.h"
#include "src/objects.h"
namespace v8 {
namespace internal {
namespace wasm {
// Forward declarations for some WASM data structures.
struct WasmModule;
// Encode all function names of the WasmModule into one ByteArray.
Handle<ByteArray> BuildFunctionNamesTable(Isolate* isolate,
const WasmModule* module);
// Extract the function name for the given func_index from the function name
// table.
// Returns a null handle if the respective function is unnamed (not to be
// confused with empty names) or the function name is not a valid UTF-8 string.
MaybeHandle<String> GetWasmFunctionNameFromTable(
Handle<ByteArray> wasm_names_table, uint32_t func_index);
} // namespace wasm
} // namespace internal
} // namespace v8
#endif // V8_WASM_FUNCTION_NAME_TABLE_H_