| Index: src/IceTargetLoweringX8664.h
|
| diff --git a/src/IceTargetLoweringX8664.h b/src/IceTargetLoweringX8664.h
|
| index e10d8345ec0a829cf6965f71860cae1c7c324023..da5f2e497bf2485857e567ce6920284a40980a1c 100644
|
| --- a/src/IceTargetLoweringX8664.h
|
| +++ b/src/IceTargetLoweringX8664.h
|
| @@ -34,6 +34,7 @@ class TargetX8664 final : public X8664::TargetX86Base<X8664::Traits> {
|
| TargetX8664(const TargetX8664 &) = delete;
|
| TargetX8664 &operator=(const TargetX8664 &) = delete;
|
|
|
| + void emitSandboxedReturn() override;
|
| void emitJumpTable(const Cfg *Func,
|
| const InstJumpTable *JumpTable) const override;
|
|
|
| @@ -57,13 +58,15 @@ protected:
|
| void _push_rbp();
|
| Traits::X86OperandMem *_sandbox_mem_reference(X86OperandMem *Mem);
|
| void _sub_sp(Operand *Adjustment);
|
| + void _link_bp();
|
| + void _unlink_bp();
|
| + void _push_reg(Variable *Reg);
|
|
|
| void initSandbox();
|
| void lowerIndirectJump(Variable *JumpTarget);
|
| + void emitGetIP(CfgNode *Node);
|
| Inst *emitCallToTarget(Operand *CallTarget, Variable *ReturnReg) override;
|
| Variable *moveReturnValueToRegister(Operand *Value, Type ReturnType) override;
|
| - void addProlog(CfgNode *Node) override;
|
| - void addEpilog(CfgNode *Node) override;
|
|
|
| private:
|
| ENABLE_MAKE_UNIQUE;
|
|
|