Index: src/IceSwitchLowering.h |
diff --git a/src/IceSwitchLowering.h b/src/IceSwitchLowering.h |
index d4f5291d0601e673ca33302978b1762e521e5169..23ab84a9946440d1f869dc6945b9012d090ae313 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,26 @@ 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; } |
+ std::string getSectionName() const { |
+ if (FuncName.hasStdString()) { |
+ return FuncName.toString() + "$jumptable"; |
+ } |
+ return std::to_string(FuncName.getID()) + "$jumptable"; |
+ } |
private: |
+ GlobalString Name; |
GlobalString FuncName; |
SizeT Id; |
TargetList TargetOffsets; |