diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-02-05 16:36:15 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-02-05 16:36:15 +0100 |
commit | 6f0f1f85ebf218aef8839e17442dbaf15460be4f (patch) | |
tree | 92ef251a0b090d2d1ede09c6cf47b3e4a43ce3c8 /js/src/jit/MoveResolver.h | |
parent | a54e46aeb5497ec0c54ec453e6e0b22b2b54792b (diff) | |
download | UXP-6f0f1f85ebf218aef8839e17442dbaf15460be4f.tar UXP-6f0f1f85ebf218aef8839e17442dbaf15460be4f.tar.gz UXP-6f0f1f85ebf218aef8839e17442dbaf15460be4f.tar.lz UXP-6f0f1f85ebf218aef8839e17442dbaf15460be4f.tar.xz UXP-6f0f1f85ebf218aef8839e17442dbaf15460be4f.zip |
Split double MoveOperands that conflict with floats.
Diffstat (limited to 'js/src/jit/MoveResolver.h')
-rw-r--r-- | js/src/jit/MoveResolver.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/js/src/jit/MoveResolver.h b/js/src/jit/MoveResolver.h index fad2ba9e3..db045cfcf 100644 --- a/js/src/jit/MoveResolver.h +++ b/js/src/jit/MoveResolver.h @@ -252,6 +252,13 @@ class MoveOp bool aliases(const MoveOp& other) const { return aliases(other.from()) || aliases(other.to()); } +#ifdef JS_CODEGEN_ARM + void overwrite(MoveOperand& from, MoveOperand& to, Type type) { + from_ = from; + to_ = to; + type_ = type; + } +#endif }; class MoveResolver @@ -299,6 +306,10 @@ class MoveResolver // Internal reset function. Does not clear lists. void resetState(); +#ifdef JS_CODEGEN_ARM + bool isDoubleAliasedAsSingle(const MoveOperand& move); +#endif + public: MoveResolver(); |