diff options
author | Calin Juravle <calin@google.com> | 2014-11-11 19:07:44 +0000 |
---|---|---|
committer | Calin Juravle <calin@google.com> | 2014-11-12 19:43:32 +0000 |
commit | d6fb6cfb6f2d0d9595f55e8cc18d2753be5d9a13 (patch) | |
tree | 2f8192e49c9debeba18e73e28b9c789adf8d2eef /compiler/optimizing/builder.h | |
parent | f97f9fbfdf7f2e23c662f21081fadee6af37809d (diff) | |
download | art-d6fb6cfb6f2d0d9595f55e8cc18d2753be5d9a13.tar.gz art-d6fb6cfb6f2d0d9595f55e8cc18d2753be5d9a13.tar.bz2 art-d6fb6cfb6f2d0d9595f55e8cc18d2753be5d9a13.zip |
[optimizing compiler] Add DIV_LONG
- for backends: arm, x86, x86_64
- added cqo, idivq, testq assembly for x64_64
- small cleanups
Change-Id: I762ef37880749038ed25d6014370be9a61795200
Diffstat (limited to 'compiler/optimizing/builder.h')
-rw-r--r-- | compiler/optimizing/builder.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/compiler/optimizing/builder.h b/compiler/optimizing/builder.h index 9cf83055b..b4497bf47 100644 --- a/compiler/optimizing/builder.h +++ b/compiler/optimizing/builder.h @@ -102,9 +102,15 @@ class HGraphBuilder : public ValueObject { void Binop_23x(const Instruction& instruction, Primitive::Type type); template<typename T> + void Binop_23x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc); + + template<typename T> void Binop_12x(const Instruction& instruction, Primitive::Type type); template<typename T> + void Binop_12x(const Instruction& instruction, Primitive::Type type, uint32_t dex_pc); + + template<typename T> void Binop_22b(const Instruction& instruction, bool reverse); template<typename T> @@ -119,7 +125,7 @@ class HGraphBuilder : public ValueObject { void BuildCheckedDiv(uint16_t out_reg, uint16_t first_reg, - int32_t second_reg, // can be a constant + int64_t second_reg_or_constant, uint32_t dex_offset, Primitive::Type type, bool second_is_lit); |