Index: src/code-stubs.h |
diff --git a/src/code-stubs.h b/src/code-stubs.h |
index c58acd6b16d4674a2b4da3f7a49d6ceca0c62cfe..4be914da6c296e5ff2b731abb8fee43598aa8a96 100644 |
--- a/src/code-stubs.h |
+++ b/src/code-stubs.h |
@@ -1704,11 +1704,13 @@ class DoubleToIStub : public PlatformCodeStub { |
DoubleToIStub(Register source, |
Register destination, |
int offset, |
- bool is_truncating) : bit_field_(0) { |
+ bool is_truncating, |
+ bool skip_fastpath = false) : bit_field_(0) { |
bit_field_ = SourceRegisterBits::encode(source.code_) | |
DestinationRegisterBits::encode(destination.code_) | |
OffsetBits::encode(offset) | |
- IsTruncatingBits::encode(is_truncating); |
+ IsTruncatingBits::encode(is_truncating) | |
+ SkipFastPathBits::encode(skip_fastpath); |
} |
Register source() { |
@@ -1725,12 +1727,18 @@ class DoubleToIStub : public PlatformCodeStub { |
return IsTruncatingBits::decode(bit_field_); |
} |
+ bool skip_fastpath() { |
+ return SkipFastPathBits::decode(bit_field_); |
+ } |
+ |
int offset() { |
return OffsetBits::decode(bit_field_); |
} |
void Generate(MacroAssembler* masm); |
+ virtual bool SometimesSetsUpAFrame() { return false; } |
+ |
private: |
static const int kBitsPerRegisterNumber = 6; |
STATIC_ASSERT((1L << kBitsPerRegisterNumber) >= Register::kNumRegisters); |
@@ -1743,6 +1751,8 @@ class DoubleToIStub : public PlatformCodeStub { |
public BitField<bool, 2 * kBitsPerRegisterNumber, 1> {}; // NOLINT |
class OffsetBits: |
public BitField<int, 2 * kBitsPerRegisterNumber + 1, 3> {}; // NOLINT |
+ class SkipFastPathBits: |
+ public BitField<int, 2 * kBitsPerRegisterNumber + 4, 1> {}; // NOLINT |
Major MajorKey() { return DoubleToI; } |
int MinorKey() { return bit_field_; } |