Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Unified Diff: src/IceTargetLoweringX8664.h

Issue 1616483003: Merged addProlog and addEpilog on x86. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698