forked from OSchip/llvm-project
[WebAssembly] Distinguish debug/symbol names in the Wasm structs. NFC
Differential Revision: https://reviews.llvm.org/D45021 llvm-svn: 330448
This commit is contained in:
parent
4306f2086f
commit
ef90ff36da
|
@ -74,7 +74,7 @@ struct WasmGlobal {
|
|||
uint32_t Index;
|
||||
WasmGlobalType Type;
|
||||
WasmInitExpr InitExpr;
|
||||
StringRef Name; // from the "linking" or "names" section
|
||||
StringRef SymbolName; // from the "linking" section
|
||||
};
|
||||
|
||||
struct WasmImport {
|
||||
|
@ -100,7 +100,8 @@ struct WasmFunction {
|
|||
ArrayRef<uint8_t> Body;
|
||||
uint32_t CodeSectionOffset;
|
||||
uint32_t Size;
|
||||
StringRef Name; // from the "linking" or "names" section
|
||||
StringRef SymbolName; // from the "linking" section
|
||||
StringRef DebugName; // from the "name" section
|
||||
uint32_t Comdat; // from the "comdat info" section
|
||||
};
|
||||
|
||||
|
@ -108,7 +109,7 @@ struct WasmDataSegment {
|
|||
uint32_t MemoryIndex;
|
||||
WasmInitExpr Offset;
|
||||
ArrayRef<uint8_t> Content;
|
||||
StringRef Name;
|
||||
StringRef Name; // from the "segment info" section
|
||||
uint32_t Alignment;
|
||||
uint32_t Flags;
|
||||
uint32_t Comdat; // from the "comdat info" section
|
||||
|
@ -145,7 +146,7 @@ struct WasmSymbolInfo {
|
|||
uint8_t Kind;
|
||||
uint32_t Flags;
|
||||
union {
|
||||
// For function or global symbols, the index in function of global index
|
||||
// For function or global symbols, the index in function or global index
|
||||
// space.
|
||||
uint32_t ElementIndex;
|
||||
// For a data symbols, the address of the data relative to segment.
|
||||
|
|
|
@ -283,11 +283,8 @@ Error WasmObjectFile::parseNameSection(const uint8_t *Ptr, const uint8_t *End) {
|
|||
return make_error<GenericBinaryError>("Invalid name entry",
|
||||
object_error::parse_failed);
|
||||
DebugNames.push_back(wasm::WasmFunctionName{Index, Name});
|
||||
if (isDefinedFunctionIndex(Index)) {
|
||||
// Override any existing name; the name specified by the "names"
|
||||
// section is the Function's canonical name.
|
||||
getDefinedFunction(Index).Name = Name;
|
||||
}
|
||||
if (isDefinedFunctionIndex(Index))
|
||||
getDefinedFunction(Index).DebugName = Name;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -409,11 +406,8 @@ Error WasmObjectFile::parseLinkingSectionSymtab(const uint8_t *&Ptr,
|
|||
unsigned FuncIndex = Info.ElementIndex - NumImportedFunctions;
|
||||
FunctionType = &Signatures[FunctionTypes[FuncIndex]];
|
||||
wasm::WasmFunction &Function = Functions[FuncIndex];
|
||||
if (Function.Name.empty()) {
|
||||
// Use the symbol's name to set a name for the Function, but only if
|
||||
// one hasn't already been set.
|
||||
Function.Name = Info.Name;
|
||||
}
|
||||
if (Function.SymbolName.empty())
|
||||
Function.SymbolName = Info.Name;
|
||||
} else {
|
||||
wasm::WasmImport &Import = *ImportedFunctions[Info.ElementIndex];
|
||||
FunctionType = &Signatures[Import.SigIndex];
|
||||
|
@ -437,11 +431,8 @@ Error WasmObjectFile::parseLinkingSectionSymtab(const uint8_t *&Ptr,
|
|||
unsigned GlobalIndex = Info.ElementIndex - NumImportedGlobals;
|
||||
wasm::WasmGlobal &Global = Globals[GlobalIndex];
|
||||
GlobalType = &Global.Type;
|
||||
if (Global.Name.empty()) {
|
||||
// Use the symbol's name to set a name for the Global, but only if
|
||||
// one hasn't already been set.
|
||||
Global.Name = Info.Name;
|
||||
}
|
||||
if (Global.SymbolName.empty())
|
||||
Global.SymbolName = Info.Name;
|
||||
} else {
|
||||
wasm::WasmImport &Import = *ImportedGlobals[Info.ElementIndex];
|
||||
Info.Name = Import.Field;
|
||||
|
|
Loading…
Reference in New Issue