| Index: src/IceTargetLoweringX8664.h
|
| diff --git a/src/IceTargetLoweringX8664.h b/src/IceTargetLoweringX8664.h
|
| index 1cc5c878c0cde79927446e55520961fd04589893..0f8722b93ed5d2c1cb8cd96b464a028dc39c848b 100644
|
| --- a/src/IceTargetLoweringX8664.h
|
| +++ b/src/IceTargetLoweringX8664.h
|
| @@ -45,10 +45,21 @@ public:
|
| }
|
|
|
| std::unique_ptr<::Ice::Assembler> createAssembler() const override {
|
| - return makeUnique<X8664::AssemblerX8664>();
|
| + const bool EmitAddrSizeOverridePrefix = !NeedSandboxing;
|
| + return makeUnique<X8664::AssemblerX8664>(EmitAddrSizeOverridePrefix);
|
| }
|
|
|
| + bool needSandboxing() const { return NeedSandboxing; }
|
| +
|
| protected:
|
| + void _add_sp(Operand *Adjustment);
|
| + void _mov_sp(Operand *NewValue);
|
| + void _push_rbp();
|
| + Traits::X86OperandMem *_sandbox_mem_reference(X86OperandMem *Mem);
|
| + void _sub_sp(Operand *Adjustment);
|
| +
|
| + void initSandbox();
|
| + void lowerIndirectJump(Variable *JumpTarget);
|
| void lowerCall(const InstCall *Instr) override;
|
| void lowerArguments() override;
|
| void lowerRet(const InstRet *Inst) override;
|
|
|