Index: src/assembler.cc |
diff --git a/src/assembler.cc b/src/assembler.cc |
index 1620fef00ceb72f26d4b1e81d87890f80b921ba4..9c9ddcdda69e8c5f60e98964a50d9655cf2e0d46 100644 |
--- a/src/assembler.cc |
+++ b/src/assembler.cc |
@@ -174,14 +174,14 @@ void RelocInfoWriter::WriteTaggedPC(uint32_t pc_delta, int tag) { |
void RelocInfoWriter::WriteTaggedData(intptr_t data_delta, int tag) { |
- *--pos_ = data_delta << kPositionTypeTagBits | tag; |
+ *--pos_ = static_cast<byte>(data_delta << kPositionTypeTagBits | tag); |
} |
void RelocInfoWriter::WriteExtraTag(int extra_tag, int top_tag) { |
- *--pos_ = top_tag << (kTagBits + kExtraTagBits) | |
- extra_tag << kTagBits | |
- kDefaultTag; |
+ *--pos_ = static_cast<int>(top_tag << (kTagBits + kExtraTagBits) | |
+ extra_tag << kTagBits | |
+ kDefaultTag); |
} |
@@ -196,7 +196,7 @@ void RelocInfoWriter::WriteExtraTaggedPC(uint32_t pc_delta, int extra_tag) { |
void RelocInfoWriter::WriteExtraTaggedData(intptr_t data_delta, int top_tag) { |
WriteExtraTag(kDataJumpTag, top_tag); |
for (int i = 0; i < kIntptrSize; i++) { |
- *--pos_ = data_delta; |
+ *--pos_ = static_cast<byte>(data_delta); |
// Signed right shift is arithmetic shift. Tested in test-utils.cc. |
data_delta = data_delta >> kBitsPerByte; |
} |
@@ -211,7 +211,7 @@ void RelocInfoWriter::Write(const RelocInfo* rinfo) { |
ASSERT(rinfo->pc() - last_pc_ >= 0); |
ASSERT(RelocInfo::NUMBER_OF_MODES < kMaxRelocModes); |
// Use unsigned delta-encoding for pc. |
- uint32_t pc_delta = rinfo->pc() - last_pc_; |
+ uint32_t pc_delta = static_cast<uint32_t>(rinfo->pc() - last_pc_); |
RelocInfo::Mode rmode = rinfo->rmode(); |
// The two most common modes are given small tags, and usually fit in a byte. |