Index: src/s390/macro-assembler-s390.h |
diff --git a/src/s390/macro-assembler-s390.h b/src/s390/macro-assembler-s390.h |
index 2970b01b8757bcb661fc2211d9d08e1b1bec2f76..6d2dcd3bd08c083a7cce69f09f32361016ee599e 100644 |
--- a/src/s390/macro-assembler-s390.h |
+++ b/src/s390/macro-assembler-s390.h |
@@ -1552,6 +1552,16 @@ class MacroAssembler : public Assembler { |
inline void TestIfSmi(Register value) { tmll(value, Operand(1)); } |
+ inline void TestIfSmi(MemOperand value) { |
+ if (is_uint12(value.offset())) { |
+ tm(value, Operand(1)); |
+ } else if (is_int20(value.offset())) { |
+ tmy(value, Operand(1)); |
+ } else { |
+ UNIMPLEMENTED(); |
JoranSiu
2016/12/19 16:25:33
A bit concerned about this unimplemented path... a
|
+ } |
+ } |
+ |
inline void TestIfPositiveSmi(Register value, Register scratch) { |
STATIC_ASSERT((kSmiTagMask | kSmiSignMask) == |
(intptr_t)(1UL << (kBitsPerPointer - 1) | 1)); |