| // 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_ |