| Index: src/IceSwitchLowering.h
|
| diff --git a/src/IceSwitchLowering.h b/src/IceSwitchLowering.h
|
| index d4f5291d0601e673ca33302978b1762e521e5169..57dd8288079b9e173095b2ebcb073d927b7ea52a 100644
|
| --- a/src/IceSwitchLowering.h
|
| +++ b/src/IceSwitchLowering.h
|
| @@ -18,6 +18,8 @@
|
| #include "IceDefs.h"
|
| #include "IceStringPool.h"
|
|
|
| +#include <string>
|
| +
|
| namespace Ice {
|
|
|
| class CaseCluster;
|
| @@ -85,18 +87,27 @@ class JumpTableData {
|
| public:
|
| using TargetList = std::vector<intptr_t>;
|
|
|
| - JumpTableData(GlobalString FuncName, SizeT Id,
|
| + JumpTableData(GlobalString Name, GlobalString FuncName, SizeT Id,
|
| const TargetList &TargetOffsets)
|
| - : FuncName(FuncName), Id(Id), TargetOffsets(TargetOffsets) {}
|
| + : Name(Name), FuncName(FuncName), Id(Id), TargetOffsets(TargetOffsets) {}
|
| JumpTableData(const JumpTableData &) = default;
|
| JumpTableData(JumpTableData &&) = default;
|
| JumpTableData &operator=(JumpTableData &&) = default;
|
|
|
| - const GlobalString getFunctionName() const { return FuncName; }
|
| + GlobalString getName() const { return Name; }
|
| + GlobalString getFunctionName() const { return FuncName; }
|
| SizeT getId() const { return Id; }
|
| const TargetList &getTargetOffsets() const { return TargetOffsets; }
|
| + static std::string createSectionName(const GlobalString Name) {
|
| + if (Name.hasStdString()) {
|
| + return Name.toString() + "$jumptable";
|
| + }
|
| + return std::to_string(Name.getID()) + "$jumptable";
|
| + }
|
| + std::string getSectionName() const { return createSectionName(FuncName); }
|
|
|
| private:
|
| + GlobalString Name;
|
| GlobalString FuncName;
|
| SizeT Id;
|
| TargetList TargetOffsets;
|
|
|